View Javadoc

1   /*
2    *  File: FahrtenTableModel.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.examples.timebars.fzd.model;
21  
22  import javax.swing.table.AbstractTableModel;
23  
24  import de.jaret.util.date.Interval;
25  import de.jaret.util.date.JaretDate;
26  import de.jaret.util.ui.timebars.TimeBarMarker;
27  import de.jaret.util.ui.timebars.TimeBarMarkerImpl;
28  import de.jaret.util.ui.timebars.TimeBarMarkerListener;
29  import de.jaret.util.ui.timebars.model.TimeBarModel;
30  import de.jaret.util.ui.timebars.model.TimeBarModelListener;
31  import de.jaret.util.ui.timebars.model.TimeBarRow;
32  
33  /***
34   * @author Peter Kliem
35   * @version $Id: FahrtenTableModel.java 259 2007-02-16 13:54:00Z olk $
36   */
37  public class FahrtenTableModel extends AbstractTableModel implements TimeBarMarkerListener, TimeBarModelListener {
38  
39      private TimeBarMarkerImpl _marker;
40      private ZuteilungsModel _zuteilungsModel;
41  
42      public FahrtenTableModel(ZuteilungsModel zuteilungsModel, TimeBarMarkerImpl marker) {
43          _zuteilungsModel = zuteilungsModel;
44          _marker = marker;
45          _marker.addTimeBarMarkerListener(this);
46          _zuteilungsModel.addTimeBarModelListener(this);
47      }
48  
49      /***
50       * {@inheritDoc}
51       */
52      public int getColumnCount() {
53          return 2;
54      }
55  
56      /***
57       * {@inheritDoc}
58       */
59      public int getRowCount() {
60          return _zuteilungsModel.getRowCount();
61      }
62  
63      /***
64       * {@inheritDoc}
65       */
66      public Object getValueAt(int rowIndex, int columnIndex) {
67          Fahrzeug f = (Fahrzeug) _zuteilungsModel.getRow(rowIndex);
68          if (columnIndex == 0) {
69              return f.getFzdNummer();
70          }
71          Fahrt fahrt = f.getFahrt(_marker.getDate());
72          if (fahrt == null) {
73              return "keine";
74          } else {
75              return fahrt.getFahrtNummer();
76          }
77      }
78  
79      /***
80       * {@inheritDoc}
81       */
82      public String getColumnName(int column) {
83          switch (column) {
84          case 0:
85              return "Fahrzeug";
86          case 1:
87              return "Fahrt";
88          default:
89              return "??";
90          }
91      }
92  
93      /***
94       * {@inheritDoc}
95       */
96      public void markerMoved(TimeBarMarker marker, JaretDate oldDate, JaretDate currentDate) {
97          fireTableDataChanged(); // sehr vereinfacht!
98      }
99  
100     /***
101      * {@inheritDoc}
102      */
103     public void markerDescriptionChanged(TimeBarMarker marker, String oldValue, String newValue) {
104 
105     }
106 
107     /***
108      * {@inheritDoc}
109      */
110     public void rowAdded(TimeBarModel model, TimeBarRow row) {
111         fireTableDataChanged(); // sehr vereinfacht!
112     }
113 
114     /***
115      * {@inheritDoc}
116      */
117     public void rowRemoved(TimeBarModel model, TimeBarRow row) {
118         fireTableDataChanged(); // sehr vereinfacht!
119     }
120 
121     /***
122      * {@inheritDoc}
123      */
124     public void elementAdded(TimeBarModel model, TimeBarRow row, Interval element) {
125         fireTableDataChanged(); // sehr vereinfacht!
126     }
127 
128     /***
129      * {@inheritDoc}
130      */
131     public void elementRemoved(TimeBarModel model, TimeBarRow row, Interval element) {
132         fireTableDataChanged(); // sehr vereinfacht!
133     }
134 
135     /***
136      * {@inheritDoc}
137      */
138     public void elementChanged(TimeBarModel model, TimeBarRow row, Interval element) {
139         fireTableDataChanged(); // sehr vereinfacht!
140     }
141 
142     /***
143      * {@inheritDoc}
144      */
145     public void headerChanged(TimeBarModel model, TimeBarRow row, Object newHeader) {
146         fireTableDataChanged(); // sehr vereinfacht!
147     }
148 
149     /***
150      * {@inheritDoc}
151      */
152     public void modelDataChanged(TimeBarModel model) {
153         fireTableDataChanged(); // sehr vereinfacht!
154     }
155 
156     /***
157      * {@inheritDoc}
158      */
159     public void rowDataChanged(TimeBarModel model, TimeBarRow row) {
160         fireTableDataChanged(); // sehr vereinfacht!
161     }
162 }