Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 299914
Collapse All | Expand All

(-)src/org/eclipse/rwt/lifecycle/ControlLCAUtil.java (-2 / +9 lines)
Lines 128-134 Link Here
128
    adapter.preserve( PROP_TAB_INDEX, new Integer( getTabIndex( control ) ) );
128
    adapter.preserve( PROP_TAB_INDEX, new Integer( getTabIndex( control ) ) );
129
    WidgetLCAUtil.preserveToolTipText( control, control.getToolTipText() );
129
    WidgetLCAUtil.preserveToolTipText( control, control.getToolTipText() );
130
    adapter.preserve( Props.MENU, control.getMenu() );
130
    adapter.preserve( Props.MENU, control.getMenu() );
131
    adapter.preserve( Props.VISIBLE, Boolean.valueOf( control.getVisible() ) );
131
    adapter.preserve( Props.VISIBLE, Boolean.valueOf( getVisible( control ) ) );
132
    WidgetLCAUtil.preserveEnabled( control, control.getEnabled() );
132
    WidgetLCAUtil.preserveEnabled( control, control.getEnabled() );
133
    IControlAdapter controlAdapter
133
    IControlAdapter controlAdapter
134
      = ( IControlAdapter )control.getAdapter( IControlAdapter.class );
134
      = ( IControlAdapter )control.getAdapter( IControlAdapter.class );
Lines 220-231 Link Here
220
  {
220
  {
221
    // we only need getVisible here (not isVisible), as qooxdoo also hides/shows
221
    // we only need getVisible here (not isVisible), as qooxdoo also hides/shows
222
    // contained controls
222
    // contained controls
223
    Boolean newValue = Boolean.valueOf( control.getVisible() );
223
    Boolean newValue = Boolean.valueOf( getVisible( control ) );
224
    Boolean defValue = control instanceof Shell ? Boolean.FALSE : Boolean.TRUE;
224
    Boolean defValue = control instanceof Shell ? Boolean.FALSE : Boolean.TRUE;
225
    JSWriter writer = JSWriter.getWriterFor( control );
225
    JSWriter writer = JSWriter.getWriterFor( control );
226
    writer.set( Props.VISIBLE, JSConst.QX_FIELD_VISIBLE, newValue, defValue );
226
    writer.set( Props.VISIBLE, JSConst.QX_FIELD_VISIBLE, newValue, defValue );
227
  }
227
  }
228
228
229
  // [if] Fix for bug 263025, 297466, 223873 and more
230
  // some qooxdoo widget with size (0,0) are not invisible
231
  private static boolean getVisible( final Control control ) {
232
    Point size = control.getSize();
233
    return control.getVisible() && size.x > 0 && size.y > 0;
234
  }
