[kaffe] CVS kaffe (robilad): Resynced with GNU Classpath: olga's swing fixes
Kaffe CVS
cvs-commits at kaffe.org
Wed Jan 5 17:39:29 PST 2005
PatchSet 5783
Date: 2005/01/06 00:53:04
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Resynced with GNU Classpath: olga's swing fixes
Members:
ChangeLog:1.3327->1.3328
libraries/javalib/javax/swing/JTable.java:1.12->1.13
libraries/javalib/javax/swing/table/DefaultTableColumnModel.java:1.7->1.8
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3327 kaffe/ChangeLog:1.3328
--- kaffe/ChangeLog:1.3327 Thu Jan 6 00:22:45 2005
+++ kaffe/ChangeLog Thu Jan 6 00:53:04 2005
@@ -2,6 +2,37 @@
Resynced with GNU Classpath.
+ 2004-12-30 Olga Rodimina <rodimina at redhat.com>
+
+ (prepareRenderer): Get column's index in dataModel instead
+ of column's view index.
+ (getColumnCount): return count of the columns in ColumnModel,
+ not in dataModel.
+ (removeColumn): Implemented.
+ (moveColumm): Likewise.
+ (setRowHeight): throw IllegalArgumentException if height is
+ less then 1.
+ * javax/swing/table/DefaultTableColumnModel.java: Add javadocs.
+ (DefaultTableColumnModel):Add call to createSelectionModel().
+ (addColumn): Fire columnAdded event to registered listeners.
+ (removeColumn): Fire columnRemoved event to registered listeners.
+ (moveColumn): Fire columnMoved event to registered listeners.
+ (setColumnMargin): Fire ColumnMarginChanged event to registered listeners.
+ (getColumnIndex): Changed parameter name.
+ (setColumnSelectionAllowed): Likewise.
+ (fireColumnAdded): Implemented.
+ (fireColumnRemoved): Likewise.
+ (fireColumnMoved): Likewise.
+ (fireColumnMarginChanged): Likewise.
+ (getListeners): Changed parameter name.
+ (propertyChange): Implemented.
+ (valueChanged): Changed parameter name.
+ (createSelectionModel): Implemented.
+
+2005-01-06 Dalibor Topic <robilad at kaffe.org>
+
+ Resynced with GNU Classpath.
+
2004-12-29 Jerry Quinn <jlquinn at optonline.net>
* java/awt/Button.java,
Index: kaffe/libraries/javalib/javax/swing/JTable.java
diff -u kaffe/libraries/javalib/javax/swing/JTable.java:1.12 kaffe/libraries/javalib/javax/swing/JTable.java:1.13
--- kaffe/libraries/javalib/javax/swing/JTable.java:1.12 Thu Dec 23 02:53:50 2004
+++ kaffe/libraries/javalib/javax/swing/JTable.java Thu Jan 6 00:53:05 2005
@@ -42,7 +42,6 @@
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Rectangle;
-import java.util.Date;
import java.util.Hashtable;
import java.util.Vector;
@@ -788,7 +787,7 @@
return renderer.getTableCellRendererComponent(this,
dataModel.getValueAt(row,
- convertColumnIndexToView(column)),
+ convertColumnIndexToModel(column)),
isSelected,
false, // hasFocus
row, column);
@@ -867,13 +866,13 @@
/**
* Get the value of the {@link #columnCount} property by
- * delegation to the @{link #dataModel} field.
+ * delegation to the @{link #columnModel} field.
*
* @return The current value of the columnCount property
*/
public int getColumnCount()
{
- return dataModel.getColumnCount();
+ return columnModel.getColumnCount();
}
/**
@@ -1131,10 +1130,25 @@
return tableHeader;
}
+ /**
+ * Removes specified column from displayable columns of this table.
+ *
+ * @param column column to removed
+ */
public void removeColumn(TableColumn column)
+ {
+ columnModel.removeColumn(column);
+ }
+
+ /**
+ * Moves column at the specified index to new given location.
+ *
+ * @param column index of the column to move
+ * @param targetColumn index specifying new location of the column
+ */
+ public void moveColumn(int column,int targetColumn)
{
- // FIXME: Implement me.
- throw new Error("not implemented");
+ columnModel.moveColumn(column, targetColumn);
}
/**
@@ -1166,6 +1180,9 @@
*/
public void setRowHeight(int r)
{
+ if (rowHeight < 1)
+ throw new IllegalArgumentException();
+
rowHeight = r;
revalidate();
repaint();
Index: kaffe/libraries/javalib/javax/swing/table/DefaultTableColumnModel.java
diff -u kaffe/libraries/javalib/javax/swing/table/DefaultTableColumnModel.java:1.7 kaffe/libraries/javalib/javax/swing/table/DefaultTableColumnModel.java:1.8
--- kaffe/libraries/javalib/javax/swing/table/DefaultTableColumnModel.java:1.7 Sun Oct 24 13:39:21 2004
+++ kaffe/libraries/javalib/javax/swing/table/DefaultTableColumnModel.java Thu Jan 6 00:53:06 2005
@@ -66,37 +66,37 @@
private static final long serialVersionUID = 6580012493508960512L;
/**
- * tableColumns
+ * Columns that this model keeps track of.
*/
protected Vector tableColumns;
/**
- * selectionModel
+ * Selection Model that keeps track of columns selection
*/
protected ListSelectionModel selectionModel;
/**
- * columnMargin
+ * Space between two columns. By default it is set to 1
*/
protected int columnMargin;
/**
- * listenerList
+ * listenerList keeps track of all listeners registered with this model
*/
protected EventListenerList listenerList = new EventListenerList();
/**
- * changeEvent
+ * changeEvent is fired when change occurs in one of the columns properties
*/
protected transient ChangeEvent changeEvent = new ChangeEvent(this);
/**
- * columnSelectionAllowed
+ * Indicates whether columns can be selected
*/
protected boolean columnSelectionAllowed;
/**
- * totalColumnWidth
+ * Total width of all the columns in this model
*/
protected int totalColumnWidth;
@@ -106,55 +106,66 @@
public DefaultTableColumnModel()
{
tableColumns = new Vector();
- setSelectionModel(new DefaultListSelectionModel());
+ setSelectionModel(createSelectionModel());
columnMargin = 1;
columnSelectionAllowed = false;
}
/**
- * addColumn
- * @param value0 TODO
+ * addColumn adds column to the model. This method fires ColumnAdded
+ * event to model's registered TableColumnModelListeners.
+ *
+ * @param col column to add
*/
public void addColumn(TableColumn col)
{
tableColumns.add(col);
invalidateWidthCache();
+ fireColumnAdded(new TableColumnModelEvent(this,0,tableColumns.size()));
}
/**
- * removeColumn
- * @param value0 TODO
+ * removeColumn removes table column from the model. This method fires
+ * ColumnRemoved event to model's registered TableColumnModelListeners.
+ *
+ * @param col column to be removed
*/
public void removeColumn(TableColumn col)
{
+ int index = getColumnIndex(col);
+ fireColumnRemoved(new TableColumnModelEvent(this,index,0));
tableColumns.remove(col);
invalidateWidthCache();
}
/**
- * moveColumn
- * @param value0 TODO
- * @param value1 TODO
+ * moveColumn moves column at index i to index j. This method fires
+ * ColumnMoved event to model's registered TableColumnModelListeners.
+ *
+ * @param i index of the column that will be moved
+ * @param j index of column's new location
*/
public void moveColumn(int i, int j)
{
Object tmp = tableColumns.get(i);
tableColumns.set(i, tableColumns.get(j));
tableColumns.set(j, tmp);
+ fireColumnAdded(new TableColumnModelEvent(this,i,j));
}
/**
- * setColumnMargin
- * @param value0 TODO
+ * setColumnMargin sets margin of the columns.
+ * @param m new column margin
*/
public void setColumnMargin(int m)
{
columnMargin = m;
+ fireColumnMarginChanged();
}
/**
- * getColumnCount
- * @return int
+ * getColumnCount returns number of columns in the model
+ * @return int number of columns in the model
*/
public int getColumnCount()
{
@@ -171,19 +182,20 @@
}
/**
- * getColumnIndex
- * @param value0 TODO
- * @return int
+ * getColumnIndex returns index of the specified column
+ *
+ * @param identifier identifier of the column
+ * @return int index of the given column
*/
- public int getColumnIndex(Object obj)
+ public int getColumnIndex(Object identifier)
{
- return tableColumns.indexOf(obj, 0);
+ return tableColumns.indexOf(identifier, 0);
}
/**
- * getColumn
- * @param value0 TODO
- * @return TableColumn
+ * getColumn returns column at the specified index
+ * @param i index of the column
+ * @return TableColumn column at the specified index
*/
public TableColumn getColumn(int i)
{
@@ -191,8 +203,8 @@
}
/**
- * getColumnMargin
- * @return int
+ * getColumnMargin returns column margin
+ * @return int column margin
*/
public int getColumnMargin()
{
@@ -200,9 +212,10 @@
}
/**
- * getColumnIndexAtX
- * @param value0 TODO
- * @return int
+ * getColumnIndexAtX returns column that contains specified x-coordinate.
+ * @param x x-coordinate that column should contain
+ * @return int index of the column that contains specified x-coordinate relative
+ * to this column model
*/
public int getColumnIndexAtX(int x)
{
@@ -218,8 +231,10 @@
}
/**
- * getTotalColumnWidth
- * @return int
+ * getTotalColumnWidth returns total width of all the columns including
+ * column's margins.
+ *
+ * @return total width of all the columns
*/
public int getTotalColumnWidth()
{
@@ -229,8 +244,10 @@
}
/**
- * setSelectionModel
- * @param model TODO
+ * setSelectionModel sets selection model that will be used by this ColumnTableModel
+ * to keep track of currently selected columns
+ *
+ * @param model new selection model
* @exception IllegalArgumentException if model is null
*/
public void setSelectionModel(ListSelectionModel model)
@@ -243,8 +260,8 @@
}
/**
- * getSelectionModel
- * @return ListSelectionModel
+ * getSelectionModel returns selection model
+ * @return ListSelectionModel selection model
*/
public ListSelectionModel getSelectionModel()
{
@@ -252,17 +269,21 @@
}
/**
- * setColumnSelectionAllowed
- * @param value0 TODO
+ * setColumnSelectionAllowed sets whether column selection is allowed
+ * or not.
+ *
+ * @param flag true if column selection is allowed and false otherwise
*/
- public void setColumnSelectionAllowed(boolean a)
+ public void setColumnSelectionAllowed(boolean flag)
{
- columnSelectionAllowed = a;
+ columnSelectionAllowed = flag;
}
/**
- * getColumnSelectionAllowed
- * @return boolean
+ * getColumnSelectionAllowed indicates whether column selection is
+ * allowed or not.
+ *
+ * @return boolean true if column selection is allowed and false otherwise.
*/
public boolean getColumnSelectionAllowed()
{
@@ -270,8 +291,10 @@
}
/**
- * getSelectedColumns
- * @return int[]
+ * getSelectedColumns returns array containing indexes of currently
+ * selected columns
+ *
+ * @return int[] array containing indexes of currently selected columns
*/
public int[] getSelectedColumns()
{
@@ -279,8 +302,8 @@
}
/**
- * getSelectedColumnCount
- * @return int
+ * getSelectedColumnCount returns number of currently selected columns
+ * @return int number of currently selected columns
*/
public int getSelectedColumnCount()
{
@@ -288,7 +311,9 @@
}
/**
- * addColumnModelListener
+ * addColumnModelListener adds specified listener to the model's
+ * listener list
+ *
* @param listener the listener to add
*/
public void addColumnModelListener(TableColumnModelListener listener)
@@ -297,7 +322,9 @@
}
/**
- * removeColumnModelListener
+ * removeColumnModelListener removes specified listener from the model's
+ * listener list.
+ *
* @param listener the listener to remove
*/
public void removeColumnModelListener(TableColumnModelListener listener)
@@ -315,35 +342,53 @@
}
/**
- * fireColumnAdded
- * @param value0 TODO
+ * fireColumnAdded fires TableColumnModelEvent to registered
+ * TableColumnModelListeners to indicate that column was added
+ *
+ * @param e TableColumnModelEvent
*/
- protected void fireColumnAdded(TableColumnModelEvent value0)
- {
- // TODO
+ protected void fireColumnAdded(TableColumnModelEvent e)
+ {
+ TableColumnModelListener[] listeners = getColumnModelListeners();
+
+ for (int i=0; i< listeners.length; i++)
+ listeners[i].columnAdded(e);
}
/**
- * fireColumnRemoved
- * @param value0 TODO
+ * fireColumnAdded fires TableColumnModelEvent to registered
+ * TableColumnModelListeners to indicate that column was removed
+ *
+ * @param e TableColumnModelEvent
*/
- protected void fireColumnRemoved(TableColumnModelEvent value0)
+ protected void fireColumnRemoved(TableColumnModelEvent e)
{
- // TODO
+ TableColumnModelListener[] listeners = getColumnModelListeners();
+
+ for (int i=0; i< listeners.length; i++)
+ listeners[i].columnRemoved(e);
}
/**
- * fireColumnMoved
- * @param value0 TODO
+ * fireColumnAdded fires TableColumnModelEvent to registered
+ * TableColumnModelListeners to indicate that column was moved
+ *
+ * @param e TableColumnModelEvent
*/
- protected void fireColumnMoved(TableColumnModelEvent value0)
+ protected void fireColumnMoved(TableColumnModelEvent e)
{
- // TODO
+ TableColumnModelListener[] listeners = getColumnModelListeners();
+
+ for (int i=0; i< listeners.length; i++)
+ listeners[i].columnMoved(e);
}
/**
- * fireColumnSelectionChanged
- * @param value0 TODO
+ * fireColumnSelectionChanged fires TableColumnModelEvent to model's
+ * registered TableColumnModelListeners to indicate that different column
+ * was selected.
+ *
+ * @param evt ListSelectionEvent
*/
protected void fireColumnSelectionChanged(ListSelectionEvent evt)
{
@@ -353,52 +398,64 @@
}
/**
- * fireColumnMarginChanged
+ * fireColumnMarginChanged fires TableColumnModelEvent to model's
+ * registered TableColumnModelListeners to indicate that column margin
+ * was changed.
*/
protected void fireColumnMarginChanged()
{
- // TODO
+ EventListener [] listeners = getListeners(TableColumnModelListener.class);
+ for (int i = 0; i < listeners.length; ++i)
+ ((TableColumnModelListener)listeners[i]).columnMarginChanged(changeEvent);
}
/**
- * getListeners
- * @param value0 TODO
- * @return EventListener[]
+ * getListeners returns currently registered listeners with this model.
+ * @param listenerType type of listeners to return
+ *
+ * @return EventListener[] array of model's listeners of the specified type
*/
- public EventListener[] getListeners(Class klass)
+ public EventListener[] getListeners(Class listenerType)
{
- return listenerList.getListeners(klass);
+ return listenerList.getListeners(listenerType);
}
/**
- * propertyChange
- * @param value0 TODO
+ * propertyChange handles changes occuring in the properties of the
+ * model's columns.
+ *
+ * @param evt PropertyChangeEvent
*/
- public void propertyChange(PropertyChangeEvent value0)
+ public void propertyChange(PropertyChangeEvent evt)
{
- // TODO
+ if (evt.getPropertyName().equals(TableColumn.COLUMN_WIDTH_PROPERTY))
+ invalidateWidthCache();
}
/**
- * valueChanged
- * @param value0 TODO
+ * valueChanged handles changes in the selectionModel.
+ * @param e ListSelectionEvent
*/
- public void valueChanged(ListSelectionEvent value0)
+ public void valueChanged(ListSelectionEvent e)
{
- fireColumnSelectionChanged(value0);
+ fireColumnSelectionChanged(e);
}
/**
- * createSelectionModel
- * @return ListSelectionModel
+ * createSelectionModel creates selection model that will keep track
+ * of currently selected column(s)
+ *
+ * @return ListSelectionModel selection model of the columns
*/
protected ListSelectionModel createSelectionModel()
- {
- return null; // TODO
+ {
+ return new DefaultListSelectionModel();
}
/**
- * recalcWidthCache
+ * recalcWidthCache calculates total width of the columns.
+ * If the current cache of the total width is in invalidated state,
+ * then width is recalculated. Otherwise nothing is done.
*/
protected void recalcWidthCache()
{
More information about the kaffe
mailing list