View Javadoc

1   /*
2    *  File: TimeBarRowListener.java 
3    *  Copyright (c) 2004-2007  Peter Kliem (Peter.Kliem@jaret.de)
4    *  A commercial license is available, see http://www.jaret.de.
5    *
6    *  This program is free software; you can redistribute it and/or modify
7    *  it under the terms of the GNU General Public License as published by
8    *  the Free Software Foundation; either version 2 of the License, or
9    *  (at your option) any later version.
10   *
11   *  This program is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   *  GNU General Public License for more details.
15   *
16   *  You should have received a copy of the GNU General Public License
17   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   */
20  package de.jaret.util.ui.timebars.model;
21  
22  import de.jaret.util.date.Interval;
23  
24  /**
25   * Interface for listening to changes on the data of a TimeBarRow.
26   * 
27   * @author Peter Kliem
28   * @version $Id: TimeBarRowListener.java 800 2008-12-27 22:27:33Z kliem $
29   */
30  public interface TimeBarRowListener {
31      /**
32       * Unspecific or multiple change of row data. This method should not be used without the need for signalling an
33       * unspecific data change.
34       * 
35       * @param row the changed row
36       */
37      void rowDataChanged(TimeBarRow row);
38  
39      /**
40       * A new element was added to the row.
41       * 
42       * @param row the changed row
43       * @param element the new interval in the row
44       */
45      void elementAdded(TimeBarRow row, Interval element);
46  
47      /**
48       * An element was removed from the row.
49       * 
50       * @param row the changed row
51       * @param element the removed element
52       */
53      void elementRemoved(TimeBarRow row, Interval element);
54  
55      /**
56       * An element in the row has changed.
57       * 
58       * @param row the row of the changed element
59       * @param element the changed interval
60       */
61      void elementChanged(TimeBarRow row, Interval element);
62  
63      /**
64       * The header of the row has changed.
65       * 
66       * @param row the row containing the header.
67       * @param newHeader the new or updated header object
68       */
69      void headerChanged(TimeBarRow row, TimeBarRowHeader newHeader);
70  }