/[classpath]/classpath/gnu/java/awt/peer/qt/QtListPeer.java
ViewVC logotype

Diff of /classpath/gnu/java/awt/peer/qt/QtListPeer.java

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

revision 1.1 by smarothy, Thu Aug 11 17:06:48 2005 UTC revision 1.2 by smarothy, Tue Aug 16 23:22:09 2005 UTC
# Line 39  package gnu.java.awt.peer.qt; Line 39  package gnu.java.awt.peer.qt;
39    
40  import java.awt.Dimension;  import java.awt.Dimension;
41  import java.awt.List;  import java.awt.List;
42    import java.awt.event.ActionEvent;
43    import java.awt.event.ItemEvent;
44  import java.awt.peer.ListPeer;  import java.awt.peer.ListPeer;
45    
46  public class QtListPeer extends QtComponentPeer implements ListPeer  public class QtListPeer extends QtComponentPeer implements ListPeer
# Line 54  public class QtListPeer extends QtCompon Line 56  public class QtListPeer extends QtCompon
56    {    {
57      super.setup();      super.setup();
58      List o = (List)owner;      List o = (List)owner;
59      String[] items = o.getItems();      // Multiple selection
60      setMultipleMode(o.isMultipleMode());      setMultipleMode(o.isMultipleMode());
61        // Add initial list items.
62        String[] items = o.getItems();
63      for (int i = 0; i < items.length; i++)      for (int i = 0; i < items.length; i++)
64        add(items[i], i);        add(items[i], i);
65    
66        // Initial selections.
67      int[] selected = o.getSelectedIndexes();      int[] selected = o.getSelectedIndexes();
68      for (int i = 0; i < selected.length; i++)      for (int i = 0; i < selected.length; i++)
69        select(selected[i]);        select(selected[i]);
70    
71        // If no initial selection, use 0.
72        if(selected.length == 0 && items.length > 0)
73          select( 0 );
74      }
75    
76      private boolean ignoreNextSelect = false;
77    
78      /**
79       * Called back when a row is selected. -1 if no row is selected.
80       */
81      private void fireChoice( int index )
82      {
83        ignoreNextSelect = true;
84        if( index == -1)
85          ((List)owner).deselect( ((List)owner).getSelectedIndex() );
86          else
87            {
88              ((List)owner).select( index );
89              ItemEvent e = new ItemEvent((List)owner,
90                                          ItemEvent.ITEM_STATE_CHANGED,
91                                          ""+index,
92                                          ItemEvent.SELECTED);
93              toolkit.eventQueue.postEvent(e);
94            }
95      }
96    
97      /**
98       * Called back when an item is double-clicked.
99       */
100      private void itemDoubleClicked( int index, int modifiers )
101      {
102        ActionEvent e = new ActionEvent(owner,
103                                        ActionEvent.ACTION_PERFORMED,
104                                        ((List)owner).getItem( index ),
105                                        System.currentTimeMillis(),
106                                        modifiers);
107        toolkit.eventQueue.postEvent(e);
108    }    }
109    
110    private native void select(int index, boolean selected);    private native void select(int index, boolean selected);
# Line 85  public class QtListPeer extends QtCompon Line 129  public class QtListPeer extends QtCompon
129    public native void delItems(int start_index, int end_index);    public native void delItems(int start_index, int end_index);
130    
131    public void deselect(int index)    public void deselect(int index)
132    {    {  
133      select(index, false);      if( ignoreNextSelect == true )
134          ignoreNextSelect = false;
135        else
136          select(index, false);
137    }    }
138    
139    public native int[] getSelectedIndexes();    public native int[] getSelectedIndexes();
# Line 110  public class QtListPeer extends QtCompon Line 157  public class QtListPeer extends QtCompon
157    
158    public void select(int index)    public void select(int index)
159    {    {
160      select(index, true);      if( ignoreNextSelect == true )
161          ignoreNextSelect = false;
162        else
163          select(index, true);
164    }    }
165    
166    /**    /**

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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