r1056 - in trunk/src/main/java/org/ourproject/kune: app/public/css platf/client/actions/toolbar platf/client/services platf/client/ui/rte platf/client/ui/rte/img workspace/client/site/msg
Author: vjrj Date: 2009-03-03 16:10:55 +0100 (Tue, 03 Mar 2009) New Revision: 1056 Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/linkbreak.png Removed: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/link_break.png trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/MessagePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/SimpleMessagePanel.java Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css trunk/src/main/java/org/ourproject/kune/app/public/css/rte.css trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPanel.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorView.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css Log: Incomplete - task Better RTE (Rich Text Editor) support Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css 2009-03-03 15:10:55 UTC (rev 1056) @@ -13,4 +13,4 @@ Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.4.1 -*/h1{font-size:138.5%;}h2{font-size:123.099998%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px;} \ No newline at end of file +*/h1{font-size:138.5%;}h2{font-size:123.099998%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px;}.k-rte-comment{border:1px dashed silver;font-size:85%;line-height:1.4;padding:1px;background-color:#D7FFD7;} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/rte.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/rte.css 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/rte.css 2009-03-03 15:10:55 UTC (rev 1056) @@ -1,4 +1,12 @@ body { font-family: arial, sans; margin: 5px; +} + +.k-rte-comment span { + border:1px dashed #C0C0C0; + font-size:85%; + line-height:1.4; + padding:1px; + background-color:#D7FFD7; } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -19,10 +19,13 @@ \*/ package org.ourproject.kune.platf.client.actions.toolbar; +import org.ourproject.kune.platf.client.actions.ActionDescriptor; import org.ourproject.kune.platf.client.actions.ActionItemCollection; public interface ActionToolbar<T> { + void addActions(ActionItemCollection<T> actionItemCollection); + void attach(); void clear(); @@ -33,6 +36,8 @@ ActionToolbarView<T> getView(); - void addActions(ActionItemCollection<T> actionItemCollection); + void setButtonEnable(ActionDescriptor<T> action, boolean enable); + void setPushButtonPressed(ActionDescriptor<T> action, boolean pressed); + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -41,6 +41,7 @@ import com.calclab.suco.client.ioc.Provider; import com.google.gwt.user.client.ui.Widget; import com.gwtext.client.core.EventObject; +import com.gwtext.client.core.Ext; import com.gwtext.client.widgets.Button; import com.gwtext.client.widgets.ToolbarButton; import com.gwtext.client.widgets.event.ButtonListenerAdapter; @@ -75,20 +76,18 @@ } public void addButtonAction(final ActionItem<T> actionItem, final boolean enable) { + final ToolbarButton button = new ToolbarButton(); final ActionToolbarButtonDescriptor<T> action = (ActionToolbarButtonDescriptor<T>) actionItem.getAction(); T item = actionItem.getItem(); final ActionToolbarPosition pos = action.getActionPosition(); - final ToolbarButton button = new ToolbarButton(); final String text = action.getText(); - final String id = action.getId(); final String iconUrl = action.getIconUrl(); final String iconCls = action.getIconCls(); if (text != null) { button.setText(text); } - if (id != null) { - button.setId(id); - } + String id = generateIdIfEmpty(action); + button.setId(id); if (action instanceof ActionToolbarPushButtonDescriptor) { button.setEnableToggle(true); ActionPressedCondition<T> mustInitialyPressed = ((ActionToolbarPushButtonDescriptor<T>) action).getMustInitialyPressed(); @@ -119,7 +118,7 @@ if (action.hasRightSeparator()) { add(toolbar, action.getRightSeparator()); } - toolbarButtons.put(genButtonKey(pos, text), button); + toolbarButtons.put(genButtonKey(pos, id), button); } public void addMenuAction(final ActionItem<T> actionItem, final boolean enable) { @@ -130,7 +129,7 @@ final String itemKey = genMenuKey(pos, menuTitle, menuSubTitle, action.getText()); Item item = menuItems.get(itemKey); if (item == null) { - item = createToolbarMenu(pos, menuTitle, menuSubTitle, actionItem, action.getId()); + item = createToolbarMenu(pos, menuTitle, menuSubTitle, actionItem, generateIdIfEmpty(action)); menuItems.put(itemKey, item); } setEnableMenuItem(item, enable); @@ -169,8 +168,7 @@ } public void setButtonEnable(final ActionDescriptor<T> action, final boolean enable) { - final ActionToolbarPosition pos = ((ActionToolbarDescriptor<T>) action).getActionPosition(); - final ToolbarButton button = toolbarButtons.get(genButtonKey(pos, action.getText())); + final ToolbarButton button = findButton(action); if (button != null) { setEnableButton(button, enable); } else { @@ -178,6 +176,16 @@ } } + public void setPushButtonPressed(final ActionDescriptor<T> action, final boolean pressed) { + final ToolbarButton button = findButton(action); + if (button != null && button.isEnableToggle()) { + // Log.debug("Setting button pressed: " + pressed); + button.toggle(pressed); + } else { + Log.error("Tryng to set pressed a non existent toolbar push button"); + } + } + private void add(final ActionToolbarPosition toolbar, final Widget widget) { getToolbar(toolbar).add(widget); } @@ -272,11 +280,26 @@ return menu; } - private String genButtonKey(final ActionToolbarPosition pos, final String actionText) { - final String basePart = "km-act-btn-" + pos.toString().substring(0, 2) + "-" + actionText; + private ToolbarButton findButton(final ActionDescriptor<T> action) { + final ActionToolbarPosition pos = ((ActionToolbarDescriptor<T>) action).getActionPosition(); + final ToolbarButton button = toolbarButtons.get(genButtonKey(pos, action.getId())); + return button; + } + + private String genButtonKey(final ActionToolbarPosition pos, final String id) { + final String basePart = "km-act-btn-" + pos.toString().substring(0, 2) + "-" + id; return basePart; } + private String generateIdIfEmpty(final ActionDescriptor<T> action) { + String id = action.getId(); + if (id == null) { + id = Ext.generateId(); + action.setId(id); + } + return id; + } + private String genMenuKey(final ActionToolbarPosition pos, final String menuTitle, final String menuSubTitle, final String actionText) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -36,6 +36,24 @@ this.view = toolbar; } + public void addActions(final ActionItemCollection<T> actions) { + for (final ActionItem<T> actionItem : actions) { + final ActionDescriptor<T> action = actionItem.getAction(); + if (actionItem.mustBeAdded()) { + if (isToolbarMenu(action)) { + view.addMenuAction(actionItem, actionItem.mustBeEnabled()); + } else { + if (isToolbarButton(action)) { + view.addButtonAction(actionItem, actionItem.mustBeEnabled()); + } else { + Log.error("Code error: Not an ActionMenuDescriptor or ActionButtonDescriptor: " + + action.getText()); + } + } + } + } + } + public void attach() { view.attach(); } @@ -56,24 +74,14 @@ return view; } - public void addActions(final ActionItemCollection<T> actions) { - for (final ActionItem<T> actionItem : actions) { - final ActionDescriptor<T> action = actionItem.getAction(); - if (actionItem.mustBeAdded()) { - if (isToolbarMenu(action)) { - view.addMenuAction(actionItem, actionItem.mustBeEnabled()); - } else { - if (isToolbarButton(action)) { - view.addButtonAction(actionItem, actionItem.mustBeEnabled()); - } else { - Log.error("Code error: Not an ActionMenuDescriptor or ActionButtonDescriptor: " - + action.getText()); - } - } - } - } + public void setButtonEnable(ActionDescriptor<T> action, boolean enable) { + view.setButtonEnable(action, enable); } + public void setPushButtonPressed(ActionDescriptor<T> action, boolean pressed) { + view.setPushButtonPressed(action, pressed); + } + private boolean isToolbarButton(final ActionDescriptor<T> action) { return action instanceof ActionToolbarButtonDescriptor || action instanceof ActionToolbarButtonAndItemDescriptor; Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -39,4 +39,6 @@ void setButtonEnable(ActionDescriptor<T> action, boolean enable); + void setPushButtonPressed(ActionDescriptor<T> action, boolean pressed); + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -64,6 +64,7 @@ import com.calclab.suco.client.ioc.module.AbstractModule; import com.calclab.suco.client.ioc.module.Factory; import com.google.gwt.core.client.GWT; +import com.google.gwt.libideas.client.StyleInjector; import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.History; import com.google.gwt.user.client.rpc.ServiceDefTarget; @@ -231,7 +232,7 @@ RTEActionTopToolbar topBar = $(RTEActionTopToolbar.class); RTEActionSndToolbar sndBar = $(RTEActionSndToolbar.class); final RTEditorPresenter presenter = new RTEditorPresenter($(I18nTranslationService.class), - $(Session.class), topBar, sndBar, RTEImgResources.INSTANCE); + $(Session.class), topBar, sndBar, $(RTEImgResources.class)); final RTEditorPanel panel = new RTEditorPanel(presenter, $(I18nUITranslationService.class), $(ActionManager.class)); presenter.init(panel); @@ -252,6 +253,15 @@ } }); + register(Singleton.class, new Factory<RTEImgResources>(RTEImgResources.class) { + @Override + public RTEImgResources create() { + RTEImgResources instance = GWT.create(RTEImgResources.class); + StyleInjector.injectStylesheet(instance.css().getText()); + return instance; + } + }); + $(ApplicationComponentGroup.class).createAll(); $(ToolGroup.class).createAll(); $(Application.class).start(); @@ -260,6 +270,5 @@ // $(TestRTEDialog.class); // $(TestRTEDialog.class); // $(TestRTEDialog.class); - } } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPanel.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPanel.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -9,16 +9,15 @@ import org.ourproject.kune.platf.client.actions.ActionManager; import org.ourproject.kune.platf.client.actions.ActionShortcut; import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser; import org.ourproject.kune.platf.client.ui.rte.RichTextArea.BasicFormatter; import org.ourproject.kune.platf.client.ui.rte.RichTextArea.ExtendedFormatter; import org.ourproject.kune.platf.client.ui.rte.RichTextArea.FontSize; import org.ourproject.kune.platf.client.ui.rte.RichTextArea.Justification; -import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; +import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.dom.client.Element; -import com.google.gwt.libideas.client.StyleInjector; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.KeyboardListener; import com.google.gwt.user.client.ui.Widget; @@ -30,14 +29,15 @@ private final ExtendedFormatter extended; private final HashMap<ActionShortcut, ActionItem<Object>> shortcuts; private final ActionManager actionManager; + private final RTEditorPresenter presenter; public RTEditorPanel(final RTEditorPresenter presenter, I18nUITranslationService i18n, ActionManager actionManager) { + this.presenter = presenter; this.i18n = i18n; this.actionManager = actionManager; rta = new RichTextArea(); basic = rta.getBasicFormatter(); extended = rta.getExtendedFormatter(); - StyleInjector.injectStylesheet(RTEImgResources.INSTANCE.css().getText()); shortcuts = new HashMap<ActionShortcut, ActionItem<Object>>(); createListeners(); } @@ -56,11 +56,14 @@ String time = i18n.formatDateWithLocale(new Date()); Element span = DOM.createSpan(); span.setInnerText(i18n.t("type here") + " -" + userName + " " + time); - DOM.setElementAttribute((com.google.gwt.user.client.Element) span, "backgroundColor", "rgb(255,255,215"); - // FIXME: addCustomStyle + DOM.setElementProperty(span.<com.google.gwt.user.client.Element> cast(), "className", "k-rte-comment"); insertHtml(span.getString()); } + public boolean canBeBasic() { + return basic != null; + } + public boolean canBeExtended() { return extended != null; } @@ -110,27 +113,28 @@ } public boolean isBold() { - return rta.isAttached() && basic.isBold(); + Log.debug("Is bold: " + basic.isBold()); + return basic.isBold(); } public boolean isItalic() { - return rta.isAttached() && basic.isItalic(); + return basic.isItalic(); } public boolean isStrikethrough() { - return rta.isAttached() && extended.isStrikethrough(); + return extended.isStrikethrough(); } public boolean isSubscript() { - return rta.isAttached() && basic.isSubscript(); + return basic.isSubscript(); } public boolean isSuperscript() { - return rta.isAttached() && basic.isSuperscript(); + return basic.isSuperscript(); } public boolean isUnderlined() { - return rta.isAttached() && basic.isUnderlined(); + return basic.isUnderlined(); } public void justifyCenter() { @@ -236,7 +240,21 @@ } private void createListeners() { + rta.addClickListener(new ClickListener() { + public void onClick(Widget sender) { + if (sender == rta) { + // We use the RichTextArea's onKeyUp event to update the + // toolbar status. + // This will catch any cases where the user moves the cursur + // using the + // keyboard, or uses one of the browser's built-in keyboard + // shortcuts. + updateStatus(); + } + } + }); rta.addKeyboardListener(new KeyboardListener() { + public void onKeyDown(final Widget sender, final char keyCode, final int modifiers) { } @@ -251,12 +269,12 @@ // using the keyboard, or uses one of the browser's built-in // keyboard shortcuts. - // updateStatus(); + updateStatus(); // fireEdit(); if (modifiers != 0) { ActionItem<Object> actionItem = shortcuts.get(new ActionShortcut(keyCode, modifiers)); if (actionItem != null) { - NotifyUser.info("Shortcut"); + Log.debug("RTE shortcut pressed (" + modifiers + ", " + keyCode + ")"); actionManager.doAction(actionItem); } } @@ -264,4 +282,11 @@ } }); } + + /** + * Updates the status of all the stateful buttons. + */ + private void updateStatus() { + presenter.updateStatus(); + } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPresenter.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorPresenter.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -6,7 +6,6 @@ import org.ourproject.kune.platf.client.actions.ActionEnableCondition; import org.ourproject.kune.platf.client.actions.ActionItem; import org.ourproject.kune.platf.client.actions.ActionItemCollection; -import org.ourproject.kune.platf.client.actions.ActionPressedCondition; import org.ourproject.kune.platf.client.actions.ActionShortcut; import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor; import org.ourproject.kune.platf.client.actions.ActionToolbarPosition; @@ -41,6 +40,10 @@ private final RTEImgResources imgResources; private final RTEActionTopToolbar topBar; private final RTEActionSndToolbar sndBar; + private ActionToolbarPushButtonDescriptor<Object> bold; + private ActionToolbarPushButtonDescriptor<Object> italic; + private ActionToolbarPushButtonDescriptor<Object> underline; + private ActionToolbarPushButtonDescriptor<Object> strikethrough; public RTEditorPresenter(I18nTranslationService i18n, Session session, RTEActionTopToolbar topBar, RTEActionSndToolbar sndBar, RTEImgResources imgResources) { @@ -114,10 +117,12 @@ public void init(RTEditorView view) { this.view = view; createDefBasicActions(); - topBar.addActions(basicTopActions); - sndBar.addActions(basicSndActions); - view.addActions(basicTopActions); - view.addActions(basicSndActions); + if (view.canBeBasic()) { + view.addActions(basicTopActions); + view.addActions(basicSndActions); + topBar.addActions(basicTopActions); + sndBar.addActions(basicSndActions); + } if (isExtended()) { createDefExtendedActions(); view.addActions(extendedTopActions); @@ -135,6 +140,17 @@ this.extended = extended; } + public void updateStatus() { + if (view.canBeBasic()) { + sndBar.setPushButtonPressed(bold, view.isBold()); + sndBar.setPushButtonPressed(italic, view.isItalic()); + sndBar.setPushButtonPressed(underline, view.isUnderlined()); + } + if (isExtended()) { + sndBar.setPushButtonPressed(strikethrough, view.isStrikethrough()); + } + } + private void createDefBasicActions() { ActionToolbarMenuDescriptor<Object> selectAll = new ActionToolbarMenuDescriptor<Object>(accessRol, ActionToolbarPosition.topbar, new Listener0() { @@ -146,49 +162,33 @@ selectAll.setTextDescription(i18n.t("Select all")); selectAll.setParentMenuTitle(i18n.t(EDIT_MENU)); - ActionToolbarPushButtonDescriptor<Object> bold = new ActionToolbarPushButtonDescriptor<Object>(accessRol, - ActionToolbarPosition.topbar, new Listener0() { - public void onEvent() { - view.toggleBold(); - } - }); - bold.setIconCls(getCssName(imgResources.bold())); - bold.setToolTip(i18n.t("Toggle Bold")); - bold.setMustInitialyPressed(new ActionPressedCondition<Object>() { - public boolean mustBePressed(Object param) { - return view.isBold(); + bold = new ActionToolbarPushButtonDescriptor<Object>(accessRol, ActionToolbarPosition.topbar, new Listener0() { + public void onEvent() { + view.toggleBold(); } }); + bold.setIconCls(getCssName(imgResources.bold())); + bold.setToolTip(i18n.t("Toggle Bold")); bold.setShortcut(new ActionShortcut(true, 'B')); - ActionToolbarPushButtonDescriptor<Object> italic = new ActionToolbarPushButtonDescriptor<Object>(accessRol, - ActionToolbarPosition.topbar, new Listener0() { + italic = new ActionToolbarPushButtonDescriptor<Object>(accessRol, ActionToolbarPosition.topbar, + new Listener0() { public void onEvent() { view.toggleItalic(); } }); italic.setIconCls(getCssName(imgResources.italic())); italic.setToolTip(i18n.t("Toggle Italic")); - italic.setMustInitialyPressed(new ActionPressedCondition<Object>() { - public boolean mustBePressed(Object param) { - return view.isItalic(); - } - }); italic.setShortcut(new ActionShortcut(true, 'I')); - ActionToolbarPushButtonDescriptor<Object> underline = new ActionToolbarPushButtonDescriptor<Object>(accessRol, - ActionToolbarPosition.topbar, new Listener0() { + underline = new ActionToolbarPushButtonDescriptor<Object>(accessRol, ActionToolbarPosition.topbar, + new Listener0() { public void onEvent() { view.toggleUnderline(); } }); - underline.setIconCls(imgResources.underline().getName()); + underline.setIconCls(getCssName(imgResources.underline())); underline.setToolTip(i18n.t("Toggle Underline")); - underline.setMustInitialyPressed(new ActionPressedCondition<Object>() { - public boolean mustBePressed(Object param) { - return view.isUnderlined(); - } - }); basicTopActions.add(withNoItem(selectAll)); basicSndActions.add(withNoItem(bold)); @@ -281,19 +281,14 @@ hr.setTextDescription(i18n.t("Horizontal line")); hr.setParentMenuTitle(i18n.t(INSERT_MENU)); - ActionToolbarPushButtonDescriptor<Object> strikethrough = new ActionToolbarPushButtonDescriptor<Object>( - accessRol, ActionToolbarPosition.topbar, new Listener0() { + strikethrough = new ActionToolbarPushButtonDescriptor<Object>(accessRol, ActionToolbarPosition.topbar, + new Listener0() { public void onEvent() { view.toggleStrikethrough(); } }); strikethrough.setIconCls(getCssName(imgResources.strikeout())); strikethrough.setToolTip(i18n.t("Toggle Strikethrough")); - strikethrough.setMustInitialyPressed(new ActionPressedCondition<Object>() { - public boolean mustBePressed(Object param) { - return view.isStrikethrough(); - } - }); extendedTopActions.add(withNoItem(undo)); extendedTopActions.add(withNoItem(redo)); @@ -307,7 +302,7 @@ } private String getCssName(ImageResource imageResource) { - return ".k-rte-" + imageResource.getName(); + return "k-rte-" + imageResource.getName(); } private boolean isExtended() { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorView.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/RTEditorView.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -9,6 +9,8 @@ void addComment(String userName); + boolean canBeBasic(); + boolean canBeExtended(); void copy(); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -1,84 +1,81 @@ package org.ourproject.kune.platf.client.ui.rte.img; -import com.google.gwt.core.client.GWT; import com.google.gwt.libideas.resources.client.CssResource; import com.google.gwt.libideas.resources.client.ImageResource; import com.google.gwt.libideas.resources.client.ImmutableResourceBundle; public interface RTEImgResources extends ImmutableResourceBundle { - public static final RTEImgResources INSTANCE = GWT.create(RTEImgResources.class); - @Resource("alignleft.png") - ImageResource alignleft(); + public ImageResource alignleft(); @Resource("alignright.png") - ImageResource alignright(); + public ImageResource alignright(); @Resource("backcolor.png") - ImageResource backcolor(); + public ImageResource backcolor(); @Resource("bold.png") - ImageResource bold(); + public ImageResource bold(); @Resource("centerpara.png") - ImageResource centerpara(); + public ImageResource centerpara(); @Resource("charfontname.png") - ImageResource charfontname(); + public ImageResource charfontname(); @Resource("rteimg.css") - CssResource css(); + public CssResource css(); @Resource("decrementindent.png") - ImageResource decrementindent(); + public ImageResource decrementindent(); @Resource("defaultbullet.png") - ImageResource defaultbullet(); + public ImageResource defaultbullet(); @Resource("defaultnumbering.png") - ImageResource defaultnumbering(); + public ImageResource defaultnumbering(); @Resource("edithtml.png") - ImageResource edithtml(); + public ImageResource edithtml(); @Resource("fontcolor.png") - ImageResource fontcolor(); + public ImageResource fontcolor(); @Resource("fontheight.png") - ImageResource fontheight(); + public ImageResource fontheight(); @Resource("hfixedline.png") - ImageResource hfixedline(); + public ImageResource hfixedline(); @Resource("images.png") - ImageResource images(); + public ImageResource images(); @Resource("incrementindent.png") - ImageResource incrementindent(); + public ImageResource incrementindent(); @Resource("italic.png") - ImageResource italic(); + public ImageResource italic(); @Resource("link.png") - ImageResource link(); + public ImageResource link(); - @Resource("link_break.png") - ImageResource link_break(); + @Resource("linkbreak.png") + public ImageResource linkbreak(); @Resource("removeFormat.png") - ImageResource removeFormat(); + public ImageResource removeFormat(); @Resource("strikeout.png") - ImageResource strikeout(); + public ImageResource strikeout(); @Resource("subscript.png") - ImageResource subscript(); + public ImageResource subscript(); @Resource("superscript.png") - ImageResource superscript(); + public ImageResource superscript(); @Resource("underline.png") - ImageResource underline(); + public ImageResource underline(); } \ No newline at end of file Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/link_break.png =================================================================== (Binary files differ) Copied: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/linkbreak.png (from rev 1054, trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/link_break.png) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/linkbreak.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Name: svn:mergeinfo + Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css 2009-03-03 15:10:55 UTC (rev 1056) @@ -1,91 +1,91 @@ -@stripe .k-rte-underline { +@sprite .x-btn-icon .k-rte-underline { gwt-image: 'underline'; } -@stripe .k-rte-superscript { +@sprite .x-btn-icon .k-rte-superscript { gwt-image: 'superscript'; } -@stripe .k-rte-subscript { +@sprite .x-btn-icon .k-rte-subscript { gwt-image: 'subscript'; } -@stripe .k-rte-strikeout { +@sprite .x-btn-icon .k-rte-strikeout { gwt-image: 'strikeout'; } -@stripe .k-rte-removeFormat { +@sprite .x-btn-icon .k-rte-removeFormat { gwt-image: 'removeFormat'; } -@stripe .k-rte-link { +@sprite .x-btn-icon .k-rte-link { gwt-image: 'link'; } -@stripe .k-rte-link_break { - gwt-image: 'link_break'; +@sprite .x-btn-icon .k-rte-linkbreak { + gwt-image: 'linkbreak'; } -@stripe .k-rte-italic { +@sprite .x-btn-icon .k-rte-italic { gwt-image: 'italic'; } -@stripe .k-rte-incrementindent { +@sprite .x-btn-icon .k-rte-incrementindent { gwt-image: 'incrementindent'; } -@stripe .k-rte-images { +@sprite .x-btn-icon .k-rte-images { gwt-image: 'images'; } -@stripe .k-rte-hfixedline { +@sprite .x-btn-icon .k-rte-hfixedline { gwt-image: 'hfixedline'; } -@stripe .k-rte-fontheight { +@sprite .x-btn-icon .k-rte-fontheight { gwt-image: 'fontheight'; } -@stripe .k-rte-fontcolor { +@sprite .x-btn-icon .k-rte-fontcolor { gwt-image: 'fontcolor'; } -@stripe .k-rte-edithtml { +@sprite .x-btn-icon .k-rte-edithtml { gwt-image: 'edithtml'; } -@stripe .k-rte-defaultnumbering { +@sprite .x-btn-icon .k-rte-defaultnumbering { gwt-image: 'defaultnumbering'; } -@stripe .k-rte-defaultbullet { +@sprite .x-btn-icon .k-rte-defaultbullet { gwt-image: 'defaultbullet'; } -@stripe .k-rte-decrementindent { +@sprite .x-btn-icon .k-rte-decrementindent { gwt-image: 'decrementindent'; } -@stripe .k-rte-charfontname { +@sprite .x-btn-icon .k-rte-charfontname { gwt-image: 'charfontname'; } -@stripe .k-rte-centerpara { +@sprite .x-btn-icon .k-rte-centerpara { gwt-image: 'centerpara'; } -@stripe .k-rte-bold { +@sprite .x-btn-icon .k-rte-bold { gwt-image: 'bold'; } -@stripe .k-rte-backcolor { +@sprite .x-btn-icon .k-rte-backcolor { gwt-image: 'backcolor'; } -@stripe .k-rte-alignright { +@sprite .x-btn-icon .k-rte-alignright { gwt-image: 'alignright'; } -@stripe .k-rte-alignleft { +@sprite .x-btn-icon .k-rte-alignleft { gwt-image: 'alignleft'; } \ No newline at end of file Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/MessagePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/MessagePresenter.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/MessagePresenter.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -1,30 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client.site.msg; - -import org.ourproject.kune.platf.client.ui.noti.NotifyUser.Level; - -public interface MessagePresenter { - - void resetMessage(); - - void setMessage(final String message, final Level level); - -} Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/SimpleMessagePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/SimpleMessagePanel.java 2009-03-03 01:35:36 UTC (rev 1055) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/msg/SimpleMessagePanel.java 2009-03-03 15:10:55 UTC (rev 1056) @@ -1,95 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - \*/ -package org.ourproject.kune.workspace.client.site.msg; - -import org.ourproject.kune.platf.client.services.Images; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser.Level; - -import com.google.gwt.user.client.ui.AbstractImagePrototype; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Image; -import com.google.gwt.user.client.ui.VerticalPanel; - -public class SimpleMessagePanel extends HorizontalPanel { - HTML message = null; - Image messageIcon = null; - private final Images images; - - public SimpleMessagePanel(Images images) { - this.images = images; - message = new HTML(); - messageIcon = new Image(); - add(messageIcon); - add(message); - setCellVerticalAlignment(messageIcon, VerticalPanel.ALIGN_MIDDLE); - setVisible(false); - setStyleName("kune-SiteMessagePanel"); - addStyleDependentName("info"); - images.info().applyTo(messageIcon); - messageIcon.addStyleName("gwt-Image"); - message.setWidth("100%"); - this.setCellWidth(message, "100%"); - } - - public void adjustWidth(final int windowWidth) { - final int messageWidth = windowWidth * 60 / 100 - 3; - this.setWidth("" + messageWidth); - } - - public void hide() { - message.setText(""); - this.setVisible(false); - } - - public void reset() { - message.setText(""); - } - - public void setMessage(final String text) { - this.message.setHTML(text); - } - - public void setMessage(final String text, final Level lastMessageType, final Level type) { - AbstractImagePrototype imagePrototype = null; - switch (type) { - case error: - imagePrototype = images.error(); - break; - case veryImportant: - imagePrototype = images.important(); - break; - case important: - imagePrototype = images.emblemImportant(); - break; - case info: - imagePrototype = images.info(); - break; - } - imagePrototype.applyTo(messageIcon); - removeStyleDependentName(lastMessageType.toString()); - addStyleDependentName(type.toString()); - setMessage(text); - } - - public void show() { - this.setVisible(true); - } -}
participants (1)
-
vjrj