[kune-commits] r956 - in trunk: img src/main/java/org/ourproject/kune/app/public src/main/java/org/ourproject/kune/app/public/images src/main/java/org/ourproject/kune/chat/client/ctx src/main/java/org/ourproject/kune/docs/client src/main/java/org/ourproject/kune/docs/client/ctx src/main/java/org/ourproject/kune/platf/client/actions src/main/java/org/ourproject/kune/platf/client/actions/toolbar src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/ui/gridmenu src/main/java/org/ourproject/kune/workspace/client/cxt src/main/java/org/ourproject/kune/workspace/client/skel src/main/java/org/ourproject/kune/workspace/client/socialnet

vjrj vjrj at ourproject.org
Wed Nov 19 18:55:53 CET 2008


Author: vjrj
Date: 2008-11-19 18:55:46 +0100 (Wed, 19 Nov 2008)
New Revision: 956

Added:
   trunk/img/kune-anim-16.gif
   trunk/img/kune-anim-16.xcf
   trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java
Removed:
   trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
   trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java
   trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java
   trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java
Modified:
   trunk/img/kune-anim.gif
   trunk/img/kune-anim.xcf
   trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
   trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim.gif
   trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java
   trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
   trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
   trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
   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/KuneModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
Log:
Incomplete - task UI tools & workspace refactorization 

Incomplete - task Use of new ActionDescriptionClass in SocialNetwork 


Added: trunk/img/kune-anim-16.gif
===================================================================
(Binary files differ)


Property changes on: trunk/img/kune-anim-16.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/kune-anim-16.xcf
===================================================================
(Binary files differ)


Property changes on: trunk/img/kune-anim-16.xcf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/img/kune-anim.gif
===================================================================
(Binary files differ)

Modified: trunk/img/kune-anim.xcf
===================================================================
(Binary files differ)

Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html	2008-11-19 17:55:46 UTC (rev 956)
@@ -33,7 +33,7 @@
 #kuneprogresspanel {
     position: absolute;
     top: 2px;
-    left: 2px;
+    <!-- left: 2px; -->
     z-index: 9998;
 }
 

Added: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim.gif
===================================================================
(Binary files differ)

Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -20,7 +20,6 @@
 package org.ourproject.kune.chat.client.ctx;
 
 import org.ourproject.kune.chat.client.ChatClientTool;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
 import org.ourproject.kune.workspace.client.cxt.FoldableContextPresenter;
@@ -33,9 +32,4 @@
             final Provider<ContextNavigator> contextNavigatorProvider) {
         super(ChatClientTool.NAME, stateManager, contextNavigatorProvider);
     }
-
-    @Override
-    protected void setState(final StateContainerDTO state) {
-        super.setState(state);
-    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -29,7 +29,6 @@
 import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_WIKIPAGE;
 
 import org.ourproject.kune.docs.client.cnt.DocumentViewer;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditor;
 import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
 import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
 import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
@@ -59,6 +58,7 @@
 import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 import org.ourproject.kune.platf.client.ui.upload.FileUploader;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
 import org.ourproject.kune.workspace.client.editor.TextEditor;
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
@@ -87,7 +87,7 @@
     private final Provider<TextEditor> textEditorProvider;
     private final KuneErrorHandler errorHandler;
     private final DocumentViewer documentViewer;
-    private final Provider<DocContextPropEditor> contextPropEditorProvider;
+    private final Provider<ContextPropEditor> contextPropEditorProvider;
 
     public DocumentClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
             final Session session, final StateManager stateManager,
@@ -96,7 +96,7 @@
             final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
             final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
             final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
-            final DocumentViewer documentViewer, final Provider<DocContextPropEditor> contextProvEditorProvider) {
+            final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
         this.i18n = i18n;
         this.contextNavigator = contextNavigator;
         this.session = session;

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -26,10 +26,6 @@
 import org.ourproject.kune.docs.client.cnt.DocumentViewerPanel;
 import org.ourproject.kune.docs.client.cnt.DocumentViewerPresenter;
 import org.ourproject.kune.docs.client.cnt.DocumentViewerView;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditor;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPanel;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPresenter;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
 import org.ourproject.kune.docs.client.ctx.DocumentContext;
 import org.ourproject.kune.docs.client.ctx.DocumentContextPresenter;
 import org.ourproject.kune.platf.client.actions.ContentActionRegistry;
@@ -48,6 +44,10 @@
 import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 import org.ourproject.kune.platf.client.ui.upload.FileUploader;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPanel;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPresenter;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorView;
 import org.ourproject.kune.workspace.client.editor.TextEditor;
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
@@ -84,17 +84,17 @@
                         $$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class),
                         $(ContextActionRegistry.class), $$(FileDownloadUtils.class), $(EntityLogo.class),
                         $$(TextEditor.class), $(KuneErrorHandler.class), $(DocumentViewer.class),
-                        $$(DocContextPropEditor.class));
+                        $$(ContextPropEditor.class));
             }
         });
 
