[jbosstools-commits] JBoss Tools SVN: r6850 - in trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui: widget/editor and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Mar 11 11:49:49 EDT 2008


Author: scabanovich
Date: 2008-03-11 11:49:48 -0400 (Tue, 11 Mar 2008)
New Revision: 6850

Added:
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/LinkFieldEditor.java
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/field/LinkField.java
Modified:
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/IFieldEditorFactory.java
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SwtFieldEditorFactory.java
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamWizardFactory.java
   trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/ShowProjectSettingsAction.java
Log:
JBIDE-1322

Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties	2008-03-11 15:27:28 UTC (rev 6849)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties	2008-03-11 15:49:48 UTC (rev 6850)
@@ -88,7 +88,7 @@
 SEAM_WIZARD_FACTORY_SEAM_PROJECT=Seam Project:
 SEAM_INSTALL_WIZARD_PAGE_DATABASE=Database
 SELECT_SEAM_PROJECT_ACTION_BROWSE=Browse...
-SHOW_PROJECT_SETTINGS_ACTION=Settings...
+SHOW_PROJECT_SETTINGS_ACTION=<a>Settings...</a>
 SEAM_INSTALL_WIZARD_PAGE_CODE_GENERATION=Code Generation
 SEAM_FORM_WIZARD_FORM_CREATING_OPERATION=Form creating operation
 SEAM_WIZARD_FACTORY_LOCAL_INTERFACE_NAME=Local interface name:

Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/IFieldEditorFactory.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/IFieldEditorFactory.java	2008-03-11 15:27:28 UTC (rev 6849)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/IFieldEditorFactory.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -172,6 +172,18 @@
 	 * 
 	 * @param name
 	 * @param label
+	 * @param defaultValue
+	 * @param buttonAction
+	 * @param linkAction
+	 * @param validator
+	 * @return
+	 */
+	public IFieldEditor createButtonAndLinkFieldEditor(String name, String label, String defaultValue, ButtonFieldEditor.ButtonPressedAction buttonAction, ButtonFieldEditor.ButtonPressedAction linkAction, IValidator validator);
+
+	/**
+	 * 
+	 * @param name
+	 * @param label
 	 * @param values
 	 * @param defaultValue
 	 * @param editable

Added: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/LinkFieldEditor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/LinkFieldEditor.java	                        (rev 0)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/LinkFieldEditor.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -0,0 +1,67 @@
+package org.jboss.tools.seam.ui.widget.editor;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.jboss.tools.seam.ui.SeamUIMessages;
+import org.jboss.tools.seam.ui.widget.editor.ButtonFieldEditor.ButtonPressedAction;
+import org.jboss.tools.seam.ui.widget.field.LinkField;
+
+public class LinkFieldEditor extends BaseFieldEditor {
+	LinkField link;
+
+	private ButtonPressedAction buttonAction = new ButtonPressedAction(SeamUIMessages.BUTTON_FIELD_EDITOR_BROWSE) {
+		@Override
+		public void run() {
+			throw new RuntimeException(SeamUIMessages.BUTTON_FIELD_EDITOR_NOT_IMPLEMENTED_YET);
+		}
+	};
+	
+	public LinkFieldEditor(String name, String label) {
+		super(name, label, new Object());
+	}
+	
+	public LinkFieldEditor(String name, ButtonPressedAction action, Object defaultValue) {
+		super(name, action.getText(), defaultValue);
+		buttonAction = action;
+		buttonAction.setFieldEditor(this);
+	}
+	
+	@Override
+	public void doFillIntoGrid(Object parent) {
+	}
+
+	@Override
+	public Object[] getEditorControls() {
+		return new Control[]{link.getControl()};
+	}
+
+	@Override
+	public boolean isEditable() {
+		return false;
+	}
+
+	public void save(Object object) {
+	}
+
+	@Override
+	public void setEditable(boolean ediatble) {
+	}
+
+	@Override
+	public Object[] getEditorControls(Object composite) {
+		if(link == null && composite != null) {
+			link = new LinkField((Composite)composite, buttonAction);
+		}
+		return new Control[]{link.getControl()};
+	}
+
+	public ButtonPressedAction getButtonaction() {
+		return buttonAction;
+	}
+
+	@Override
+	public int getNumberOfControls() {
+		return 1;
+	}
+
+}

Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SwtFieldEditorFactory.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SwtFieldEditorFactory.java	2008-03-11 15:27:28 UTC (rev 6849)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SwtFieldEditorFactory.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -360,6 +360,17 @@
 		return editor;
 	}
 
+	public IFieldEditor createButtonAndLinkFieldEditor(String name, String label, String defaultValue, ButtonFieldEditor.ButtonPressedAction buttonAction, ButtonFieldEditor.ButtonPressedAction linkAction, IValidator validator) {
+		CompositeEditor editor = new CompositeEditor(name,label, defaultValue);
+		List<IFieldEditor> editors = new ArrayList<IFieldEditor>();
+		editors.add(new LabelFieldEditor(name,label));
+		editors.add(new TextFieldEditor(name,label, defaultValue));
+		editors.add(new ButtonFieldEditor(name, buttonAction, defaultValue));
+		editors.add(new LinkFieldEditor(name, linkAction, defaultValue));
+		editor.addFieldEditors(editors.toArray(new IFieldEditor[0]));
+		return editor;
+	}
+
 	/**
 	 * @param buttonName
 	 * @return

Added: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/field/LinkField.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/field/LinkField.java	                        (rev 0)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/field/LinkField.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -0,0 +1,28 @@
+package org.jboss.tools.seam.ui.widget.field;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Link;
+import org.jboss.tools.seam.ui.widget.editor.ButtonFieldEditor.ButtonPressedAction;
+
+public class LinkField extends BaseField {
+
+	Link link;
+	
+	/**
+	 * 
+	 */
+	@Override
+	public Control getControl() {
+		return link;
+	}
+
+
+	public LinkField(Composite composite, ButtonPressedAction listener) {
+		link = new Link(composite,SWT.NONE);
+		link.setText(listener.getText());
+		link.addSelectionListener(listener);
+	}
+
+}

Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamWizardFactory.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamWizardFactory.java	2008-03-11 15:27:28 UTC (rev 6849)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamWizardFactory.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -62,14 +62,19 @@
 					name, label, defaultSelection, 
 					 new SelectSeamProjectAction(allowAllProjects), ValidatorFactory.NO_ERRORS_VALIDATOR);
 		}