235
229
  /**
236
  /**
230
   * Determines whether the property <code>enabled</code> of the given control
237
   * Determines whether the property <code>enabled</code> of the given control
231
   * has changed during the processing of the current request and if so, writes
238
   * has changed during the processing of the current request and if so, writes
(-)src/org/eclipse/swt/internal/widgets/spinnerkit/SpinnerLCA_Test.java (+1 lines)
Lines 103-108 Link Here
103
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
103
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
104
    Fixture.clearPreserved();
104
    Fixture.clearPreserved();
105
    // visible
105
    // visible
106
    spinner.setSize( 10, 10 );
106
    Fixture.preserveWidgets();
107
    Fixture.preserveWidgets();
107
    adapter = WidgetUtil.getAdapter( spinner );
108
    adapter = WidgetUtil.getAdapter( spinner );
108
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
109
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
(-)src/org/eclipse/swt/internal/widgets/datetimekit/DateTimeLCA_Test.java (+1 lines)
Lines 197-202 Link Here
197
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
197
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
198
    Fixture.clearPreserved();
198
    Fixture.clearPreserved();
199
    // visible
199
    // visible
200
    dateTime.setSize( 10, 10 );
200
    Fixture.preserveWidgets();
201
    Fixture.preserveWidgets();
201
    adapter = WidgetUtil.getAdapter( dateTime );
202
    adapter = WidgetUtil.getAdapter( dateTime );
202
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
203
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
(-)src/org/eclipse/swt/internal/widgets/linkkit/LinkLCA_Test.java (+1 lines)
Lines 68-73 Link Here
68
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
68
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
69
    Fixture.clearPreserved();
69
    Fixture.clearPreserved();
70
    //visible
70
    //visible
71
    link.setSize( 10, 10 );
71
    Fixture.preserveWidgets();
72
    Fixture.preserveWidgets();
72
    adapter = WidgetUtil.getAdapter( link );
73
    adapter = WidgetUtil.getAdapter( link );
73
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
74
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
(-)src/org/eclipse/swt/internal/widgets/treekit/TreeLCA_Test.java (+1 lines)
Lines 107-112 Link Here
107
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
107
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
108
    Fixture.clearPreserved();
108
    Fixture.clearPreserved();
109
    // visible
109
    // visible
110
    tree.setSize( 10, 10 );
110
    Fixture.preserveWidgets();
111
    Fixture.preserveWidgets();
111
    adapter = WidgetUtil.getAdapter( tree );
112
    adapter = WidgetUtil.getAdapter( tree );
112
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
113
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
(-)src/org/eclipse/swt/internal/widgets/tablekit/TableLCA_Test.java (+1 lines)
Lines 162-167 Link Here
162
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
162
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
163
    Fixture.clearPreserved();
163
    Fixture.clearPreserved();
164
    // visible
164
    // visible
165
    table.setSize( 10, 10 );
165
    Fixture.preserveWidgets();
166
    Fixture.preserveWidgets();
166
    adapter = WidgetUtil.getAdapter( table );
167
    adapter = WidgetUtil.getAdapter( table );
167
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
168
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
(-)src/org/eclipse/swt/internal/widgets/tabfolderkit/TabFolderLCA_Test.java (-5 / +6 lines)
Lines 50-55 Link Here
50
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
50
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
51
    Fixture.clearPreserved();
51
    Fixture.clearPreserved();
52
    //visible
52
    //visible
53
    tabfolder.setSize( 10, 10 );
53
    Fixture.preserveWidgets();
54
    Fixture.preserveWidgets();
54
    adapter = WidgetUtil.getAdapter( tabfolder );
55
    adapter = WidgetUtil.getAdapter( tabfolder );
55
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
56
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
Lines 200-208 Link Here
200
    assertFalse( control0.getVisible() );
201
    assertFalse( control0.getVisible() );
201
    assertTrue( control1.getVisible() );
202
    assertTrue( control1.getVisible() );
202
  }
203
  }
203
  
204
204
  public void testSelectionWithListener() {
205
  public void testSelectionWithListener() {
205
    final java.util.List events = new ArrayList(); 
206
    final java.util.List events = new ArrayList();
206
    Display display = new Display();
207
    Display display = new Display();
207
    Shell shell = new Shell( display );
208
    Shell shell = new Shell( display );
208
    shell.setLayout( new FillLayout() );
209
    shell.setLayout( new FillLayout() );
Lines 224-230 Link Here
224
        events.add( event );
225
        events.add( event );
225
      }
226
      }
226
    } );
227
    } );
227
    
228
228
    RWTLifeCycle lifeCycle = ( RWTLifeCycle )LifeCycleFactory.getLifeCycle();
229
    RWTLifeCycle lifeCycle = ( RWTLifeCycle )LifeCycleFactory.getLifeCycle();
229
    lifeCycle.addPhaseListener( new PreserveWidgetsPhaseListener() );
230
    lifeCycle.addPhaseListener( new PreserveWidgetsPhaseListener() );
230
    String displayId = DisplayUtil.getAdapter( display ).getId();
231
    String displayId = DisplayUtil.getAdapter( display ).getId();
Lines 237-249 Link Here
237
    Fixture.fakeNewRequest();
238
    Fixture.fakeNewRequest();
238
    Fixture.fakeRequestParam( RequestParams.UIROOT, displayId );
239
    Fixture.fakeRequestParam( RequestParams.UIROOT, displayId );
239
    Fixture.executeLifeCycleFromServerThread( );
240
    Fixture.executeLifeCycleFromServerThread( );
240
    
241
241
    events.clear();
242
    events.clear();
242
    Fixture.fakeNewRequest();
243
    Fixture.fakeNewRequest();
243
    Fixture.fakeRequestParam( RequestParams.UIROOT, displayId );
244
    Fixture.fakeRequestParam( RequestParams.UIROOT, displayId );
244
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_SELECTED, folderId );
245
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_SELECTED, folderId );
245
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_SELECTED_ITEM, item1Id );
246
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_SELECTED_ITEM, item1Id );
246
    
247
247
    Fixture.executeLifeCycleFromServerThread( );
248
    Fixture.executeLifeCycleFromServerThread( );
248
    assertEquals( 1, folder.getSelectionIndex() );
249
    assertEquals( 1, folder.getSelectionIndex() );
249
    assertFalse( control0.getVisible() );
250
    assertFalse( control0.getVisible() );
(-)src/org/eclipse/swt/internal/widgets/controlkit/ControlLCA_Test.java (+1 lines)
Lines 152-157 Link Here
152
    Display display = new Display();
152
    Display display = new Display();
153
    Shell shell = new Shell( display , SWT.NONE );
153
    Shell shell = new Shell( display , SWT.NONE );
154
    Button button = new Button( shell, SWT.PUSH );
154
    Button button = new Button( shell, SWT.PUSH );
155
    button.setSize( 10, 10 );
155
    shell.open();
156
    shell.open();
156
    AbstractWidgetLCA lca = WidgetUtil.getLCA( button );
157
    AbstractWidgetLCA lca = WidgetUtil.getLCA( button );
157
158
(-)src/org/eclipse/swt/internal/widgets/sashkit/SashLCA_Test.java (-1 / +2 lines)
Lines 62-67 Link Here
62
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
62
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
63
    Fixture.clearPreserved();
63
    Fixture.clearPreserved();
64
    //visible
64
    //visible
65
    sash.setSize( 10, 10 );
65
    Fixture.preserveWidgets();
66
    Fixture.preserveWidgets();
66
    adapter = WidgetUtil.getAdapter( sash );
67
    adapter = WidgetUtil.getAdapter( sash );
67
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
68
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
Lines 191-197 Link Here
191
    SashLCA sashLCA = new SashLCA();
192
    SashLCA sashLCA = new SashLCA();
192
    sashLCA.renderChanges( sash );
193
    sashLCA.renderChanges( sash );
193
    assertTrue( Fixture.getAllMarkup()
194
    assertTrue( Fixture.getAllMarkup()
194
      .endsWith( "setSpace( 20, 50, 100, 60 );" ) );
195
      .indexOf( "setSpace( 20, 50, 100, 60 );" ) != -1 );
195
    Fixture.clearPreserved();
196
    Fixture.clearPreserved();
196
    Fixture.fakeResponseWriter();
197
    Fixture.fakeResponseWriter();
197
    Fixture.preserveWidgets();
198
    Fixture.preserveWidgets();
(-)src/org/eclipse/swt/internal/widgets/coolbarkit/CoolBarLCA_Test.java (-11 / +12 lines)
Lines 57-62 Link Here
57
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
57
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
58
    Fixture.clearPreserved();
58
    Fixture.clearPreserved();
59
    // visible
59
    // visible
60
    bar.setSize( 10, 10 );
60
    lca.preserveValues( bar );
61
    lca.preserveValues( bar );
61
    adapter = WidgetUtil.getAdapter( bar );
62
    adapter = WidgetUtil.getAdapter( bar );
62
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
63
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
Lines 210-221 Link Here
210
    // get adapter to set item order
211
    // get adapter to set item order
211
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
212
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
212
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
213
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
213
    
214
214
    // ensure initial state
215
    // ensure initial state
215
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
216
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
216
    assertEquals( 1, bar.getItemOrder()[ 1 ] );
217
    assertEquals( 1, bar.getItemOrder()[ 1 ] );
217
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
218
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
218
    
219
219
    // Simulate that item2 is dragged left of item1
220
    // Simulate that item2 is dragged left of item1
220
    int newX = item1.getBounds().x - 4;
221
    int newX = item1.getBounds().x - 4;
221
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_MOVED, item2Id );
222
    Fixture.fakeRequestParam( JSConst.EVENT_WIDGET_MOVED, item2Id );
Lines 224-230 Link Here
224
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
225
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
225
    assertEquals( 2, bar.getItemOrder()[ 1 ] );
226
    assertEquals( 2, bar.getItemOrder()[ 1 ] );
226
    assertEquals( 1, bar.getItemOrder()[ 2 ] );
227
    assertEquals( 1, bar.getItemOrder()[ 2 ] );
227
    
228
228
    // Simulate that item0 is dragged after the last item
229
    // Simulate that item0 is dragged after the last item
229
    cba.setItemOrder( new int[] { 0, 1, 2, } );
230
    cba.setItemOrder( new int[] { 0, 1, 2, } );
230
    newX = item2.getBounds().x + item2.getBounds().width + 10;
231
    newX = item2.getBounds().x + item2.getBounds().width + 10;
Lines 234-240 Link Here
234
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
235
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
235
    assertEquals( 2, bar.getItemOrder()[ 1 ] );
236
    assertEquals( 2, bar.getItemOrder()[ 1 ] );
236
    assertEquals( 0, bar.getItemOrder()[ 2 ] );
237
    assertEquals( 0, bar.getItemOrder()[ 2 ] );
237
    
238
238
    // Simulate that item0 is dragged onto itself -> nothing should change
239
    // Simulate that item0 is dragged onto itself -> nothing should change
239
    cba.setItemOrder( new int[] { 0, 1, 2, } );
240
    cba.setItemOrder( new int[] { 0, 1, 2, } );
240
    newX = item0.getBounds().x + 2;
241
    newX = item0.getBounds().x + 2;
Lines 244-250 Link Here
244
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
245
    assertEquals( 0, bar.getItemOrder()[ 0 ] );
245
    assertEquals( 1, bar.getItemOrder()[ 1 ] );
246
    assertEquals( 1, bar.getItemOrder()[ 1 ] );
246
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
247
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
247
    
248
248
    // Simulate that item1 is before the first item
249
    // Simulate that item1 is before the first item
249
    cba.setItemOrder( new int[] { 0, 1, 2, } );
250
    cba.setItemOrder( new int[] { 0, 1, 2, } );
250
    newX = item0.getBounds().x - 5;
251
    newX = item0.getBounds().x - 5;
Lines 255-261 Link Here
255
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
256
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
256
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
257
    assertEquals( 2, bar.getItemOrder()[ 2 ] );
257
  }
258
  }
258
   
259
259
  public void testItemReordering2() {
260
  public void testItemReordering2() {
260
    Display display = new Display();
261
    Display display = new Display();
261
    Shell shell = new Shell( display, SWT.NONE );
262
    Shell shell = new Shell( display, SWT.NONE );
Lines 280-286 Link Here
280
    Fixture.markInitialized( item0.getControl() );
281
    Fixture.markInitialized( item0.getControl() );
281
    Fixture.markInitialized( item1 );
282
    Fixture.markInitialized( item1 );
282
    Fixture.markInitialized( item1.getControl() );
283
    Fixture.markInitialized( item1.getControl() );
283
    
284
284
    // get adapter to set item order
285
    // get adapter to set item order
285
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
286
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
286
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
287
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
Lines 295-301 Link Here
295
    Fixture.executeLifeCycleFromServerThread();
296
    Fixture.executeLifeCycleFromServerThread();
296
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
297
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
297
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
298
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
298
    
299
299
    // Drag item0 and drop it beyond the bounds of item1
300
    // Drag item0 and drop it beyond the bounds of item1
300
    cba.setItemOrder( new int[] { 0, 1 } );
301
    cba.setItemOrder( new int[] { 0, 1 } );
301
    Fixture.fakeNewRequest();
302
    Fixture.fakeNewRequest();
Lines 307-313 Link Here
307
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
308
    assertEquals( 1, bar.getItemOrder()[ 0 ] );
308
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
309
    assertEquals( 0, bar.getItemOrder()[ 1 ] );
309
  }
310
  }
310
   
311
311
  public void testSnapBackItemMoved() {
312
  public void testSnapBackItemMoved() {
312
    Display display = new Display();
313
    Display display = new Display();
313
    Shell shell = new Shell( display, SWT.NONE );
314
    Shell shell = new Shell( display, SWT.NONE );
Lines 331-341 Link Here
331
    Fixture.markInitialized( item0.getControl() );
332
    Fixture.markInitialized( item0.getControl() );
332
    Fixture.markInitialized( item1 );
333
    Fixture.markInitialized( item1 );
333
    Fixture.markInitialized( item1.getControl() );
334
    Fixture.markInitialized( item1.getControl() );
334
    
335
335
    // get adapter to set item order
336
    // get adapter to set item order
336
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
337
    Object adapter = bar.getAdapter( ICoolBarAdapter.class );
337
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
338
    ICoolBarAdapter cba = (ICoolBarAdapter) adapter;
338
  
339
339
    // Simulate that fist item is dragged around but dropped at its original
340
    // Simulate that fist item is dragged around but dropped at its original
340
    // position
341
    // position
341
    cba.setItemOrder( new int[] { 0, 1 } );
342
    cba.setItemOrder( new int[] { 0, 1 } );
(-)src/org/eclipse/swt/internal/widgets/listkit/ListLCA_Test.java (+1 lines)
Lines 99-104 Link Here
99
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
99
    assertEquals( Boolean.FALSE, adapter.getPreserved( Props.ENABLED ) );
100
    Fixture.clearPreserved();
100
    Fixture.clearPreserved();
101
    // visible
101
    // visible
102
    list.setSize( 10, 10 );
102
    Fixture.preserveWidgets();
103
    Fixture.preserveWidgets();
103
    adapter = WidgetUtil.getAdapter( list );
104
    adapter = WidgetUtil.getAdapter( list );
104
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );
105
    assertEquals( Boolean.TRUE, adapter.getPreserved( Props.VISIBLE ) );

Return to bug 299914