You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/07/23 18:15:40 UTC
svn commit: r1692419 -
/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java
Author: elecharny
Date: Thu Jul 23 16:15:40 2015
New Revision: 1692419
URL: http://svn.apache.org/r1692419
Log:
o Refactoring of the widget :
- Listeners are now private methods
- Using Strings.isEmpty instead of "".equals()
- Renamed the create() method to createFilterView()
- set "" into Text directly, without texting their content
- Added some Javadoc
- Added some comments
Modified:
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java?rev=1692419&r1=1692418&r2=1692419&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetQuickFilterWidget.java Thu Jul 23 16:15:40 2015
@@ -21,6 +21,7 @@
package org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor;
+import org.apache.directory.api.util.Strings;
import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonActivator;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants;
@@ -39,13 +40,17 @@ import org.eclipse.swt.widgets.Text;
/**
* The EntryEditorWidgetQuickFilterWidget implements an instant search
* for the entry editor widget. It contains separate search fields for
- * attribute type and/or value.
- *
+ * attribute type and/or value, plus a Clear button :
+ * <pre>
+ * +----------------------------------------------------------------+
+ * | [(attribute)] [(Value) ] (X Clear) |
+ * +----------------------------------------------------------------+
+ * </pre>
+ *
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
public class EntryEditorWidgetQuickFilterWidget
{
-
/** The filter to propagate the entered filter phrases. */
private EntryEditorWidgetFilter filter;
@@ -70,6 +75,46 @@ public class EntryEditorWidgetQuickFilte
/** The clear quick filter button. */
private Button clearQuickFilterButton;
+ /**
+ * The Listener that reacts on any text entered into the quick Attribute filter text widget
+ */
+ private ModifyListener quickFilterAttributeTextListener = new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ filter.setQuickFilterAttribute( quickFilterAttributeText.getText() );
+ clearQuickFilterButton.setEnabled( !Strings.isEmpty( quickFilterAttributeText.getText() ) //$NON-NLS-1$
+ || !Strings.isEmpty( quickFilterValueText.getText() ) ); //$NON-NLS-1$
+ }
+ };
+
+
+ /**
+ * The Listener that reacts on any text entered into the quick Value filter text widget
+ */
+ private ModifyListener quickFilterValueTextListener = new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ filter.setQuickFilterValue( quickFilterValueText.getText() );
+ clearQuickFilterButton.setEnabled( !Strings.isEmpty( quickFilterAttributeText.getText() ) //$NON-NLS-1$
+ || !Strings.isEmpty( quickFilterValueText.getText() ) ); //$NON-NLS-1$
+ }
+ };
+
+
+ /**
+ * The listener associated with teh Clear button. It will reset the attribute and value Texts
+ */
+ public SelectionAdapter clearQuickFilterButtonListener = new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ quickFilterAttributeText.setText( "" ); //$NON-NLS-1$
+ quickFilterValueText.setText( "" ); //$NON-NLS-1$
+ }
+ };
+
/**
* Creates a new instance of EntryEditorWidgetQuickFilterWidget.
@@ -86,6 +131,11 @@ public class EntryEditorWidgetQuickFilte
/**
* Creates the outer composite.
+ * <pre>
+ * +----------------------------------------------------------+
+ * | |
+ * +----------------------------------------------------------+
+ * </pre>
*
* @param parent the parent
*/
@@ -110,8 +160,11 @@ public class EntryEditorWidgetQuickFilte
/**
* Creates the inner composite with its input fields.
+ * <pre>
+ * [ ] [ ] (X)
+ * </pre>
*/
- private void create()
+ private void createFilterView()
{
// Reseting the layout of the composite to be displayed correctly
GridData compositeGridData = new GridData( SWT.FILL, SWT.NONE, true, false );
@@ -119,50 +172,25 @@ public class EntryEditorWidgetQuickFilte
innerComposite = BaseWidgetUtils.createColumnContainer( composite, 3, 1 );
+ // The QuickFilterAttribute Text
quickFilterAttributeText = new Text( innerComposite, SWT.BORDER );
quickFilterAttributeText.setLayoutData( new GridData( 200 - 14, SWT.DEFAULT ) );
- quickFilterAttributeText.addModifyListener( new ModifyListener()
- {
- public void modifyText( ModifyEvent e )
- {
- filter.setQuickFilterAttribute( quickFilterAttributeText.getText() );
- clearQuickFilterButton.setEnabled( !"".equals( quickFilterAttributeText.getText() ) //$NON-NLS-1$
- || !"".equals( quickFilterValueText.getText() ) ); //$NON-NLS-1$
- }
- } );
+
+ quickFilterAttributeText.addModifyListener( quickFilterAttributeTextListener );
+ // The QuickFilterValue Text
quickFilterValueText = new Text( innerComposite, SWT.BORDER );
quickFilterValueText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
- quickFilterValueText.addModifyListener( new ModifyListener()
- {
- public void modifyText( ModifyEvent e )
- {
- filter.setQuickFilterValue( quickFilterValueText.getText() );
- clearQuickFilterButton.setEnabled( !"".equals( quickFilterAttributeText.getText() ) //$NON-NLS-1$
- || !"".equals( quickFilterValueText.getText() ) ); //$NON-NLS-1$
- }
- } );
+ quickFilterValueText.addModifyListener( quickFilterValueTextListener );
+ // The QuickFilter Button
clearQuickFilterButton = new Button( innerComposite, SWT.PUSH );
clearQuickFilterButton.setToolTipText( Messages
.getString( "EntryEditorWidgetQuickFilterWidget.ClearQuickFilter" ) ); //$NON-NLS-1$
clearQuickFilterButton.setImage( BrowserCommonActivator.getDefault()
.getImage( BrowserCommonConstants.IMG_CLEAR ) );
clearQuickFilterButton.setEnabled( false );
- clearQuickFilterButton.addSelectionListener( new SelectionAdapter()
- {
- public void widgetSelected( SelectionEvent e )
- {
- if ( !"".equals( quickFilterAttributeText.getText() ) ) //$NON-NLS-1$
- {
- quickFilterAttributeText.setText( "" ); //$NON-NLS-1$
- }
- if ( !"".equals( quickFilterValueText.getText() ) ) //$NON-NLS-1$
- {
- quickFilterValueText.setText( "" ); //$NON-NLS-1$
- }
- }
- } );
+ clearQuickFilterButton.addSelectionListener( clearQuickFilterButtonListener );
setEnabled( composite.isEnabled() );
@@ -181,15 +209,8 @@ public class EntryEditorWidgetQuickFilte
compositeGridData.heightHint = 0;
compositeGridData.widthHint = 0;
composite.setLayoutData( compositeGridData );
-
- if ( !"".equals( quickFilterAttributeText.getText() ) ) //$NON-NLS-1$
- {
- quickFilterAttributeText.setText( "" ); //$NON-NLS-1$
- }
- if ( !"".equals( quickFilterValueText.getText() ) ) //$NON-NLS-1$
- {
- quickFilterValueText.setText( "" ); //$NON-NLS-1$
- }
+ quickFilterAttributeText.setText( "" ); //$NON-NLS-1$
+ quickFilterValueText.setText( "" ); //$NON-NLS-1$
innerComposite.dispose();
innerComposite = null;
@@ -224,11 +245,12 @@ public class EntryEditorWidgetQuickFilte
*/
public void setEnabled( boolean enabled )
{
- if ( composite != null && !composite.isDisposed() )
+ if ( ( composite != null ) && !composite.isDisposed() )
{
composite.setEnabled( enabled );
}
- if ( innerComposite != null && !innerComposite.isDisposed() )
+
+ if ( ( innerComposite != null ) && !innerComposite.isDisposed() )
{
innerComposite.setEnabled( enabled );
quickFilterAttributeText.setEnabled( enabled );
@@ -245,16 +267,15 @@ public class EntryEditorWidgetQuickFilte
*/
public void setActive( boolean visible )
{
- if ( visible && innerComposite == null && composite != null )
+ if ( visible && ( innerComposite == null ) && ( composite != null ) )
{
- create();
+ createFilterView();
quickFilterAttributeText.setFocus();
}
- else if ( !visible && innerComposite != null && composite != null )
+ else if ( !visible && ( innerComposite != null ) && ( composite != null ) )
{
destroy();
entryEditorWidget.getViewer().getTree().setFocus();
}
}
-
}