Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 144206 Details for
Bug 286306
[Toolbar] ToolItem indices are messed up by DROP_DOWN
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
patch+testcase
clipboard.txt (text/plain), 8.84 KB, created by
Benjamin Muskalla
on 2009-08-12 07:50:45 EDT
(
hide
)
Description:
patch+testcase
Filename:
MIME Type:
Creator:
Benjamin Muskalla
Created:
2009-08-12 07:50:45 EDT
Size:
8.84 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.rap.rwt.q07 >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/PushToolItemLCA.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/PushToolItemLCA.java,v >retrieving revision 1.3 >diff -u -r1.3 PushToolItemLCA.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/PushToolItemLCA.java 10 Aug 2009 20:58:55 -0000 1.3 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/PushToolItemLCA.java 12 Aug 2009 11:51:26 -0000 >@@ -49,7 +49,7 @@ > Object[] args = new Object[]{ > WidgetUtil.getId( toolItem ), > toolBar, >- new Integer( toolBar.indexOf( toolItem ) ), >+ ToolItemLCAUtil.getClientSideIndex( toolItem ), > Boolean.valueOf( ( toolBar.getStyle() & SWT.FLAT ) != 0 ) > }; > writer.callStatic( CREATE_PUSH, args ); >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/SeparatorToolItemLCA.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/SeparatorToolItemLCA.java,v >retrieving revision 1.2 >diff -u -r1.2 SeparatorToolItemLCA.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/SeparatorToolItemLCA.java 10 Aug 2009 20:58:55 -0000 1.2 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/SeparatorToolItemLCA.java 12 Aug 2009 11:51:26 -0000 >@@ -46,7 +46,7 @@ > Object[] args = new Object[]{ > WidgetUtil.getId( toolItem ), > toolBar, >- new Integer( toolBar.indexOf( toolItem ) ), >+ ToolItemLCAUtil.getClientSideIndex( toolItem ), > Boolean.valueOf( ( toolBar.getStyle() & SWT.FLAT ) != 0 ) > }; > writer.callStatic( CREATE_SEPARATOR, args ); >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/RadioToolItemLCA.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/RadioToolItemLCA.java,v >retrieving revision 1.9 >diff -u -r1.9 RadioToolItemLCA.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/RadioToolItemLCA.java 11 Aug 2009 09:52:45 -0000 1.9 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/RadioToolItemLCA.java 12 Aug 2009 11:51:26 -0000 >@@ -65,7 +65,7 @@ > Object[] args = new Object[] { > WidgetUtil.getId( toolItem ), > toolItem.getParent(), >- new Integer( itemIndex ), >+ ToolItemLCAUtil.getClientSideIndex( toolItem ), > toolItem.getSelection() ? "true" : null, > neighbour > }; >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/DropDownToolItemLCA.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/DropDownToolItemLCA.java,v >retrieving revision 1.6 >diff -u -r1.6 DropDownToolItemLCA.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/DropDownToolItemLCA.java 10 Aug 2009 20:58:55 -0000 1.6 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/DropDownToolItemLCA.java 12 Aug 2009 11:51:26 -0000 >@@ -74,7 +74,7 @@ > Object[] args = new Object[] { > WidgetUtil.getId( toolItem ), > toolBar, >- new Integer( toolBar.indexOf( toolItem ) ), >+ ToolItemLCAUtil.getClientSideIndex( toolItem ), > Boolean.valueOf( ( toolBar.getStyle() & SWT.FLAT ) != 0 ) > }; > writer.callStatic( CREATE_DROP_DOWN, args ); >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/CheckToolItemLCA.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/CheckToolItemLCA.java,v >retrieving revision 1.5 >diff -u -r1.5 CheckToolItemLCA.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/CheckToolItemLCA.java 10 Aug 2009 20:58:55 -0000 1.5 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/CheckToolItemLCA.java 12 Aug 2009 11:51:26 -0000 >@@ -57,7 +57,7 @@ > Object[] args = new Object[] { > WidgetUtil.getId( toolItem ), > toolBar, >- new Integer( toolBar.indexOf( toolItem ) ) >+ ToolItemLCAUtil.getClientSideIndex( toolItem ) > }; > writer.callStatic( CREATE_CHECK, args ); > writer.set( "checked", toolItem.getSelection() ); >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCAUtil.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt/org.eclipse.rap.rwt.q07/src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCAUtil.java,v >retrieving revision 1.9 >diff -u -r1.9 ToolItemLCAUtil.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCAUtil.java 7 Aug 2009 10:18:43 -0000 1.9 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCAUtil.java 12 Aug 2009 11:51:26 -0000 >@@ -21,8 +21,7 @@ > import org.eclipse.swt.graphics.Rectangle; > import org.eclipse.swt.internal.graphics.ResourceFactory; > import org.eclipse.swt.internal.widgets.*; >-import org.eclipse.swt.widgets.ToolItem; >-import org.eclipse.swt.widgets.Widget; >+import org.eclipse.swt.widgets.*; > > > final class ToolItemLCAUtil { >@@ -124,6 +123,23 @@ > return bounds; > } > >+ // TODO [bm]: workaround for bug 286306 >+ // we need to count the DROP_DOWN twice as it consists of two >+ // widgets on the client-side. This needs to be removed once we >+ // a proper DROP_DOWN ToolItem in place >+ static Integer getClientSideIndex( final ToolItem toolItem ) { >+ ToolBar toolBar = toolItem.getParent(); >+ int result = 0; >+ int toolItemIndex = toolBar.indexOf( toolItem ); >+ for( int i = 0; i < toolItemIndex; i++ ) { >+ result++; >+ if( ( toolBar.getItem( i ).getStyle() & SWT.DROP_DOWN ) != 0 ) { >+ result++; >+ } >+ } >+ return new Integer( result ); >+ } >+ > //////// > // Image > >#P org.eclipse.rap.rwt.q07.test >Index: src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCA_Test.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.rap/runtime.rwt.test/org.eclipse.rap.rwt.q07.test/src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCA_Test.java,v >retrieving revision 1.10 >diff -u -r1.10 ToolItemLCA_Test.java >--- src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCA_Test.java 11 Aug 2009 09:52:46 -0000 1.10 >+++ src/org/eclipse/swt/internal/widgets/toolitemkit/ToolItemLCA_Test.java 12 Aug 2009 11:51:28 -0000 >@@ -339,6 +339,51 @@ > assertEquals( expected, Fixture.getAllMarkup() ); > } > >+ // TODO [bm]: test for workaround for bug 286306 >+ // we need to count the DROP_DOWN twice for a proper index >+ // as it consists of two >+ // widgets on the client-side. This needs to be removed once we >+ // a single-widget DROP_DOWN ToolItem in place >+ public void testIndexOnInitializeWithDropDown() throws Exception { >+ Fixture.fakeResponseWriter(); >+ Display display = new Display(); >+ Shell shell = new Shell( display, SWT.NONE ); >+ ToolBar tb = new ToolBar( shell, SWT.NONE ); >+ final ToolItem item1 = new ToolItem( tb, SWT.DROP_DOWN ); >+ final ToolItem item2 = new ToolItem( tb, SWT.PUSH ); >+ final ToolItem item3 = new ToolItem( tb, SWT.DROP_DOWN ); >+ final ToolItem item4 = new ToolItem( tb, SWT.PUSH ); >+ shell.open(); >+ ToolItemLCA itemLCA = new ToolItemLCA(); >+ itemLCA.renderInitialization( item1 ); >+ itemLCA.renderInitialization( item2 ); >+ itemLCA.renderInitialization( item3 ); >+ itemLCA.renderInitialization( item4 ); >+ String parent = "wm.findWidgetById( \"" + WidgetUtil.getId( tb )+ "\" )"; >+ String expected1 = "org.eclipse.swt.ToolItemUtil.createDropDown( \"" >+ + WidgetUtil.getId( item1 ) >+ + "\", " >+ + parent >+ + ", 0, false );"; >+ String expected2 = "org.eclipse.swt.ToolItemUtil.createPush( \"" >+ + WidgetUtil.getId( item2 ) >+ + "\", " >+ + parent >+ + ", 2, false );"; >+ String expected3 = "org.eclipse.swt.ToolItemUtil.createDropDown( \"" >+ + WidgetUtil.getId( item3 ) >+ + "\", " >+ + parent >+ + ", 3, false );"; >+ String expected4 = "org.eclipse.swt.ToolItemUtil.createPush( \"" >+ + WidgetUtil.getId( item4 ) >+ + "\", " >+ + parent >+ + ", 5, false );"; >+ assertEquals( expected1 + expected2 + expected3 + expected4, >+ Fixture.getAllMarkup() ); >+ } >+ > protected void setUp() throws Exception { > RWTFixture.setUp(); > Fixture.fakeResponseWriter();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 286306
: 144206