[jboss-cvs] jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console ...

Max Rydahl Andersen mandersen at jboss.com
Fri Oct 27 09:35:25 EDT 2006


  User: mandersen
  Date: 06/10/27 09:35:25

  Modified:    hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console    
                        QueryEditor.java AbstractQueryEditor.java
  Added:       hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console    
                        ComboContribution.java ConfigurationCombo.java
  Log:
  HBX-792 exposing setMaxResult in UI
  
  Revision  Changes    Path
  1.4       +3 -0      jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/QueryEditor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: QueryEditor.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/QueryEditor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- QueryEditor.java	21 Sep 2006 22:58:36 -0000	1.3
  +++ QueryEditor.java	27 Oct 2006 13:35:25 -0000	1.4
  @@ -26,6 +26,7 @@
   
   public interface QueryEditor {
   
  +	String getConsoleConfigurationName();
   	ConsoleConfiguration getConsoleConfiguration();
   
   	boolean askUserForConfiguration(String name);
  @@ -38,4 +39,6 @@
   
   	void setConsoleConfigurationName(String text);
   
  +	
  +
   }
  
  
  
  1.2       +77 -98    jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/AbstractQueryEditor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractQueryEditor.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/AbstractQueryEditor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- AbstractQueryEditor.java	21 Sep 2006 22:58:36 -0000	1.1
  +++ AbstractQueryEditor.java	27 Oct 2006 13:35:25 -0000	1.2
  @@ -1,32 +1,32 @@
   package org.hibernate.eclipse.console;
   
  +
   import org.eclipse.core.runtime.CoreException;
   import org.eclipse.core.runtime.IProgressMonitor;
   import org.eclipse.jface.action.ActionContributionItem;
   import org.eclipse.jface.action.ControlContribution;
  +import org.eclipse.jface.action.Separator;
   import org.eclipse.jface.action.ToolBarManager;
   import org.eclipse.jface.dialogs.MessageDialog;
   import org.eclipse.jface.text.IDocument;
   import org.eclipse.swt.SWT;
  +import org.eclipse.swt.events.ModifyEvent;
  +import org.eclipse.swt.events.ModifyListener;
   import org.eclipse.swt.events.SelectionAdapter;
   import org.eclipse.swt.events.SelectionEvent;
  +import org.eclipse.swt.events.SelectionListener;
   import org.eclipse.swt.layout.GridData;
  -import org.eclipse.swt.layout.RowData;
  -import org.eclipse.swt.layout.RowLayout;
   import org.eclipse.swt.widgets.Combo;
   import org.eclipse.swt.widgets.Composite;
   import org.eclipse.swt.widgets.Control;
  -import org.eclipse.swt.widgets.Display;
   import org.eclipse.swt.widgets.ToolBar;
   import org.eclipse.ui.IEditorInput;
   import org.eclipse.ui.IShowEditorInput;
   import org.eclipse.ui.IWorkbenchPart;
   import org.eclipse.ui.editors.text.TextEditor;
   import org.eclipse.ui.texteditor.IDocumentProvider;
  -import org.hibernate.SessionFactory;
   import org.hibernate.console.ConsoleConfiguration;
   import org.hibernate.console.KnownConfigurations;
  -import org.hibernate.console.KnownConfigurationsListener;
   import org.hibernate.console.QueryInputModel;
   import org.hibernate.eclipse.console.actions.ExecuteQueryAction;
   
  @@ -89,122 +89,101 @@
   		return doc.get();
   	}
   
  -	protected final class ConfigurationCombo extends ControlContribution {
  -		private KnownConfigurationsListener listener;
  +	/**
  +	 * Dispose of resources held by this editor.
  +	 * 
  +	 * @see IWorkbenchPart#dispose()
  +	 */
  +	final public void dispose() {
  +		super.dispose();
  +		if ( tbm != null )
  +			tbm.dispose();
  +	}
   
  -		private SelectionAdapter selectionAdapter;
  +	final protected void createToolbar(Composite parent) {
  +		ToolBar bar = new ToolBar( parent, SWT.HORIZONTAL );
  +		bar.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
   
  -		private Combo consoleSelection;
  +		tbm = new ToolBarManager( bar );
  +		ActionContributionItem item = new ActionContributionItem(
  +				new ExecuteQueryAction( this ) );
   
  -		private QueryEditor editor;
  +		tbm.add( item );
   
  -		protected ConfigurationCombo(String id, QueryEditor qe) {
  -			super( id );
  -			this.editor = qe;
  -		}
  +		ControlContribution cc = new ConfigurationCombo( "hql-target", this );
  +		tbm.add( cc );
   
  -		protected Control createControl(Composite parent) {
  -			Composite panel = new Composite( parent, SWT.NONE );
  -			panel.setLayout( new RowLayout() );
  -			consoleSelection = new Combo( panel, SWT.DROP_DOWN | SWT.READ_ONLY );
  -			consoleSelection.setLayoutData( new RowData(100, SWT.DEFAULT) );
  +		tbm.add( new Separator() );
   			
  -			populateCombo( consoleSelection );
  +		cc = new ComboContribution("maxResults") {
   
  -			selectionAdapter = new SelectionAdapter() {
  +			SelectionAdapter selectionAdapter =	new SelectionAdapter() {
   
   				public void widgetSelected(SelectionEvent e) {
  -					editor.setConsoleConfigurationName( consoleSelection
  -							.getText() );
  -				}
  -
  -			};
  +					Integer maxResults = null;
   
  -			consoleSelection.addSelectionListener( selectionAdapter );
  -
  -			listener = new KnownConfigurationsListener() {
  -
  -				public void sessionFactoryClosing(
  -						ConsoleConfiguration configuration,
  -						SessionFactory closingFactory) {
  +					try {
  +						maxResults = new Integer(getText());
   				}
  -
  -				public void sessionFactoryBuilt(ConsoleConfiguration ccfg,
  -						SessionFactory builtFactory) {
  +					catch (NumberFormatException e1) {
  +						maxResults = null;
   				}
  -
  -				public void configurationRemoved(ConsoleConfiguration root) {
  -					populateCombo( consoleSelection );
  +					queryInputModel.setMaxResults( maxResults );
   				}
   
  -				public void configurationAdded(ConsoleConfiguration root) {
  -					populateCombo( consoleSelection );
  -				}
   			};
  -			KnownConfigurations.getInstance().addConsoleConfigurationListener(
  -					listener );
   
  -			return panel;
  -		}
  +			protected Control createControl(Composite parent) {
   
  -		private void populateCombo(final Combo config) {
  -			ConsoleConfiguration[] configurations = KnownConfigurations
  -					.getInstance().getConfigurations();
  -			final String[] names = new String[configurations.length];
  -			for (int i = 0; i < configurations.length; i++) {
  -				names[i] = configurations[i].getName();
  -			}
   
  -			final String name = getConsoleConfigurationName()==null?"":getConsoleConfigurationName();
  +				Control control = super.createControl( parent );
   			
  -			config.getDisplay().syncExec( new Runnable() {
  +				comboControl.addModifyListener( new ModifyListener() {
   			
  -				public void run() {
  -					config.setItems( names );			
  -					config.setText( name );
  -				}
  +					public void modifyText(ModifyEvent e) {
  +						Integer maxResults = null;
   			
  +						try {
  +							maxResults = new Integer(getText());
  +						}
  +						catch (NumberFormatException e1) {
  +							maxResults = null;
  +						}
  +						queryInputModel.setMaxResults( maxResults );				
  +					}				
   			} );
  -			
  +				return control;
   		}
  -
  -		public void dispose() {
  -			if ( listener != null ) {
  -				KnownConfigurations.getInstance().removeConfigurationListener(
  -						listener );
  -			}
  -			if ( selectionAdapter != null ) {
  -				if ( !consoleSelection.isDisposed() ) {
  -					consoleSelection.removeSelectionListener( selectionAdapter );
  +			protected int getComboWidth() {
  +				return 30;
   				}
  +			protected String getLabelText() {
  +				return "Max results:";
   			}
  +			
  +			protected boolean isReadOnly() {
  +				return false;
   		}
   
  +			protected SelectionListener getSelectionAdapter() {
  +				return selectionAdapter;				
   	}
   
  -	/**
  -	 * Dispose of resources held by this editor.
  -	 * 
  -	 * @see IWorkbenchPart#dispose()
  -	 */
  -	final public void dispose() {
  -		super.dispose();
  -		if ( tbm != null )
  -			tbm.dispose();
  +			void populateComboBox() {
  +				comboControl.getDisplay().syncExec( new Runnable() {
  +					
  +					public void run() {
  +						String[] items = new String[] { "", "10", "20", "30", "50"};
  +						comboControl.setItems( items );
   	}
   
  -	final protected void createToolbar(Composite parent) {
  -		ToolBar bar = new ToolBar( parent, SWT.HORIZONTAL );
  -		bar.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
  +				} );
   
  -		tbm = new ToolBarManager( bar );
  -		ActionContributionItem item = new ActionContributionItem(
  -				new ExecuteQueryAction( this ) );
   
  -		tbm.add( item );
  +			}
   
  -		ControlContribution cc = new ConfigurationCombo( "hql-target", this );
  -		tbm.add( cc );
  +		};
  +		tbm.add(cc);
   
   		tbm.update( true );
   
  
  
  
  1.1      date: 2006/10/27 13:35:25;  author: mandersen;  state: Exp;jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/ComboContribution.java
  
  Index: ComboContribution.java
  ===================================================================
  package org.hibernate.eclipse.console;
  
  import org.eclipse.jface.action.ControlContribution;
  import org.eclipse.swt.SWT;
  import org.eclipse.swt.events.SelectionListener;
  import org.eclipse.swt.layout.GridData;
  import org.eclipse.swt.layout.GridLayout;
  import org.eclipse.swt.widgets.Combo;
  import org.eclipse.swt.widgets.Composite;
  import org.eclipse.swt.widgets.Control;
  import org.eclipse.swt.widgets.Label;
  
  public abstract class ComboContribution extends ControlContribution {
  
  	protected Combo comboControl;
  
  	protected ComboContribution(String id) {
  		super( id );
  	}
  
  	String getText() {
  		if(comboControl.isDisposed()) {
  			return "";
  		} else {
  			return comboControl.getText();
  		}
  	}
  	
  	protected Control createControl(Composite parent) {
  		Composite panel = new Composite( parent, SWT.NONE );
  		panel.setLayout( new GridLayout(2,false) );
  		
  		if(getLabelText()!=null) {
  			Label label = new Label(panel, SWT.None);
  			label.setText(getLabelText());
  			GridData gd = new GridData();
  			gd.horizontalSpan = 1;
  			gd.verticalAlignment = GridData.BEGINNING;
  			gd.horizontalAlignment = GridData.END;
  		}
  		comboControl = new Combo( panel, SWT.DROP_DOWN | (isReadOnly()?SWT.READ_ONLY:SWT.NONE) );
  		
  		GridData gd = new GridData();
  		gd.grabExcessHorizontalSpace = true;
  		gd.widthHint = getComboWidth();
  		gd.verticalAlignment = GridData.CENTER;
  		gd.horizontalAlignment = GridData.END;
  		comboControl.setLayoutData( gd );
  		
  		populateComboBox();
  
  		if(getSelectionAdapter()!=null) {
  			comboControl.addSelectionListener( getSelectionAdapter() );
  		}
  
  		return panel;
  	}
  
  	protected int getComboWidth() {
  		return 100;
  	}
  
  	protected boolean isReadOnly() {
  		return true;
  	}
  
  	String getLabelText() {
  		return null;
  	}
  	
  	abstract protected SelectionListener getSelectionAdapter();
  	
  	abstract void populateComboBox();
  
  	public void dispose() {
  		if ( getSelectionAdapter() != null ) {
  			if ( !comboControl.isDisposed() ) {
  				comboControl.removeSelectionListener( getSelectionAdapter() );
  			}
  		}
  	}
  }
  
  
  
  1.1      date: 2006/10/27 13:35:25;  author: mandersen;  state: Exp;jbosside/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/ConfigurationCombo.java
  
  Index: ConfigurationCombo.java
  ===================================================================
  /**
   * 
   */
  package org.hibernate.eclipse.console;
  
  import org.eclipse.swt.events.SelectionAdapter;
  import org.eclipse.swt.events.SelectionEvent;
  import org.eclipse.swt.events.SelectionListener;
  import org.eclipse.swt.widgets.Composite;
  import org.eclipse.swt.widgets.Control;
  import org.hibernate.SessionFactory;
  import org.hibernate.console.ConsoleConfiguration;
  import org.hibernate.console.KnownConfigurations;
  import org.hibernate.console.KnownConfigurationsListener;
  
  final class ConfigurationCombo extends ComboContribution {
  
  	private KnownConfigurationsListener listener;
  
  	private SelectionAdapter selectionAdapter;
  
  	private QueryEditor editor;
  
  	protected ConfigurationCombo(String id, QueryEditor qe) {
  		super( id );
  		this.editor = qe;
  	}
  
  	protected Control createControl(Composite parent) {
  		
  		selectionAdapter = new SelectionAdapter() {
  
  			public void widgetSelected(SelectionEvent e) {
  				editor.setConsoleConfigurationName( comboControl.getText() );
  			}
  
  		};
  
  		Control control = super.createControl( parent );
  
  		listener = new KnownConfigurationsListener() {
  
  			public void sessionFactoryClosing(
  					ConsoleConfiguration configuration,
  					SessionFactory closingFactory) {
  			}
  
  			public void sessionFactoryBuilt(ConsoleConfiguration ccfg,
  					SessionFactory builtFactory) {
  			}
  
  			public void configurationRemoved(ConsoleConfiguration root) {
  				populateComboBox();
  			}
  
  			public void configurationAdded(ConsoleConfiguration root) {
  				populateComboBox();
  			}
  		};
  		KnownConfigurations.getInstance().addConsoleConfigurationListener(
  				listener );			
  		
  		return control;
  	}
  
  	protected void populateComboBox() {
  		ConsoleConfiguration[] configurations = KnownConfigurations
  				.getInstance().getConfigurations();
  		final String[] names = new String[configurations.length];
  		for (int i = 0; i < configurations.length; i++) {
  			names[i] = configurations[i].getName();
  		}
  
  		final String name = editor.getConsoleConfigurationName()==null?"":editor.getConsoleConfigurationName();
  		
  		comboControl.getDisplay().syncExec( new Runnable() {
  		
  			public void run() {
  				comboControl.setItems( names );			
  				comboControl.setText( name );
  				editor.setConsoleConfigurationName( comboControl.getText() );
  			}
  		
  		} );
  		
  
  		
  	}
  
  	public void dispose() {
  		super.dispose();
  		if ( listener != null ) {
  			KnownConfigurations.getInstance().removeConfigurationListener(
  					listener );
  		}
  	}
  
  	protected SelectionListener getSelectionAdapter() {
  		return selectionAdapter;
  	}
  
  	
  }
  
  



More information about the jboss-cvs-commits mailing list