[kune-commits] r806 - in trunk/src/main/java/org/ourproject/kune: platf/client/services platf/client/ui/gridmenu workspace/client/presence/ui workspace/client/socialnet workspace/client/tags workspace/client/ui/newtmp workspace/client/workspace

vjrj vjrj at ourproject.org
Sun Jul 20 22:33:46 CEST 2008


Author: vjrj
Date: 2008-07-20 22:33:37 +0200 (Sun, 20 Jul 2008)
New Revision: 806

Modified:
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
Log:
Incomplete - task 9: New DropDown+ GridMenuPanel 


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-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -227,13 +227,12 @@
 
 	builder.registerProvider(WorkspaceManager.class, new Provider<WorkspaceManager>() {
 	    public WorkspaceManager get() {
-		// TODO: use here providers instead of getInstance
 		final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder
 			.getInstance(EntityTitlePresenter.class), builder.getInstance(EntitySubTitlePresenter.class),
 			builder.getInstance(WsThemePresenter.class), builder.getInstance(EntityLicensePresenter.class),
-			builder.getInstance(GroupMembersSummary.class),
-			builder.getInstance(ParticipationSummary.class), builder.getInstance(TagsSummary.class),
-			builder.getInstance(GroupSummary.class));
+			builder.getProvider(GroupMembersSummary.class),
+			builder.getProvider(ParticipationSummary.class), builder.getProvider(TagsSummary.class),
+			builder.getProvider(GroupSummary.class));
 		return presenter;
 	    }
 	}, SingletonScope.class);

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -23,7 +23,7 @@
 
 import java.util.ArrayList;
 
-public class GridMenuItemCollection extends ArrayList<GridMenuItem<?>> {
+public class GridMenuItemCollection<T> extends ArrayList<GridMenuItem<T>> {
 
     private static final long serialVersionUID = 1L;
 

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-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -66,27 +66,28 @@
     private final GridDragConfiguration gridDragConfiguration;
     private final GridDropConfiguration gridDropConfiguration;
     private ColumnModel columnModel;
+    private final boolean withEndIcon;
 
     public GridMenuPanel(final String emptyText) {
-	this(emptyText, null, null, false, false, false, false);
+	this(emptyText, null, null, false, false, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters) {
-	this(emptyText, null, null, grouped, withCounters, false, false);
+	this(emptyText, null, null, grouped, withCounters, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters,
-	    final boolean withTopBar, final boolean withBottomBar) {
-	this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar);
+	    final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+	this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
     }
 
     public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration) {
-	this(emptyText, gridDragConfiguration, null, false, false, false, false);
+	this(emptyText, gridDragConfiguration, null, false, false, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration,
 	    final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters,
-	    final boolean withTopBar, final boolean withBottomBar) {
+	    final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
 	this.emptyText = emptyText;
 	this.gridDragConfiguration = gridDragConfiguration;
 	this.gridDropConfiguration = gridDropConfiguration;
@@ -94,6 +95,7 @@
 	this.onDoubleClick = new Signal<String>("onDoubleClick");
 	this.grouped = grouped;
 	this.withCounters = withCounters;
+	this.withEndIcon = withEndIcon;
 	panel = new Panel();
 	panel.setBorder(false);
 	panel.setLayout(new FitLayout());
@@ -111,7 +113,7 @@
     }
 
     public GridMenuPanel(final String emptyText, final GridDropConfiguration gridDropConfiguration) {
-	this(emptyText, null, gridDropConfiguration, false, false, false, false);
+	this(emptyText, null, gridDropConfiguration, false, false, false, false, false);
     }
 
     public void addItem(final GridItem<T> gridItem) {
@@ -161,10 +163,12 @@
     }
 
     public Toolbar getBottomBar() {
+	assert bottomBar != null;
 	return bottomBar;
     }
 
     public Toolbar getTopBar() {
+	assert topBar != null;
 	return topBar;
     }
 
@@ -196,12 +200,6 @@
 	}
     }
 
-    public void setEndIconVisible(final boolean visible) {
-	createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
-	columnModel.setHidden(2, !visible);
-	doLayoutIfNeeded();
-    }
-
     public void setWidth(final int width) {
 	if (grid != null) {
 	    grid.setWidth(width - 27);
@@ -322,11 +320,13 @@
 	    }
 	};
 
-	final ColumnConfig[] columnsConfigs = new ColumnConfig[] {
-		new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML),
-		new ColumnConfig("Title", TITLE_HTML, 80, true, titleHtmlRenderer, TITLE_HTML),
-		new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer, END_ICON_HTML),
-		new ColumnConfig(GROUP, GROUP, 0) };
+	final ColumnConfig iconColumn = new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML);
+	final ColumnConfig titleColumn = new ColumnConfig("Title", TITLE_HTML, 100, true, titleHtmlRenderer, TITLE_HTML);
+	final ColumnConfig endIconColumn = new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer,
+		END_ICON_HTML);
+	final ColumnConfig groupColumn = new ColumnConfig(GROUP, GROUP, 0);
+	final ColumnConfig[] columnsConfigs = withEndIcon ? new ColumnConfig[] { iconColumn, titleColumn,
+		endIconColumn, groupColumn } : new ColumnConfig[] { iconColumn, titleColumn, groupColumn };
 	columnModel = new ColumnModel(columnsConfigs);
 	grid.setColumnModel(columnModel);
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -21,26 +21,36 @@
 
 import org.ourproject.kune.platf.client.AbstractPresenter;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
