r1114 - in trunk: . src/main/java/org/ourproject/kune/platf/client/actions/ui src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/workspace/client/skel
Author: vjrj Date: 2009-05-26 18:04:44 +0200 (Tue, 26 May 2009) New Revision: 1114 Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenu.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIElement.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultMenu.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultSubMenu.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/GuiActionCollection.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioItemDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparatorDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparatorDescriptor.java Removed: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java Modified: trunk/ trunk/TODO trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractButton.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItem.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIActionDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ButtonDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultButton.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuCheckItemDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuItemDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButton.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButtonDescriptor.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/TestButton.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Toolbar.java Log: Incomplete - task New Action class (adapted from Swing) to replace ActionDescription Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - www-test screenlog.0 bin client public target Main-compile bin .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat .classpath gwt-out synccss.sh .externalToolBuilders .project .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle + .pmd www-test screenlog.0 bin client public target Main-compile bin .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat .classpath gwt-out synccss.sh .externalToolBuilders .project .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle Modified: trunk/TODO =================================================================== --- trunk/TODO 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/TODO 2009-05-26 16:04:44 UTC (rev 1114) @@ -128,6 +128,11 @@ ** vjrj <v> IconHyperlink.java and IconLabel.java to gwt1.5 * MID-TERM +** TODO <v> use guice 2.0 + http://google-code-updates.blogspot.com/2009/05/guice-deuce.html + http://code.google.com/docreader/#p=google-guice&s=google-guice + http://groups.google.com/group/warp-core + when warp-persist also support it ** TODO <v> encourage use of free formats ** TODO <v> study opensocial, openstack and related http://developer.yahoo.net/blog/archives/2008/12/the_open_stack.html Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractButton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractButton.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractButton.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -13,8 +13,13 @@ private transient final Button button; public AbstractButton(final ButtonDescriptor buttonDescriptor) { + this(buttonDescriptor, false); + } + + public AbstractButton(final ButtonDescriptor buttonDescriptor, final boolean enableTongle) { super(); button = new Button(); + button.setEnableToggle(enableTongle); initWidget(button); button.addListener(new ButtonListenerAdapter() { @Override @@ -36,10 +41,6 @@ } } - public void setEnableToggle(final boolean enableToggle) { - button.setEnableToggle(enableToggle); - } - @Override public void setIcon(final ImageResource imageResource) { if (imageResource != null) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,5 +1,6 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.Action; import org.ourproject.kune.platf.client.actions.PropertyChangeEvent; import org.ourproject.kune.platf.client.actions.PropertyChangeListener; @@ -7,7 +8,7 @@ import com.google.gwt.libideas.resources.client.ImageResource; import com.google.gwt.user.client.ui.Composite; -public abstract class AbstractGuiItem extends Composite { +public abstract class AbstractGuiItem extends Composite implements View { protected transient Action action; Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenu.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenu.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenu.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,28 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import com.gwtext.client.widgets.menu.BaseItem; +import com.gwtext.client.widgets.menu.Menu; + +public abstract class AbstractMenu extends AbstractGuiItem { + + protected final transient Menu menu; + + public AbstractMenu() { + super(); + menu = new Menu(); + menu.setShadow(true); + } + + public void add(final BaseItem item) { + menu.addItem(item); + } + + public void addSeparator() { + menu.addSeparator(); + } + + public void insert(final int position, final BaseItem item) { + menu.insert(position, item); + } + +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItem.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItem.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItem.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -4,31 +4,48 @@ import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; import com.google.gwt.libideas.resources.client.ImageResource; +import com.google.gwt.user.client.ui.Widget; import com.gwtext.client.core.EventObject; import com.gwtext.client.widgets.menu.BaseItem; -import com.gwtext.client.widgets.menu.MenuItem; +import com.gwtext.client.widgets.menu.CheckItem; +import com.gwtext.client.widgets.menu.Item; import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter; public abstract class AbstractMenuItem extends AbstractGuiItem { - private transient final MenuItem item; + private transient Item item; public AbstractMenuItem(final MenuItemDescriptor descriptor) { super(); - item = new MenuItem(); - initWidget(item); - item.addListener(new BaseItemListenerAdapter() { + if (descriptor instanceof MenuRadioItemDescriptor) { + final CheckItem checkItem = createCheckItem(descriptor); + checkItem.setGroup(((MenuRadioItemDescriptor) descriptor).getGroup()); + item = checkItem; + } else if (descriptor instanceof MenuCheckItemDescriptor) { + final CheckItem checkItem = createCheckItem(descriptor); + item = checkItem; + } else { + item = new Item(); + } + // initWidget(item); + final BaseItemListenerAdapter clickListener = new BaseItemListenerAdapter() { @Override public void onClick(final BaseItem item, final EventObject event) { if (action != null) { action.actionPerformed(new ActionEvent(item, event.getBrowserEvent())); } } - }); + }; + item.addListener(clickListener); setAction(descriptor.action); } @Override + protected Widget getWidget() { + return item; + } + + @Override protected void setEnabled(final boolean enabled) { if (enabled) { item.enable(); @@ -47,11 +64,21 @@ @Override protected void setText(final String text) { - item.setText(text); + if (text != null) { + item.setText(text); + } } @Override protected void setToolTipText(final String text) { - item.setTitle(text); + if (text != null) { + item.setTitle(text); + } } + + private CheckItem createCheckItem(final MenuItemDescriptor descriptor) { + final CheckItem checkItem = new CheckItem(); + checkItem.setChecked(((MenuCheckItemDescriptor) descriptor).isChecked()); + return checkItem; + } } Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,16 +0,0 @@ -package org.ourproject.kune.platf.client.actions.ui; - -import org.ourproject.kune.platf.client.actions.AbstractAction; -import org.ourproject.kune.platf.client.actions.ActionEvent; - -public class AbstractSeparator extends AbstractUIActionDescriptor { - - public AbstractSeparator() { - super(new AbstractAction() { - public void actionPerformed(final ActionEvent event) { - // No action - } - }); - } - -} Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java (from rev 1113, trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,16 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.actions.AbstractAction; +import org.ourproject.kune.platf.client.actions.ActionEvent; + +public abstract class AbstractSeparatorDescriptor extends AbstractUIActionDescriptor { + + public AbstractSeparatorDescriptor() { + super(new AbstractAction() { + public void actionPerformed(final ActionEvent event) { + // No action + } + }); + } + +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIActionDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIActionDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIActionDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,13 +1,20 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.AbstractAction; -// TODO: Auto-generated Javadoc /** * The Class AbstractUIActionDescriptor. */ -public abstract class AbstractUIActionDescriptor { +public class AbstractUIActionDescriptor { + protected static final int NO_POSITION = -1; + protected static final View NO_VIEW = null; + protected static final AbstractUIActionDescriptor NO_PARENT = new AbstractUIActionDescriptor(null); + + protected transient View view; + protected AbstractUIActionDescriptor parent; + /** The action. */ protected transient AbstractAction action; @@ -35,6 +42,8 @@ */ public AbstractUIActionDescriptor(final AbstractAction action) { this.action = action; + position = NO_POSITION; + parent = NO_PARENT; } /** @@ -65,6 +74,10 @@ return location; } + public AbstractUIActionDescriptor getParent() { + return parent; + } + /** * Gets the position. * @@ -74,6 +87,14 @@ return position; } + public View getView() { + return view; + } + + public boolean isChild() { + return !parent.equals(NO_PARENT); + } + /** * Checks if is confirm required previous to do the action. * @@ -125,6 +146,10 @@ this.location = location; } + public void setParent(final AbstractUIActionDescriptor parent) { + this.parent = parent; + } + /** * Sets the position (where the UI element will be positioned, for instance * in a toolbar or in a menu). Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIElement.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIElement.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractUIElement.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,42 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import java.util.List; + +import org.ourproject.kune.platf.client.actions.Action; +import org.ourproject.kune.platf.client.actions.InputMap; +import org.ourproject.kune.platf.client.actions.KeyStroke; + +import com.google.gwt.user.client.ui.Composite; + +public abstract class AbstractUIElement extends Composite { + + private transient GuiActionCollection guiItems; + private transient InputMap inputMap; + + public void add(final AbstractUIActionDescriptor descriptor) { + getGuiItems().add(descriptor); + } + + public void addAction(final KeyStroke key, final Action action) { + getInputMap().put(key, action); + } + + public void addAll(final List<AbstractUIActionDescriptor> moreDescriptor) { + getGuiItems().addAll(moreDescriptor); + } + + public GuiActionCollection getGuiItems() { + if (guiItems == null) { + guiItems = new GuiActionCollection(); + } + return guiItems; + } + + private InputMap getInputMap() { + if (inputMap == null) { + inputMap = new InputMap(); + } + return inputMap; + } + +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,20 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.actions.AbstractAction; +import org.ourproject.kune.platf.client.actions.Action; +import org.ourproject.kune.platf.client.actions.ActionEvent; + +import com.google.gwt.libideas.resources.client.ImageResource; + +public class BaseAction extends AbstractAction { + public BaseAction(final String text, final String tooltip, final ImageResource icon) { + super(); + super.putValue(Action.NAME, text); + super.putValue(Action.SHORT_DESCRIPTION, tooltip); + super.putValue(Action.SMALL_ICON, icon); + } + + public void actionPerformed(final ActionEvent actionEvent) { + // Nothing to do + } +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ButtonDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ButtonDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ButtonDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,5 +1,6 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.AbstractAction; public class ButtonDescriptor extends AbstractUIActionDescriptor { @@ -7,4 +8,13 @@ public ButtonDescriptor(final AbstractAction action) { super(action); } + + @Override + public View getView() { + if (view == null) { + final DefaultButton defaultButton = new DefaultButton(this); + view = defaultButton; + } + return view; + } } Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,39 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import java.util.List; + +import org.ourproject.kune.workspace.client.skel.Toolbar; + +import com.google.gwt.user.client.ui.Widget; + +public class ComplexToolbar extends AbstractUIElement { + + private final transient Toolbar toolbar; + + public ComplexToolbar() { + super(); + toolbar = new Toolbar(); + initWidget(toolbar.getPanel()); + } + + @Override + public void add(final AbstractUIActionDescriptor descrip) { + super.add(descrip); + addWidget(descrip); + } + + @Override + public void addAll(final List<AbstractUIActionDescriptor> moreItems) { + super.addAll(moreItems); + for (AbstractUIActionDescriptor item : moreItems) { + addWidget(item); + } + } + + private void addWidget(final AbstractUIActionDescriptor descrip) { + final Widget view = (Widget) descrip.getView(); + if (!descrip.isChild()) { + toolbar.add(view); + } + } +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultButton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultButton.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultButton.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,10 +1,12 @@ package org.ourproject.kune.platf.client.actions.ui; - public class DefaultButton extends AbstractButton { - public DefaultButton(final ButtonDescriptor btn) { - super(btn); + public DefaultButton(final ButtonDescriptor buttonDescriptor) { + super(buttonDescriptor); } + public DefaultButton(final ButtonDescriptor buttonDescriptor, final boolean enableTongle) { + super(buttonDescriptor, enableTongle); + } } Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultMenu.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultMenu.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultMenu.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,63 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; + +import com.google.gwt.libideas.resources.client.ImageResource; +import com.gwtext.client.widgets.ToolbarButton; + +public class DefaultMenu extends AbstractMenu { + + // @PMD:REVIEWED:AtLeastOneConstructor: by vjrj on 26/05/09 15:56 + public class MenuButton extends ToolbarButton implements View { + } + + private transient final MenuButton button; + + public DefaultMenu(final AbstractUIActionDescriptor descriptor) { + super(); + button = new MenuButton(); + button.setMenu(menu); + setAction(descriptor.action); + initWidget(menu); + } + + public void add(final DefaultSubMenu submenu) { + menu.addItem(submenu.getMenuItem()); + }; + + public MenuButton getButton() { + return button; + } + + public void insert(final int position, final DefaultSubMenu submenu) { + menu.insert(position, submenu.getMenuItem()); + } + + @Override + public void setEnabled(final boolean enabled) { + if (enabled) { + button.enable(); + } else { + button.disable(); + } + } + + @Override + public void setIcon(final ImageResource imageResource) { + if (imageResource != null) { + // FIXME + button.setIconCls(RTEImgResources.SUFFIX + imageResource.getName()); + } + } + + @Override + public void setText(final String text) { + button.setText(text); + } + + @Override + public void setToolTipText(final String tooltip) { + button.setTooltip(tooltip); + } +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultSubMenu.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultSubMenu.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/DefaultSubMenu.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,50 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; + +import com.google.gwt.libideas.resources.client.ImageResource; +import com.gwtext.client.widgets.menu.MenuItem; + +public class DefaultSubMenu extends AbstractMenu { + + private transient final MenuItem item; + + public DefaultSubMenu(final AbstractUIActionDescriptor descriptor) { + super(); + item = new MenuItem(); + item.setMenu(menu); + initWidget(menu); + setAction(descriptor.action); + } + + public MenuItem getMenuItem() { + return item; + } + + @Override + public void setEnabled(final boolean enabled) { + if (enabled) { + item.enable(); + } else { + item.disable(); + } + } + + @Override + public void setIcon(final ImageResource imageResource) { + if (imageResource != null) { + // FIXME + item.setIconCls(RTEImgResources.SUFFIX + imageResource.getName()); + } + } + + @Override + public void setText(final String text) { + item.setText(text); + } + + @Override + public void setToolTipText(final String tooltip) { + item.setTitle(tooltip); + } +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/GuiActionCollection.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/GuiActionCollection.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/GuiActionCollection.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,10 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import java.util.ArrayList; + +// @PMD:REVIEWED:AtLeastOneConstructor: by vjrj on 26/05/09 12:31 +public class GuiActionCollection extends ArrayList<AbstractUIActionDescriptor> { + + private static final long serialVersionUID = 6759723760404227737L; + +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuCheckItemDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuCheckItemDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuCheckItemDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -5,7 +5,7 @@ public class MenuCheckItemDescriptor extends MenuItemDescriptor { private static final String CHECKED = "checked"; - protected transient boolean checked = false; + private transient boolean checked = false; public MenuCheckItemDescriptor(final MenuDescriptor parent, final AbstractAction action) { super(parent, action); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,23 +1,56 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.AbstractAction; +import com.google.gwt.libideas.resources.client.ImageResource; + public class MenuDescriptor extends AbstractUIActionDescriptor { - private static final MenuDescriptor NO_PARENT = null; - private transient final MenuDescriptor parent; + private transient AbstractMenu menu; public MenuDescriptor(final AbstractAction action) { this(NO_PARENT, action); } - public MenuDescriptor(final MenuDescriptor parent, final AbstractAction action) { + public MenuDescriptor(final AbstractUIActionDescriptor parent, final AbstractAction action) { super(action); - this.parent = parent; + setParent(parent); } - public MenuDescriptor getParent() { - return parent; + public MenuDescriptor(final String text, final String tooltip, final ImageResource icon) { + this(new BaseAction(text, tooltip, icon)); } + public AbstractMenu getMenu() { + createIfNeeded(); + return menu; + } + + @Override + public View getView() { + createIfNeeded(); + return view; + } + + private void createIfNeeded() { + if (view == NO_VIEW) { + if (isChild()) { + final DefaultSubMenu submenu = new DefaultSubMenu(this); + final AbstractMenu parentMenu = ((MenuDescriptor) parent).getMenu(); + final int position = getPosition(); + if (position == NO_POSITION) { + parentMenu.add(submenu.getMenuItem()); + } else { + parentMenu.insert(position, submenu.getMenuItem()); + } + view = menu = submenu; + } else { + // Is main parent menu + final DefaultMenu newMenu = new DefaultMenu(this); + menu = newMenu; + view = newMenu.getButton(); + } + } + } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuItemDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuItemDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuItemDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,17 +1,32 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.AbstractAction; +import com.gwtext.client.widgets.menu.Item; + public class MenuItemDescriptor extends AbstractUIActionDescriptor { - private transient final MenuDescriptor parent; - public MenuItemDescriptor(final MenuDescriptor parent, final AbstractAction action) { super(action); - this.parent = parent; + setParent(parent); } - public MenuDescriptor getParent() { - return parent; + @Override + public View getView() { + if (view == NO_VIEW) { + final DefaultMenuItem item = new DefaultMenuItem(this); + final int position = getPosition(); + final Item menuItem = (Item) item.getWidget(); + final AbstractMenu menu = ((MenuDescriptor) parent).getMenu(); + if (position == NO_POSITION) { + menu.add(menuItem); + } else { + menu.insert(position, menuItem); + } + view = item; + } + return view; } + } Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,17 +0,0 @@ -package org.ourproject.kune.platf.client.actions.ui; - -import org.ourproject.kune.platf.client.actions.AbstractAction; - -public class MenuRadioDescriptor extends MenuCheckItemDescriptor { - - private transient final String group; - - public MenuRadioDescriptor(final MenuDescriptor parent, final AbstractAction action, final String group) { - super(parent, action); - this.group = group; - } - - public String getGroup() { - return group; - } -} Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioItemDescriptor.java (from rev 1113, trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuRadioItemDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,17 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.actions.AbstractAction; + +public class MenuRadioItemDescriptor extends MenuCheckItemDescriptor { + + private transient final String group; + + public MenuRadioItemDescriptor(final MenuDescriptor parent, final AbstractAction action, final String group) { + super(parent, action); + this.group = group; + } + + public String getGroup() { + return group; + } +} Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,5 +0,0 @@ -package org.ourproject.kune.platf.client.actions.ui; - -// @PMD:REVIEWED:AtLeastOneConstructor: by vjrj on 24/05/09 15:59 -public class MenuSeparator extends AbstractSeparator { -} \ No newline at end of file Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparatorDescriptor.java (from rev 1113, trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuSeparatorDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,21 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.View; + +public class MenuSeparatorDescriptor extends AbstractSeparatorDescriptor { + + public MenuSeparatorDescriptor(final MenuDescriptor parent) { + super(); + setParent(parent); + } + + @Override + public View getView() { + if (view == NO_VIEW) { + final AbstractMenu menu = ((MenuDescriptor) getParent()).getMenu(); + menu.addSeparator(); + view = menu; + } + return view; + } +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButton.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButton.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -6,8 +6,7 @@ public class PushButton extends DefaultButton { public PushButton(final PushButtonDescriptor btn) { - super(btn); - setEnableToggle(true); + super(btn, true); setPressed(btn.isPushed()); action.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(final PropertyChangeEvent event) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButtonDescriptor.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButtonDescriptor.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/PushButtonDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,5 +1,6 @@ package org.ourproject.kune.platf.client.actions.ui; +import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.AbstractAction; public class PushButtonDescriptor extends ButtonDescriptor { @@ -17,6 +18,15 @@ pushed = button.pushed; } + @Override + public View getView() { + if (view == null) { + final PushButton button = new PushButton(this); + view = button; + } + return view; + } + public boolean isPushed() { return pushed; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/TestButton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/TestButton.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/TestButton.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -27,21 +27,45 @@ public TestButton(final WorkspaceSkeleton wksp) { final NotiAction noti = new NotiAction(); - final PushButtonDescriptor descriptor = new PushButtonDescriptor(noti); + final PushButtonDescriptor btn = new PushButtonDescriptor(noti); - final DefaultButton btn = new DefaultButton(descriptor); + final MenuDescriptor menu = new MenuDescriptor("File", "File menu tooltip", null); + final MenuItemDescriptor item = new MenuItemDescriptor(menu, noti); + final MenuItemDescriptor item2 = new MenuItemDescriptor(menu, noti); + final MenuDescriptor submenu = new MenuDescriptor("Options", "submenu tooltip", null); + submenu.setParent(menu); + final MenuItemDescriptor item3 = new MenuItemDescriptor(submenu, noti); + final MenuCheckItemDescriptor item4 = new MenuCheckItemDescriptor(submenu, noti); + item4.setChecked(true); + final MenuRadioItemDescriptor item5 = new MenuRadioItemDescriptor(submenu, noti, "new"); + final MenuRadioItemDescriptor item6 = new MenuRadioItemDescriptor(submenu, noti, "new"); + item5.setChecked(true); + final ComplexToolbar toolbar = new ComplexToolbar(); - wksp.getEntityWorkspace().getBottomTitle().add(btn); + toolbar.add(btn); + toolbar.add(menu); + toolbar.add(item); + toolbar.add(new MenuSeparatorDescriptor(menu)); + toolbar.add(item2); + toolbar.add(item3); + toolbar.add(item4); + toolbar.add(new MenuSeparatorDescriptor(submenu)); + toolbar.add(item5); + toolbar.add(item6); + // toolbar.add(new ToolbarSeparatorDescriptor(Type.separator)); + + wksp.getEntityWorkspace().getBottomTitle().add(toolbar); + new Timer() { @Override public void run() { noti.putValue(Action.NAME, "test2"); noti.putValue(Action.SHORT_DESCRIPTION, "test2 button"); - descriptor.setPushed(false); + btn.setPushed(false); } }.schedule(10000); - descriptor.setPushed(true); + btn.setPushed(true); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -1,20 +1,7 @@ package org.ourproject.kune.platf.client.actions.ui; -public class ToolbarSeparator extends AbstractSeparator { +public class ToolbarSeparator { - public enum Type { - spacer, separator, fill + public ToolbarSeparator(final ToolbarSeparatorDescriptor descriptor) { } - - private transient final Type type; - - public ToolbarSeparator(final Type type) { - super(); - this.type = type; - } - - public Type getType() { - return type; - } - } Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparatorDescriptor.java (from rev 1113, trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparator.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ToolbarSeparatorDescriptor.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -0,0 +1,28 @@ +package org.ourproject.kune.platf.client.actions.ui; + +import org.ourproject.kune.platf.client.View; + +public class ToolbarSeparatorDescriptor extends AbstractSeparatorDescriptor { + + public enum Type { + spacer, separator, fill + } + + private transient final Type type; + + public ToolbarSeparatorDescriptor(final Type type) { + super(); + // setParent(parent); + this.type = type; + } + + public Type getType() { + return type; + } + + @Override + public View getView() { + return null; + } + +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -529,7 +529,7 @@ } }); - //$(TestButton.class); + // $(TestButton.class); $(ApplicationComponentGroup.class).createAll(); $(ToolGroup.class).createAll(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Toolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Toolbar.java 2009-05-24 18:56:49 UTC (rev 1113) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Toolbar.java 2009-05-26 16:04:44 UTC (rev 1114) @@ -27,15 +27,16 @@ import com.gwtext.client.widgets.Panel; public class Toolbar { - private final Panel container; - private final HorizontalPanel childPanel; + private static final String _100PC = "100%"; + private transient final Panel container; + private transient final HorizontalPanel childPanel; public Toolbar() { container = new Panel(); container.setBorder(false); container.setBodyBorder(false); container.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT); - container.setWidth("100%"); + container.setWidth(_100PC); container.setHeader(false); container.setBaseCls("x-toolbar"); container.addClass("x-panel"); @@ -46,8 +47,8 @@ public void add(final Widget widget) { childPanel.add(widget); if (widget instanceof SimpleToolbar) { - widget.setWidth("100%"); - childPanel.setCellWidth(widget, "100%"); + widget.setWidth(_100PC); + childPanel.setCellWidth(widget, _100PC); } doLayoutIfNeeded(); } @@ -55,7 +56,7 @@ public Widget addFill() { final Label emptyLabel = new Label(""); this.add(emptyLabel); - childPanel.setCellWidth(emptyLabel, "100%"); + childPanel.setCellWidth(emptyLabel, _100PC); return emptyLabel; }
participants (1)
-
vjrj