-        register(Singleton.class, new Factory<DocContextPropEditor>(DocContextPropEditor.class) {
+        register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) {
             @Override
-            public DocContextPropEditor create() {
-                final DocContextPropEditorPresenter presenter = new DocContextPropEditorPresenter($(Session.class),
+            public ContextPropEditor create() {
+                final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter($(Session.class),
                         $(StateManager.class), $(ContentCapabilitiesRegistry.class), $$(TagsSummary.class),
                         $$(ContentServiceAsync.class), $(EntityTitle.class), $(EntitySubTitle.class));
-                final DocContextPropEditorView view = new DocContextPropEditorPanel(presenter,
+                final ContextPropEditorView view = new ContextPropEditorPanel(presenter,
                         $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $$(LanguageSelector.class),
                         $(Images.class));
                 presenter.init(view);
@@ -106,7 +106,7 @@
             @Override
             public DocumentContext create() {
                 final DocumentContextPresenter presenter = new DocumentContextPresenter($(StateManager.class),
-                        $$(ContextNavigator.class), $$(DocContextPropEditor.class));
+                        $$(ContextNavigator.class), $$(ContextPropEditor.class));
                 return presenter;
             }
         });

Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,26 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.docs.client.ctx;
-
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditor;
-
-
-public interface DocContextPropEditor extends AbstractContextPropEditor {
-}

Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.docs.client.ctx;
-
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorPanel;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class DocContextPropEditorPanel extends AbstractContextPropEditorPanel implements DocContextPropEditorView {
-
-    public DocContextPropEditorPanel(final DocContextPropEditorPresenter presenter, final I18nTranslationService i18n,
-            WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv, Images images) {
-        super(presenter, i18n, ws, langSelectorProv, images);
-    }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,42 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.docs.client.ctx;
-
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorPresenter;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class DocContextPropEditorPresenter extends AbstractContextPropEditorPresenter implements DocContextPropEditor {
-
-    public DocContextPropEditorPresenter(final Session session, final StateManager stateManager,
-            ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
-            final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
-            final EntitySubTitle entitySubTitle) {
-        super(session, stateManager, capabilitiesRegistry, tagsSummaryProvider, contentServiceProvider, entityTitle,
-                entitySubTitle);
-    }
-}

Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,26 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.docs.client.ctx;
-
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorView;
-
-
-public interface DocContextPropEditorView extends AbstractContextPropEditorView {
-}

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -20,36 +20,17 @@
 package org.ourproject.kune.docs.client.ctx;
 
 import org.ourproject.kune.docs.client.DocumentClientTool;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
 import org.ourproject.kune.workspace.client.cxt.FoldableContextPresenter;
 
 import com.calclab.suco.client.ioc.Provider;
 
 public class DocumentContextPresenter extends FoldableContextPresenter implements DocumentContext {
-    private final Provider<DocContextPropEditor> contextPropEditorProvider;
-
     public DocumentContextPresenter(final StateManager stateManager,
             final Provider<ContextNavigator> contextNavigatorProvider,
-            final Provider<DocContextPropEditor> contextPropEditorProvider) {
-        super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider);
-        this.contextPropEditorProvider = contextPropEditorProvider;
+            final Provider<ContextPropEditor> contextPropEditorProvider) {
+        super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider, contextPropEditorProvider);
     }
-
-    @Override
-    protected void detach() {
-        super.detach();
-        contextPropEditorProvider.get().detach();
-        contextPropEditorProvider.get().clear();
-    }
-
-    @Override
-    protected void setState(final StateContainerDTO state) {
-        super.setState(state);
-        if (state instanceof StateContentDTO) {
-            contextPropEditorProvider.get().setState((StateContentDTO) state);
-        }
-    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -23,7 +23,6 @@
 
 import com.calclab.suco.client.listener.Listener;
 
-// TODO: Auto-generated Javadoc
 /**
  * The Class ActionDescriptor.
  */
@@ -332,5 +331,4 @@
     public void setToolTip(final String toolTip) {
         this.toolTip = toolTip;
     }
-
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -2,10 +2,18 @@
 
 import java.util.ArrayList;
 
+/**
+ * The Class BeforeActionCollection.
+ */
 public class BeforeActionCollection extends ArrayList<BeforeActionListener> {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * Check before action listeners.
+     * 
+     * @return true, if all listener returns true
+     */
     public boolean checkBeforeAction() {
         for (BeforeActionListener listener : this) {
             if (!listener.beforeAction()) {

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -20,5 +20,10 @@
 
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 
+/**
+ * The Class GroupActionRegistry stores actions over groups (mainly used in SN)
+ */
 public class GroupActionRegistry extends ActionRegistry<GroupDTO> {
+
+    public static final String GENERAL = "genActions";
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -20,6 +20,12 @@
 
 import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
 
+/**
+ * The Class UserActionRegistry.
+ * 
+ * List of actions over a user (initially used for buddies actions)
+ * 
+ */
 public class UserActionRegistry extends ActionRegistry<UserSimpleDTO> {
 
     public static final String GENERAL = "genActions";

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionBuddiesSummaryToolbar extends ActionToolbar<StateToken> {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,12 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionBuddiesSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+        ActionBuddiesSummaryToolbar {
+
+    public ActionBuddiesSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+        super(toolbar);
+    }
+
+}

Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java (from rev 953, 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	2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,71 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.actions.ActionManager;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class ActionCntCtxToolbarPanel<T> extends ActionToolbarPanel<T> {
+
+    public enum Position {
+        content, context
+    }
+
+    private final Position position;
+
+    public ActionCntCtxToolbarPanel(final Position position, final Provider<ActionManager> actionManagerProvider,
+            final WorkspaceSkeleton ws) {
+        super(actionManagerProvider, ws);
+        this.position = position;
+    }
+
+    public void attach() {
+        if (!topbar.isAttached()) {
+            switch (position) {
+            case content:
+                ws.getEntityWorkspace().getContentTopBar().removeAll();
+                ws.getEntityWorkspace().getContentTopBar().add(topbar);
+                ws.getEntityWorkspace().getContentBottomBar().add(bottombar);
+                break;
+            case context:
+            default:
+                ws.getEntityWorkspace().getContextTopBar().removeAll();
+                ws.getEntityWorkspace().getContextTopBar().add(topbar);
+                ws.getEntityWorkspace().getContextBottomBar().add(bottombar);
+            }
+        }
+    }
+
+    public void detach() {
+        if (topbar.isAttached()) {
+            switch (position) {
+            case content:
+                ws.getEntityWorkspace().getContentTopBar().remove(topbar);
+                ws.getEntityWorkspace().getContentBottomBar().remove(bottombar);
+                break;
+            case context:
+            default:
+                ws.getEntityWorkspace().getContextTopBar().remove(topbar);
+                ws.getEntityWorkspace().getContextBottomBar().remove(bottombar);
+            }
+        }
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionGroupSummaryToolbar extends ActionToolbar<StateToken> {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,11 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionGroupSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+        ActionGroupSummaryToolbar {
+
+    public ActionGroupSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+        super(toolbar);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,12 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionParticipationSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+        ActionParticipationToolbar {
+
+    public ActionParticipationSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+        super(toolbar);
+    }
+
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionParticipationToolbar extends ActionToolbar<StateToken> {
+
+}

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	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -31,6 +31,8 @@
 
     void disableMenusAndClearButtons();
 
+    ActionToolbarView<T> getView();
+
     void setActions(ActionItemCollection<T> actionItemCollection);
 
     void setEnableAction(ActionToolbarDescriptor<T> action, boolean enable);

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	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,22 +1,4 @@
-/*
- *
- * Copyright (C) 2007-2008 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.platf.client.actions.toolbar;
+package org.ourproject.kune.platf.client.actions.toolbar;
 
 import java.util.HashMap;
 
@@ -46,25 +28,18 @@
 
 public class ActionToolbarPanel<T> implements ActionToolbarView<T> {
 
-    public enum Position {
-        content, context
-    }
-
     private final HashMap<String, Menu> toolbarMenus;
     private final HashMap<String, ToolbarButton> toolbarButtons;
     private final HashMap<String, Item> menuItems;
     private final Provider<ActionManager> actionManagerProvider;
-    private final Position position;
-    private final SimpleToolbar topbar;
-    private final SimpleToolbar bottombar;
-    private final WorkspaceSkeleton ws;
+    protected final SimpleToolbar topbar;
+    protected final SimpleToolbar bottombar;
+    protected final WorkspaceSkeleton ws;
 
-    public ActionToolbarPanel(final Position position, final Provider<ActionManager> actionManagerProvider,
-            final WorkspaceSkeleton ws) {
+    public ActionToolbarPanel(final Provider<ActionManager> actionManagerProvider, final WorkspaceSkeleton ws) {
         this.ws = ws;
         topbar = new SimpleToolbar();
         bottombar = new SimpleToolbar();
-        this.position = position;
         this.actionManagerProvider = actionManagerProvider;
 
         toolbarMenus = new HashMap<String, Menu>();
@@ -123,20 +98,6 @@
     }
 
     public void attach() {
-        if (!topbar.isAttached()) {
-            switch (position) {
-            case content:
-                ws.getEntityWorkspace().getContentTopBar().removeAll();
-                ws.getEntityWorkspace().getContentTopBar().add(topbar);
-                ws.getEntityWorkspace().getContentBottomBar().add(bottombar);
-                break;
-            case context:
-            default:
-                ws.getEntityWorkspace().getContextTopBar().removeAll();
-                ws.getEntityWorkspace().getContextTopBar().add(topbar);
-                ws.getEntityWorkspace().getContextBottomBar().add(bottombar);
-            }
-        }
     }
 
     public void clear() {
@@ -150,18 +111,6 @@
     }
 
     public void detach() {
-        if (topbar.isAttached()) {
-            switch (position) {
-            case content:
-                ws.getEntityWorkspace().getContentTopBar().remove(topbar);
-                ws.getEntityWorkspace().getContentBottomBar().remove(bottombar);
-                break;
-            case context:
-            default:
-                ws.getEntityWorkspace().getContextTopBar().remove(topbar);
-                ws.getEntityWorkspace().getContextBottomBar().remove(bottombar);
-            }
-        }
     }
 
     public void disableAllMenuItems() {

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	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -52,6 +52,10 @@
         view.clear();
     }
 
+    public ActionToolbarView<T> getView() {
+        return view;
+    }
+
     public void setActions(final ActionItemCollection<T> actions) {
         for (final ActionItem<T> actionItem : actions) {
             final ActionDescriptor<T> action = actionItem.getAction();

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	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -18,10 +18,11 @@
  *
  */package org.ourproject.kune.platf.client.actions.toolbar;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.actions.ActionDescriptor;
 import org.ourproject.kune.platf.client.actions.ActionItem;
 
-public interface ActionToolbarView<T> {
+public interface ActionToolbarView<T> extends View {
 
     void addButtonAction(ActionItem<T> actionItem, boolean enable);
 

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -24,10 +24,17 @@
 import org.ourproject.kune.platf.client.actions.ContextActionRegistry;
 import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
 import org.ourproject.kune.platf.client.actions.UserActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionCntCtxToolbarPanel;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbar;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbarPresenter;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionContextToolbar;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionContextToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbar;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
 import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPresenter;
@@ -357,8 +364,8 @@
         register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
             @Override
             public TextEditor create() {
-                final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
-                        ActionToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+                        ActionCntCtxToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
                 final ActionToolbar<StateToken> toolbar = new ActionToolbarPresenter<StateToken>(
                         contentNavigatorToolbar);
 
@@ -419,8 +426,8 @@
         register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) {
             @Override
             public ActionContentToolbar create() {
-                final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
-                        ActionToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+                        ActionCntCtxToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
                 final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(contentNavigatorToolbar);
                 return toolbar;
             }
@@ -429,13 +436,40 @@
         register(NoDecoration.class, new Factory<ActionContextToolbar>(ActionContextToolbar.class) {
             @Override
             public ActionContextToolbar create() {
-                final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
-                        ActionToolbarPanel.Position.context, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+                        ActionCntCtxToolbarPanel.Position.context, $$(ActionManager.class), $(WorkspaceSkeleton.class));
                 final ActionContextToolbar toolbar = new ActionContextToolbarPresenter(contentNavigatorToolbar);
                 return toolbar;
             }
         });
 
+        register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) {
+            @Override
+            public ActionGroupSummaryToolbar create() {
+                final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+                        $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionGroupSummaryToolbarPresenter toolbar = new ActionGroupSummaryToolbarPresenter(panel);
+                return toolbar;
+            }
+        }, new Factory<ActionParticipationToolbar>(ActionParticipationToolbar.class) {
+            @Override
+            public ActionParticipationToolbar create() {
+                final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+                        $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter(
+                        panel);
+                return toolbar;
+            }
+        }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) {
+            @Override
+            public ActionBuddiesSummaryToolbar create() {
+                final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+                        $$(ActionManager.class), $(WorkspaceSkeleton.class));
+                final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel);
+                return toolbar;
+            }
+        });
+
         register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) {
             @Override
             public ContextNavigator create() {

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -21,7 +21,11 @@
 import org.ourproject.kune.chat.client.ChatEngine;
 import org.ourproject.kune.platf.client.actions.ActionManager;
 import org.ourproject.kune.platf.client.actions.ContentIconsRegistry;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
 import org.ourproject.kune.platf.client.actions.UserActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
 import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
 import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
 import org.ourproject.kune.platf.client.registry.RenamableRegistry;
@@ -332,7 +336,8 @@
                 final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(
                         $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
                         $(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupLiveSearcher.class),
-                        $(WsThemePresenter.class), $$(ChatEngine.class));
+                        $(WsThemePresenter.class), $$(ChatEngine.class), $(GroupActionRegistry.class),
+                        $(ActionGroupSummaryToolbar.class));
                 final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter,
                         $(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
                 presenter.init(view);
@@ -359,7 +364,7 @@
                         $(Session.class), $(UserActionRegistry.class), $(I18nTranslationService.class),
                         $$(ChatEngine.class));
                 final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class),
-                        $(I18nTranslationService.class), $(ActionManager.class));
+                        $(I18nTranslationService.class), $(ActionManager.class), $(ActionBuddiesSummaryToolbar.class));
                 presenter.init(panel);
                 return presenter;
             }
@@ -370,9 +375,11 @@
             public ParticipationSummary create() {
                 final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(
                         $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
-                        $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class));
+                        $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class),
+                        $(GroupActionRegistry.class), $(ActionParticipationToolbar.class));
                 final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter,
-                        $(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+                        $(I18nUITranslationService.class), $(WorkspaceSkeleton.class),
+                        ($(ActionParticipationToolbar.class).getView()));
                 presenter.init(view);
                 return presenter;
             }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -193,14 +193,14 @@
     @Override
     public void doLayout(final boolean shallow) {
         // Grid rendered problems with shallow false
-        grid.doLayout(false);
-        super.doLayout(false);
+        grid.doLayout(true);
+        super.doLayout(true);
     }
 
     public void doLayoutIfNeeded() {
         if (super.isRendered()) {
-            grid.doLayout(false);
-            super.doLayout(false);
+            grid.doLayout(true);
+            super.doLayout(true);
         }
     }
 
@@ -249,8 +249,8 @@
 
     @Override
     public void setWidth(final int width) {
-        // grid.setWidth(width - 27);
-        super.setWidth(width);
+        grid.setWidth(width - 27);
+        // super.setWidth(width);
         doLayoutIfNeeded();
     }
 
@@ -396,7 +396,7 @@
 
         grid.addGridRowListener(new GridRowListener() {
             public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
-                // showMenu(rowIndex, e);
+                showMenu(rowIndex, e);
                 onClick(rowIndex);
             }
 

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,32 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.cxt;
-
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
-
-public interface AbstractContextPropEditor {
-    void attach();
-
-    void clear();
-
-    void detach();
-
-    void setState(StateContentDTO content);
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,263 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPresenter;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.ContextPropertyPanel;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.gwtext.client.data.Record;
-import com.gwtext.client.widgets.form.ComboBox;
-import com.gwtext.client.widgets.form.DateField;
-import com.gwtext.client.widgets.form.Field;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.TextArea;
-import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
-import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
-
-public abstract class AbstractContextPropEditorPanel extends ScrollPanel implements DocContextPropEditorView {
-
-    private static final int FORMS_WIDTH = 150;
-    public static final String TAGS_PROP = "k-dcpep-tagsp-dis";
-    public static final String LANG_PROP = "k-dcpep-langsp-dis";
-    public static final String PUBLI_PROP = "k-dcpep-publisp-dis";
-    private static final String ACL_PROP = "";
-
-    private final DocContextPropEditorPresenter presenter;
-    private final WorkspaceSkeleton ws;
-    private final I18nTranslationService i18n;
-    private final Provider<LanguageSelector> langSelectorProv;
-    private final VerticalPanel vp;
-    private ContextPropertyPanel tagsComponent;
-    private ContextPropertyPanel langComponent;
-    private ContextPropertyPanel publishedOnComponent;
-    private TextArea tagsField;
-    private DateField publishedOnField;
-    private final Images images;
-    private ContextPropertyPanel aclComponent;
-    private AccessListsPanel accessListsPanel;
-
-    public AbstractContextPropEditorPanel(final DocContextPropEditorPresenter presenter,
-            final I18nTranslationService i18n, WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv,
-            Images images) {
-        this.i18n = i18n;
-        this.ws = ws;
-        this.presenter = presenter;
-        this.langSelectorProv = langSelectorProv;
-        this.images = images;
-        super.addStyleName("kune-Margin-Medium-trbl");
-        vp = new VerticalPanel();
-        super.add(vp);
-        // authors_item = i18n.t("Authors");
-    }
-
-    public void attach() {
-        if (!super.isAttached()) {
-            ws.getEntityWorkspace().setContext(this);
-        }
-    }
-
-    public void detach() {
-        if (super.isAttached()) {
-            super.removeFromParent();
-        }
-    }
-
-    public void removeAccessListComponent() {
-        // if (options.containsItem(perms_item)) {
-        // removeComponent(perms_item);
-        // }
-    }
-
-    public void removeAclComponent() {
-        if (aclComponent != null) {
-            aclComponent.removeFromParent();
-        }
-    }
-
-    public void removeAuthorsComponent() {
-        // if (options.containsItem(authors_item)) {
-        // removeComponent(authors_item);
-        // }
-    }
-
-    public void removeLangComponent() {
-        if (langComponent != null) {
-            langComponent.removeFromParent();
-        }
-    }
-
-    public void removePublishedOnComponent() {
-        if (publishedOnComponent != null) {
-            publishedOnComponent.removeFromParent();
-        }
-    }
-
-    public void removeTagsComponent() {
-        if (tagsComponent != null) {
-            tagsComponent.removeFromParent();
-        }
-    }
-
-    public void reset() {
-        if (tagsField != null) {
-            tagsField.reset();
-        }
-    }
-
-    public void setAccessLists(final AccessListsDTO accessLists) {
-        if (aclComponent == null) {
-            accessListsPanel = new AccessListsPanel(i18n, images);
-            aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Who can admin/edit/view this work"),
-                    true, ACL_PROP, accessListsPanel);
-            addComponent(aclComponent);
-        }
-        accessListsPanel.setAccessLists(accessLists);
-    }
-
-    public void setAuthors(final List<UserSimpleDTO> authors) {
-        // if (authorsComponent == null) {
-        // authorsComponent = new VerticalPanel();
-        // addAuthorLabel = new IconLabel(IMG.addGreen(), i18n.t("Add author"));
-        // addAuthorLabel.addClickListener(new ClickListener() {
-        // public void onClick(final Widget sender) {
-        // presenter.doAction(DocsEvents.ADD_AUTHOR, null);
-        // }
-        // });
-        // } else {
-        // if (options.containsItem(authors_item)) {
-        // options.removeStackItem(authors_item);
-        // }
-        // authorsComponent.clear();
-        // }
-        // if (!options.containsItem(authors_item)) {
-        // addComponent(authors_item, i18n.t("Authors of this work"),
-        // authorsComponent);
-        // }
-        // for (final Iterator<UserSimpleDTO> iterator = authors.iterator();
-        // iterator.hasNext();) {
-        // final UserSimpleDTO author = iterator.next();
-        // final StackSubItemAction[] authorActions = { new
-        // StackSubItemAction(IMG.del(), i18n.t("Remove author"),
-        // DocsEvents.REMOVE_AUTHOR) };
-        // options.addStackSubItem(authors_item, IMG.personDef(),
-        // author.getShortName(), author.getName(),
-        // authorActions, presenter);
-        // }
-        // authorsComponent.add(addAuthorLabel);
-    }
-
-    public void setLanguage(final I18nLanguageDTO language) {
-        if (langComponent == null) {
-            final LanguageSelectorPanel view = (LanguageSelectorPanel) langSelectorProv.get().getView();
-            view.setWidth(FORMS_WIDTH);
-            langComponent = new ContextPropertyPanel(i18n.t("What language is this in?"), null, true, LANG_PROP, view);
-            view.addChangeListener(new ComboBoxListenerAdapter() {
-                @Override
-                public void onSelect(final ComboBox comboBox, final Record record, final int index) {
-                    presenter.doChangeLanguage(record.getAsString(LanguageSelectorPanel.LANG_ID));
-                }
-            });
-            // angComponent.addStyleName("kune-Margin-Medium-t");
-            addComponent(langComponent);
-        }
-        langSelectorProv.get().setLanguage(language);
-    }
-
-    public void setPublishedOn(final Date publishedOn, String dateFormat) {
-        if (publishedOnField == null) {
-            publishedOnComponent = createPublicationComponent();
-        }
-        addComponent(publishedOnComponent);
-        publishedOnField.setValue(publishedOn);
-        publishedOnField.setFormat(dateFormat);
-    }
-
-    public void setTags(final String tags) {
-        if (tagsComponent == null) {
-            tagsComponent = createTagsComponent();
-            addComponent(tagsComponent);
-        }
-        tagsField.setValue(tags);
-    }
-
-    private void addComponent(ContextPropertyPanel prop) {
-        vp.add(prop);
-    }
-
-    private FormPanel createDefaultForm() {
-        final FormPanel form = new FormPanel();
-        form.setHideLabels(true);
-        form.setWidth(FORMS_WIDTH);
-        form.setBorder(false);
-        return form;
-    }
-
-    private ContextPropertyPanel createPublicationComponent() {
-        final FormPanel form = createDefaultForm();
-
-        publishedOnField = new DateField();
-        publishedOnField.setWidth("140");
-
-        publishedOnField.addListener(new FieldListenerAdapter() {
-            @Override
-            public void onChange(final Field field, final Object newVal, final Object oldVal) {
-                presenter.setPublishedOn((Date) newVal);
-            }
-        });
-        form.add(publishedOnField);
-        return new ContextPropertyPanel(i18n.t("Publication"), i18n.t("Date of publication"), true, PUBLI_PROP, form);
-    }
-
-    private ContextPropertyPanel createTagsComponent() {
-        final FormPanel form = createDefaultForm();
-        tagsField = new TextArea();
-        tagsField.setWidth(FORMS_WIDTH - 10);
-        tagsField.setHeight("3em");
-        tagsField.addListener(new FieldListenerAdapter() {
-            @Override
-            public void onChange(final Field field, final Object newVal, final Object oldVal) {
-                presenter.setTags((String) newVal);
-            }
-        });
-        form.add(tagsField);
-        return new ContextPropertyPanel(i18n.t("Tags"), i18n.t("Keywords or terms associated with this work"), true,
-                TAGS_PROP, form);
-    }
-
-    // private void removeComponent(final String header) {
-    // options.removeStackItem(header);
-    // }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,197 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
-import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public abstract class AbstractContextPropEditorPresenter {
-
-    private DocContextPropEditorView view;
-    private final Session session;
-    private final Provider<TagsSummary> tagsSummaryProvider;
-    private final Provider<ContentServiceAsync> contentServiceProvider;
-    private final EntitySubTitle entitySubTitle;
-    private final EntityTitle entityTitle;
-    private final StateManager stateManager;
-    private final ContentCapabilitiesRegistry capabilitiesRegistry;
-
-    public AbstractContextPropEditorPresenter(final Session session, final StateManager stateManager,
-            ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
-            final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
-            final EntitySubTitle entitySubTitle) {
-        this.session = session;
-        this.stateManager = stateManager;
-        this.capabilitiesRegistry = capabilitiesRegistry;
-        this.tagsSummaryProvider = tagsSummaryProvider;
-        this.contentServiceProvider = contentServiceProvider;
-        this.entityTitle = entityTitle;
-        this.entitySubTitle = entitySubTitle;
-    }
-
-    public void addAuthor(final String authorShortName) {
-        Site.showProgressProcessing();
-        final StateContainerDTO currentState = session.getContentState();
-        contentServiceProvider.get().addAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
-                new AsyncCallbackSimple<Object>() {
-                    public void onSuccess(final Object result) {
-                        Site.hideProgress();
-                        stateManager.reload();
-                    }
-                });
-    }
-
-    public void attach() {
-        view.attach();
-    }
-
-    public void clear() {
-        view.reset();
-    }
-
-    public void delAuthor(final String authorShortName) {
-        Site.showProgressProcessing();
-        final StateContainerDTO currentState = session.getContentState();
-        contentServiceProvider.get().removeAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
-                new AsyncCallbackSimple<Object>() {
-                    public void onSuccess(final Object result) {
-                        Site.hideProgress();
-                        stateManager.reload();
-                    }
-                });
-    }
-
-    public void detach() {
-        view.detach();
-    }
-
-    public void doChangeLanguage(final String langCode) {
-        Site.showProgressProcessing();
-        final StateContainerDTO currentState = session.getContentState();
-        contentServiceProvider.get().setLanguage(session.getUserHash(), currentState.getStateToken(), langCode,
-                new AsyncCallbackSimple<I18nLanguageDTO>() {
-                    public void onSuccess(final I18nLanguageDTO lang) {
-                        Site.hideProgress();
-                        entitySubTitle.setContentLanguage(lang.getEnglishName());
-                    }
-                });
-    }
-
-    public void init(final DocContextPropEditorView view) {
-        this.view = view;
-    }
-
-    public void setPublishedOn(final Date publishedOn) {
-        Site.showProgressProcessing();
-        final StateContainerDTO currentState = session.getContentState();
-        contentServiceProvider.get().setPublishedOn(session.getUserHash(), currentState.getStateToken(), publishedOn,
-                new AsyncCallbackSimple<Object>() {
-                    public void onSuccess(final Object result) {
-                        Site.hideProgress();
-                        entityTitle.setContentDate(publishedOn);
-                    }
-                });
-    }
-
-    public void setState(final StateContentDTO state) {
-        // In the future check the use of these components by each tool
-        final I18nLanguageDTO language = state.getLanguage();
-        final AccessListsDTO accessLists = state.getAccessLists();
-        final Date publishedOn = state.getPublishedOn();
-        final String tags = state.getTags();
-        final List<UserSimpleDTO> authors = state.getAuthors();
-
-        String typeId = state.getTypeId();
-        if (capabilitiesRegistry.isTranslatable(typeId)) {
-            assert (language != null);
-            view.setLanguage(language);
-        } else {
-            view.removeLangComponent();
-        }
-        if (capabilitiesRegistry.isTageable(typeId)) {
-            assert (tags != null);
-            view.setTags(tags);
-        } else {
-            view.removeTagsComponent();
-        }
-        if (capabilitiesRegistry.isAuthorable(typeId)) {
-            assert (authors != null);
-            view.setAuthors(authors);
-        } else {
-            view.removeAuthorsComponent();
-        }
-        if (capabilitiesRegistry.isPublishModerable(typeId)) {
-            assert (publishedOn != null);
-            String dateFormat = session.getCurrentLanguage().getDateFormatShort();
-            if (dateFormat != null) {
-                dateFormat = dateFormat.replace("yyyy", "Y");
-                dateFormat = dateFormat.replace("yy", "y");
-                dateFormat = dateFormat.replace("MM", "m");
-                dateFormat = dateFormat.replace("M", "n");
-                dateFormat = dateFormat.replace("dd", "xxx");
-                dateFormat = dateFormat.replace("d", "j");
-                dateFormat = dateFormat.replace("xxx", "d");
-                view.setPublishedOn(publishedOn, dateFormat);
-            } else {
-                view.setPublishedOn(publishedOn, "M/d/yy def");
-            }
-        } else {
-            view.removePublishedOnComponent();
-        }
-        if (capabilitiesRegistry.isAclEditable(typeId)) {
-            assert (accessLists != null);
-            view.setAccessLists(accessLists);
-        } else {
-            view.removeAccessListComponent();
-        }
-    }
-
-    public void setTags(final String tagsString) {
-        Site.showProgressProcessing();
-        final StateContainerDTO currentState = session.getContentState();
-        contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString,
-                new AsyncCallbackSimple<List<TagResultDTO>>() {
-                    public void onSuccess(final List<TagResultDTO> result) {
-                        tagsSummaryProvider.get().setGroupTags(result);
-                        Site.hideProgress();
-                    }
-                });
-    }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -1,57 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-
-public interface AbstractContextPropEditorView {
-
-    void attach();
-
-    void detach();
-
-    void removeAccessListComponent();
-
-    void removeAuthorsComponent();
-
-    void removeLangComponent();
-
-    void removePublishedOnComponent();
-
-    void removeTagsComponent();
-
-    void reset();
-
-    void setAccessLists(AccessListsDTO accessLists);
-
-    void setAuthors(List<UserSimpleDTO> authors);
-
-    void setLanguage(I18nLanguageDTO language);
-
-    void setPublishedOn(Date publishedOn, String dateFormat);
-
-    void setTags(String tags);
-
-}

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java (from rev 955, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.cxt;
+
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
+
+public interface ContextPropEditor {
+    void attach();
+
+    void clear();
+
+    void detach();
+
+    void setState(StateContentDTO content);
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java (from rev 955, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,261 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.ContextPropertyPanel;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.widgets.form.ComboBox;
+import com.gwtext.client.widgets.form.DateField;
+import com.gwtext.client.widgets.form.Field;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.TextArea;
+import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
+
+public class ContextPropEditorPanel extends ScrollPanel implements ContextPropEditorView {
+
+    private static final int FORMS_WIDTH = 150;
+    public static final String TAGS_PROP = "k-dcpep-tagsp-dis";
+    public static final String LANG_PROP = "k-dcpep-langsp-dis";
+    public static final String PUBLI_PROP = "k-dcpep-publisp-dis";
+    private static final String ACL_PROP = "";
+
+    private final ContextPropEditorPresenter presenter;
+    private final WorkspaceSkeleton ws;
+    private final I18nTranslationService i18n;
+    private final Provider<LanguageSelector> langSelectorProv;
+    private final VerticalPanel vp;
+    private ContextPropertyPanel tagsComponent;
+    private ContextPropertyPanel langComponent;
+    private ContextPropertyPanel publishedOnComponent;
+    private TextArea tagsField;
+    private DateField publishedOnField;
+    private final Images images;
+    private ContextPropertyPanel aclComponent;
+    private AccessListsPanel accessListsPanel;
+
+    public ContextPropEditorPanel(final ContextPropEditorPresenter presenter,
+            final I18nTranslationService i18n, WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv,
+            Images images) {
+        this.i18n = i18n;
+        this.ws = ws;
+        this.presenter = presenter;
+        this.langSelectorProv = langSelectorProv;
+        this.images = images;
+        super.addStyleName("kune-Margin-Medium-trbl");
+        vp = new VerticalPanel();
+        super.add(vp);
+        // authors_item = i18n.t("Authors");
+    }
+
+    public void attach() {
+        if (!super.isAttached()) {
+            ws.getEntityWorkspace().setContext(this);
+        }
+    }
+
+    public void detach() {
+        if (super.isAttached()) {
+            super.removeFromParent();
+        }
+    }
+
+    public void removeAccessListComponent() {
+        // if (options.containsItem(perms_item)) {
+        // removeComponent(perms_item);
+        // }
+    }
+
+    public void removeAclComponent() {
+        if (aclComponent != null) {
+            aclComponent.removeFromParent();
+        }
+    }
+
+    public void removeAuthorsComponent() {
+        // if (options.containsItem(authors_item)) {
+        // removeComponent(authors_item);
+        // }
+    }
+
+    public void removeLangComponent() {
+        if (langComponent != null) {
+            langComponent.removeFromParent();
+        }
+    }
+
+    public void removePublishedOnComponent() {
+        if (publishedOnComponent != null) {
+            publishedOnComponent.removeFromParent();
+        }
+    }
+
+    public void removeTagsComponent() {
+        if (tagsComponent != null) {
+            tagsComponent.removeFromParent();
+        }
+    }
+
+    public void reset() {
+        if (tagsField != null) {
+            tagsField.reset();
+        }
+    }
+
+    public void setAccessLists(final AccessListsDTO accessLists) {
+        if (aclComponent == null) {
+            accessListsPanel = new AccessListsPanel(i18n, images);
+            aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Who can admin/edit/view this work"),
+                    true, ACL_PROP, accessListsPanel);
+            addComponent(aclComponent);
+        }
+        accessListsPanel.setAccessLists(accessLists);
+    }
+
+    public void setAuthors(final List<UserSimpleDTO> authors) {
+        // if (authorsComponent == null) {
+        // authorsComponent = new VerticalPanel();
+        // addAuthorLabel = new IconLabel(IMG.addGreen(), i18n.t("Add author"));
+        // addAuthorLabel.addClickListener(new ClickListener() {
+        // public void onClick(final Widget sender) {
+        // presenter.doAction(DocsEvents.ADD_AUTHOR, null);
+        // }
+        // });
+        // } else {
+        // if (options.containsItem(authors_item)) {
+        // options.removeStackItem(authors_item);
+        // }
+        // authorsComponent.clear();
+        // }
+        // if (!options.containsItem(authors_item)) {
+        // addComponent(authors_item, i18n.t("Authors of this work"),
+        // authorsComponent);
+        // }
+        // for (final Iterator<UserSimpleDTO> iterator = authors.iterator();
+        // iterator.hasNext();) {
+        // final UserSimpleDTO author = iterator.next();
+        // final StackSubItemAction[] authorActions = { new
+        // StackSubItemAction(IMG.del(), i18n.t("Remove author"),
+        // DocsEvents.REMOVE_AUTHOR) };
+        // options.addStackSubItem(authors_item, IMG.personDef(),
+        // author.getShortName(), author.getName(),
+        // authorActions, presenter);
+        // }
+        // authorsComponent.add(addAuthorLabel);
+    }
+
+    public void setLanguage(final I18nLanguageDTO language) {
+        if (langComponent == null) {
+            final LanguageSelectorPanel view = (LanguageSelectorPanel) langSelectorProv.get().getView();
+            view.setWidth(FORMS_WIDTH);
+            langComponent = new ContextPropertyPanel(i18n.t("What language is this in?"), null, true, LANG_PROP, view);
+            view.addChangeListener(new ComboBoxListenerAdapter() {
+                @Override
+                public void onSelect(final ComboBox comboBox, final Record record, final int index) {
+                    presenter.doChangeLanguage(record.getAsString(LanguageSelectorPanel.LANG_ID));
+                }
+            });
+            // angComponent.addStyleName("kune-Margin-Medium-t");
+            addComponent(langComponent);
+        }
+        langSelectorProv.get().setLanguage(language);
+    }
+
+    public void setPublishedOn(final Date publishedOn, String dateFormat) {
+        if (publishedOnField == null) {
+            publishedOnComponent = createPublicationComponent();
+        }
+        addComponent(publishedOnComponent);
+        publishedOnField.setValue(publishedOn);
+        publishedOnField.setFormat(dateFormat);
+    }
+
+    public void setTags(final String tags) {
+        if (tagsComponent == null) {
+            tagsComponent = createTagsComponent();
+            addComponent(tagsComponent);
+        }
+        tagsField.setValue(tags);
+    }
+
+    private void addComponent(ContextPropertyPanel prop) {
+        vp.add(prop);
+    }
+
+    private FormPanel createDefaultForm() {
+        final FormPanel form = new FormPanel();
+        form.setHideLabels(true);
+        form.setWidth(FORMS_WIDTH);
+        form.setBorder(false);
+        return form;
+    }
+
+    private ContextPropertyPanel createPublicationComponent() {
+        final FormPanel form = createDefaultForm();
+
+        publishedOnField = new DateField();
+        publishedOnField.setWidth("140");
+
+        publishedOnField.addListener(new FieldListenerAdapter() {
+            @Override
+            public void onChange(final Field field, final Object newVal, final Object oldVal) {
+                presenter.setPublishedOn((Date) newVal);
+            }
+        });
+        form.add(publishedOnField);
+        return new ContextPropertyPanel(i18n.t("Publication"), i18n.t("Date of publication"), true, PUBLI_PROP, form);
+    }
+
+    private ContextPropertyPanel createTagsComponent() {
+        final FormPanel form = createDefaultForm();
+        tagsField = new TextArea();
+        tagsField.setWidth(FORMS_WIDTH - 10);
+        tagsField.setHeight("3em");
+        tagsField.addListener(new FieldListenerAdapter() {
+            @Override
+            public void onChange(final Field field, final Object newVal, final Object oldVal) {
+                presenter.setTags((String) newVal);
+            }
+        });
+        form.add(tagsField);
+        return new ContextPropertyPanel(i18n.t("Tags"), i18n.t("Keywords or terms associated with this work"), true,
+                TAGS_PROP, form);
+    }
+
+    // private void removeComponent(final String header) {
+    // options.removeStackItem(header);
+    // }
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java (from rev 953, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java	2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,196 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.StateContainerDTO;
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
+import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.tags.TagsSummary;
+import org.ourproject.kune.workspace.client.title.EntitySubTitle;
+import org.ourproject.kune.workspace.client.title.EntityTitle;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class ContextPropEditorPresenter implements ContextPropEditor {
+
+    private ContextPropEditorView view;
+    private final Session session;
+    private final Provider<TagsSummary> tagsSummaryProvider;
+    private final Provider<ContentServiceAsync> contentServiceProvider;
+    private final EntitySubTitle entitySubTitle;
+    private final EntityTitle entityTitle;
+    private final StateManager stateManager;
+    private final ContentCapabilitiesRegistry capabilitiesRegistry;
+
+    public ContextPropEditorPresenter(final Session session, final StateManager stateManager,
+            ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
+            final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
+            final EntitySubTitle entitySubTitle) {
+        this.session = session;
+        this.stateManager = stateManager;
+        this.capabilitiesRegistry = capabilitiesRegistry;
+        this.tagsSummaryProvider = tagsSummaryProvider;
+        this.contentServiceProvider = contentServiceProvider;
+        this.entityTitle = entityTitle;
+        this.entitySubTitle = entitySubTitle;
+    }
+
+    public void addAuthor(final String authorShortName) {
+        Site.showProgressProcessing();
+        final StateContainerDTO currentState = session.getContentState();
+        contentServiceProvider.get().addAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
+                new AsyncCallbackSimple<Object>() {
+                    public void onSuccess(final Object result) {
+                        Site.hideProgress();
+                        stateManager.reload();
+                    }
+                });
+    }
+
+    public void attach() {
+        view.attach();
+    }
+
+    public void clear() {
+        view.reset();
+    }
+
+    public void delAuthor(final String authorShortName) {
+        Site.showProgressProcessing();
+        final StateContainerDTO currentState = session.getContentState();
+        contentServiceProvider.get().removeAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
+                new AsyncCallbackSimple<Object>() {
+                    public void onSuccess(final Object result) {
+                        Site.hideProgress();
+                        stateManager.reload();
+                    }
+                });
+    }
+
+    public void detach() {
+        view.detach();
+    }
+
+    public void doChangeLanguage(final String langCode) {
+        Site.showProgressProcessing();
+        final StateContainerDTO currentState = session.getContentState();
+        contentServiceProvider.get().setLanguage(session.getUserHash(), currentState.getStateToken(), langCode,
+                new AsyncCallbackSimple<I18nLanguageDTO>() {
+                    public void onSuccess(final I18nLanguageDTO lang) {
+                        Site.hideProgress();
+                        entitySubTitle.setContentLanguage(lang.getEnglishName());
+                    }
+                });
+    }
+
+    public void init(final ContextPropEditorView view) {
+        this.view = view;
+    }
+
+    public void setPublishedOn(final Date publishedOn) {
+        Site.showProgressProcessing();
+        final StateContainerDTO currentState = session.getContentState();
+        contentServiceProvider.get().setPublishedOn(session.getUserHash(), currentState.getStateToken(), publishedOn,
+                new AsyncCallbackSimple<Object>() {
+                    public void onSuccess(final Object result) {
+                        Site.hideProgress();
+                        entityTitle.setContentDate(publishedOn);
+                    }
+                });
+    }
+
+    public void setState(final StateContentDTO state) {
+        // In the future check the use of these components by each tool
+        final I18nLanguageDTO language = state.getLanguage();
+        final AccessListsDTO accessLists = state.getAccessLists();
+        final Date publishedOn = state.getPublishedOn();
+        final String tags = state.getTags();
+        final List<UserSimpleDTO> authors = state.getAuthors();
+
+        String typeId = state.getTypeId();
+        if (capabilitiesRegistry.isTranslatable(typeId)) {
+            assert (language != null);
+            view.setLanguage(language);
+        } else {
+            view.removeLangComponent();
+        }
+        if (capabilitiesRegistry.isTageable(typeId)) {
+            assert (tags != null);
+            view.setTags(tags);
+        } else {
+            view.removeTagsComponent();
+        }
+        if (capabilitiesRegistry.isAuthorable(typeId)) {
+            assert (authors != null);
+            view.setAuthors(authors);
+        } else {
+            view.removeAuthorsComponent();
+        }
+        if (capabilitiesRegistry.isPublishModerable(typeId)) {
+            assert (publishedOn != null);
+            String dateFormat = session.getCurrentLanguage().getDateFormatShort();
+            if (dateFormat != null) {
+                dateFormat = dateFormat.replace("yyyy", "Y");
+                dateFormat = dateFormat.replace("yy", "y");
+                dateFormat = dateFormat.replace("MM", "m");
+                dateFormat = dateFormat.replace("M", "n");
+                dateFormat = dateFormat.replace("dd", "xxx");
+                dateFormat = dateFormat.replace("d", "j");
+                dateFormat = dateFormat.replace("xxx", "d");
+                view.setPublishedOn(publishedOn, dateFormat);
+            } else {
+                view.setPublishedOn(publishedOn, "M/d/yy def");
+            }
+        } else {
+            view.removePublishedOnComponent();
+        }
+        if (capabilitiesRegistry.isAclEditable(typeId)) {
+            assert (accessLists != null);
+            view.setAccessLists(accessLists);
+        } else {
+            view.removeAccessListComponent();
+        }
+    }
+
+    public void setTags(final String tagsString) {
+        Site.showProgressProcessing();
+        final StateContainerDTO currentState = session.getContentState();
+        contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString,
+                new AsyncCallbackSimple<List<TagResultDTO>>() {
+                    public void onSuccess(final List<TagResultDTO> result) {
+                        tagsSummaryProvider.get().setGroupTags(result);
+                        Site.hideProgress();
+                    }
+                });
+    }
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java (from rev 953, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java	2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+
+public interface ContextPropEditorView {
+
+    void attach();
+
+    void detach();
+
+    void removeAccessListComponent();
+
+    void removeAuthorsComponent();
+
+    void removeLangComponent();
+
+    void removePublishedOnComponent();
+
+    void removeTagsComponent();
+
+    void reset();
+
+    void setAccessLists(AccessListsDTO accessLists);
+
+    void setAuthors(List<UserSimpleDTO> authors);
+
+    void setLanguage(I18nLanguageDTO language);
+
+    void setPublishedOn(Date publishedOn, String dateFormat);
+
+    void setTags(String tags);
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -2,6 +2,7 @@
 
 import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
 import org.ourproject.kune.platf.client.dto.StateContainerDTO;
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
 
@@ -11,11 +12,19 @@
 public abstract class FoldableContextPresenter {
     private final Provider<ContextNavigator> contextNavigatorProvider;
     protected final String toolname;
+    private final Provider<ContextPropEditor> contextPropEditorProvider;
 
     public FoldableContextPresenter(final String toolname, final StateManager stateManager,
             final Provider<ContextNavigator> contextNavigatorProvider) {
+        this(toolname, stateManager, contextNavigatorProvider, null);
+    }
+
+    public FoldableContextPresenter(final String toolname, final StateManager stateManager,
+            final Provider<ContextNavigator> contextNavigatorProvider,
+            Provider<ContextPropEditor> contextPropEditorProvider) {
         this.toolname = toolname;
         this.contextNavigatorProvider = contextNavigatorProvider;
+        this.contextPropEditorProvider = contextPropEditorProvider;
         stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
             public void onEvent(final StateAbstractDTO state) {
                 if (state instanceof StateContainerDTO) {
@@ -34,9 +43,16 @@
     protected void detach() {
         contextNavigatorProvider.get().detach();
         contextNavigatorProvider.get().clear();
+        if (contextPropEditorProvider != null) {
+            contextPropEditorProvider.get().detach();
+            contextPropEditorProvider.get().clear();
+        }
     }
 
     protected void setState(StateContainerDTO state) {
         contextNavigatorProvider.get().setState(state, true);
+        if (contextPropEditorProvider != null && state instanceof StateContentDTO) {
+            contextPropEditorProvider.get().setState((StateContentDTO) state);
+        }
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -33,7 +33,7 @@
 
     public void doLayoutIfNeeded() {
         if (super.isRendered()) {
-            super.doLayout(false);
+            super.doLayout();
         }
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -22,6 +22,7 @@
 import org.ourproject.kune.platf.client.actions.ActionItemCollection;
 import org.ourproject.kune.platf.client.actions.ActionManager;
 import org.ourproject.kune.platf.client.actions.MenuItemsContainer;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
 import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.workspace.client.skel.SummaryPanel;
@@ -74,7 +75,8 @@
     private final ActionManager actionManager;
 
     public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws,
-            I18nTranslationService i18n, ActionManager actionManager) {
+            I18nTranslationService i18n, ActionManager actionManager,
+            ActionBuddiesSummaryToolbar actionBuddiesSummaryToolbar) {
         super(i18n.t("Buddies"), i18n.t("Buddies of this user"), ws);
         this.actionManager = actionManager;
         menuItemsContainer = new MenuItemsContainer<UserSimpleDTO>();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -66,7 +66,7 @@
                 presenter.onDoubleClick(groupShortName);
             }
         };
-        gridMenuPanel.onClick(go);
+        // gridMenuPanel.onClick(go);
         gridMenuPanel.onDoubleClick(go);
         gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
         super.add(gridMenuPanel);

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -21,6 +21,8 @@
 import java.util.List;
 
 import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
 import org.ourproject.kune.platf.client.dto.AccessListsDTO;
 import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
@@ -66,8 +68,9 @@
             final ImageUtils imageUtils, final Session session,
             final Provider<SocialNetworkServiceAsync> snServiceProvider,
             final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter,
-            final Provider<ChatEngine> chatEngineProvider) {
-        super(i18n, stateManager, imageUtils, session, snServiceProvider);
+            final Provider<ChatEngine> chatEngineProvider, GroupActionRegistry groupActionRegistry,
+            ActionGroupSummaryToolbar actionGroupSummaryToolbar) {
+        super(i18n, stateManager, imageUtils, session, snServiceProvider, groupActionRegistry);
         this.i18n = i18n;
         this.stateManager = stateManager;
         this.session = session;

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -19,7 +19,9 @@
  */
 package org.ourproject.kune.workspace.client.socialnet;
 
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
@@ -36,7 +38,7 @@
     private final GridMenuPanel<GroupDTO> gridMenuPanel;
 
     public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
-            final WorkspaceSkeleton ws) {
+            final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
         super(i18n.t("Participates in"), i18n.t("Groups in which participates"), ws);
         // super.setBorderStylePrimaryName("k-dropdownouter-part"); //
         // super.addStyleName("kune-Margin-Medium-t");
@@ -48,7 +50,7 @@
                 presenter.onDoubleClick(groupShortName);
             }
         };
-        gridMenuPanel.onClick(go);
+        // gridMenuPanel.onClick(go);
         gridMenuPanel.onDoubleClick(go);
         super.add(gridMenuPanel);
         ws.addInSummary(this);

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -21,6 +21,8 @@
 
 import java.util.List;
 
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
 import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
@@ -48,8 +50,9 @@
 
     public ParticipationSummaryPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
             final ImageUtils imageUtils, final Session session,
-            final Provider<SocialNetworkServiceAsync> snServiceProvider, final WsThemePresenter wsThemePresenter) {
-        super(i18n, stateManager, imageUtils, session, snServiceProvider);
+            final Provider<SocialNetworkServiceAsync> snServiceProvider, final WsThemePresenter wsThemePresenter,
+            GroupActionRegistry groupActionRegistry, ActionParticipationToolbar actionParticipationToolbar) {
+        super(i18n, stateManager, imageUtils, session, snServiceProvider, groupActionRegistry);
         adminCategory = new GridGroup("admin in:", " ", i18n.tWithNT("Administrate these groups",
                 "talking about a person"), false);
         collabCategory = new GridGroup(i18n.t("and as collaborator in:"), " ", i18n.t("Collaborate in these groups"),
@@ -103,7 +106,5 @@
         } else {
             hide();
         }
-
     }
-
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java	2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java	2008-11-19 17:55:46 UTC (rev 956)
@@ -18,6 +18,7 @@
  *
  */package org.ourproject.kune.workspace.client.socialnet;
 
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
 import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.GroupType;
@@ -63,15 +64,17 @@
     private final ImageUtils imageUtils;
     private final MenuItemCollection<GroupDTO> otherOperationsUsers;
     private final MenuItemCollection<GroupDTO> otherLoggedOperationsUsers;
+    private final GroupActionRegistry groupActionRegistry;
 
     public SocialNetworkPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
             final ImageUtils imageUtils, final Session session,
-            final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+            final Provider<SocialNetworkServiceAsync> snServiceProvider, GroupActionRegistry groupActionRegistry) {
         this.i18n = i18n;
         this.stateManager = stateManager;
         this.imageUtils = imageUtils;
         this.session = session;
         this.snServiceProvider = snServiceProvider;
+        this.groupActionRegistry = groupActionRegistry;
         createButtons();
         createMenuActions();
         otherOperationsUsers = new MenuItemCollection<GroupDTO>();




More information about the kune-commits mailing list