|
Lines 83-89
Link Here
|
| 83 |
Table table = ( Table )widget; |
83 |
Table table = ( Table )widget; |
| 84 |
readTopIndex( table ); // topIndex MUST be read *before* processSetData |
84 |
readTopIndex( table ); // topIndex MUST be read *before* processSetData |
| 85 |
readSelection( table ); |
85 |
readSelection( table ); |
| 86 |
processSetData( table ); |
86 |
readSetData( table ); |
| 87 |
readWidgetSelected( table ); |
87 |
readWidgetSelected( table ); |
| 88 |
readWidgetDefaultSelected( table ); |
88 |
readWidgetDefaultSelected( table ); |
| 89 |
ControlLCAUtil.processMouseEvents( table ); |
89 |
ControlLCAUtil.processMouseEvents( table ); |
|
Lines 169-175
Link Here
|
| 169 |
} |
169 |
} |
| 170 |
} |
170 |
} |
| 171 |
|
171 |
|
| 172 |
private static void processSetData( final Table table ) { |
172 |
private static void readSetData( final Table table ) { |
| 173 |
if( WidgetLCAUtil.wasEventSent( table, JSConst.EVENT_SET_DATA ) ) { |
173 |
if( WidgetLCAUtil.wasEventSent( table, JSConst.EVENT_SET_DATA ) ) { |
| 174 |
HttpServletRequest request = ContextProvider.getRequest(); |
174 |
HttpServletRequest request = ContextProvider.getRequest(); |
| 175 |
String value = request.getParameter( JSConst.EVENT_SET_DATA_INDEX ); |
175 |
String value = request.getParameter( JSConst.EVENT_SET_DATA_INDEX ); |
|
Lines 178-184
Link Here
|
| 178 |
ITableAdapter tableAdapter = ( ITableAdapter )adapter; |
178 |
ITableAdapter tableAdapter = ( ITableAdapter )adapter; |
| 179 |
for( int i = 0; i < indices.length; i++ ) { |
179 |
for( int i = 0; i < indices.length; i++ ) { |
| 180 |
int index = Integer.parseInt( indices[ i ] ); |
180 |
int index = Integer.parseInt( indices[ i ] ); |
| 181 |
tableAdapter.checkData( index ); |
181 |
if (index >-1 && index < table.getItemCount()) { |
|
|
182 |
tableAdapter.checkData( index ); |
| 183 |
} |
| 182 |
} |
184 |
} |
| 183 |
} |
185 |
} |
| 184 |
} |
186 |
} |
|
Lines 186-202
Link Here
|
| 186 |
private void readWidgetSelected( final Table table ) { |
188 |
private void readWidgetSelected( final Table table ) { |
| 187 |
if( WidgetLCAUtil.wasEventSent( table, JSConst.EVENT_WIDGET_SELECTED ) ) { |
189 |
if( WidgetLCAUtil.wasEventSent( table, JSConst.EVENT_WIDGET_SELECTED ) ) { |
| 188 |
// TODO [rh] do something about when index points to unresolved item! |
190 |
// TODO [rh] do something about when index points to unresolved item! |
| 189 |
TableItem item = table.getItem( getWidgetSelectedIndex() ); |
191 |
final int widgetSelectedIndex = getWidgetSelectedIndex(); |
| 190 |
int detail = getWidgetSelectedDetail(); |
192 |
// Bugfix: check if index is valid before firing event to avoid problems with fast scrolling |
| 191 |
int id = SelectionEvent.WIDGET_SELECTED; |
193 |
if (widgetSelectedIndex > -1 && widgetSelectedIndex < table.getItemCount()) { |
| 192 |
SelectionEvent event = new SelectionEvent( table, |
194 |
TableItem item = table.getItem( widgetSelectedIndex ); |
| 193 |
item, |
195 |
int detail = getWidgetSelectedDetail(); |
| 194 |
id, |
196 |
int id = SelectionEvent.WIDGET_SELECTED; |
| 195 |
new Rectangle( 0, 0, 0, 0 ), |
197 |
SelectionEvent event = new SelectionEvent( table, |
| 196 |
"", |
198 |
item, |
| 197 |
true, |
199 |
id, |
| 198 |
detail ); |
200 |
new Rectangle( 0, 0, 0, 0 ), |
| 199 |
event.processEvent(); |
201 |
"", |
|
|
202 |
true, |
| 203 |
detail ); |
| 204 |
event.processEvent(); |
| 205 |
} |
| 200 |
} |
206 |
} |
| 201 |
} |
207 |
} |
| 202 |
|
208 |
|