+		SelectSeamProjectAction buttonAction = new SelectSeamProjectAction(allowAllProjects);
 		ShowProjectSettingsAction settingsAction = new ShowProjectSettingsAction();
 		ButtonFieldEditor.ButtonPressedAction[] actions = new ButtonFieldEditor.ButtonPressedAction[]{
-			new SelectSeamProjectAction(allowAllProjects),
-			settingsAction
+			buttonAction, settingsAction
 		};
-		IFieldEditor editor = IFieldEditorFactory.INSTANCE.createButtonFieldEditor(
+//		IFieldEditor editor = IFieldEditorFactory.INSTANCE.createButtonFieldEditor(
+//				name, label, defaultSelection, 
+//				actions, ValidatorFactory.NO_ERRORS_VALIDATOR);
+
+		IFieldEditor editor = IFieldEditorFactory.INSTANCE.createButtonAndLinkFieldEditor(
 				name, label, defaultSelection, 
-				actions, ValidatorFactory.NO_ERRORS_VALIDATOR);
+				buttonAction, settingsAction, ValidatorFactory.NO_ERRORS_VALIDATOR);
+
 		settingsAction.setEnabled(false);
 		settingsAction.setEditor(editor);
 		return editor;

Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/ShowProjectSettingsAction.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/ShowProjectSettingsAction.java	2008-03-11 15:27:28 UTC (rev 6849)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/ShowProjectSettingsAction.java	2008-03-11 15:49:48 UTC (rev 6850)
@@ -43,6 +43,11 @@
 			null);
 
         prefsdlg.open();
+        Object value = editor.getValue();
+        
+        //firing to provoke validation
+        editor.setValueAsString("");
+        editor.setValue(value);
 	}
 
 	public void propertyChange(PropertyChangeEvent evt) {




More information about the jbosstools-commits mailing list