You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/07/20 17:33:08 UTC
svn commit: r558021 - in
/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view:
widget/DifferencesWidget.java wizards/CommitChangesDifferencesWizardPage.java
Author: pamarcelot
Date: Fri Jul 20 08:33:07 2007
New Revision: 558021
URL: http://svn.apache.org/viewvc?view=rev&rev=558021
Log:
Added a toolbar Menu with 'Sorting...' and 'Preferences...' Actions from the SchemaView.
Modified:
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/widget/DifferencesWidget.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/widget/DifferencesWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/widget/DifferencesWidget.java?view=diff&rev=558021&r1=558020&r2=558021
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/widget/DifferencesWidget.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/widget/DifferencesWidget.java Fri Jul 20 08:33:07 2007
@@ -20,15 +20,20 @@
package org.apache.directory.studio.apacheds.schemaeditor.view.widget;
+import java.util.ArrayList;
import java.util.List;
import org.apache.directory.studio.apacheds.schemaeditor.Activator;
import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenSchemaViewPreferenceAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenSchemaViewSortingDialogAction;
import org.apache.directory.studio.apacheds.schemaeditor.model.difference.AttributeTypeDifference;
import org.apache.directory.studio.apacheds.schemaeditor.model.difference.DifferenceType;
import org.apache.directory.studio.apacheds.schemaeditor.model.difference.ObjectClassDifference;
import org.apache.directory.studio.apacheds.schemaeditor.model.difference.SchemaDifference;
import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -71,6 +76,31 @@
/** The PreferenceStore*/
private IPreferenceStore store;
+ /** The authorized Preferences keys*/
+ private List<String> authorizedPrefs;
+
+ /** The preference listener */
+ private IPropertyChangeListener preferenceListener = new IPropertyChangeListener()
+ {
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ public void propertyChange( PropertyChangeEvent event )
+ {
+ if ( authorizedPrefs.contains( event.getProperty() ) )
+ {
+ // if ( PluginConstants.PREFS_SCHEMA_VIEW_GROUPING == event.getProperty() )
+ // {
+ // view.reloadViewer();
+ // }
+ // else
+ // {
+ treeViewer.refresh();
+ // }
+ }
+ }
+ };
+
// The MenuItems
private MenuItem groupByType;
private MenuItem groupByProperty;
@@ -118,6 +148,53 @@
leftComposite.setLayout( gridLayout );
leftComposite.setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
+ // ToolBar
+ final ToolBar leftToolBar = new ToolBar( leftComposite, SWT.HORIZONTAL );
+ leftToolBar.setLayoutData( new GridData( SWT.RIGHT, SWT.NONE, false, false ) );
+ // Creating the 'Menu' ToolBar item
+ final ToolItem leftMenuToolItem = new ToolItem( leftToolBar, SWT.PUSH );
+ leftMenuToolItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_TOOLBAR_MENU ).createImage() );
+ leftMenuToolItem.setToolTipText( "Menu" );
+ // Creating the associated Menu
+ final Menu leftMenu = new Menu( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.POP_UP );
+ // Adding the action to display the Menu when the item is clicked
+ leftMenuToolItem.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ Rectangle rect = leftMenuToolItem.getBounds();
+ Point pt = new Point( rect.x, rect.y + rect.height );
+ pt = leftToolBar.toDisplay( pt );
+ leftMenu.setLocation( pt.x, pt.y );
+ leftMenu.setVisible( true );
+ }
+ } );
+ // Adding the 'Sorting...' MenuItem
+ MenuItem sortingMenuItem = new MenuItem( leftMenu, SWT.PUSH );
+ sortingMenuItem.setText( "Sorting..." );
+ sortingMenuItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_SORTING ).createImage() );
+ sortingMenuItem.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent arg0 )
+ {
+ new OpenSchemaViewSortingDialogAction().run();
+ }
+ } );
+ // Adding the 'Separator' MenuItem
+ new MenuItem( leftMenu, SWT.SEPARATOR );
+ // Adding the 'Preferences...' MenuItem
+ MenuItem preferencesMenuItem = new MenuItem( leftMenu, SWT.PUSH );
+ preferencesMenuItem.setText( "Preferences..." );
+ preferencesMenuItem.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent arg0 )
+ {
+ new OpenSchemaViewPreferenceAction().run();
+ }
+ } );
+
// TreeViewer
treeViewer = new TreeViewer( leftComposite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER );
treeViewer.getTree().setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
@@ -178,29 +255,29 @@
rightComposite.setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
// ToolBar
- final ToolBar toolBar = new ToolBar( rightComposite, SWT.HORIZONTAL );
- toolBar.setLayoutData( new GridData( SWT.RIGHT, SWT.NONE, false, false ) );
+ final ToolBar rightToolBar = new ToolBar( rightComposite, SWT.HORIZONTAL );
+ rightToolBar.setLayoutData( new GridData( SWT.RIGHT, SWT.NONE, false, false ) );
// Creating the 'Menu' ToolBar item
- final ToolItem menuToolItem = new ToolItem( toolBar, SWT.PUSH );
- menuToolItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ final ToolItem rightMenuToolItem = new ToolItem( rightToolBar, SWT.PUSH );
+ rightMenuToolItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
PluginConstants.IMG_TOOLBAR_MENU ).createImage() );
- menuToolItem.setToolTipText( "Menu" );
+ rightMenuToolItem.setToolTipText( "Menu" );
// Creating the associated Menu
- final Menu menu = new Menu( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.POP_UP );
+ final Menu rightMenu = new Menu( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.POP_UP );
// Adding the action to display the Menu when the item is clicked
- menuToolItem.addSelectionListener( new SelectionAdapter()
+ rightMenuToolItem.addSelectionListener( new SelectionAdapter()
{
public void widgetSelected( SelectionEvent event )
{
- Rectangle rect = menuToolItem.getBounds();
+ Rectangle rect = rightMenuToolItem.getBounds();
Point pt = new Point( rect.x, rect.y + rect.height );
- pt = toolBar.toDisplay( pt );
- menu.setLocation( pt.x, pt.y );
- menu.setVisible( true );
+ pt = rightToolBar.toDisplay( pt );
+ rightMenu.setLocation( pt.x, pt.y );
+ rightMenu.setVisible( true );
}
} );
// Adding the 'Group By Property' MenuItem
- groupByProperty = new MenuItem( menu, SWT.CHECK );
+ groupByProperty = new MenuItem( rightMenu, SWT.CHECK );
groupByProperty.setText( "Group By Property" );
groupByProperty.addSelectionListener( new SelectionAdapter()
{
@@ -210,7 +287,7 @@
}
} );
// Adding the 'Group By Type' MenuItem
- groupByType = new MenuItem( menu, SWT.CHECK );
+ groupByType = new MenuItem( rightMenu, SWT.CHECK );
groupByType.setText( "Group By Type" );
groupByType.addSelectionListener( new SelectionAdapter()
{
@@ -226,6 +303,9 @@
tableViewer.getTable().setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
tableViewer.setContentProvider( new DifferencesWidgetPropertiesContentProvider() );
tableViewer.setLabelProvider( new DifferencesWidgetPropertiesLabelProvider() );
+
+ initAuthorizedPrefs();
+ initPreferencesListener();
}
@@ -276,5 +356,42 @@
groupByProperty.setSelection( false );
groupByType.setSelection( false );
}
+ }
+
+
+ /**
+ * Initializes the Authorized Prefs IDs.
+ */
+ private void initAuthorizedPrefs()
+ {
+ authorizedPrefs = new ArrayList<String>();
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_LABEL );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_ABBREVIATE );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_ABBREVIATE_MAX_LENGTH );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL_DISPLAY );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL_ABBREVIATE );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL_ABBREVIATE_MAX_LENGTH );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_GROUPING );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SORTING_BY );
+ authorizedPrefs.add( PluginConstants.PREFS_SCHEMA_VIEW_SORTING_ORDER );
+ }
+
+
+ /**
+ * Initializes the listener on the preferences store
+ */
+ private void initPreferencesListener()
+ {
+ store.addPropertyChangeListener( preferenceListener );
+ }
+
+
+ /**
+ * Disposes the SWT resources allocated by this dialog page.
+ */
+ public void dispose()
+ {
+ store.removePropertyChangeListener( preferenceListener );
}
}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java?view=diff&rev=558021&r1=558020&r2=558021
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java Fri Jul 20 08:33:07 2007
@@ -54,6 +54,10 @@
*/
public class CommitChangesDifferencesWizardPage extends WizardPage
{
+ // UI Fields
+ private DifferencesWidget differencesWidget;
+
+
/**
* Creates a new instance of ExportSchemasAsXmlWizardPage.
*/
@@ -76,7 +80,7 @@
GridLayout layout = new GridLayout();
composite.setLayout( layout );
- DifferencesWidget differencesWidget = new DifferencesWidget();
+ differencesWidget = new DifferencesWidget();
differencesWidget.createWidget( composite );
SchemaImpl schema1Old = new SchemaImpl( "Schema1" );
@@ -111,7 +115,7 @@
schema1Old.addAttributeType( at2 );
schema1New.addAttributeType( at2Bis );
schema1New.addAttributeType( at3 );
-
+
ObjectClassImpl oc1 = new ObjectClassImpl( "1.2.10" );
oc1.setNames( new String[]
{ "OC1", "ObjectClass1" } );
@@ -165,5 +169,16 @@
private void initFields()
{
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.DialogPage#dispose()
+ */
+ public void dispose()
+ {
+ differencesWidget.dispose();
+
+ super.dispose();
}
}