+import org.ourproject.kune.platf.client.ui.DropDownPanel;
 import org.ourproject.kune.workspace.client.sitebar.Site;
 import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
 import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
 
-public class GroupSummaryPanel extends StackedDropDownPanel implements GroupSummaryView {
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
 
+public class GroupSummaryPanel extends DropDownPanel implements GroupSummaryView {
+
+    private final VerticalPanel vp;
+
     public GroupSummaryPanel(final AbstractPresenter presenter, final I18nTranslationService i18n,
 	    final WorkspaceSkeleton ws) {
-	// FIXME
-	super(presenter, "red", i18n.t("Group Summary"), i18n.t("Some summarized information about current project"
-		+ Site.IN_DEVELOPMENT), false);
-	setDropDownContentVisible(true);
-	setVisible(true);
+	super(i18n.t("Group Summary"), true);
+	setHeaderTitle(i18n.t("Some summarized information about current project" + Site.IN_DEVELOPMENT));
+	vp = new VerticalPanel();
+	vp.setWidth("100%");
+	super.setContent(vp);
+	super.setContentVisible(true);
+	super.setBorderStylePrimaryName("k-dropdownouter-summary");
+	addStyleName("kune-Margin-Medium-tl");
 	ws.getEntitySummary().addInSummary(this);
     }
 
     public void setComment(final String comment) {
-	super.clear();
-	super.addComment(comment);
+	final Label label = new Label(comment);
+	label.addStyleName("kune-Margin-Small-trbl");
+	vp.clear();
+	vp.add(label);
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -1,5 +1,7 @@
 package org.ourproject.kune.workspace.client.socialnet;
 
+import java.util.HashMap;
+
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.ui.DropDownPanel;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
@@ -22,6 +24,7 @@
     private final GridMenuPanel<GroupDTO> gridMenuPanel;
     private final I18nUITranslationService i18n;
     private final GroupMembersSummaryPresenterNew presenter;
+    private final HashMap<GridButton, ToolbarButton> buttonsCache;
 
     public GroupMembersSummaryPanelNew(final GroupMembersSummaryPresenterNew presenter,
 	    final I18nUITranslationService i18n, final WorkspaceSkeleton ws) {
@@ -31,8 +34,9 @@
 	super.setHeaderText(i18n.t("Group members"));
 	super.setHeaderTitle(i18n.t("People and groups collaborating in this group"));
 	super.setBorderStylePrimaryName("k-dropdownouter-members");
+	super.addStyleName("kune-Margin-Medium-tl");
 	gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
-		+ "please request to join to work on it"), true, true, false, true);
+		+ "please request to join to work on it"), true, true, false, true, false);
 	final EntitySummary entitySummary = ws.getEntitySummary();
 	entitySummary.addInSummary(this);
 	entitySummary.addListener(new ContainerListenerAdapter() {
@@ -43,18 +47,24 @@
 	    }
 	});
 	this.setContent(gridMenuPanel);
+	buttonsCache = new HashMap<GridButton, ToolbarButton>();
     }
 
     public void addButton(final GridButton gridButton) {
-	final ToolbarButton button = new ToolbarButton(gridButton.getTitle());
-	button.setIcon(gridButton.getIcon());
-	button.setTooltip(gridButton.getTooltip());
-	button.addListener(new ButtonListenerAdapter() {
-	    public void onClick(final Button button, final EventObject e) {
-		gridButton.getSlot().onEvent("");
-	    }
-	});
-	gridMenuPanel.getBottomBar().addButton(button);
+	ToolbarButton button = buttonsCache.get(gridButton);
+	if (button == null) {
+	    button = new ToolbarButton(gridButton.getTitle());
+	    button.setIcon(gridButton.getIcon());
+	    button.setTooltip(gridButton.getTooltip());
+	    button.addListener(new ButtonListenerAdapter() {
+		public void onClick(final Button button, final EventObject e) {
+		    gridButton.getSlot().onEvent("");
+		}
+	    });
+	}
+	if (!button.isAttached()) {
+	    gridMenuPanel.getBottomBar().addButton(button);
+	}
     }
 
     public void addItem(final GridItem<GroupDTO> gridItem) {
@@ -63,6 +73,9 @@
 
     public void clear() {
 	gridMenuPanel.removeAll();
+	for (final ToolbarButton button : buttonsCache.values()) {
+	    button.removeFromParent();
+	}
     }
 
     public void confirmAddCollab(final String groupShortName, final String groupLongName) {

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-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -32,6 +32,7 @@
 import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
 import org.ourproject.kune.platf.client.dto.StateDTO;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
 import org.ourproject.kune.workspace.client.WorkspaceEvents;
 import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
 import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
@@ -58,6 +59,11 @@
 	DefaultDispatcher.getInstance().fire(WorkspaceEvents.ADD_COLLAB_MEMBER, groupShortName);
     }
 
+    public void addGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+	// TODO Auto-generated method stub
+
+    }
+
     public View getView() {
 	return view;
     }
