/[classpath]/classpath/javax/swing/table/DefaultTableColumnModel.java
ViewVC logotype

Diff of /classpath/javax/swing/table/DefaultTableColumnModel.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by mkoch, Thu Dec 30 19:07:20 2004 UTC revision 1.12 by mkoch, Fri Jan 7 18:32:49 2005 UTC
# Line 298  public class DefaultTableColumnModel Line 298  public class DefaultTableColumnModel
298     */     */
299    public int[] getSelectedColumns()    public int[] getSelectedColumns()
300    {    {
301      return null; // TODO      // FIXME: Implementation of this method was taken from private method
302        // JTable.getSelections(), which is used in various places in JTable
303        // including selected row calculations and cannot be simply removed.
304        // This design should be improved to illuminate duplication of code.
305        
306        ListSelectionModel lsm = this.selectionModel;    
307        int sz = getSelectedColumnCount();
308        int [] ret = new int[sz];
309    
310        int lo = lsm.getMinSelectionIndex();
311        int hi = lsm.getMaxSelectionIndex();
312        int j = 0;
313        java.util.ArrayList ls = new java.util.ArrayList();
314        if (lo != -1 && hi != -1)
315          {
316            switch (lsm.getSelectionMode())
317              {
318              case ListSelectionModel.SINGLE_SELECTION:
319                ret[0] = lo;
320                break;      
321          
322              case ListSelectionModel.SINGLE_INTERVAL_SELECTION:            
323                for (int i = lo; i <= hi; ++i)
324                  ret[j++] = i;
325                break;
326                
327              case ListSelectionModel.MULTIPLE_INTERVAL_SELECTION:        
328                for (int i = lo; i <= hi; ++i)
329                  if (lsm.isSelectedIndex(i))        
330                    ret[j++] = i;
331                break;
332              }
333          }
334        return ret;
335    }    }
336    
337    /**    /**
# Line 307  public class DefaultTableColumnModel Line 340  public class DefaultTableColumnModel
340     */     */
341    public int getSelectedColumnCount()    public int getSelectedColumnCount()
342    {    {
343      return 0; // TODO      // FIXME: Implementation of this method was taken from private method
344        // JTable.countSelections(), which is used in various places in JTable
345        // including selected row calculations and cannot be simply removed.
346        // This design should be improved to illuminate duplication of code.
347      
348        ListSelectionModel lsm = this.selectionModel;
349        int lo = lsm.getMinSelectionIndex();
350        int hi = lsm.getMaxSelectionIndex();
351        int sum = 0;
352        
353        if (lo != -1 && hi != -1)
354          {
355            switch (lsm.getSelectionMode())
356              {
357              case ListSelectionModel.SINGLE_SELECTION:
358                sum = 1;
359                break;
360                
361              case ListSelectionModel.SINGLE_INTERVAL_SELECTION:
362                sum = hi - lo + 1;
363                break;
364                
365              case ListSelectionModel.MULTIPLE_INTERVAL_SELECTION:        
366                for (int i = lo; i <= hi; ++i)
367                  if (lsm.isSelectedIndex(i))        
368                    ++sum;
369                break;
370              }
371          }
372        
373         return sum;
374    }    }
375    
376    /**    /**

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26