Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremie Bresson2014-03-28 13:36:54 +0000
committerJeremie Bresson2014-03-28 20:21:39 +0000
commit70ee0068be6ce9ce3a0ff28ce3ea5ec717433c6d (patch)
treec4d8264f1e47831c8b0fd10203b06cc0412885af
parent76d2133f10febb75a294770e6134a543e218e5ec (diff)
downloadorg.eclipse.scout.rt-70ee0068be6ce9ce3a0ff28ce3ea5ec717433c6d.tar.gz
org.eclipse.scout.rt-70ee0068be6ce9ce3a0ff28ce3ea5ec717433c6d.tar.xz
org.eclipse.scout.rt-70ee0068be6ce9ce3a0ff28ce3ea5ec717433c6d.zip
Bug 422646: Possibility to add Toolbuttons in Form
- Filter abstract classes (can be used as template) - Typo fixes https://bugs.eclipse.org/bugs/show_bug.cgi?id=422646 Change-Id: Ief5e1b6200cf442d02ddcd5482fb3859137ee9b3 Reviewed-on: https://git.eclipse.org/r/23982 Reviewed-by: Matthias Nick <Matthias.Nick@bsiag.com> IP-Clean: Matthias Nick <Matthias.Nick@bsiag.com> Tested-by: Matthias Nick <Matthias.Nick@bsiag.com> Tested-by: Hudson CI Reviewed-by: Jeremie Bresson <jbr@bsiag.com>
-rw-r--r--org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolButtonsFormTest.java (renamed from org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolbuttonsFormTest.java)66
-rw-r--r--org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/AbstractForm.java24
-rw-r--r--org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/IForm.java26
-rw-r--r--org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/window/AbstractRwtScoutPart.java2
-rw-r--r--org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/editor/AbstractScoutEditorPart.java2
-rw-r--r--org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/view/AbstractScoutView.java2
-rw-r--r--org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/dialog/SwtScoutDialog.java2
7 files changed, 71 insertions, 53 deletions
diff --git a/org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolbuttonsFormTest.java b/org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolButtonsFormTest.java
index f132e73dfe..fc6971304b 100644
--- a/org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolbuttonsFormTest.java
+++ b/org.eclipse.scout.rt.client.test/src/org/eclipse/scout/rt/client/ui/form/FormWithToolButtonsFormTest.java
@@ -15,13 +15,11 @@ import static org.junit.Assert.assertEquals;
import org.eclipse.scout.commons.annotations.Order;
import org.eclipse.scout.commons.exception.ProcessingException;
import org.eclipse.scout.rt.client.ui.action.tool.AbstractToolButton;
-import org.eclipse.scout.rt.client.ui.form.FormWithToolbuttonsFormTest.FormWithToolbuttonsForm.MainBox.CloseButton;
-import org.eclipse.scout.rt.client.ui.form.FormWithToolbuttonsFormTest.FormWithToolbuttonsForm.MainBox.GroupBox;
-import org.eclipse.scout.rt.client.ui.form.FormWithToolbuttonsFormTest.FormWithToolbuttonsForm.MainBox.GroupBox.DefaultField;
-import org.eclipse.scout.rt.client.ui.form.FormWithToolbuttonsFormTest.FormWithToolbuttonsForm.Toolbutton01;
+import org.eclipse.scout.rt.client.ui.form.FormWithToolButtonsFormTest.FormWithToolButtonsForm.MainBox.CloseButton;
+import org.eclipse.scout.rt.client.ui.form.FormWithToolButtonsFormTest.FormWithToolButtonsForm.ToolButton01;
+import org.eclipse.scout.rt.client.ui.form.FormWithToolButtonsFormTest.FormWithToolButtonsForm.ToolButton02;
import org.eclipse.scout.rt.client.ui.form.fields.button.AbstractCloseButton;
import org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox;
-import org.eclipse.scout.rt.client.ui.form.fields.stringfield.AbstractStringField;
import org.eclipse.scout.rt.shared.AbstractIcons;
import org.eclipse.scout.rt.shared.TEXTS;
import org.eclipse.scout.testing.client.runner.ScoutClientTestRunner;
@@ -29,18 +27,19 @@ import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(ScoutClientTestRunner.class)
-public class FormWithToolbuttonsFormTest {
+public class FormWithToolButtonsFormTest {
@Test
public void testForm() throws ProcessingException {
- FormWithToolbuttonsForm form = new FormWithToolbuttonsForm();
- assertEquals(1, form.getToolbuttons().size());
- assertEquals(Toolbutton01.class.getSimpleName(), form.getToolbuttons().get(0).getClass().getSimpleName());
+ FormWithToolButtonsForm form = new FormWithToolButtonsForm();
+ assertEquals(2, form.getToolButtons().size());
+ assertEquals(ToolButton01.class.getSimpleName(), form.getToolButtons().get(0).getClass().getSimpleName());
+ assertEquals(ToolButton02.class.getSimpleName(), form.getToolButtons().get(1).getClass().getSimpleName());
}
- public class FormWithToolbuttonsForm extends AbstractForm {
+ public class FormWithToolButtonsForm extends AbstractForm {
- public FormWithToolbuttonsForm() throws ProcessingException {
+ public FormWithToolButtonsForm() throws ProcessingException {
super();
}
@@ -54,22 +53,14 @@ public class FormWithToolbuttonsFormTest {
return TEXTS.get("StringField");
}
- public void startPageForm() throws ProcessingException {
- startInternal(new PageFormHandler());
+ public void startView() throws ProcessingException {
+ startInternal(new ViewHandler());
}
public CloseButton getCloseButton() {
return getFieldByClass(CloseButton.class);
}
- public DefaultField getDefaultField() {
- return getFieldByClass(DefaultField.class);
- }
-
- public GroupBox getGroupBox() {
- return getFieldByClass(GroupBox.class);
- }
-
public MainBox getMainBox() {
return getFieldByClass(MainBox.class);
}
@@ -77,31 +68,16 @@ public class FormWithToolbuttonsFormTest {
@Order(10.0)
public class MainBox extends AbstractGroupBox {
- @Order(10.0)
- public class GroupBox extends AbstractGroupBox {
-
- @Order(10.0)
- public class DefaultField extends AbstractStringField {
-
- @Override
- protected int getConfiguredGridW() {
- return 2;
- }
-
- @Override
- protected String getConfiguredLabel() {
- return TEXTS.get("Default");
- }
- }
- }
-
@Order(30.0)
public class CloseButton extends AbstractCloseButton {
}
}
+ public abstract class AbstractButtonTemplate extends AbstractToolButton {
+ }
+
@Order(200)
- public class Toolbutton01 extends AbstractToolButton {
+ public class ToolButton01 extends AbstractToolButton {
@Override
protected String getConfiguredText() {
return "Toolbutton";
@@ -113,12 +89,16 @@ public class FormWithToolbuttonsFormTest {
}
}
- public class PageFormHandler extends AbstractFormHandler {
+ @Order(210)
+ public class ToolButton02 extends AbstractButtonTemplate {
@Override
- protected void execLoad() throws ProcessingException {
- getDefaultField().setValue(TEXTS.get("Lorem"));
+ protected String getConfiguredIconId() {
+ return AbstractIcons.Gears;
}
}
+
+ public class ViewHandler extends AbstractFormHandler {
+ }
}
}
diff --git a/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/AbstractForm.java b/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/AbstractForm.java
index 5897ddfa25..e1e05f9496 100644
--- a/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/AbstractForm.java
+++ b/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/AbstractForm.java
@@ -21,7 +21,6 @@ import java.io.Serializable;
import java.nio.charset.Charset;
import java.security.Permission;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.EventListener;
import java.util.HashMap;
@@ -465,8 +464,9 @@ public abstract class AbstractForm extends AbstractPropertyObserver implements I
}
protected List<Class<? extends IToolButton>> getConfiguredToolButtons() {
- Class[] dca = ConfigurationUtility.getDeclaredPublicClasses(getClass());
- return ConfigurationUtility.sortFilteredClassesByOrderAnnotation(Arrays.asList(dca), IToolButton.class);
+ Class<?>[] dca = ConfigurationUtility.getDeclaredPublicClasses(getClass());
+ List<Class<IToolButton>> filtered = ConfigurationUtility.filterClasses(dca, IToolButton.class);
+ return ConfigurationUtility.sortFilteredClassesByOrderAnnotation(filtered, IToolButton.class);
}
protected void initConfig() throws ProcessingException {
@@ -636,10 +636,16 @@ public abstract class AbstractForm extends AbstractPropertyObserver implements I
}
@Override
- public List<IToolButton> getToolbuttons() {
+ public List<IToolButton> getToolButtons() {
return CollectionUtility.unmodifiableListCopy(m_toolbuttons);
}
+ @Override
+ @SuppressWarnings("deprecation")
+ public List<IToolButton> getToolbuttons() {
+ return getToolButtons();
+ }
+
/**
* @param configuredToolbuttonLocation
*/
@@ -653,7 +659,7 @@ public abstract class AbstractForm extends AbstractPropertyObserver implements I
}
@Override
- public IToolButton getToolbuttonByClass(Class<? extends IToolButton> clazz) {
+ public IToolButton getToolButtonByClass(Class<? extends IToolButton> clazz) {
for (IToolButton b : m_toolbuttons) {
if (b.getClass() == clazz) {
return b;
@@ -662,6 +668,12 @@ public abstract class AbstractForm extends AbstractPropertyObserver implements I
return null;
}
+ @Override
+ @SuppressWarnings("deprecation")
+ public IToolButton getToolbuttonByClass(Class<? extends IToolButton> clazz) {
+ return getToolButtonByClass(clazz);
+ }
+
/**
* Register a {@link DataChangeListener} on the desktop for these dataTypes<br>
* Example:
@@ -1252,7 +1264,7 @@ public abstract class AbstractForm extends AbstractPropertyObserver implements I
initFormInternal();
// fields
FormUtility.initFormFields(this);
- ActionUtility.initActions(getToolbuttons());
+ ActionUtility.initActions(getToolButtons());
// custom
execInitForm();
}
diff --git a/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/IForm.java b/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/IForm.java
index 851e71dbeb..1c6557705c 100644
--- a/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/IForm.java
+++ b/org.eclipse.scout.rt.client/src/org/eclipse/scout/rt/client/ui/form/IForm.java
@@ -531,8 +531,34 @@ public interface IForm extends IPropertyObserver, ITypeWithSettableClassId {
*/
void setFormStored(boolean b);
+ /**
+ * Returns a read only list of all tool buttons
+ *
+ * @return list of all tool buttons
+ * @since Scout 4.0.0-M7
+ */
+ List<IToolButton> getToolButtons();
+
+ /**
+ * @deprecated use {@link #getToolButtons()} instead. will be removed with Scout 4.0.0-RC1
+ */
+ @Deprecated
List<IToolButton> getToolbuttons();
+ /**
+ * Returns the tool button identified with the {@link IToolButton} class
+ *
+ * @param clazz
+ * the class of the tool button
+ * @return toolbutton
+ * @since Scout 4.0.0-M7
+ */
+ IToolButton getToolButtonByClass(Class<? extends IToolButton> clazz);
+
+ /**
+ * @deprecated use {@link #getToolButtonByClass()} instead. will be removed with Scout 4.0.0-RC1
+ */
+ @Deprecated
IToolButton getToolbuttonByClass(Class<? extends IToolButton> clazz);
Object getProperty(String name);
diff --git a/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/window/AbstractRwtScoutPart.java b/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/window/AbstractRwtScoutPart.java
index 8c5bc10cd3..3ba31bc3e7 100644
--- a/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/window/AbstractRwtScoutPart.java
+++ b/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/window/AbstractRwtScoutPart.java
@@ -143,7 +143,7 @@ public abstract class AbstractRwtScoutPart implements IRwtScoutPart {
if (uiForm == null) {
return;
}
- List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getScoutObject().getToolbuttons());
+ List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getScoutObject().getToolButtons());
if (!toolbuttons.isEmpty()) {
IToolBarManager toolBarManager = uiForm.getToolBarManager();
for (IToolButton b : toolbuttons) {
diff --git a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/editor/AbstractScoutEditorPart.java b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/editor/AbstractScoutEditorPart.java
index 35c66a1742..defc933ad7 100644
--- a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/editor/AbstractScoutEditorPart.java
+++ b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/editor/AbstractScoutEditorPart.java
@@ -132,7 +132,7 @@ public abstract class AbstractScoutEditorPart extends EditorPart implements ISwt
*
*/
protected void updateToolbarActionsFromScout() {
- List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolbuttons());
+ List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolButtons());
if (!toolbuttons.isEmpty()) {
IToolBarManager toolBarManager = getRootForm().getToolBarManager();
if (getForm().getToolbarLocation() == IForm.TOOLBAR_VIEW_PART) {
diff --git a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/view/AbstractScoutView.java b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/view/AbstractScoutView.java
index 5cbca6e846..4b1febb7d9 100644
--- a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/view/AbstractScoutView.java
+++ b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/desktop/view/AbstractScoutView.java
@@ -198,7 +198,7 @@ public abstract class AbstractScoutView extends ViewPart implements ISwtScoutPar
*
*/
protected void updateToolbarActionsFromScout() {
- List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolbuttons());
+ List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolButtons());
if (!toolbuttons.isEmpty()) {
IToolBarManager toolBarManager = getRootForm().getToolBarManager();
if (getForm().getToolbarLocation() == IForm.TOOLBAR_VIEW_PART) {
diff --git a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/dialog/SwtScoutDialog.java b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/dialog/SwtScoutDialog.java
index ebb3c4c969..c6c065d7db 100644
--- a/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/dialog/SwtScoutDialog.java
+++ b/org.eclipse.scout.rt.ui.swt/src/org/eclipse/scout/rt/ui/swt/window/dialog/SwtScoutDialog.java
@@ -167,7 +167,7 @@ public class SwtScoutDialog extends Dialog implements ISwtScoutPart {
*
*/
protected void updateToolbarActionsFromScout() {
- List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolbuttons());
+ List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolButtons());
if (!toolbuttons.isEmpty()) {
IToolBarManager toolBarManager = getRootForm().getToolBarManager();
for (IToolButton b : toolbuttons) {

Back to the top