@@ -78,6 +84,11 @@
 	view.confirmAddCollab(groupShortName, groupLongName);
     }
 
+    public void removeGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+	// TODO Auto-generated method stub
+
+    }
+
     public void setState(final StateDTO state) {
 	if (state.getGroup().getType() == GroupDTO.PERSONAL) {
 	    hide();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -21,6 +21,7 @@
 import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridMenu;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItemCollection;
 import org.ourproject.kune.workspace.client.sitebar.Site;
 import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
 import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
@@ -48,6 +49,8 @@
     private GridButton addMember;
     private GridButton requestJoin;
     private GridButton unJoinButton;
+    private GridMenuItemCollection<GroupDTO> otherOperations;
+    private GridMenuItemCollection<GroupDTO> otherLoggedOperations;
 
     public GroupMembersSummaryPresenterNew(final I18nTranslationService i18n,
 	    final Provider<StateManager> stateManager, final ImageUtils imageUtils, final Session session,
@@ -83,6 +86,15 @@
 		});
     }
 
+    public void addGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+	GridMenuItemCollection<GroupDTO> collection;
+	collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+	if (collection == null) {
+	    collection = new GridMenuItemCollection<GroupDTO>();
+	}
+	collection.add(operation);
+    }
+
     public void hide() {
 	view.setVisible(false);
     }
@@ -91,6 +103,14 @@
 	this.view = view;
     }
 
+    public void removeGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+	GridMenuItemCollection<GroupDTO> collection;
+	collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+	if (collection != null) {
+	    collection.remove(operation);
+	}
+    }
+
     public void setState(final StateDTO state) {
 	if (state.getGroup().getType() == GroupDTO.PERSONAL) {
 	    hide();
@@ -115,7 +135,7 @@
 	    }
 	});
 
