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) {