-	requestJoin = new GridButton("images/add-green.gif", i18n.t("Request to join"), i18n
+	requestJoin = new GridButton("images/add-green.gif", i18n.t("Participate"), i18n
 		.t("Request to participate in this group"), new Slot<String>() {
 	    public void onEvent(final String parameter) {
 		Site.showProgressProcessing();
@@ -139,7 +159,7 @@
 	    }
 	});
 
-	unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin this group"), i18n
+	unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin"), i18n
 		.t("Don't participate more as a member in this group"), new Slot<String>() {
 	    public void onEvent(final String parameter) {
 		Site.showProgressProcessing();
@@ -165,6 +185,12 @@
 		.getImageHtml(ImageDescriptor.groupDefIcon), longName, longName, " ", longName, i18n.t(
 		"User name: [%s]", group.getShortName()), menu);
 	menu.addMenuItem(gotoGroupMenuItem);
+	if (otherOperations != null) {
+	    menu.addMenuItemList(otherOperations);
+	}
+	if (session.isLogged() && otherOperations != null) {
+	    menu.addMenuItemList(otherLoggedOperations);
+	}
 	return gridItem;
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -45,18 +45,19 @@
     public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n,
 	    final WorkspaceSkeleton ws) {
 	super(i18n.t("Tags"), true);
-	super.setBorderStylePrimaryName("k-dropdownouter-tags");
 	this.i18n = i18n;
 	setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
 	this.presenter = presenter;
-	addStyleName("kune-Margin-Medium-t");
 	flowPanel = new FlowPanel();
 	final VerticalPanel vp = new VerticalPanel();
+	noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
 	vp.add(flowPanel);
 	vp.setWidth("100%");
 	vp.setCellWidth(flowPanel, "100%");
 	super.setContent(vp);
-	noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
+	super.setBorderStylePrimaryName("k-dropdownouter-tags");
+	addStyleName("kune-Margin-Medium-tl");
+	flowPanel.addStyleName("kune-Margin-Small-trbl");
 	ws.getEntitySummary().addInSummary(this);
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -13,6 +13,7 @@
 import org.ourproject.kune.workspace.client.workspace.TagsSummary;
 import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo;
 
+import com.calclab.suco.client.container.Provider;
 import com.calclab.suco.client.signal.Slot2;
 
 public class WorkspaceManager {
@@ -22,38 +23,40 @@
     private final WsThemePresenter wsThemePresenter;
     private final EntityLicensePresenter entityLicensePresenter;
     private final EntitySubTitlePresenter entitySubTitlePresenter;
-    private final TagsSummary tags;
-    private final GroupMembersSummary groupMembersSummary;
-    private final ParticipationSummary participationSummary;
-    private final GroupSummary groupSummary;
+    private final Provider<TagsSummary> tagsProvider;
+    private final Provider<GroupMembersSummary> groupMembersSummaryProvider;
+    private final Provider<ParticipationSummary> participationSummaryProvider;
+    private final Provider<GroupSummary> groupSummaryProvider;
 
     public WorkspaceManager(final EntityLogo entityLogo, final EntityTitlePresenter entityTitlePresenter,
 	    final EntitySubTitlePresenter entitySubTitlePresenter, final WsThemePresenter wsThemePresenter,
-	    final EntityLicensePresenter entityLicensePresenter, final GroupMembersSummary groupMembersSummary,
-	    final ParticipationSummary participationSummary, final TagsSummary tags, final GroupSummary groupSummary) {
+	    final EntityLicensePresenter entityLicensePresenter,
+	    final Provider<GroupMembersSummary> groupMembersSummaryProvider,
+	    final Provider<ParticipationSummary> participationSummaryProvider,
+	    final Provider<TagsSummary> tagsSummaryProvider, final Provider<GroupSummary> groupSummaryProvider) {
 	this.entityLogo = entityLogo;
 	this.entityTitlePresenter = entityTitlePresenter;
 	this.entitySubTitlePresenter = entitySubTitlePresenter;
 	this.entityLicensePresenter = entityLicensePresenter;
 	this.wsThemePresenter = wsThemePresenter;
-	this.groupMembersSummary = groupMembersSummary;
-	this.participationSummary = participationSummary;
-	this.tags = tags;
-	this.groupSummary = groupSummary;
+	this.groupMembersSummaryProvider = groupMembersSummaryProvider;
+	this.participationSummaryProvider = participationSummaryProvider;
+	this.tagsProvider = tagsSummaryProvider;
+	this.groupSummaryProvider = groupSummaryProvider;
 	wsThemePresenter.onThemeChanged(new Slot2<WsTheme, WsTheme>() {
 	    public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
 		entityLogo.setTheme(oldTheme, newTheme);
-		groupMembersSummary.setTheme(oldTheme, newTheme);
-		participationSummary.setTheme(oldTheme, newTheme);
-		groupSummary.setTheme(oldTheme, newTheme);
-		tags.setTheme(oldTheme, newTheme);
+		groupMembersSummaryProvider.get().setTheme(oldTheme, newTheme);
+		participationSummaryProvider.get().setTheme(oldTheme, newTheme);
+		groupSummaryProvider.get().setTheme(oldTheme, newTheme);
+		tagsSummaryProvider.get().setTheme(oldTheme, newTheme);
 	    }
 	});
     }
 
     public void setSocialNetwork(final StateDTO state) {
-	groupMembersSummary.setState(state);
-	participationSummary.setState(state);
+	groupMembersSummaryProvider.get().setState(state);
+	participationSummaryProvider.get().setState(state);
     }
 
     public void setState(final StateDTO state) {
@@ -65,8 +68,8 @@
 	entitySubTitlePresenter.setState(state);
 	entityLicensePresenter.setLicense(state);
 	setSocialNetwork(state);
-	groupSummary.setState(state);
-	tags.setState(state);
+	groupSummaryProvider.get().setState(state);
+	tagsProvider.get().setState(state);
 	// Only for probes:
 	wsThemePresenter.setVisible(true);
 	wsThemePresenter.setTheme(new WsTheme(group.getWorkspaceTheme()));

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java	2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java	2008-07-20 20:33:37 UTC (rev 806)
@@ -20,7 +20,9 @@
 
 package org.ourproject.kune.workspace.client.workspace;
 
+import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
 import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
 
 public interface GroupMembersSummary {
@@ -29,4 +31,8 @@
 
     public void setTheme(WsTheme oldTheme, WsTheme newTheme);
 
+    void addGroupOperation(GridMenuItem<GroupDTO> operation, boolean mustBeLogged);
+
+    void removeGroupOperation(GridMenuItem<GroupDTO> operation, boolean mustBeLogged);
+
 }




More information about the kune-commits mailing list