r1073 - in trunk: img/icons script src/main/java/org/ourproject/kune/app/client src/main/java/org/ourproject/kune/blogs/client src/main/java/org/ourproject/kune/docs/client src/main/java/org/ourproject/kune/gallery/client src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/rpc src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/ui src/main/java/org/ourproject/kune/platf/client/ui/rte/basic src/mai
Author: vjrj Date: 2009-03-12 09:05:10 +0100 (Thu, 12 Mar 2009) New Revision: 1073 Added: trunk/img/icons/arrow_in.png trunk/src/main/java/org/ourproject/kune/platf/client/services/CoreModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/ErrorHandler.java trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_in.png trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_out.png trunk/src/main/java/org/ourproject/kune/workspace/client/RegistryModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspace.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspaceView.java Removed: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java Modified: trunk/script/generateBasicUIElements.sh trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.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/gallery/client/GalleryClientActions.java trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationComponentGroup.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/AsyncCallbackSimple.java trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialog.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialogPresenter.java trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesign/SiteSignOutLinkPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java Log: Incomplete - task Better RTE (Rich Text Editor) support Added: trunk/img/icons/arrow_in.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/arrow_in.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/script/generateBasicUIElements.sh =================================================================== --- trunk/script/generateBasicUIElements.sh 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/script/generateBasicUIElements.sh 2009-03-12 08:05:10 UTC (rev 1073) @@ -84,7 +84,7 @@ register(Singleton.class, new Factory<${NAME}>(${NAME}.class) { public ${NAME} create() { final ${NAME}Presenter presenter = new ${NAME}Presenter(); - final ${NAME}Panel panel = new ${NAME}Panel(presenter)); + final ${NAME}Panel panel = new ${NAME}Panel(presenter); presenter.init(panel); return presenter; } Modified: trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -23,11 +23,11 @@ import org.ourproject.kune.chat.client.ChatClientModule; import org.ourproject.kune.docs.client.DocumentClientModule; import org.ourproject.kune.gallery.client.GalleryClientModule; -import org.ourproject.kune.platf.client.services.KuneCoreModule; -import org.ourproject.kune.platf.client.services.KunePlatformModule; +import org.ourproject.kune.platf.client.services.CoreModule; +import org.ourproject.kune.platf.client.services.PlatformModule; import org.ourproject.kune.wiki.client.WikiClientModule; -import org.ourproject.kune.workspace.client.KuneRegistryModule; -import org.ourproject.kune.workspace.client.KuneWorkspaceModule; +import org.ourproject.kune.workspace.client.RegistryModule; +import org.ourproject.kune.workspace.client.WorkspaceModule; import org.ourproject.kune.workspace.client.hello.HelloWorldModule; import com.allen_sauer.gwt.log.client.Log; @@ -63,9 +63,9 @@ } public void onModuleLoadCont() { - Suco.install(new KuneCoreModule(), new KuneRegistryModule(), new KunePlatformModule(), new EmiteUIModule(), + Suco.install(new CoreModule(), new RegistryModule(), new PlatformModule(), new EmiteUIModule(), new DocumentClientModule(), new BlogClientModule(), new WikiClientModule(), new GalleryClientModule(), - new ChatClientModule(), new KuneWorkspaceModule()); + new ChatClientModule(), new WorkspaceModule()); // We install our HelloWorldModule Suco.install(new HelloWorldModule()); Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -28,7 +28,7 @@ import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -53,7 +53,7 @@ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider, final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, - final Provider<ContentEditor> textEditorProvider, final KuneErrorHandler errorHandler, + final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, final SitePublicSpaceLink publicLink) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -35,7 +35,7 @@ import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -78,7 +78,7 @@ $(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class), $$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class), - $(EntityHeader.class), $$(ContentEditor.class), $(KuneErrorHandler.class), $(BlogViewer.class), + $(EntityHeader.class), $$(ContentEditor.class), $(ErrorHandler.class), $(BlogViewer.class), $$(ContextPropEditor.class), $(SitePublicSpaceLink.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -28,7 +28,7 @@ import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -53,7 +53,7 @@ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider, final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, - final Provider<ContentEditor> textEditorProvider, final KuneErrorHandler errorHandler, + final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, final SitePublicSpaceLink publicLink) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -35,7 +35,7 @@ import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -78,7 +78,7 @@ $(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class), $$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class), - $(EntityHeader.class), $$(ContentEditor.class), $(KuneErrorHandler.class), + $(EntityHeader.class), $$(ContentEditor.class), $(ErrorHandler.class), $(DocumentViewer.class), $$(ContextPropEditor.class), $(SitePublicSpaceLink.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -27,7 +27,7 @@ import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -52,7 +52,7 @@ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider, final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, - final Provider<ContentEditor> textEditorProvider, final KuneErrorHandler errorHandler, + final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final GalleryViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, final SitePublicSpaceLink publicLink) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -35,7 +35,7 @@ import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -78,7 +78,7 @@ $(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class), $$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class), - $(EntityHeader.class), $$(ContentEditor.class), $(KuneErrorHandler.class), + $(EntityHeader.class), $$(ContentEditor.class), $(ErrorHandler.class), $(GalleryViewer.class), $$(ContextPropEditor.class), $(SitePublicSpaceLink.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationComponentGroup.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationComponentGroup.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationComponentGroup.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -24,6 +24,11 @@ import com.calclab.suco.client.ioc.decorator.ProviderCollection; import com.calclab.suco.client.ioc.decorator.Singleton; +/** + * Use this decorator with parts of kune that are needed at start time (like + * main widgets in workspace). Them are created automatically when starting. + * + */ public class ApplicationComponentGroup extends ProviderCollection { public ApplicationComponentGroup(final Container container) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/AsyncCallbackSimple.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/AsyncCallbackSimple.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/AsyncCallbackSimple.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -19,15 +19,15 @@ */ package org.ourproject.kune.platf.client.rpc; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import com.google.gwt.user.client.rpc.AsyncCallback; public abstract class AsyncCallbackSimple<T> implements AsyncCallback<T> { - private static KuneErrorHandler errorHandler; + private static ErrorHandler errorHandler; - public static void init(KuneErrorHandler kuneErrorHandler) { + public static void init(ErrorHandler kuneErrorHandler) { errorHandler = kuneErrorHandler; } Copied: trunk/src/main/java/org/ourproject/kune/platf/client/services/CoreModule.java (from rev 1071, trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2009-03-11 14:08:13 UTC (rev 1071) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/CoreModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,40 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + \*/ +package org.ourproject.kune.platf.client.services; + +import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; +import org.ourproject.kune.platf.client.app.EntityOptionsGroup; +import org.ourproject.kune.platf.client.app.ToolGroup; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; + +import com.calclab.suco.client.ioc.module.AbstractModule; + +public class CoreModule extends AbstractModule { + + @Override + public void onInstall() { + registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container)); + registerDecorator(ToolGroup.class, new ToolGroup(container)); + registerDecorator(EntityOptionsGroup.class, new EntityOptionsGroup(container)); + registerDecorator(InsertImageGroup.class, new InsertImageGroup(container)); + registerDecorator(InsertLinkGroup.class, new InsertLinkGroup(container)); + } +} Copied: trunk/src/main/java/org/ourproject/kune/platf/client/services/ErrorHandler.java (from rev 1071, trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2009-03-11 14:08:13 UTC (rev 1071) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/ErrorHandler.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,131 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.ourproject.kune.platf.client.services; + +import org.ourproject.kune.platf.client.errors.AccessViolationException; +import org.ourproject.kune.platf.client.errors.AlreadyGroupMemberException; +import org.ourproject.kune.platf.client.errors.AlreadyUserMemberException; +import org.ourproject.kune.platf.client.errors.ContainerNotPermittedException; +import org.ourproject.kune.platf.client.errors.ContentNotFoundException; +import org.ourproject.kune.platf.client.errors.ContentNotPermittedException; +import org.ourproject.kune.platf.client.errors.GroupNotFoundException; +import org.ourproject.kune.platf.client.errors.LastAdminInGroupException; +import org.ourproject.kune.platf.client.errors.SessionExpiredException; +import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; +import org.ourproject.kune.platf.client.i18n.I18nTranslationService; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; +import org.ourproject.kune.platf.client.ui.noti.NotifyUser; + +import com.allen_sauer.gwt.log.client.Log; +import com.calclab.suco.client.events.Event0; +import com.calclab.suco.client.events.Listener0; +import com.calclab.suco.client.ioc.Provider; +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException; + +public class ErrorHandler { + private final Session session; + private final I18nTranslationService i18n; + private final Event0 onSessionExpired; + private final Provider<StateManager> stateManagerProvider; + + public ErrorHandler(final Session session, final I18nTranslationService i18n, + final Provider<StateManager> stateManagerProvider) { + this.session = session; + this.i18n = i18n; + this.stateManagerProvider = stateManagerProvider; + this.onSessionExpired = new Event0("onSessionExpired"); + } + + public void doSessionExpired() { + onSessionExpired.fire(); + NotifyUser.info("Your session has expired. Please log in again."); + } + + public void onSessionExpired(final Listener0 listener) { + onSessionExpired.add(listener); + } + + public void process(final Throwable caught) { + NotifyUser.hideProgress(); + try { + throw caught; + } catch (final AccessViolationException e) { + logException(e); + NotifyUser.error(i18n.t("You do not have rights to perform that action")); + } catch (final SessionExpiredException e) { + logException(e); + doSessionExpired(); + } catch (final UserMustBeLoggedException e) { + logException(e); + if (session.isLogged()) { + doSessionExpired(); + } else { + NotifyUser.important(i18n.t("Please sign in or register to collaborate")); + } + } catch (final GroupNotFoundException e) { + logException(e); + NotifyUser.veryImportant(i18n.t("Group not found")); + stateManagerProvider.get().gotoToken(""); + } catch (final IncompatibleRemoteServiceException e) { + NotifyUser.error(i18n.t("Your browser is outdated with the server software. Please reload this page.")); + } catch (final ContentNotFoundException e) { + logException(e); + NotifyUser.veryImportant(i18n.t("Content not found")); + stateManagerProvider.get().gotoToken(""); + } catch (final ContentNotPermittedException e) { + logException(e); + NotifyUser.error(i18n.t("Action not permitted in this location")); + stateManagerProvider.get().gotoToken(""); + } catch (final ContainerNotPermittedException e) { + logException(e); + NotifyUser.error(i18n.t("Action not permitted in this location")); + stateManagerProvider.get().gotoToken(""); + } catch (final LastAdminInGroupException e) { + logException(e); + NotifyUser.showAlertMessage(i18n.t("Warning"), i18n.t("Sorry, you are the last admin of this group." + + " Look for someone to substitute you appropriately as admin before leaving this group.")); + } catch (final AlreadyGroupMemberException e) { + logException(e); + NotifyUser.error(i18n.t("This group is already a group member")); + } catch (final AlreadyUserMemberException e) { + logException(e); + NotifyUser.error(i18n.t("This user is already a group member")); + } catch (final Throwable e) { + logException(e, true); + NotifyUser.error(i18n.t("Error performing operation")); + GWT.log("Other kind of exception in StateManagerDefault/processErrorException", null); + } + } + + private void logException(final Throwable e) { + logException(e, false); + } + + private void logException(final Throwable e, final boolean showException) { + if (showException) { + Log.debug("Exception in KuneErrorHandler", e); + } else { + Log.debug("Exception in KuneErrorHandler: " + e.getMessage()); + } + } + +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -60,9 +60,15 @@ @Resource("org/ourproject/kune/platf/public/images/arrow-down-white.gif") AbstractImagePrototype arrowDownWhite(); + @Resource("org/ourproject/kune/platf/public/images/arrow_in.png") + AbstractImagePrototype arrowIn(); + @Resource("org/ourproject/kune/platf/public/images/arrow-left-green.png") AbstractImagePrototype arrowLeftGreen(); + @Resource("org/ourproject/kune/platf/public/images/arrow_out.png") + AbstractImagePrototype arrowOut(); + @Resource("org/ourproject/kune/platf/public/images/arrow-right-black.gif") AbstractImagePrototype arrowRightBlack(); Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -1,40 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - \*/ -package org.ourproject.kune.platf.client.services; - -import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; -import org.ourproject.kune.platf.client.app.EntityOptionsGroup; -import org.ourproject.kune.platf.client.app.ToolGroup; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; - -import com.calclab.suco.client.ioc.module.AbstractModule; - -public class KuneCoreModule extends AbstractModule { - - @Override - public void onInstall() { - registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container)); - registerDecorator(ToolGroup.class, new ToolGroup(container)); - registerDecorator(EntityOptionsGroup.class, new EntityOptionsGroup(container)); - registerDecorator(InsertImageGroup.class, new InsertImageGroup(container)); - registerDecorator(InsertLinkGroup.class, new InsertLinkGroup(container)); - } -} Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -1,131 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.platf.client.services; - -import org.ourproject.kune.platf.client.errors.AccessViolationException; -import org.ourproject.kune.platf.client.errors.AlreadyGroupMemberException; -import org.ourproject.kune.platf.client.errors.AlreadyUserMemberException; -import org.ourproject.kune.platf.client.errors.ContainerNotPermittedException; -import org.ourproject.kune.platf.client.errors.ContentNotFoundException; -import org.ourproject.kune.platf.client.errors.ContentNotPermittedException; -import org.ourproject.kune.platf.client.errors.GroupNotFoundException; -import org.ourproject.kune.platf.client.errors.LastAdminInGroupException; -import org.ourproject.kune.platf.client.errors.SessionExpiredException; -import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; -import org.ourproject.kune.platf.client.i18n.I18nTranslationService; -import org.ourproject.kune.platf.client.state.Session; -import org.ourproject.kune.platf.client.state.StateManager; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser; - -import com.allen_sauer.gwt.log.client.Log; -import com.calclab.suco.client.events.Event0; -import com.calclab.suco.client.events.Listener0; -import com.calclab.suco.client.ioc.Provider; -import com.google.gwt.core.client.GWT; -import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException; - -public class KuneErrorHandler { - private final Session session; - private final I18nTranslationService i18n; - private final Event0 onSessionExpired; - private final Provider<StateManager> stateManagerProvider; - - public KuneErrorHandler(final Session session, final I18nTranslationService i18n, - final Provider<StateManager> stateManagerProvider) { - this.session = session; - this.i18n = i18n; - this.stateManagerProvider = stateManagerProvider; - this.onSessionExpired = new Event0("onSessionExpired"); - } - - public void doSessionExpired() { - onSessionExpired.fire(); - NotifyUser.info("Your session has expired. Please log in again."); - } - - public void onSessionExpired(final Listener0 listener) { - onSessionExpired.add(listener); - } - - public void process(final Throwable caught) { - NotifyUser.hideProgress(); - try { - throw caught; - } catch (final AccessViolationException e) { - logException(e); - NotifyUser.error(i18n.t("You do not have rights to perform that action")); - } catch (final SessionExpiredException e) { - logException(e); - doSessionExpired(); - } catch (final UserMustBeLoggedException e) { - logException(e); - if (session.isLogged()) { - doSessionExpired(); - } else { - NotifyUser.important(i18n.t("Please sign in or register to collaborate")); - } - } catch (final GroupNotFoundException e) { - logException(e); - NotifyUser.veryImportant(i18n.t("Group not found")); - stateManagerProvider.get().gotoToken(""); - } catch (final IncompatibleRemoteServiceException e) { - NotifyUser.error(i18n.t("Your browser is outdated with the server software. Please reload this page.")); - } catch (final ContentNotFoundException e) { - logException(e); - NotifyUser.veryImportant(i18n.t("Content not found")); - stateManagerProvider.get().gotoToken(""); - } catch (final ContentNotPermittedException e) { - logException(e); - NotifyUser.error(i18n.t("Action not permitted in this location")); - stateManagerProvider.get().gotoToken(""); - } catch (final ContainerNotPermittedException e) { - logException(e); - NotifyUser.error(i18n.t("Action not permitted in this location")); - stateManagerProvider.get().gotoToken(""); - } catch (final LastAdminInGroupException e) { - logException(e); - NotifyUser.showAlertMessage(i18n.t("Warning"), i18n.t("Sorry, you are the last admin of this group." - + " Look for someone to substitute you appropriately as admin before leaving this group.")); - } catch (final AlreadyGroupMemberException e) { - logException(e); - NotifyUser.error(i18n.t("This group is already a group member")); - } catch (final AlreadyUserMemberException e) { - logException(e); - NotifyUser.error(i18n.t("This user is already a group member")); - } catch (final Throwable e) { - logException(e, true); - NotifyUser.error(i18n.t("Error performing operation")); - GWT.log("Other kind of exception in StateManagerDefault/processErrorException", null); - } - } - - private void logException(final Throwable e) { - logException(e, false); - } - - private void logException(final Throwable e, final boolean showException) { - if (showException) { - Log.debug("Exception in KuneErrorHandler", e); - } else { - Log.debug("Exception in KuneErrorHandler: " + e.getMessage()); - } - } - -} Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -1,419 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - \*/ -package org.ourproject.kune.platf.client.services; - -import org.ourproject.kune.platf.client.actions.ActionManager; -import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel; -import org.ourproject.kune.platf.client.app.Application; -import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; -import org.ourproject.kune.platf.client.app.ApplicationDefault; -import org.ourproject.kune.platf.client.app.HistoryWrapper; -import org.ourproject.kune.platf.client.app.HistoryWrapperDefault; -import org.ourproject.kune.platf.client.app.ToolGroup; -import org.ourproject.kune.platf.client.i18n.I18nTranslationService; -import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; -import org.ourproject.kune.platf.client.i18n.Resources; -import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; -import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; -import org.ourproject.kune.platf.client.rpc.I18nService; -import org.ourproject.kune.platf.client.rpc.I18nServiceAsync; -import org.ourproject.kune.platf.client.rpc.UserService; -import org.ourproject.kune.platf.client.rpc.UserServiceAsync; -import org.ourproject.kune.platf.client.state.ContentProvider; -import org.ourproject.kune.platf.client.state.ContentProviderDefault; -import org.ourproject.kune.platf.client.state.Session; -import org.ourproject.kune.platf.client.state.SessionDefault; -import org.ourproject.kune.platf.client.state.StateManager; -import org.ourproject.kune.platf.client.state.StateManagerDefault; -import org.ourproject.kune.platf.client.ui.QuickTipsHelper; -import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser; -import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette; -import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalettePanel; -import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalettePresenter; -import org.ourproject.kune.platf.client.ui.rte.TestRTEDialog; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEActionSndToolbar; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEActionTopToolbar; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEditor; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEditorPanel; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEditorPresenter; -import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialog; -import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlGroup; -import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialogPanel; -import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialogPresenter; -import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditor; -import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditorPanel; -import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditorPresenter; -import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreview; -import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreviewPanel; -import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreviewPresenter; -import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialogPanel; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialogPresenter; -import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExt; -import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExtPanel; -import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExtPresenter; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialogPanel; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialogPresenter; -import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmail; -import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmailPanel; -import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmailPresenter; -import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExt; -import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtPanel; -import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtPresenter; -import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtView; -import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditor; -import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPanel; -import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPresenter; -import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper; -import org.ourproject.kune.platf.client.utils.TimerWrapper; - -import com.calclab.suco.client.events.Listener0; -import com.calclab.suco.client.ioc.decorator.NoDecoration; -import com.calclab.suco.client.ioc.decorator.Singleton; -import com.calclab.suco.client.ioc.module.AbstractModule; -import com.calclab.suco.client.ioc.module.Factory; -import com.google.gwt.core.client.GWT; -import com.google.gwt.libideas.client.StyleInjector; -import com.google.gwt.user.client.Cookies; -import com.google.gwt.user.client.History; -import com.google.gwt.user.client.rpc.ServiceDefTarget; - -public class KunePlatformModule extends AbstractModule { - - @Override - protected void onInstall() { - - register(Singleton.class, new Factory<Session>(Session.class) { - @Override - public Session create() { - return new SessionDefault(Cookies.getCookie(Session.USERHASH), $$(UserServiceAsync.class)); - } - }, new Factory<I18nServiceAsync>(I18nServiceAsync.class) { - @Override - public I18nServiceAsync create() { - final I18nServiceAsync service = (I18nServiceAsync) GWT.create(I18nService.class); - ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getModuleBaseURL() + "I18nService"); - return service; - } - }, new Factory<UserServiceAsync>(UserServiceAsync.class) { - @Override - public UserServiceAsync create() { - final UserServiceAsync service = (UserServiceAsync) GWT.create(UserService.class); - ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getModuleBaseURL() + "UserService"); - return service; - } - }); - - register(Singleton.class, new Factory<HistoryWrapper>(HistoryWrapper.class) { - @Override - public HistoryWrapper create() { - return new HistoryWrapperDefault(); - } - }, new Factory<ContentProvider>(ContentProvider.class) { - @Override - public ContentProvider create() { - return new ContentProviderDefault($(ContentServiceAsync.class)); - } - }, new Factory<StateManager>(StateManager.class) { - @Override - public StateManager create() { - final StateManagerDefault stateManager = new StateManagerDefault($(ContentProvider.class), - $(Session.class), $(HistoryWrapper.class)); - History.addHistoryListener(stateManager); - return stateManager; - } - }); - - register(Singleton.class, new Factory<I18nUITranslationService>(I18nUITranslationService.class) { - @Override - public I18nUITranslationService create() { - final I18nUITranslationService i18n = new I18nUITranslationService(); - i18n.init($(I18nServiceAsync.class), $(Session.class), new Listener0() { - public void onEvent() { - onI18nReady(); - } - }); - return i18n; - } - }); - - register(Singleton.class, new Factory<FileDownloadUtils>(FileDownloadUtils.class) { - @Override - public FileDownloadUtils create() { - return new FileDownloadUtils($(Session.class), $(ImageUtils.class)); - } - }); - - register(Singleton.class, new Factory<QuickTipsHelper>(QuickTipsHelper.class) { - @Override - public QuickTipsHelper create() { - return new QuickTipsHelper(); - } - }); - - $(I18nUITranslationService.class); - $(QuickTipsHelper.class); - - } - - private void onI18nReady() { - final I18nUITranslationService i18n = $(I18nUITranslationService.class); - - if (container.hasProvider(I18nTranslationService.class)) { - container.removeProvider(I18nTranslationService.class); - } - - register(Singleton.class, new Factory<Resources>(Resources.class) { - @Override - public Resources create() { - return new Resources(i18n); - } - }); - - $(Resources.class); - - register(Singleton.class, new Factory<I18nTranslationService>(I18nTranslationService.class) { - @Override - public I18nTranslationService create() { - return i18n; - } - }); - - register(Singleton.class, new Factory<KuneErrorHandler>(KuneErrorHandler.class) { - @Override - public KuneErrorHandler create() { - return new KuneErrorHandler($(Session.class), i18n, $$(StateManager.class)); - } - }); - - register(Singleton.class, new Factory<Images>(Images.class) { - @Override - public Images create() { - return Images.App.getInstance(); - } - }, new Factory<ImageUtils>(ImageUtils.class) { - @Override - public ImageUtils create() { - return new ImageUtils($(Images.class)); - } - }); - - AsyncCallbackSimple.init($(KuneErrorHandler.class)); - - register(Singleton.class, new Factory<Application>(Application.class) { - @Override - public Application create() { - return new ApplicationDefault($(Session.class)); - } - - @Override - public void onAfterCreated(final Application instance) { - } - }); - - register(Singleton.class, new Factory<DeferredCommandWrapper>(DeferredCommandWrapper.class) { - @Override - public DeferredCommandWrapper create() { - return new DeferredCommandWrapper(); - } - }); - - register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) { - @Override - public ColorWebSafePalette create() { - final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter(); - final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter); - presenter.init(panel); - return presenter; - } - }); - - register(NoDecoration.class, new Factory<RTEActionTopToolbar>(RTEActionTopToolbar.class) { - @Override - public RTEActionTopToolbar create() { - final ActionToolbarPanel<Object> panel = new ActionToolbarPanel<Object>($$(ActionManager.class)); - final RTEActionTopToolbar toolbar = new RTEActionTopToolbar(panel); - return toolbar; - } - }, new Factory<RTEActionSndToolbar>(RTEActionSndToolbar.class) { - @Override - public RTEActionSndToolbar create() { - final ActionToolbarPanel<Object> panel = new ActionToolbarPanel<Object>($$(ActionManager.class), true); - final RTEActionSndToolbar toolbar = new RTEActionSndToolbar(panel); - return toolbar; - } - }); - - register(Singleton.class, new Factory<TimerWrapper>(TimerWrapper.class) { - @Override - public TimerWrapper create() { - return new TimerWrapper(); - } - }); - - register(NoDecoration.class, new Factory<RTEditor>(RTEditor.class) { - @Override - public RTEditor create() { - RTEActionTopToolbar topBar = $(RTEActionTopToolbar.class); - RTEActionSndToolbar sndBar = $(RTEActionSndToolbar.class); - final RTEditorPresenter presenter = new RTEditorPresenter($(I18nTranslationService.class), - $(Session.class), topBar, sndBar, $(RTEImgResources.class), $(InsertLinkDialog.class), - $(ColorWebSafePalette.class), $$(EditHtmlDialog.class), $$(InsertImageDialog.class), - $(DeferredCommandWrapper.class)); - final RTEditorPanel panel = new RTEditorPanel(presenter, $(I18nUITranslationService.class), - $(ActionManager.class)); - presenter.init(panel); - return presenter; - } - }, new Factory<RTESavingEditor>(RTESavingEditor.class) { - @Override - public RTESavingEditor create() { - RTESavingEditorPresenter presenter = new RTESavingEditorPresenter($(RTEditor.class), true, - $(I18nTranslationService.class), $(StateManager.class), $(DeferredCommandWrapper.class), - $(RTEImgResources.class), $(TimerWrapper.class)); - RTESavingEditorPanel panel = new RTESavingEditorPanel(); - presenter.init(panel); - return presenter; - } - }); - - register(NoDecoration.class, new Factory<TestRTEDialog>(TestRTEDialog.class) { - @Override - public TestRTEDialog create() { - return new TestRTEDialog($(RTESavingEditor.class)); - } - }); - - register(ApplicationComponentGroup.class, new Factory<NotifyUser>(NotifyUser.class) { - @Override - public NotifyUser create() { - return new NotifyUser($(I18nTranslationService.class), $(Images.class)); - } - }); - - register(Singleton.class, new Factory<RTEImgResources>(RTEImgResources.class) { - @Override - public RTEImgResources create() { - RTEImgResources instance = GWT.create(RTEImgResources.class); - StyleInjector.injectStylesheet(instance.css().getText()); - return instance; - } - }); - - registerDecorator(EditHtmlGroup.class, new EditHtmlGroup(container)); - - register(Singleton.class, new Factory<EditHtmlDialog>(EditHtmlDialog.class) { - @Override - public EditHtmlDialog create() { - final EditHtmlDialogPresenter presenter = new EditHtmlDialogPresenter(); - final EditHtmlDialogPanel panel = new EditHtmlDialogPanel(presenter, $(I18nTranslationService.class), - $(RTEImgResources.class), $(Images.class), $(EditHtmlGroup.class)); - presenter.init(panel); - return presenter; - } - }); - - register(EditHtmlGroup.class, new Factory<EditHtmlEditor>(EditHtmlEditor.class) { - @Override - public EditHtmlEditor create() { - final EditHtmlEditorPresenter presenter = new EditHtmlEditorPresenter($(EditHtmlDialog.class)); - final EditHtmlEditorPanel panel = new EditHtmlEditorPanel(i18n, presenter); - presenter.init(panel); - return presenter; - } - }, new Factory<EditHtmlPreview>(EditHtmlPreview.class) { - @Override - public EditHtmlPreview create() { - final EditHtmlPreviewPresenter presenter = new EditHtmlPreviewPresenter($(EditHtmlDialog.class)); - final EditHtmlPreviewPanel panel = new EditHtmlPreviewPanel(i18n, presenter); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<InsertImageDialog>(InsertImageDialog.class) { - @Override - public InsertImageDialog create() { - final InsertImageDialogPresenter presenter = new InsertImageDialogPresenter(); - final InsertImageDialogPanel panel = new InsertImageDialogPanel(presenter, $(I18nTranslationService.class), - $(Images.class), $(InsertImageGroup.class)); - presenter.init(panel); - return presenter; - } - }); - - register(InsertImageGroup.class, new Factory<InsertImageExt>(InsertImageExt.class) { - @Override - public InsertImageExt create() { - final InsertImageExtPresenter presenter = new InsertImageExtPresenter($(InsertImageDialog.class)); - final InsertImageExtPanel panel = new InsertImageExtPanel(presenter, i18n); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<InsertLinkDialog>(InsertLinkDialog.class) { - @Override - public InsertLinkDialog create() { - final InsertLinkDialogPresenter presenter = new InsertLinkDialogPresenter(); - final InsertLinkDialogPanel panel = new InsertLinkDialogPanel(presenter, $(Images.class), - $(I18nTranslationService.class), $(InsertLinkGroup.class)); - presenter.init(panel); - return presenter; - } - }); - - register(InsertLinkGroup.class, - new Factory<InsertLinkExt>(InsertLinkExt.class) { - @Override - public InsertLinkExt create() { - final InsertLinkExtPresenter presenter = new InsertLinkExtPresenter( - $(InsertLinkDialog.class)); - final InsertLinkExtView panel = new InsertLinkExtPanel(presenter, - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(InsertLinkGroup.class, new Factory<InsertLinkEmail>( - InsertLinkEmail.class) { - @Override - public InsertLinkEmail create() { - final InsertLinkEmailPresenter presenter = new InsertLinkEmailPresenter( - $(InsertLinkDialog.class)); - final InsertLinkEmailPanel panel = new InsertLinkEmailPanel(presenter, - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - $(ApplicationComponentGroup.class).createAll(); - $(ToolGroup.class).createAll(); - $(Application.class).start(); - // $(HelloWorld.class); - } -} \ No newline at end of file Copied: trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java (from rev 1071, trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2009-03-11 14:08:13 UTC (rev 1071) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,419 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + \*/ +package org.ourproject.kune.platf.client.services; + +import org.ourproject.kune.platf.client.actions.ActionManager; +import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel; +import org.ourproject.kune.platf.client.app.Application; +import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; +import org.ourproject.kune.platf.client.app.ApplicationDefault; +import org.ourproject.kune.platf.client.app.HistoryWrapper; +import org.ourproject.kune.platf.client.app.HistoryWrapperDefault; +import org.ourproject.kune.platf.client.app.ToolGroup; +import org.ourproject.kune.platf.client.i18n.I18nTranslationService; +import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; +import org.ourproject.kune.platf.client.i18n.Resources; +import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; +import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; +import org.ourproject.kune.platf.client.rpc.I18nService; +import org.ourproject.kune.platf.client.rpc.I18nServiceAsync; +import org.ourproject.kune.platf.client.rpc.UserService; +import org.ourproject.kune.platf.client.rpc.UserServiceAsync; +import org.ourproject.kune.platf.client.state.ContentProvider; +import org.ourproject.kune.platf.client.state.ContentProviderDefault; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.SessionDefault; +import org.ourproject.kune.platf.client.state.StateManager; +import org.ourproject.kune.platf.client.state.StateManagerDefault; +import org.ourproject.kune.platf.client.ui.QuickTipsHelper; +import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; +import org.ourproject.kune.platf.client.ui.noti.NotifyUser; +import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette; +import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalettePanel; +import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalettePresenter; +import org.ourproject.kune.platf.client.ui.rte.TestRTEDialog; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEActionSndToolbar; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEActionTopToolbar; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEditor; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEditorPanel; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEditorPresenter; +import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialog; +import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlGroup; +import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialogPanel; +import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialogPresenter; +import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditor; +import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditorPanel; +import org.ourproject.kune.platf.client.ui.rte.edithtml.editor.EditHtmlEditorPresenter; +import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreview; +import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreviewPanel; +import org.ourproject.kune.platf.client.ui.rte.edithtml.preview.EditHtmlPreviewPresenter; +import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialogPanel; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialogPresenter; +import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExt; +import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExtPanel; +import org.ourproject.kune.platf.client.ui.rte.insertimg.ext.InsertImageExtPresenter; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialogPanel; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialogPresenter; +import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmail; +import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmailPanel; +import org.ourproject.kune.platf.client.ui.rte.insertlink.email.InsertLinkEmailPresenter; +import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExt; +import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtPanel; +import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtPresenter; +import org.ourproject.kune.platf.client.ui.rte.insertlink.ext.InsertLinkExtView; +import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditor; +import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPanel; +import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPresenter; +import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper; +import org.ourproject.kune.platf.client.utils.TimerWrapper; + +import com.calclab.suco.client.events.Listener0; +import com.calclab.suco.client.ioc.decorator.NoDecoration; +import com.calclab.suco.client.ioc.decorator.Singleton; +import com.calclab.suco.client.ioc.module.AbstractModule; +import com.calclab.suco.client.ioc.module.Factory; +import com.google.gwt.core.client.GWT; +import com.google.gwt.libideas.client.StyleInjector; +import com.google.gwt.user.client.Cookies; +import com.google.gwt.user.client.History; +import com.google.gwt.user.client.rpc.ServiceDefTarget; + +public class PlatformModule extends AbstractModule { + + @Override + protected void onInstall() { + + register(Singleton.class, new Factory<Session>(Session.class) { + @Override + public Session create() { + return new SessionDefault(Cookies.getCookie(Session.USERHASH), $$(UserServiceAsync.class)); + } + }, new Factory<I18nServiceAsync>(I18nServiceAsync.class) { + @Override + public I18nServiceAsync create() { + final I18nServiceAsync service = (I18nServiceAsync) GWT.create(I18nService.class); + ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getModuleBaseURL() + "I18nService"); + return service; + } + }, new Factory<UserServiceAsync>(UserServiceAsync.class) { + @Override + public UserServiceAsync create() { + final UserServiceAsync service = (UserServiceAsync) GWT.create(UserService.class); + ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getModuleBaseURL() + "UserService"); + return service; + } + }); + + register(Singleton.class, new Factory<HistoryWrapper>(HistoryWrapper.class) { + @Override + public HistoryWrapper create() { + return new HistoryWrapperDefault(); + } + }, new Factory<ContentProvider>(ContentProvider.class) { + @Override + public ContentProvider create() { + return new ContentProviderDefault($(ContentServiceAsync.class)); + } + }, new Factory<StateManager>(StateManager.class) { + @Override + public StateManager create() { + final StateManagerDefault stateManager = new StateManagerDefault($(ContentProvider.class), + $(Session.class), $(HistoryWrapper.class)); + History.addHistoryListener(stateManager); + return stateManager; + } + }); + + register(Singleton.class, new Factory<I18nUITranslationService>(I18nUITranslationService.class) { + @Override + public I18nUITranslationService create() { + final I18nUITranslationService i18n = new I18nUITranslationService(); + i18n.init($(I18nServiceAsync.class), $(Session.class), new Listener0() { + public void onEvent() { + onI18nReady(); + } + }); + return i18n; + } + }); + + register(Singleton.class, new Factory<FileDownloadUtils>(FileDownloadUtils.class) { + @Override + public FileDownloadUtils create() { + return new FileDownloadUtils($(Session.class), $(ImageUtils.class)); + } + }); + + register(Singleton.class, new Factory<QuickTipsHelper>(QuickTipsHelper.class) { + @Override + public QuickTipsHelper create() { + return new QuickTipsHelper(); + } + }); + + $(I18nUITranslationService.class); + $(QuickTipsHelper.class); + + } + + private void onI18nReady() { + final I18nUITranslationService i18n = $(I18nUITranslationService.class); + + if (container.hasProvider(I18nTranslationService.class)) { + container.removeProvider(I18nTranslationService.class); + } + + register(Singleton.class, new Factory<Resources>(Resources.class) { + @Override + public Resources create() { + return new Resources(i18n); + } + }); + + $(Resources.class); + + register(Singleton.class, new Factory<I18nTranslationService>(I18nTranslationService.class) { + @Override + public I18nTranslationService create() { + return i18n; + } + }); + + register(Singleton.class, new Factory<ErrorHandler>(ErrorHandler.class) { + @Override + public ErrorHandler create() { + return new ErrorHandler($(Session.class), i18n, $$(StateManager.class)); + } + }); + + register(Singleton.class, new Factory<Images>(Images.class) { + @Override + public Images create() { + return Images.App.getInstance(); + } + }, new Factory<ImageUtils>(ImageUtils.class) { + @Override + public ImageUtils create() { + return new ImageUtils($(Images.class)); + } + }); + + AsyncCallbackSimple.init($(ErrorHandler.class)); + + register(Singleton.class, new Factory<Application>(Application.class) { + @Override + public Application create() { + return new ApplicationDefault($(Session.class)); + } + + @Override + public void onAfterCreated(final Application instance) { + } + }); + + register(Singleton.class, new Factory<DeferredCommandWrapper>(DeferredCommandWrapper.class) { + @Override + public DeferredCommandWrapper create() { + return new DeferredCommandWrapper(); + } + }); + + register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) { + @Override + public ColorWebSafePalette create() { + final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter(); + final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter); + presenter.init(panel); + return presenter; + } + }); + + register(NoDecoration.class, new Factory<RTEActionTopToolbar>(RTEActionTopToolbar.class) { + @Override + public RTEActionTopToolbar create() { + final ActionToolbarPanel<Object> panel = new ActionToolbarPanel<Object>($$(ActionManager.class)); + final RTEActionTopToolbar toolbar = new RTEActionTopToolbar(panel); + return toolbar; + } + }, new Factory<RTEActionSndToolbar>(RTEActionSndToolbar.class) { + @Override + public RTEActionSndToolbar create() { + final ActionToolbarPanel<Object> panel = new ActionToolbarPanel<Object>($$(ActionManager.class), true); + final RTEActionSndToolbar toolbar = new RTEActionSndToolbar(panel); + return toolbar; + } + }); + + register(Singleton.class, new Factory<TimerWrapper>(TimerWrapper.class) { + @Override + public TimerWrapper create() { + return new TimerWrapper(); + } + }); + + register(NoDecoration.class, new Factory<RTEditor>(RTEditor.class) { + @Override + public RTEditor create() { + RTEActionTopToolbar topBar = $(RTEActionTopToolbar.class); + RTEActionSndToolbar sndBar = $(RTEActionSndToolbar.class); + final RTEditorPresenter presenter = new RTEditorPresenter($(I18nTranslationService.class), + $(Session.class), topBar, sndBar, $(RTEImgResources.class), $(InsertLinkDialog.class), + $(ColorWebSafePalette.class), $$(EditHtmlDialog.class), $$(InsertImageDialog.class), + $(DeferredCommandWrapper.class)); + final RTEditorPanel panel = new RTEditorPanel(presenter, $(I18nUITranslationService.class), + $(ActionManager.class)); + presenter.init(panel); + return presenter; + } + }, new Factory<RTESavingEditor>(RTESavingEditor.class) { + @Override + public RTESavingEditor create() { + RTESavingEditorPresenter presenter = new RTESavingEditorPresenter($(RTEditor.class), true, + $(I18nTranslationService.class), $(StateManager.class), $(DeferredCommandWrapper.class), + $(RTEImgResources.class), $(TimerWrapper.class)); + RTESavingEditorPanel panel = new RTESavingEditorPanel(); + presenter.init(panel); + return presenter; + } + }); + + register(NoDecoration.class, new Factory<TestRTEDialog>(TestRTEDialog.class) { + @Override + public TestRTEDialog create() { + return new TestRTEDialog($(RTESavingEditor.class)); + } + }); + + register(ApplicationComponentGroup.class, new Factory<NotifyUser>(NotifyUser.class) { + @Override + public NotifyUser create() { + return new NotifyUser($(I18nTranslationService.class), $(Images.class)); + } + }); + + register(Singleton.class, new Factory<RTEImgResources>(RTEImgResources.class) { + @Override + public RTEImgResources create() { + RTEImgResources instance = GWT.create(RTEImgResources.class); + StyleInjector.injectStylesheet(instance.css().getText()); + return instance; + } + }); + + registerDecorator(EditHtmlGroup.class, new EditHtmlGroup(container)); + + register(Singleton.class, new Factory<EditHtmlDialog>(EditHtmlDialog.class) { + @Override + public EditHtmlDialog create() { + final EditHtmlDialogPresenter presenter = new EditHtmlDialogPresenter(); + final EditHtmlDialogPanel panel = new EditHtmlDialogPanel(presenter, $(I18nTranslationService.class), + $(RTEImgResources.class), $(Images.class), $(EditHtmlGroup.class)); + presenter.init(panel); + return presenter; + } + }); + + register(EditHtmlGroup.class, new Factory<EditHtmlEditor>(EditHtmlEditor.class) { + @Override + public EditHtmlEditor create() { + final EditHtmlEditorPresenter presenter = new EditHtmlEditorPresenter($(EditHtmlDialog.class)); + final EditHtmlEditorPanel panel = new EditHtmlEditorPanel(i18n, presenter); + presenter.init(panel); + return presenter; + } + }, new Factory<EditHtmlPreview>(EditHtmlPreview.class) { + @Override + public EditHtmlPreview create() { + final EditHtmlPreviewPresenter presenter = new EditHtmlPreviewPresenter($(EditHtmlDialog.class)); + final EditHtmlPreviewPanel panel = new EditHtmlPreviewPanel(i18n, presenter); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<InsertImageDialog>(InsertImageDialog.class) { + @Override + public InsertImageDialog create() { + final InsertImageDialogPresenter presenter = new InsertImageDialogPresenter(); + final InsertImageDialogPanel panel = new InsertImageDialogPanel(presenter, $(I18nTranslationService.class), + $(Images.class), $(InsertImageGroup.class)); + presenter.init(panel); + return presenter; + } + }); + + register(InsertImageGroup.class, new Factory<InsertImageExt>(InsertImageExt.class) { + @Override + public InsertImageExt create() { + final InsertImageExtPresenter presenter = new InsertImageExtPresenter($(InsertImageDialog.class)); + final InsertImageExtPanel panel = new InsertImageExtPanel(presenter, i18n); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<InsertLinkDialog>(InsertLinkDialog.class) { + @Override + public InsertLinkDialog create() { + final InsertLinkDialogPresenter presenter = new InsertLinkDialogPresenter(); + final InsertLinkDialogPanel panel = new InsertLinkDialogPanel(presenter, $(Images.class), + $(I18nTranslationService.class), $(InsertLinkGroup.class)); + presenter.init(panel); + return presenter; + } + }); + + register(InsertLinkGroup.class, + new Factory<InsertLinkExt>(InsertLinkExt.class) { + @Override + public InsertLinkExt create() { + final InsertLinkExtPresenter presenter = new InsertLinkExtPresenter( + $(InsertLinkDialog.class)); + final InsertLinkExtView panel = new InsertLinkExtPanel(presenter, + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(InsertLinkGroup.class, new Factory<InsertLinkEmail>( + InsertLinkEmail.class) { + @Override + public InsertLinkEmail create() { + final InsertLinkEmailPresenter presenter = new InsertLinkEmailPresenter( + $(InsertLinkDialog.class)); + final InsertLinkEmailPanel panel = new InsertLinkEmailPanel(presenter, + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + $(ApplicationComponentGroup.class).createAll(); + $(ToolGroup.class).createAll(); + $(Application.class).start(); + // $(HelloWorld.class); + } +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -55,7 +55,7 @@ private HorizontalAlignmentConstant horzAlign; private MouseListenerCollection mouseListeners; private MouseWheelListenerCollection mouseWheelListeners; - private final Element icon; + private Element icon; private final Element textLabel; /** @@ -123,7 +123,7 @@ private IconLabel(final AbstractImagePrototype image, final boolean leftIcon) { setElement(DOM.createDiv()); sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONMOUSEWHEEL | Event.ONDBLCLICK); - icon = image.createImage().getElement(); + setIcon(image); textLabel = DOM.createSpan(); if (leftIcon) { setStyleName("kune-IconLabel-l"); @@ -164,10 +164,6 @@ mouseWheelListeners.add(listener); } - public void setStyleNameToText(final String styleName) { - DOM.setElementProperty(textLabel.<com.google.gwt.user.client.Element> cast(), "className", styleName); - } - public HorizontalAlignmentConstant getHorizontalAlignment() { return horzAlign; } @@ -244,6 +240,14 @@ DOM.setStyleAttribute(textLabel, "textAlign", align.getTextAlignString()); } + public void setIcon(AbstractImagePrototype image) { + icon = getImageElement(image); + } + + public void setStyleNameToText(final String styleName) { + DOM.setElementProperty(textLabel.<com.google.gwt.user.client.Element> cast(), "className", styleName); + } + public void setText(final String text) { DOM.setInnerText(textLabel, text); } @@ -258,4 +262,8 @@ DOM.setStyleAttribute(textLabel, "whiteSpace", wrap ? "normal" : "nowrap"); } + private Element getImageElement(final AbstractImagePrototype image) { + return image.createImage().getElement(); + } + } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -68,8 +68,8 @@ public RTEditorPresenter(I18nTranslationService i18n, Session session, RTEActionTopToolbar topBar, RTEActionSndToolbar sndBar, RTEImgResources imgResources, InsertLinkDialog textEditorInsertElement, - ColorWebSafePalette palette, Provider<EditHtmlDialog> editHtmlDialog, Provider<InsertImageDialog> insertImageDialog, - DeferredCommandWrapper deferred) { + ColorWebSafePalette palette, Provider<EditHtmlDialog> editHtmlDialog, + Provider<InsertImageDialog> insertImageDialog, DeferredCommandWrapper deferred) { this.i18n = i18n; this.session = session; this.topBar = topBar; @@ -535,6 +535,12 @@ public void onEvent() { deferred.addCommand(new Listener0() { public void onEvent() { + insertElement.setOnCreateLink(new Listener2<String, String>() { + public void onEvent(String name, String url) { + view.createLink(url); + fireOnEdit(); + } + }); insertElement.show(); } }); @@ -544,12 +550,6 @@ createLink.setToolTip(i18n.t("Create Link")); createLink.setShortcut(new ActionShortcut(true, 'K')); createLink.setAddCondition(canBeExtended); - insertElement.addOnCreateLink(new Listener2<String, String>() { - public void onEvent(String name, String url) { - view.createLink(url); - fireOnEdit(); - } - }); ActionToolbarButtonDescriptor<Object> removeLink = new ActionToolbarButtonDescriptor<Object>(accessRol, sndbar, new Listener0() { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialog.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialog.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialog.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -25,10 +25,8 @@ public interface InsertLinkDialog extends AbstractTabbedDialog { - @Deprecated - void addOnCreateLink(Listener2<String, String> slot); - - @Deprecated void fireOnCreateLink(String name, String link); + void setOnCreateLink(Listener2<String, String> listener); + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialogPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialogPresenter.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/InsertLinkDialogPresenter.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -21,32 +21,27 @@ import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter; -import com.calclab.suco.client.events.Event2; import com.calclab.suco.client.events.Listener2; public class InsertLinkDialogPresenter extends AbstractTabbedDialogPresenter implements InsertLinkDialog { - private final Event2<String, String> onCreateLink; + private Listener2<String, String> onCreateListener; public InsertLinkDialogPresenter() { - this.onCreateLink = new Event2<String, String>("onCreateLink"); } - @Deprecated - public void addOnCreateLink(final Listener2<String, String> slot) { - onCreateLink.add(slot); - } - - @Deprecated public void fireOnCreateLink(String name, String link) { - onCreateLink.fire(name, link); + onCreateListener.onEvent(name, link); super.hide(); } - @Deprecated public void fireOnInsertHtml(String name, String link) { - onCreateLink.fire(name, link); + onCreateListener.onEvent(name, link); super.hide(); } + public void setOnCreateLink(final Listener2<String, String> listener) { + this.onCreateListener = listener; + } + } \ No newline at end of file Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_in.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_in.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_out.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow_out.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -27,7 +27,7 @@ import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -53,7 +53,7 @@ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider, final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, - final Provider<ContentEditor> textEditorProvider, final KuneErrorHandler errorHandler, + final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final WikiViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, final SitePublicSpaceLink publicLink) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -25,7 +25,7 @@ import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -78,7 +78,7 @@ $(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class), $$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class), - $(EntityHeader.class), $$(ContentEditor.class), $(KuneErrorHandler.class), $(WikiViewer.class), + $(EntityHeader.class), $$(ContentEditor.class), $(ErrorHandler.class), $(WikiViewer.class), $$(ContextPropEditor.class), $(SitePublicSpaceLink.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -46,7 +46,7 @@ import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; @@ -86,7 +86,7 @@ protected final Provider<ContentServiceAsync> contentServiceProvider; protected final Provider<FileUploader> fileUploaderProvider; protected final ContextNavigator contextNavigator; - protected final KuneErrorHandler errorHandler; + protected final ErrorHandler errorHandler; protected final Provider<GroupServiceAsync> groupServiceProvider; protected final ContentActionRegistry contentActionRegistry; protected final ContextActionRegistry contextActionRegistry; @@ -99,7 +99,7 @@ private final SitePublicSpaceLink publicLink; public AbstractFoldableContentActions(Session session, StateManager stateManager, I18nUITranslationService i18n, - KuneErrorHandler errorHandler, DeferredCommandWrapper deferredCommandWrapper, + ErrorHandler errorHandler, DeferredCommandWrapper deferredCommandWrapper, Provider<GroupServiceAsync> groupServiceProvider, Provider<ContentServiceAsync> contentServiceProvider, Provider<FileUploader> fileUploaderProvider, ContextNavigator contextNavigator, ContentActionRegistry contentActionRegistry, ContextActionRegistry contextActionRegistry, Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -1,212 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client; - -import org.ourproject.kune.platf.client.registry.AclEditableRegistry; -import org.ourproject.kune.platf.client.registry.AuthorableRegistry; -import org.ourproject.kune.platf.client.registry.CanBeHomepageRegistry; -import org.ourproject.kune.platf.client.registry.ComentableRegistry; -import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; -import org.ourproject.kune.platf.client.registry.DragableRegistry; -import org.ourproject.kune.platf.client.registry.DropableRegistry; -import org.ourproject.kune.platf.client.registry.EmailSubscribeAbleRegistry; -import org.ourproject.kune.platf.client.registry.LicensableRegistry; -import org.ourproject.kune.platf.client.registry.PublishModerableRegistry; -import org.ourproject.kune.platf.client.registry.RateableRegistry; -import org.ourproject.kune.platf.client.registry.RenamableRegistry; -import org.ourproject.kune.platf.client.registry.TageableRegistry; -import org.ourproject.kune.platf.client.registry.TranslatableRegistry; -import org.ourproject.kune.platf.client.registry.VersionableRegistry; -import org.ourproject.kune.platf.client.registry.XmppComentableRegistry; -import org.ourproject.kune.platf.client.registry.XmppNotifyCapableRegistry; -import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry; -import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry; -import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; -import org.ourproject.kune.workspace.client.socialnet.GroupActionRegistry; -import org.ourproject.kune.workspace.client.socialnet.UserActionRegistry; - -import com.calclab.suco.client.ioc.decorator.Singleton; -import com.calclab.suco.client.ioc.module.AbstractModule; -import com.calclab.suco.client.ioc.module.Factory; - -public class KuneRegistryModule extends AbstractModule { - - @Override - protected void onInstall() { - - register(Singleton.class, new Factory<AclEditableRegistry>(AclEditableRegistry.class) { - @Override - public AclEditableRegistry create() { - return new AclEditableRegistry(); - } - }); - register(Singleton.class, new Factory<AuthorableRegistry>(AuthorableRegistry.class) { - @Override - public AuthorableRegistry create() { - return new AuthorableRegistry(); - } - }); - register(Singleton.class, new Factory<CanBeHomepageRegistry>(CanBeHomepageRegistry.class) { - @Override - public CanBeHomepageRegistry create() { - return new CanBeHomepageRegistry(); - } - }); - - register(Singleton.class, new Factory<ComentableRegistry>(ComentableRegistry.class) { - @Override - public ComentableRegistry create() { - return new ComentableRegistry(); - } - }); - - register(Singleton.class, new Factory<DragableRegistry>(DragableRegistry.class) { - @Override - public DragableRegistry create() { - return new DragableRegistry(); - } - }); - - register(Singleton.class, new Factory<DropableRegistry>(DropableRegistry.class) { - @Override - public DropableRegistry create() { - return new DropableRegistry(); - } - }); - - register(Singleton.class, new Factory<EmailSubscribeAbleRegistry>(EmailSubscribeAbleRegistry.class) { - @Override - public EmailSubscribeAbleRegistry create() { - return new EmailSubscribeAbleRegistry(); - } - }); - - register(Singleton.class, new Factory<LicensableRegistry>(LicensableRegistry.class) { - @Override - public LicensableRegistry create() { - return new LicensableRegistry(); - } - }); - - register(Singleton.class, new Factory<PublishModerableRegistry>(PublishModerableRegistry.class) { - @Override - public PublishModerableRegistry create() { - return new PublishModerableRegistry(); - } - }); - - register(Singleton.class, new Factory<RateableRegistry>(RateableRegistry.class) { - @Override - public RateableRegistry create() { - return new RateableRegistry(); - } - }); - - register(Singleton.class, new Factory<TageableRegistry>(TageableRegistry.class) { - @Override - public TageableRegistry create() { - return new TageableRegistry(); - } - }); - - register(Singleton.class, new Factory<RenamableRegistry>(RenamableRegistry.class) { - @Override - public RenamableRegistry create() { - return new RenamableRegistry(); - } - }); - - register(Singleton.class, new Factory<TranslatableRegistry>(TranslatableRegistry.class) { - @Override - public TranslatableRegistry create() { - return new TranslatableRegistry(); - } - }); - - register(Singleton.class, new Factory<VersionableRegistry>(VersionableRegistry.class) { - @Override - public VersionableRegistry create() { - return new VersionableRegistry(); - } - }); - - register(Singleton.class, new Factory<XmppComentableRegistry>(XmppComentableRegistry.class) { - @Override - public XmppComentableRegistry create() { - return new XmppComentableRegistry(); - } - }); - - register(Singleton.class, new Factory<XmppNotifyCapableRegistry>(XmppNotifyCapableRegistry.class) { - @Override - public XmppNotifyCapableRegistry create() { - return new XmppNotifyCapableRegistry(); - } - }); - - register(Singleton.class, new Factory<ContentIconsRegistry>(ContentIconsRegistry.class) { - @Override - public ContentIconsRegistry create() { - return new ContentIconsRegistry(); - } - }); - - register(Singleton.class, new Factory<ContentCapabilitiesRegistry>(ContentCapabilitiesRegistry.class) { - @Override - public ContentCapabilitiesRegistry create() { - return new ContentCapabilitiesRegistry($(AuthorableRegistry.class), $(AclEditableRegistry.class), - $(ContentIconsRegistry.class), $(CanBeHomepageRegistry.class), $(ComentableRegistry.class), - $(DragableRegistry.class), $(DropableRegistry.class), $(EmailSubscribeAbleRegistry.class), - $(LicensableRegistry.class), $(PublishModerableRegistry.class), $(RateableRegistry.class), - $(TageableRegistry.class), $(RenamableRegistry.class), $(TranslatableRegistry.class), - $(VersionableRegistry.class), $(XmppComentableRegistry.class), - $(XmppNotifyCapableRegistry.class)); - } - }); - - register(Singleton.class, new Factory<ContextActionRegistry>(ContextActionRegistry.class) { - @Override - public ContextActionRegistry create() { - return new ContextActionRegistry(); - } - }); - - register(Singleton.class, new Factory<ContentActionRegistry>(ContentActionRegistry.class) { - @Override - public ContentActionRegistry create() { - return new ContentActionRegistry(); - } - }); - - register(Singleton.class, new Factory<GroupActionRegistry>(GroupActionRegistry.class) { - @Override - public GroupActionRegistry create() { - return new GroupActionRegistry(); - } - }); - - register(Singleton.class, new Factory<UserActionRegistry>(UserActionRegistry.class) { - @Override - public UserActionRegistry create() { - return new UserActionRegistry(); - } - }); - } -} Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -1,940 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - \*/ -package org.ourproject.kune.workspace.client; - -import org.ourproject.kune.chat.client.ChatEngine; -import org.ourproject.kune.platf.client.actions.ActionManager; -import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel; -import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; -import org.ourproject.kune.platf.client.app.EntityOptionsGroup; -import org.ourproject.kune.platf.client.dto.StateToken; -import org.ourproject.kune.platf.client.dto.UserSimpleDTO; -import org.ourproject.kune.platf.client.i18n.I18nTranslationService; -import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; -import org.ourproject.kune.platf.client.registry.AuthorableRegistry; -import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; -import org.ourproject.kune.platf.client.registry.RenamableRegistry; -import org.ourproject.kune.platf.client.rpc.ContentService; -import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; -import org.ourproject.kune.platf.client.rpc.GroupService; -import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; -import org.ourproject.kune.platf.client.rpc.I18nServiceAsync; -import org.ourproject.kune.platf.client.rpc.SocialNetworkService; -import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync; -import org.ourproject.kune.platf.client.rpc.UserServiceAsync; -import org.ourproject.kune.platf.client.services.ImageUtils; -import org.ourproject.kune.platf.client.services.Images; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; -import org.ourproject.kune.platf.client.state.Session; -import org.ourproject.kune.platf.client.state.StateManager; -import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser; -import org.ourproject.kune.platf.client.ui.rte.TestRTEDialog; -import org.ourproject.kune.platf.client.ui.rte.basic.RTEditor; -import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog; -import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog; -import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; -import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPanel; -import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper; -import org.ourproject.kune.platf.client.utils.TimerWrapper; -import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar; -import org.ourproject.kune.workspace.client.cnt.ActionContentToolbarPresenter; -import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter; -import org.ourproject.kune.workspace.client.cxt.ActionContextBottomToolbar; -import org.ourproject.kune.workspace.client.cxt.ActionContextTopToolbar; -import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; -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.ContentEditor; -import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocal; -import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPanel; -import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPresenter; -import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocal; -import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPanel; -import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPresenter; -import org.ourproject.kune.workspace.client.entityheader.EntityHeader; -import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel; -import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter; -import org.ourproject.kune.workspace.client.i18n.I18nTranslator; -import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel; -import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter; -import org.ourproject.kune.workspace.client.i18n.I18nTranslatorView; -import org.ourproject.kune.workspace.client.i18n.LanguageSelector; -import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel; -import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter; -import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView; -import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel; -import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter; -import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction; -import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; -import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel; -import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdForm; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdForm; -import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView; -import org.ourproject.kune.workspace.client.newgroup.NewGroup; -import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel; -import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter; -import org.ourproject.kune.workspace.client.nohomepage.NoHomePage; -import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel; -import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter; -import org.ourproject.kune.workspace.client.options.EntityOptions; -import org.ourproject.kune.workspace.client.options.EntityOptionsPanel; -import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter; -import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicense; -import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel; -import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePresenter; -import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogo; -import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel; -import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter; -import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConf; -import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPanel; -import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPresenter; -import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf; -import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel; -import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPresenter; -import org.ourproject.kune.workspace.client.rate.RateIt; -import org.ourproject.kune.workspace.client.rate.RateItPanel; -import org.ourproject.kune.workspace.client.rate.RateItPresenter; -import org.ourproject.kune.workspace.client.rate.RatePanel; -import org.ourproject.kune.workspace.client.rate.RatePresenter; -import org.ourproject.kune.workspace.client.search.EntityLiveSearcherView; -import org.ourproject.kune.workspace.client.search.GroupLiveSearchPanel; -import org.ourproject.kune.workspace.client.search.GroupLiveSearcher; -import org.ourproject.kune.workspace.client.search.GroupLiveSearcherPresenter; -import org.ourproject.kune.workspace.client.search.SiteSearcher; -import org.ourproject.kune.workspace.client.search.SiteSearcherPanel; -import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter; -import org.ourproject.kune.workspace.client.search.SiteSearcherView; -import org.ourproject.kune.workspace.client.search.UserLiveSearcher; -import org.ourproject.kune.workspace.client.search.UserLiveSearcherPanel; -import org.ourproject.kune.workspace.client.search.UserLiveSearcherPresenter; -import org.ourproject.kune.workspace.client.signin.Register; -import org.ourproject.kune.workspace.client.signin.RegisterPanel; -import org.ourproject.kune.workspace.client.signin.RegisterPresenter; -import org.ourproject.kune.workspace.client.signin.RegisterView; -import org.ourproject.kune.workspace.client.signin.SignIn; -import org.ourproject.kune.workspace.client.signin.SignInPanel; -import org.ourproject.kune.workspace.client.signin.SignInPresenter; -import org.ourproject.kune.workspace.client.signin.SignInView; -import org.ourproject.kune.workspace.client.site.SiteToken; -import org.ourproject.kune.workspace.client.site.WorkspaceNotifyUser; -import org.ourproject.kune.workspace.client.site.msg.ToastMessage; -import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel; -import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter; -import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo; -import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel; -import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter; -import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink; -import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel; -import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter; -import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions; -import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPanel; -import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPresenter; -import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress; -import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel; -import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter; -import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; -import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel; -import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter; -import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch; -import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel; -import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel; -import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter; -import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenu; -import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel; -import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter; -import org.ourproject.kune.workspace.client.skel.ActionCntCtxToolbarPanel; -import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; -import org.ourproject.kune.workspace.client.socialnet.BuddiesSummary; -import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPanel; -import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPresenter; -import org.ourproject.kune.workspace.client.socialnet.GroupActionRegistry; -import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary; -import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel; -import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter; -import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView; -import org.ourproject.kune.workspace.client.socialnet.ParticipationSummary; -import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPanel; -import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter; -import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView; -import org.ourproject.kune.workspace.client.socialnet.UserActionRegistry; -import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddie; -import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddiePanel; -import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddiePresenter; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionBuddiesSummaryToolbar; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionBuddiesSummaryToolbarPresenter; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionGroupSummaryToolbar; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionGroupSummaryToolbarPresenter; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionParticipationSummaryToolbarPresenter; -import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionParticipationToolbar; -import org.ourproject.kune.workspace.client.tags.TagsSummary; -import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel; -import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter; -import org.ourproject.kune.workspace.client.themes.WsThemePanel; -import org.ourproject.kune.workspace.client.themes.WsThemePresenter; -import org.ourproject.kune.workspace.client.title.EntitySubTitle; -import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel; -import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter; -import org.ourproject.kune.workspace.client.title.EntityTitle; -import org.ourproject.kune.workspace.client.title.EntityTitlePanel; -import org.ourproject.kune.workspace.client.title.EntityTitlePresenter; -import org.ourproject.kune.workspace.client.title.RenameAction; -import org.ourproject.kune.workspace.client.tool.ToolSelector; -import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenter; -import org.ourproject.kune.workspace.client.upload.FileUploader; -import org.ourproject.kune.workspace.client.upload.FileUploaderDialog; -import org.ourproject.kune.workspace.client.upload.FileUploaderPresenter; - -import com.calclab.suco.client.events.Listener0; -import com.calclab.suco.client.ioc.decorator.NoDecoration; -import com.calclab.suco.client.ioc.decorator.Singleton; -import com.calclab.suco.client.ioc.module.AbstractModule; -import com.calclab.suco.client.ioc.module.Factory; -import com.google.gwt.core.client.GWT; -import com.google.gwt.user.client.rpc.ServiceDefTarget; - -public class KuneWorkspaceModule extends AbstractModule { - @Override - protected void onInstall() { - - register(Singleton.class, new Factory<SocialNetworkServiceAsync>(SocialNetworkServiceAsync.class) { - @Override - public SocialNetworkServiceAsync create() { - final SocialNetworkServiceAsync snServiceAsync = (SocialNetworkServiceAsync) GWT.create(SocialNetworkService.class); - ((ServiceDefTarget) snServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() - + "SocialNetworkService"); - return snServiceAsync; - } - }, new Factory<GroupServiceAsync>(GroupServiceAsync.class) { - @Override - public GroupServiceAsync create() { - final GroupServiceAsync groupServiceAsync = (GroupServiceAsync) GWT.create(GroupService.class); - ((ServiceDefTarget) groupServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "GroupService"); - return groupServiceAsync; - } - }, new Factory<ContentServiceAsync>(ContentServiceAsync.class) { - @Override - public ContentServiceAsync create() { - final ContentServiceAsync contentServiceAsync = (ContentServiceAsync) GWT.create(ContentService.class); - ((ServiceDefTarget) contentServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "ContentService"); - return contentServiceAsync; - } - }); - - register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) { - @Override - public WorkspaceSkeleton create() { - return new WorkspaceSkeleton(); - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) { - @Override - public SiteProgress create() { - final SiteProgressPresenter presenter = new SiteProgressPresenter(); - final SiteProgressPanel panel = new SiteProgressPanel(presenter, $$(SitePublicSpaceLink.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<WorkspaceNotifyUser>(WorkspaceNotifyUser.class) { - @Override - public WorkspaceNotifyUser create() { - return new WorkspaceNotifyUser($(NotifyUser.class), $(I18nUITranslationService.class), - $(SiteProgress.class), $$(ToastMessage.class), $$(WorkspaceSkeleton.class)); - } - }); - - register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) { - @Override - public SitePublicSpaceLink create() { - final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter($(StateManager.class)); - final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter, - $(WorkspaceSkeleton.class), $(I18nUITranslationService.class), $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(NoDecoration.class, new Factory<ToastMessage>(ToastMessage.class) { - @Override - public ToastMessage create() { - final ToastMessagePresenter presenter = new ToastMessagePresenter(); - final ToastMessagePanel panel = new ToastMessagePanel(); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteUserMenu>(SiteUserMenu.class) { - @Override - public SiteUserMenu create() { - final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class), - $(StateManager.class), $$(EntityOptions.class), $$(FileDownloadUtils.class)); - final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nUITranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) { - @Override - public SiteSignInLink create() { - final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter($(Session.class)); - final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) { - @Override - public SiteSignOutLink create() { - final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter($(Session.class), - $$(UserServiceAsync.class), $$(KuneErrorHandler.class)); - final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter, - $(I18nUITranslationService.class), $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteNewGroupLink>(SiteNewGroupLink.class) { - @Override - public SiteNewGroupLink create() { - final SiteNewGroupLinkPresenter presenter = new SiteNewGroupLinkPresenter(); - final SiteNewGroupLinkPanel panel = new SiteNewGroupLinkPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nUITranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteOptions>(SiteOptions.class) { - @Override - public SiteOptions create() { - final SiteOptionsPresenter presenter = new SiteOptionsPresenter(); - final SiteOptionsPanel panel = new SiteOptionsPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nUITranslationService.class), $$(I18nTranslator.class), $$(TestRTEDialog.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) { - @Override - public SiteSearch create() { - final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class), - $(I18nTranslationService.class)); - final SiteSearchPanel panel = new SiteSearchPanel(presenter, $(WorkspaceSkeleton.class), - $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) { - @Override - public SiteLogo create() { - final SiteLogoPresenter presenter = new SiteLogoPresenter($(Session.class)); - final SiteLogoPanel panel = new SiteLogoPanel(presenter, $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<EntityHeader>(EntityHeader.class) { - @Override - public EntityHeader create() { - final EntityHeaderPresenter presenter = new EntityHeaderPresenter($(StateManager.class), - $(WsThemePresenter.class), $(Session.class)); - final EntityHeaderPanel panel = new EntityHeaderPanel($(WorkspaceSkeleton.class), - $$(FileDownloadUtils.class), $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<WsThemePresenter>(WsThemePresenter.class) { - @Override - public WsThemePresenter create() { - final WsThemePresenter presenter = new WsThemePresenter($(Session.class), $$(GroupServiceAsync.class), - $(StateManager.class)); - final WsThemePanel panel = new WsThemePanel($(WorkspaceSkeleton.class), presenter, - $(I18nUITranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) { - @Override - public EntityTitle create() { - final EntityTitlePresenter presenter = new EntityTitlePresenter($(StateManager.class), - $(Session.class), $(ContentIconsRegistry.class), $(RenamableRegistry.class), - $(RenameAction.class)); - final EntityTitlePanel panel = new EntityTitlePanel($(WorkspaceSkeleton.class), presenter); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) { - @Override - public EntitySubTitle create() { - final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter( - $(I18nUITranslationService.class), $(StateManager.class), false, $(AuthorableRegistry.class)); - final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) { - @Override - public EntityLicensePresenter create() { - final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class)); - final EntityLicensePanel panel = new EntityLicensePanel(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) { - @Override - public RateIt create() { - final RateItPresenter presenter = new RateItPresenter($(I18nUITranslationService.class), - $(Session.class), $$(ContentServiceAsync.class), $(StateManager.class), - $$(RatePresenter.class), $(ContentCapabilitiesRegistry.class)); - final RateItPanel panel = new RateItPanel(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class), $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) { - @Override - public RatePresenter create() { - final RatePresenter presenter = new RatePresenter($(StateManager.class), - $(ContentCapabilitiesRegistry.class)); - final RatePanel panel = new RatePanel(null, null, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<ActionManager>(ActionManager.class) { - @Override - public ActionManager create() { - return new ActionManager(); - } - }); - - register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) { - @Override - public ActionGroupSummaryToolbar create() { - final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>($$(ActionManager.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)); - final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter( - panel); - return toolbar; - } - }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) { - @Override - public ActionBuddiesSummaryToolbar create() { - final ActionToolbarPanel<UserSimpleDTO> panel = new ActionToolbarPanel<UserSimpleDTO>( - $$(ActionManager.class)); - final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel); - return toolbar; - } - }); - - register(ApplicationComponentGroup.class, new Factory<GroupMembersSummary>(GroupMembersSummary.class) { - @Override - public GroupMembersSummary create() { - final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter( - $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class), - $(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupServiceAsync.class), - $$(GroupLiveSearcher.class), $(WsThemePresenter.class), $$(ChatEngine.class), - $(GroupActionRegistry.class), $(ActionGroupSummaryToolbar.class), $$(FileDownloadUtils.class)); - final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter, - $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $( - ActionGroupSummaryToolbar.class).getView()); - presenter.init(view); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<AddAsBuddie>(AddAsBuddie.class) { - @Override - public AddAsBuddie create() { - final AddAsBuddiePresenter presenter = new AddAsBuddiePresenter($$(ChatEngine.class), - $(StateManager.class), $(Session.class)); - final AddAsBuddiePanel panel = new AddAsBuddiePanel(presenter, $(EntityHeader.class), $(Images.class), - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<BuddiesSummary>(BuddiesSummary.class) { - @Override - public BuddiesSummary create() { - final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class), - $(Session.class), $$(UserServiceAsync.class), $(UserActionRegistry.class), - $(I18nTranslationService.class), $$(ChatEngine.class), $(ActionBuddiesSummaryToolbar.class), - $$(FileDownloadUtils.class), $(ImageUtils.class), $$(SocialNetworkServiceAsync.class), - $(GroupActionRegistry.class)); - final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nTranslationService.class), $(ActionManager.class), - $(ActionBuddiesSummaryToolbar.class).getView()); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) { - @Override - public ParticipationSummary create() { - final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter( - $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class), - $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class), - $(GroupActionRegistry.class), $(ActionParticipationToolbar.class), $$(FileDownloadUtils.class)); - final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter, - $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), - ($(ActionParticipationToolbar.class).getView())); - presenter.init(view); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) { - @Override - public TagsSummary create() { - final TagsSummaryPresenter presenter = new TagsSummaryPresenter($(Session.class), - $$(SiteSearcher.class), $(StateManager.class), $(WsThemePresenter.class)); - final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<NoHomePage>(NoHomePage.class) { - @Override - public NoHomePage create() { - final NoHomePagePresenter presenter = new NoHomePagePresenter($(StateManager.class), - $$(EntityHeader.class)); - final NoHomePagePanel panel = new NoHomePagePanel(presenter, $(WorkspaceSkeleton.class), - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(ApplicationComponentGroup.class, new Factory<EntityOptions>(EntityOptions.class) { - @Override - public EntityOptions create() { - final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class)); - final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityHeader.class), - $(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class)); - presenter.init(panel); - return presenter; - } - }); - - register(EntityOptionsGroup.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) { - @Override - public EntityOptionsToolsConf create() { - final EntityOptionsToolsConfPresenter presenter = new EntityOptionsToolsConfPresenter( - $(StateManager.class), $(Session.class), $(I18nTranslationService.class), - $(EntityOptions.class), $$(GroupServiceAsync.class)); - final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter, - $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(EntityOptionsGroup.class, new Factory<EntityOptionsLogo>(EntityOptionsLogo.class) { - @Override - public EntityOptionsLogo create() { - final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class), - $(EntityHeader.class), $(EntityOptions.class), $(StateManager.class), - $$(UserServiceAsync.class), $$(ChatEngine.class)); - final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(EntityOptionsGroup.class, new Factory<EntityOptionsDefLicense>(EntityOptionsDefLicense.class) { - @Override - public EntityOptionsDefLicense create() { - final EntityOptionsDefLicensePresenter presenter = new EntityOptionsDefLicensePresenter( - $(EntityOptions.class), $(StateManager.class), $(Session.class), $$(LicenseWizard.class), - $$(LicenseChangeAction.class)); - final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter, - $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(EntityOptionsGroup.class, - new Factory<EntityOptionsPublicSpaceConf>(EntityOptionsPublicSpaceConf.class) { - @Override - public EntityOptionsPublicSpaceConf create() { - final EntityOptionsPublicSpaceConfPresenter presenter = new EntityOptionsPublicSpaceConfPresenter( - $(EntityOptions.class)); - final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel( - presenter, $(WorkspaceSkeleton.class), $(I18nTranslationService.class), - $(WsThemePresenter.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<LicenseChangeAction>(LicenseChangeAction.class) { - @Override - public LicenseChangeAction create() { - return new LicenseChangeAction($$(GroupServiceAsync.class), $(Session.class), - $(I18nTranslationService.class), $(StateManager.class)); - } - }); - - register(Singleton.class, new Factory<RenameAction>(RenameAction.class) { - @Override - public RenameAction create() { - return new RenameAction($(I18nTranslationService.class), $(Session.class), - $$(ContentServiceAsync.class)); - } - }); - - register(Singleton.class, new Factory<LicenseWizard>(LicenseWizard.class) { - @Override - public LicenseWizard create() { - final LicenseWizardPresenter presenter = new LicenseWizardPresenter( - $(LicenseWizardFirstFormView.class), $(LicenseWizardSndFormView.class), - $(LicenseWizardTrdFormView.class), $(LicenseWizardFrdFormView.class), $(Session.class)); - final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, $(WorkspaceSkeleton.class), - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<LicenseWizardFirstFormView>(LicenseWizardFirstFormView.class) { - @Override - public LicenseWizardFirstFormView create() { - return new LicenseWizardFirstForm($(I18nTranslationService.class)); - } - }); - - register(Singleton.class, new Factory<LicenseWizardSndFormView>(LicenseWizardSndFormView.class) { - @Override - public LicenseWizardSndFormView create() { - return new LicenseWizardSndForm($(I18nTranslationService.class)); - } - }); - - register(Singleton.class, new Factory<LicenseWizardTrdFormView>(LicenseWizardTrdFormView.class) { - @Override - public LicenseWizardTrdFormView create() { - return new LicenseWizardTrdForm($(Images.class), $(I18nTranslationService.class)); - } - }); - - register(Singleton.class, new Factory<LicenseWizardFrdFormView>(LicenseWizardFrdFormView.class) { - @Override - public LicenseWizardFrdFormView create() { - return new LicenseWizardFrdForm($(I18nTranslationService.class), $(Session.class)); - } - }); - - register(Singleton.class, new Factory<FileUploader>(FileUploader.class) { - @Override - public FileUploader create() { - final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class)); - final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - - @Override - public void onAfterCreated(FileUploader uploader) { - $(ContextNavigator.class).addFileUploaderListener(uploader); - } - }); - - register(Singleton.class, new Factory<SiteSearcher>(SiteSearcher.class) { - @Override - public SiteSearcher create() { - final SiteSearcherPresenter presenter = new SiteSearcherPresenter($$(StateManager.class)); - final SiteSearcherView view = new SiteSearcherPanel(presenter, $(I18nTranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(view); - return presenter; - } - }); - - register(Singleton.class, new Factory<I18nTranslator>(I18nTranslator.class) { - @Override - public I18nTranslator create() { - final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter($(Session.class), - $(I18nServiceAsync.class), $(I18nUITranslationService.class)); - final I18nTranslatorView view = new I18nTranslatorPanel(presenter, $(I18nTranslationService.class), - $(LanguageSelector.class), $(WorkspaceSkeleton.class), $(Images.class)); - presenter.init(view); - return presenter; - } - }); - - register(Singleton.class, new Factory<SignIn>(SignIn.class) { - @Override - public SignIn create() { - final SignInPresenter presenter = new SignInPresenter($(Session.class), $(StateManager.class), - $(I18nUITranslationService.class), $$(UserServiceAsync.class), $$(Register.class)); - final SignInView panel = new SignInPanel(presenter, $(I18nTranslationService.class), - $(WorkspaceSkeleton.class), $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<Register>(Register.class) { - @Override - public Register create() { - final RegisterPresenter presenter = new RegisterPresenter($(Session.class), $(StateManager.class), - $(I18nUITranslationService.class), $$(UserServiceAsync.class), $$(SignIn.class)); - final RegisterView panel = new RegisterPanel(presenter, $(I18nTranslationService.class), - $(WorkspaceSkeleton.class), $(Session.class), $(Images.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<NewGroup>(NewGroup.class) { - @Override - public NewGroup create() { - final NewGroupPresenter presenter = new NewGroupPresenter($(I18nTranslationService.class), - $(Session.class), $(StateManager.class), $$(GroupServiceAsync.class)); - final NewGroupPanel view = new NewGroupPanel(presenter, $(I18nTranslationService.class), - $$(LicenseWizard.class), $(Images.class)); - presenter.init(view); - return presenter; - } - }); - - register(Singleton.class, new Factory<UserLiveSearcher>(UserLiveSearcher.class) { - @Override - public UserLiveSearcher create() { - final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter(); - final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, - $(I18nTranslationService.class), $(FileDownloadUtils.class)); - presenter.init(view); - return presenter; - } - }); - - register(Singleton.class, new Factory<GroupLiveSearcher>(GroupLiveSearcher.class) { - @Override - public GroupLiveSearcher create() { - final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter(); - final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, - $(I18nTranslationService.class), $(FileDownloadUtils.class)); - presenter.init(view); - return presenter; - } - }); - - register(Singleton.class, new Factory<ToolSelector>(ToolSelector.class) { - @Override - public ToolSelector create() { - final ToolSelectorPresenter presenter = new ToolSelectorPresenter($(StateManager.class), - $(WsThemePresenter.class)); - return presenter; - } - }); - - register(InsertLinkGroup.class, new Factory<InsertLinkLocal>( - InsertLinkLocal.class) { - @Override - public InsertLinkLocal create() { - final InsertLinkLocalPresenter presenter = new InsertLinkLocalPresenter( - $(InsertLinkDialog.class)); - final InsertLinkLocalPanel panel = new InsertLinkLocalPanel(presenter, - $(WorkspaceSkeleton.class), $(I18nTranslationService.class), $(FileDownloadUtils.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<LanguageSelector>(LanguageSelector.class) { - @Override - public LanguageSelector create() { - final LanguageSelectorPresenter presenter = new LanguageSelectorPresenter($(Session.class)); - final LanguageSelectorView view = new LanguageSelectorPanel(presenter, $(I18nTranslationService.class)); - presenter.init(view); - return presenter; - } - }); - - // Register of tokens like "signin", "newgroup", "translate" etcetera - $(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener0() { - public void onEvent() { - $(SignIn.class).doSignIn(); - } - }); - - $(StateManager.class).addSiteToken(SiteToken.register.toString(), new Listener0() { - public void onEvent() { - $(Register.class).doRegister(); - } - }); - - $(StateManager.class).addSiteToken(SiteToken.newgroup.toString(), new Listener0() { - public void onEvent() { - $(NewGroup.class).doNewGroup(); - } - }); - - $(StateManager.class).addSiteToken(SiteToken.translate.toString(), new Listener0() { - public void onEvent() { - $(I18nTranslator.class).doShowTranslator(); - } - }); - - register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) { - @Override - public ActionContentToolbar create() { - final ActionCntCtxToolbarPanel<StateToken> tbar = new ActionCntCtxToolbarPanel<StateToken>( - AbstractFoldableContentActions.CONTENT_TOPBAR, $$(ActionManager.class), - $(WorkspaceSkeleton.class)); - final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(tbar); - return toolbar; - } - }); - - register(Singleton.class, new Factory<ContentEditor>(ContentEditor.class) { - @Override - public ContentEditor create() { - return new ContentEditor($(RTEditor.class), true, $(I18nTranslationService.class), - $(StateManager.class), $(SiteSignOutLink.class), $(DeferredCommandWrapper.class), - $(RTEImgResources.class), $(WorkspaceSkeleton.class), $(TimerWrapper.class), - new RTESavingEditorPanel()); - } - }); - register(NoDecoration.class, new Factory<ActionContextTopToolbar>(ActionContextTopToolbar.class) { - @Override - public ActionContextTopToolbar create() { - final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( - AbstractFoldableContentActions.CONTEXT_TOPBAR, $$(ActionManager.class), - $(WorkspaceSkeleton.class)); - final ActionContextTopToolbar toolbar = new ActionContextTopToolbar(panel); - return toolbar; - } - }); - - register(NoDecoration.class, new Factory<ActionContextBottomToolbar>(ActionContextBottomToolbar.class) { - @Override - public ActionContextBottomToolbar create() { - final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( - AbstractFoldableContentActions.CONTEXT_BOTTOMBAR, $$(ActionManager.class), - $(WorkspaceSkeleton.class)); - final ActionContextBottomToolbar toolbar = new ActionContextBottomToolbar(panel); - return toolbar; - } - }); - - register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) { - @Override - public ContextNavigator create() { - final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter($(StateManager.class), - $(Session.class), $(I18nTranslationService.class), $(ContentIconsRegistry.class), - $(ContentCapabilitiesRegistry.class), $(ActionContextTopToolbar.class), - $(ActionContextBottomToolbar.class), $(ContextActionRegistry.class), - $$(FileDownloadUtils.class), true, $(RenameAction.class)); - final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, - $(I18nTranslationService.class), $(WorkspaceSkeleton.class), $(ActionManager.class)); - presenter.init(panel); - return presenter; - } - }); - - register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) { - @Override - public ContextPropEditor create() { - final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter($(Session.class), - $(StateManager.class), $(ContentCapabilitiesRegistry.class), $$(TagsSummary.class), - $$(ContentServiceAsync.class), $(EntitySubTitle.class)); - final ContextPropEditorView view = new ContextPropEditorPanel(presenter, - $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $$(LanguageSelector.class), - $(Images.class)); - presenter.init(view); - return presenter; - } - }); - - register(InsertImageGroup.class, new Factory<InsertImageLocal>(InsertImageLocal.class) { - @Override - public InsertImageLocal create() { - final InsertImageLocalPresenter presenter = new InsertImageLocalPresenter($(InsertImageDialog.class)); - final InsertImageLocalPanel panel = new InsertImageLocalPanel(presenter, - $(I18nTranslationService.class)); - presenter.init(panel); - return presenter; - } - }); - - } -} Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/RegistryModule.java (from rev 1071, trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/KuneRegistryModule.java 2009-03-11 14:08:13 UTC (rev 1071) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/RegistryModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,212 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.ourproject.kune.workspace.client; + +import org.ourproject.kune.platf.client.registry.AclEditableRegistry; +import org.ourproject.kune.platf.client.registry.AuthorableRegistry; +import org.ourproject.kune.platf.client.registry.CanBeHomepageRegistry; +import org.ourproject.kune.platf.client.registry.ComentableRegistry; +import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; +import org.ourproject.kune.platf.client.registry.DragableRegistry; +import org.ourproject.kune.platf.client.registry.DropableRegistry; +import org.ourproject.kune.platf.client.registry.EmailSubscribeAbleRegistry; +import org.ourproject.kune.platf.client.registry.LicensableRegistry; +import org.ourproject.kune.platf.client.registry.PublishModerableRegistry; +import org.ourproject.kune.platf.client.registry.RateableRegistry; +import org.ourproject.kune.platf.client.registry.RenamableRegistry; +import org.ourproject.kune.platf.client.registry.TageableRegistry; +import org.ourproject.kune.platf.client.registry.TranslatableRegistry; +import org.ourproject.kune.platf.client.registry.VersionableRegistry; +import org.ourproject.kune.platf.client.registry.XmppComentableRegistry; +import org.ourproject.kune.platf.client.registry.XmppNotifyCapableRegistry; +import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry; +import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry; +import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; +import org.ourproject.kune.workspace.client.socialnet.GroupActionRegistry; +import org.ourproject.kune.workspace.client.socialnet.UserActionRegistry; + +import com.calclab.suco.client.ioc.decorator.Singleton; +import com.calclab.suco.client.ioc.module.AbstractModule; +import com.calclab.suco.client.ioc.module.Factory; + +public class RegistryModule extends AbstractModule { + + @Override + protected void onInstall() { + + register(Singleton.class, new Factory<AclEditableRegistry>(AclEditableRegistry.class) { + @Override + public AclEditableRegistry create() { + return new AclEditableRegistry(); + } + }); + register(Singleton.class, new Factory<AuthorableRegistry>(AuthorableRegistry.class) { + @Override + public AuthorableRegistry create() { + return new AuthorableRegistry(); + } + }); + register(Singleton.class, new Factory<CanBeHomepageRegistry>(CanBeHomepageRegistry.class) { + @Override + public CanBeHomepageRegistry create() { + return new CanBeHomepageRegistry(); + } + }); + + register(Singleton.class, new Factory<ComentableRegistry>(ComentableRegistry.class) { + @Override + public ComentableRegistry create() { + return new ComentableRegistry(); + } + }); + + register(Singleton.class, new Factory<DragableRegistry>(DragableRegistry.class) { + @Override + public DragableRegistry create() { + return new DragableRegistry(); + } + }); + + register(Singleton.class, new Factory<DropableRegistry>(DropableRegistry.class) { + @Override + public DropableRegistry create() { + return new DropableRegistry(); + } + }); + + register(Singleton.class, new Factory<EmailSubscribeAbleRegistry>(EmailSubscribeAbleRegistry.class) { + @Override + public EmailSubscribeAbleRegistry create() { + return new EmailSubscribeAbleRegistry(); + } + }); + + register(Singleton.class, new Factory<LicensableRegistry>(LicensableRegistry.class) { + @Override + public LicensableRegistry create() { + return new LicensableRegistry(); + } + }); + + register(Singleton.class, new Factory<PublishModerableRegistry>(PublishModerableRegistry.class) { + @Override + public PublishModerableRegistry create() { + return new PublishModerableRegistry(); + } + }); + + register(Singleton.class, new Factory<RateableRegistry>(RateableRegistry.class) { + @Override + public RateableRegistry create() { + return new RateableRegistry(); + } + }); + + register(Singleton.class, new Factory<TageableRegistry>(TageableRegistry.class) { + @Override + public TageableRegistry create() { + return new TageableRegistry(); + } + }); + + register(Singleton.class, new Factory<RenamableRegistry>(RenamableRegistry.class) { + @Override + public RenamableRegistry create() { + return new RenamableRegistry(); + } + }); + + register(Singleton.class, new Factory<TranslatableRegistry>(TranslatableRegistry.class) { + @Override + public TranslatableRegistry create() { + return new TranslatableRegistry(); + } + }); + + register(Singleton.class, new Factory<VersionableRegistry>(VersionableRegistry.class) { + @Override + public VersionableRegistry create() { + return new VersionableRegistry(); + } + }); + + register(Singleton.class, new Factory<XmppComentableRegistry>(XmppComentableRegistry.class) { + @Override + public XmppComentableRegistry create() { + return new XmppComentableRegistry(); + } + }); + + register(Singleton.class, new Factory<XmppNotifyCapableRegistry>(XmppNotifyCapableRegistry.class) { + @Override + public XmppNotifyCapableRegistry create() { + return new XmppNotifyCapableRegistry(); + } + }); + + register(Singleton.class, new Factory<ContentIconsRegistry>(ContentIconsRegistry.class) { + @Override + public ContentIconsRegistry create() { + return new ContentIconsRegistry(); + } + }); + + register(Singleton.class, new Factory<ContentCapabilitiesRegistry>(ContentCapabilitiesRegistry.class) { + @Override + public ContentCapabilitiesRegistry create() { + return new ContentCapabilitiesRegistry($(AuthorableRegistry.class), $(AclEditableRegistry.class), + $(ContentIconsRegistry.class), $(CanBeHomepageRegistry.class), $(ComentableRegistry.class), + $(DragableRegistry.class), $(DropableRegistry.class), $(EmailSubscribeAbleRegistry.class), + $(LicensableRegistry.class), $(PublishModerableRegistry.class), $(RateableRegistry.class), + $(TageableRegistry.class), $(RenamableRegistry.class), $(TranslatableRegistry.class), + $(VersionableRegistry.class), $(XmppComentableRegistry.class), + $(XmppNotifyCapableRegistry.class)); + } + }); + + register(Singleton.class, new Factory<ContextActionRegistry>(ContextActionRegistry.class) { + @Override + public ContextActionRegistry create() { + return new ContextActionRegistry(); + } + }); + + register(Singleton.class, new Factory<ContentActionRegistry>(ContentActionRegistry.class) { + @Override + public ContentActionRegistry create() { + return new ContentActionRegistry(); + } + }); + + register(Singleton.class, new Factory<GroupActionRegistry>(GroupActionRegistry.class) { + @Override + public GroupActionRegistry create() { + return new GroupActionRegistry(); + } + }); + + register(Singleton.class, new Factory<UserActionRegistry>(UserActionRegistry.class) { + @Override + public UserActionRegistry create() { + return new UserActionRegistry(); + } + }); + } +} Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java (from rev 1071, trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/KuneWorkspaceModule.java 2009-03-11 14:08:13 UTC (rev 1071) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,952 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + \*/ +package org.ourproject.kune.workspace.client; + +import org.ourproject.kune.chat.client.ChatEngine; +import org.ourproject.kune.platf.client.actions.ActionManager; +import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel; +import org.ourproject.kune.platf.client.app.ApplicationComponentGroup; +import org.ourproject.kune.platf.client.app.EntityOptionsGroup; +import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.dto.UserSimpleDTO; +import org.ourproject.kune.platf.client.i18n.I18nTranslationService; +import org.ourproject.kune.platf.client.i18n.I18nUITranslationService; +import org.ourproject.kune.platf.client.registry.AuthorableRegistry; +import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry; +import org.ourproject.kune.platf.client.registry.RenamableRegistry; +import org.ourproject.kune.platf.client.rpc.ContentService; +import org.ourproject.kune.platf.client.rpc.ContentServiceAsync; +import org.ourproject.kune.platf.client.rpc.GroupService; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.rpc.I18nServiceAsync; +import org.ourproject.kune.platf.client.rpc.SocialNetworkService; +import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync; +import org.ourproject.kune.platf.client.rpc.UserServiceAsync; +import org.ourproject.kune.platf.client.services.ErrorHandler; +import org.ourproject.kune.platf.client.services.ImageUtils; +import org.ourproject.kune.platf.client.services.Images; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; +import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; +import org.ourproject.kune.platf.client.ui.noti.NotifyUser; +import org.ourproject.kune.platf.client.ui.rte.TestRTEDialog; +import org.ourproject.kune.platf.client.ui.rte.basic.RTEditor; +import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog; +import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog; +import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup; +import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPanel; +import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper; +import org.ourproject.kune.platf.client.utils.TimerWrapper; +import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar; +import org.ourproject.kune.workspace.client.cnt.ActionContentToolbarPresenter; +import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry; +import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; +import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel; +import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter; +import org.ourproject.kune.workspace.client.cxt.ActionContextBottomToolbar; +import org.ourproject.kune.workspace.client.cxt.ActionContextTopToolbar; +import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; +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.ContentEditor; +import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocal; +import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPanel; +import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPresenter; +import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocal; +import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPanel; +import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPresenter; +import org.ourproject.kune.workspace.client.entityheader.EntityHeader; +import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel; +import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter; +import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspace; +import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspacePanel; +import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspacePresenter; +import org.ourproject.kune.workspace.client.i18n.I18nTranslator; +import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel; +import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter; +import org.ourproject.kune.workspace.client.i18n.I18nTranslatorView; +import org.ourproject.kune.workspace.client.i18n.LanguageSelector; +import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel; +import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter; +import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView; +import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel; +import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter; +import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel; +import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdForm; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdForm; +import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView; +import org.ourproject.kune.workspace.client.newgroup.NewGroup; +import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel; +import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePage; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel; +import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter; +import org.ourproject.kune.workspace.client.options.EntityOptions; +import org.ourproject.kune.workspace.client.options.EntityOptionsPanel; +import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter; +import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicense; +import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel; +import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePresenter; +import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogo; +import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel; +import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter; +import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConf; +import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPanel; +import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPresenter; +import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf; +import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel; +import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPresenter; +import org.ourproject.kune.workspace.client.rate.RateIt; +import org.ourproject.kune.workspace.client.rate.RateItPanel; +import org.ourproject.kune.workspace.client.rate.RateItPresenter; +import org.ourproject.kune.workspace.client.rate.RatePanel; +import org.ourproject.kune.workspace.client.rate.RatePresenter; +import org.ourproject.kune.workspace.client.search.EntityLiveSearcherView; +import org.ourproject.kune.workspace.client.search.GroupLiveSearchPanel; +import org.ourproject.kune.workspace.client.search.GroupLiveSearcher; +import org.ourproject.kune.workspace.client.search.GroupLiveSearcherPresenter; +import org.ourproject.kune.workspace.client.search.SiteSearcher; +import org.ourproject.kune.workspace.client.search.SiteSearcherPanel; +import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter; +import org.ourproject.kune.workspace.client.search.SiteSearcherView; +import org.ourproject.kune.workspace.client.search.UserLiveSearcher; +import org.ourproject.kune.workspace.client.search.UserLiveSearcherPanel; +import org.ourproject.kune.workspace.client.search.UserLiveSearcherPresenter; +import org.ourproject.kune.workspace.client.signin.Register; +import org.ourproject.kune.workspace.client.signin.RegisterPanel; +import org.ourproject.kune.workspace.client.signin.RegisterPresenter; +import org.ourproject.kune.workspace.client.signin.RegisterView; +import org.ourproject.kune.workspace.client.signin.SignIn; +import org.ourproject.kune.workspace.client.signin.SignInPanel; +import org.ourproject.kune.workspace.client.signin.SignInPresenter; +import org.ourproject.kune.workspace.client.signin.SignInView; +import org.ourproject.kune.workspace.client.site.SiteToken; +import org.ourproject.kune.workspace.client.site.WorkspaceNotifyUser; +import org.ourproject.kune.workspace.client.site.msg.ToastMessage; +import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel; +import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter; +import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo; +import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel; +import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter; +import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink; +import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel; +import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter; +import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions; +import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPanel; +import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPresenter; +import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress; +import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel; +import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter; +import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel; +import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter; +import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch; +import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel; +import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel; +import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter; +import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenu; +import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel; +import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter; +import org.ourproject.kune.workspace.client.skel.ActionCntCtxToolbarPanel; +import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummary; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPanel; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPresenter; +import org.ourproject.kune.workspace.client.socialnet.GroupActionRegistry; +import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary; +import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel; +import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter; +import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView; +import org.ourproject.kune.workspace.client.socialnet.ParticipationSummary; +import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPanel; +import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter; +import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView; +import org.ourproject.kune.workspace.client.socialnet.UserActionRegistry; +import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddie; +import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddiePanel; +import org.ourproject.kune.workspace.client.socialnet.other.AddAsBuddiePresenter; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionBuddiesSummaryToolbar; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionBuddiesSummaryToolbarPresenter; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionGroupSummaryToolbar; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionGroupSummaryToolbarPresenter; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionParticipationSummaryToolbarPresenter; +import org.ourproject.kune.workspace.client.socialnet.toolbar.ActionParticipationToolbar; +import org.ourproject.kune.workspace.client.tags.TagsSummary; +import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel; +import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter; +import org.ourproject.kune.workspace.client.themes.WsThemePanel; +import org.ourproject.kune.workspace.client.themes.WsThemePresenter; +import org.ourproject.kune.workspace.client.title.EntitySubTitle; +import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel; +import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter; +import org.ourproject.kune.workspace.client.title.EntityTitle; +import org.ourproject.kune.workspace.client.title.EntityTitlePanel; +import org.ourproject.kune.workspace.client.title.EntityTitlePresenter; +import org.ourproject.kune.workspace.client.title.RenameAction; +import org.ourproject.kune.workspace.client.tool.ToolSelector; +import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenter; +import org.ourproject.kune.workspace.client.upload.FileUploader; +import org.ourproject.kune.workspace.client.upload.FileUploaderDialog; +import org.ourproject.kune.workspace.client.upload.FileUploaderPresenter; + +import com.calclab.suco.client.events.Listener0; +import com.calclab.suco.client.ioc.decorator.NoDecoration; +import com.calclab.suco.client.ioc.decorator.Singleton; +import com.calclab.suco.client.ioc.module.AbstractModule; +import com.calclab.suco.client.ioc.module.Factory; +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.rpc.ServiceDefTarget; + +public class WorkspaceModule extends AbstractModule { + @Override + protected void onInstall() { + + register(Singleton.class, new Factory<SocialNetworkServiceAsync>(SocialNetworkServiceAsync.class) { + @Override + public SocialNetworkServiceAsync create() { + final SocialNetworkServiceAsync snServiceAsync = (SocialNetworkServiceAsync) GWT.create(SocialNetworkService.class); + ((ServiceDefTarget) snServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + + "SocialNetworkService"); + return snServiceAsync; + } + }, new Factory<GroupServiceAsync>(GroupServiceAsync.class) { + @Override + public GroupServiceAsync create() { + final GroupServiceAsync groupServiceAsync = (GroupServiceAsync) GWT.create(GroupService.class); + ((ServiceDefTarget) groupServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "GroupService"); + return groupServiceAsync; + } + }, new Factory<ContentServiceAsync>(ContentServiceAsync.class) { + @Override + public ContentServiceAsync create() { + final ContentServiceAsync contentServiceAsync = (ContentServiceAsync) GWT.create(ContentService.class); + ((ServiceDefTarget) contentServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "ContentService"); + return contentServiceAsync; + } + }); + + register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) { + @Override + public WorkspaceSkeleton create() { + return new WorkspaceSkeleton(); + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) { + @Override + public SiteProgress create() { + final SiteProgressPresenter presenter = new SiteProgressPresenter(); + final SiteProgressPanel panel = new SiteProgressPanel(presenter, $$(SitePublicSpaceLink.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<WorkspaceNotifyUser>(WorkspaceNotifyUser.class) { + @Override + public WorkspaceNotifyUser create() { + return new WorkspaceNotifyUser($(NotifyUser.class), $(I18nUITranslationService.class), + $(SiteProgress.class), $$(ToastMessage.class), $$(WorkspaceSkeleton.class)); + } + }); + + register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) { + @Override + public SitePublicSpaceLink create() { + final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter($(StateManager.class)); + final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter, + $(WorkspaceSkeleton.class), $(I18nUITranslationService.class), $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(NoDecoration.class, new Factory<ToastMessage>(ToastMessage.class) { + @Override + public ToastMessage create() { + final ToastMessagePresenter presenter = new ToastMessagePresenter(); + final ToastMessagePanel panel = new ToastMessagePanel(); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteUserMenu>(SiteUserMenu.class) { + @Override + public SiteUserMenu create() { + final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class), + $(StateManager.class), $$(EntityOptions.class), $$(FileDownloadUtils.class)); + final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nUITranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) { + @Override + public SiteSignInLink create() { + final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter($(Session.class)); + final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) { + @Override + public SiteSignOutLink create() { + final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter($(Session.class), + $$(UserServiceAsync.class), $$(ErrorHandler.class)); + final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter, + $(I18nUITranslationService.class), $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteNewGroupLink>(SiteNewGroupLink.class) { + @Override + public SiteNewGroupLink create() { + final SiteNewGroupLinkPresenter presenter = new SiteNewGroupLinkPresenter(); + final SiteNewGroupLinkPanel panel = new SiteNewGroupLinkPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nUITranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteOptions>(SiteOptions.class) { + @Override + public SiteOptions create() { + final SiteOptionsPresenter presenter = new SiteOptionsPresenter(); + final SiteOptionsPanel panel = new SiteOptionsPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nUITranslationService.class), $$(I18nTranslator.class), $$(TestRTEDialog.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) { + @Override + public SiteSearch create() { + final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class), + $(I18nTranslationService.class)); + final SiteSearchPanel panel = new SiteSearchPanel(presenter, $(WorkspaceSkeleton.class), + $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) { + @Override + public SiteLogo create() { + final SiteLogoPresenter presenter = new SiteLogoPresenter($(Session.class)); + final SiteLogoPanel panel = new SiteLogoPanel(presenter, $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<EntityHeader>(EntityHeader.class) { + @Override + public EntityHeader create() { + final EntityHeaderPresenter presenter = new EntityHeaderPresenter($(StateManager.class), + $(WsThemePresenter.class), $(Session.class)); + final EntityHeaderPanel panel = new EntityHeaderPanel($(WorkspaceSkeleton.class), + $$(FileDownloadUtils.class), $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<WsThemePresenter>(WsThemePresenter.class) { + @Override + public WsThemePresenter create() { + final WsThemePresenter presenter = new WsThemePresenter($(Session.class), $$(GroupServiceAsync.class), + $(StateManager.class)); + final WsThemePanel panel = new WsThemePanel($(WorkspaceSkeleton.class), presenter, + $(I18nUITranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) { + @Override + public EntityTitle create() { + final EntityTitlePresenter presenter = new EntityTitlePresenter($(StateManager.class), + $(Session.class), $(ContentIconsRegistry.class), $(RenamableRegistry.class), + $(RenameAction.class)); + final EntityTitlePanel panel = new EntityTitlePanel($(WorkspaceSkeleton.class), presenter); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) { + @Override + public EntitySubTitle create() { + final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter( + $(I18nUITranslationService.class), $(StateManager.class), false, $(AuthorableRegistry.class)); + final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) { + @Override + public EntityLicensePresenter create() { + final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class)); + final EntityLicensePanel panel = new EntityLicensePanel(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) { + @Override + public RateIt create() { + final RateItPresenter presenter = new RateItPresenter($(I18nUITranslationService.class), + $(Session.class), $$(ContentServiceAsync.class), $(StateManager.class), + $$(RatePresenter.class), $(ContentCapabilitiesRegistry.class)); + final RateItPanel panel = new RateItPanel(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class), $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) { + @Override + public RatePresenter create() { + final RatePresenter presenter = new RatePresenter($(StateManager.class), + $(ContentCapabilitiesRegistry.class)); + final RatePanel panel = new RatePanel(null, null, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<ActionManager>(ActionManager.class) { + @Override + public ActionManager create() { + return new ActionManager(); + } + }); + + register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) { + @Override + public ActionGroupSummaryToolbar create() { + final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>($$(ActionManager.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)); + final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter( + panel); + return toolbar; + } + }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) { + @Override + public ActionBuddiesSummaryToolbar create() { + final ActionToolbarPanel<UserSimpleDTO> panel = new ActionToolbarPanel<UserSimpleDTO>( + $$(ActionManager.class)); + final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel); + return toolbar; + } + }); + + register(ApplicationComponentGroup.class, new Factory<GroupMembersSummary>(GroupMembersSummary.class) { + @Override + public GroupMembersSummary create() { + final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter( + $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class), + $(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupServiceAsync.class), + $$(GroupLiveSearcher.class), $(WsThemePresenter.class), $$(ChatEngine.class), + $(GroupActionRegistry.class), $(ActionGroupSummaryToolbar.class), $$(FileDownloadUtils.class)); + final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter, + $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $( + ActionGroupSummaryToolbar.class).getView()); + presenter.init(view); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<AddAsBuddie>(AddAsBuddie.class) { + @Override + public AddAsBuddie create() { + final AddAsBuddiePresenter presenter = new AddAsBuddiePresenter($$(ChatEngine.class), + $(StateManager.class), $(Session.class)); + final AddAsBuddiePanel panel = new AddAsBuddiePanel(presenter, $(EntityHeader.class), $(Images.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<BuddiesSummary>(BuddiesSummary.class) { + @Override + public BuddiesSummary create() { + final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class), + $(Session.class), $$(UserServiceAsync.class), $(UserActionRegistry.class), + $(I18nTranslationService.class), $$(ChatEngine.class), $(ActionBuddiesSummaryToolbar.class), + $$(FileDownloadUtils.class), $(ImageUtils.class), $$(SocialNetworkServiceAsync.class), + $(GroupActionRegistry.class)); + final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class), $(ActionManager.class), + $(ActionBuddiesSummaryToolbar.class).getView()); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) { + @Override + public ParticipationSummary create() { + final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter( + $(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class), + $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class), + $(GroupActionRegistry.class), $(ActionParticipationToolbar.class), $$(FileDownloadUtils.class)); + final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter, + $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), + ($(ActionParticipationToolbar.class).getView())); + presenter.init(view); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) { + @Override + public TagsSummary create() { + final TagsSummaryPresenter presenter = new TagsSummaryPresenter($(Session.class), + $$(SiteSearcher.class), $(StateManager.class), $(WsThemePresenter.class)); + final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<NoHomePage>(NoHomePage.class) { + @Override + public NoHomePage create() { + final NoHomePagePresenter presenter = new NoHomePagePresenter($(StateManager.class), + $$(EntityHeader.class)); + final NoHomePagePanel panel = new NoHomePagePanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<EntityOptions>(EntityOptions.class) { + @Override + public EntityOptions create() { + final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class)); + final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityHeader.class), + $(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class)); + presenter.init(panel); + return presenter; + } + }); + + register(EntityOptionsGroup.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) { + @Override + public EntityOptionsToolsConf create() { + final EntityOptionsToolsConfPresenter presenter = new EntityOptionsToolsConfPresenter( + $(StateManager.class), $(Session.class), $(I18nTranslationService.class), + $(EntityOptions.class), $$(GroupServiceAsync.class)); + final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter, + $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(EntityOptionsGroup.class, new Factory<EntityOptionsLogo>(EntityOptionsLogo.class) { + @Override + public EntityOptionsLogo create() { + final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class), + $(EntityHeader.class), $(EntityOptions.class), $(StateManager.class), + $$(UserServiceAsync.class), $$(ChatEngine.class)); + final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(EntityOptionsGroup.class, new Factory<EntityOptionsDefLicense>(EntityOptionsDefLicense.class) { + @Override + public EntityOptionsDefLicense create() { + final EntityOptionsDefLicensePresenter presenter = new EntityOptionsDefLicensePresenter( + $(EntityOptions.class), $(StateManager.class), $(Session.class), $$(LicenseWizard.class), + $$(LicenseChangeAction.class)); + final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter, + $(WorkspaceSkeleton.class), $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(EntityOptionsGroup.class, + new Factory<EntityOptionsPublicSpaceConf>(EntityOptionsPublicSpaceConf.class) { + @Override + public EntityOptionsPublicSpaceConf create() { + final EntityOptionsPublicSpaceConfPresenter presenter = new EntityOptionsPublicSpaceConfPresenter( + $(EntityOptions.class)); + final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel( + presenter, $(WorkspaceSkeleton.class), $(I18nTranslationService.class), + $(WsThemePresenter.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<LicenseChangeAction>(LicenseChangeAction.class) { + @Override + public LicenseChangeAction create() { + return new LicenseChangeAction($$(GroupServiceAsync.class), $(Session.class), + $(I18nTranslationService.class), $(StateManager.class)); + } + }); + + register(Singleton.class, new Factory<RenameAction>(RenameAction.class) { + @Override + public RenameAction create() { + return new RenameAction($(I18nTranslationService.class), $(Session.class), + $$(ContentServiceAsync.class)); + } + }); + + register(Singleton.class, new Factory<LicenseWizard>(LicenseWizard.class) { + @Override + public LicenseWizard create() { + final LicenseWizardPresenter presenter = new LicenseWizardPresenter( + $(LicenseWizardFirstFormView.class), $(LicenseWizardSndFormView.class), + $(LicenseWizardTrdFormView.class), $(LicenseWizardFrdFormView.class), $(Session.class)); + final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<LicenseWizardFirstFormView>(LicenseWizardFirstFormView.class) { + @Override + public LicenseWizardFirstFormView create() { + return new LicenseWizardFirstForm($(I18nTranslationService.class)); + } + }); + + register(Singleton.class, new Factory<LicenseWizardSndFormView>(LicenseWizardSndFormView.class) { + @Override + public LicenseWizardSndFormView create() { + return new LicenseWizardSndForm($(I18nTranslationService.class)); + } + }); + + register(Singleton.class, new Factory<LicenseWizardTrdFormView>(LicenseWizardTrdFormView.class) { + @Override + public LicenseWizardTrdFormView create() { + return new LicenseWizardTrdForm($(Images.class), $(I18nTranslationService.class)); + } + }); + + register(Singleton.class, new Factory<LicenseWizardFrdFormView>(LicenseWizardFrdFormView.class) { + @Override + public LicenseWizardFrdFormView create() { + return new LicenseWizardFrdForm($(I18nTranslationService.class), $(Session.class)); + } + }); + + register(Singleton.class, new Factory<FileUploader>(FileUploader.class) { + @Override + public FileUploader create() { + final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class)); + final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + + @Override + public void onAfterCreated(FileUploader uploader) { + $(ContextNavigator.class).addFileUploaderListener(uploader); + } + }); + + register(Singleton.class, new Factory<SiteSearcher>(SiteSearcher.class) { + @Override + public SiteSearcher create() { + final SiteSearcherPresenter presenter = new SiteSearcherPresenter($$(StateManager.class)); + final SiteSearcherView view = new SiteSearcherPanel(presenter, $(I18nTranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(view); + return presenter; + } + }); + + register(Singleton.class, new Factory<I18nTranslator>(I18nTranslator.class) { + @Override + public I18nTranslator create() { + final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter($(Session.class), + $(I18nServiceAsync.class), $(I18nUITranslationService.class)); + final I18nTranslatorView view = new I18nTranslatorPanel(presenter, $(I18nTranslationService.class), + $(LanguageSelector.class), $(WorkspaceSkeleton.class), $(Images.class)); + presenter.init(view); + return presenter; + } + }); + + register(Singleton.class, new Factory<SignIn>(SignIn.class) { + @Override + public SignIn create() { + final SignInPresenter presenter = new SignInPresenter($(Session.class), $(StateManager.class), + $(I18nUITranslationService.class), $$(UserServiceAsync.class), $$(Register.class)); + final SignInView panel = new SignInPanel(presenter, $(I18nTranslationService.class), + $(WorkspaceSkeleton.class), $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<Register>(Register.class) { + @Override + public Register create() { + final RegisterPresenter presenter = new RegisterPresenter($(Session.class), $(StateManager.class), + $(I18nUITranslationService.class), $$(UserServiceAsync.class), $$(SignIn.class)); + final RegisterView panel = new RegisterPanel(presenter, $(I18nTranslationService.class), + $(WorkspaceSkeleton.class), $(Session.class), $(Images.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<NewGroup>(NewGroup.class) { + @Override + public NewGroup create() { + final NewGroupPresenter presenter = new NewGroupPresenter($(I18nTranslationService.class), + $(Session.class), $(StateManager.class), $$(GroupServiceAsync.class)); + final NewGroupPanel view = new NewGroupPanel(presenter, $(I18nTranslationService.class), + $$(LicenseWizard.class), $(Images.class)); + presenter.init(view); + return presenter; + } + }); + + register(Singleton.class, new Factory<UserLiveSearcher>(UserLiveSearcher.class) { + @Override + public UserLiveSearcher create() { + final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter(); + final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, + $(I18nTranslationService.class), $(FileDownloadUtils.class)); + presenter.init(view); + return presenter; + } + }); + + register(Singleton.class, new Factory<GroupLiveSearcher>(GroupLiveSearcher.class) { + @Override + public GroupLiveSearcher create() { + final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter(); + final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, + $(I18nTranslationService.class), $(FileDownloadUtils.class)); + presenter.init(view); + return presenter; + } + }); + + register(Singleton.class, new Factory<ToolSelector>(ToolSelector.class) { + @Override + public ToolSelector create() { + final ToolSelectorPresenter presenter = new ToolSelectorPresenter($(StateManager.class), + $(WsThemePresenter.class)); + return presenter; + } + }); + + register(InsertLinkGroup.class, new Factory<InsertLinkLocal>(InsertLinkLocal.class) { + @Override + public InsertLinkLocal create() { + final InsertLinkLocalPresenter presenter = new InsertLinkLocalPresenter($(InsertLinkDialog.class)); + final InsertLinkLocalPanel panel = new InsertLinkLocalPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class), $(FileDownloadUtils.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<LanguageSelector>(LanguageSelector.class) { + @Override + public LanguageSelector create() { + final LanguageSelectorPresenter presenter = new LanguageSelectorPresenter($(Session.class)); + final LanguageSelectorView view = new LanguageSelectorPanel(presenter, $(I18nTranslationService.class)); + presenter.init(view); + return presenter; + } + }); + + // Register of tokens like "signin", "newgroup", "translate" etcetera + $(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener0() { + public void onEvent() { + $(SignIn.class).doSignIn(); + } + }); + + $(StateManager.class).addSiteToken(SiteToken.register.toString(), new Listener0() { + public void onEvent() { + $(Register.class).doRegister(); + } + }); + + $(StateManager.class).addSiteToken(SiteToken.newgroup.toString(), new Listener0() { + public void onEvent() { + $(NewGroup.class).doNewGroup(); + } + }); + + $(StateManager.class).addSiteToken(SiteToken.translate.toString(), new Listener0() { + public void onEvent() { + $(I18nTranslator.class).doShowTranslator(); + } + }); + + register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) { + @Override + public ActionContentToolbar create() { + final ActionCntCtxToolbarPanel<StateToken> tbar = new ActionCntCtxToolbarPanel<StateToken>( + AbstractFoldableContentActions.CONTENT_TOPBAR, $$(ActionManager.class), + $(WorkspaceSkeleton.class)); + final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(tbar); + return toolbar; + } + }); + + register(Singleton.class, new Factory<ContentEditor>(ContentEditor.class) { + @Override + public ContentEditor create() { + return new ContentEditor($(RTEditor.class), true, $(I18nTranslationService.class), + $(StateManager.class), $(SiteSignOutLink.class), $(DeferredCommandWrapper.class), + $(RTEImgResources.class), $(WorkspaceSkeleton.class), $(TimerWrapper.class), + new RTESavingEditorPanel()); + } + }); + register(NoDecoration.class, new Factory<ActionContextTopToolbar>(ActionContextTopToolbar.class) { + @Override + public ActionContextTopToolbar create() { + final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( + AbstractFoldableContentActions.CONTEXT_TOPBAR, $$(ActionManager.class), + $(WorkspaceSkeleton.class)); + final ActionContextTopToolbar toolbar = new ActionContextTopToolbar(panel); + return toolbar; + } + }); + + register(NoDecoration.class, new Factory<ActionContextBottomToolbar>(ActionContextBottomToolbar.class) { + @Override + public ActionContextBottomToolbar create() { + final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( + AbstractFoldableContentActions.CONTEXT_BOTTOMBAR, $$(ActionManager.class), + $(WorkspaceSkeleton.class)); + final ActionContextBottomToolbar toolbar = new ActionContextBottomToolbar(panel); + return toolbar; + } + }); + + register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) { + @Override + public ContextNavigator create() { + final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter($(StateManager.class), + $(Session.class), $(I18nTranslationService.class), $(ContentIconsRegistry.class), + $(ContentCapabilitiesRegistry.class), $(ActionContextTopToolbar.class), + $(ActionContextBottomToolbar.class), $(ContextActionRegistry.class), + $$(FileDownloadUtils.class), true, $(RenameAction.class)); + final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, + $(I18nTranslationService.class), $(WorkspaceSkeleton.class), $(ActionManager.class)); + presenter.init(panel); + return presenter; + } + }); + + register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) { + @Override + public ContextPropEditor create() { + final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter($(Session.class), + $(StateManager.class), $(ContentCapabilitiesRegistry.class), $$(TagsSummary.class), + $$(ContentServiceAsync.class), $(EntitySubTitle.class)); + final ContextPropEditorView view = new ContextPropEditorPanel(presenter, + $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $$(LanguageSelector.class), + $(Images.class)); + presenter.init(view); + return presenter; + } + }); + + register(InsertImageGroup.class, new Factory<InsertImageLocal>(InsertImageLocal.class) { + @Override + public InsertImageLocal create() { + final InsertImageLocalPresenter presenter = new InsertImageLocalPresenter($(InsertImageDialog.class)); + final InsertImageLocalPanel panel = new InsertImageLocalPanel(presenter, + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + register(ApplicationComponentGroup.class, new Factory<MaxMinWorkspace>(MaxMinWorkspace.class) { + @Override + public MaxMinWorkspace create() { + final MaxMinWorkspacePresenter presenter = new MaxMinWorkspacePresenter(); + final MaxMinWorkspacePanel panel = new MaxMinWorkspacePanel(presenter, $(WorkspaceSkeleton.class), + $(Images.class), $(EntityHeader.class), $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + + } +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -8,9 +8,17 @@ public class EntityHeaderButton extends IconLabel implements View { public EntityHeaderButton(AbstractImagePrototype icon, String text) { super(icon, text, false); + setDefStyle(); } public EntityHeaderButton(String text, AbstractImagePrototype icon) { super(text, icon, false); + setDefStyle(); } + + private void setDefStyle() { + addStyleName("kune-Margin-Medium-t"); + addStyleName("kune-pointer"); + } + } \ No newline at end of file Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspace.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspace.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspace.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,5 @@ +package org.ourproject.kune.workspace.client.entityheader.maxmin; + +public interface MaxMinWorkspace { + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePanel.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePanel.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,53 @@ +package org.ourproject.kune.workspace.client.entityheader.maxmin; + +import org.ourproject.kune.platf.client.i18n.I18nTranslationService; +import org.ourproject.kune.platf.client.services.Images; +import org.ourproject.kune.workspace.client.entityheader.EntityHeader; +import org.ourproject.kune.workspace.client.entityheader.EntityHeaderButton; +import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; + +import com.google.gwt.user.client.ui.ClickListener; +import com.google.gwt.user.client.ui.Widget; + +public class MaxMinWorkspacePanel implements MaxMinWorkspaceView { + + public static final String MIN_ICON = "mmwp-min_bt"; + public static final String MAX_ICON = "mmwp-max_bt"; + private final WorkspaceSkeleton ws; + private final EntityHeaderButton maxBtn; + private final EntityHeaderButton minBtn; + + public MaxMinWorkspacePanel(final MaxMinWorkspacePresenter presenter, WorkspaceSkeleton ws, Images images, + final EntityHeader entityHeader, I18nTranslationService i18n) { + this.ws = ws; + maxBtn = new EntityHeaderButton("", images.arrowOut()); + minBtn = new EntityHeaderButton("", images.arrowIn()); + maxBtn.setTitle(i18n.t("Maximize the workspace")); + minBtn.setTitle(i18n.t("Minimize the workspace")); + maxBtn.addClickListener(new ClickListener() { + public void onClick(Widget arg0) { + presenter.onMaximize(); + } + }); + minBtn.addClickListener(new ClickListener() { + public void onClick(Widget arg0) { + presenter.onMinimize(); + } + }); + minBtn.setVisible(false); + minBtn.ensureDebugId(MIN_ICON); + maxBtn.ensureDebugId(MAX_ICON); + entityHeader.addWidget(maxBtn); + entityHeader.addWidget(minBtn); + } + + public void setMaximized(boolean maximized) { + ws.setMaximized(maximized); + } + + public void showMaxButton(boolean showMax) { + maxBtn.setVisible(showMax); + minBtn.setVisible(!showMax); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,32 @@ +package org.ourproject.kune.workspace.client.entityheader.maxmin; + +import org.ourproject.kune.platf.client.View; + +public class MaxMinWorkspacePresenter implements MaxMinWorkspace { + + private MaxMinWorkspaceView view; + + public MaxMinWorkspacePresenter() { + } + + public View getView() { + return view; + } + + public void init(MaxMinWorkspaceView view) { + this.view = view; + } + + public void onMaximize() { + showMaximized(true); + } + + public void onMinimize() { + showMaximized(false); + } + + private void showMaximized(boolean maximized) { + view.setMaximized(maximized); + view.showMaxButton(!maximized); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspaceView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspaceView.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspaceView.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -0,0 +1,10 @@ +package org.ourproject.kune.workspace.client.entityheader.maxmin; + +import org.ourproject.kune.platf.client.View; + +public interface MaxMinWorkspaceView extends View { + + void setMaximized(boolean maximized); + + void showMaxButton(boolean showMax); +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -82,9 +82,6 @@ } }); optionsButton.ensureDebugId(GROUP_OPTIONS_ICON); - optionsButton.addStyleName("kune-Margin-Medium-t"); - optionsButton.addStyleName("kune-pointer"); - entityHeader.addWidget(optionsButton); } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesign/SiteSignOutLinkPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesign/SiteSignOutLinkPresenter.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesign/SiteSignOutLinkPresenter.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -28,7 +28,7 @@ import org.ourproject.kune.platf.client.errors.SessionExpiredException; import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; import org.ourproject.kune.platf.client.rpc.UserServiceAsync; -import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.platf.client.services.ErrorHandler; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.ui.noti.NotifyUser; @@ -47,7 +47,7 @@ private final BeforeActionCollection beforeSignOutCollection; public SiteSignOutLinkPresenter(final Session session, final Provider<UserServiceAsync> userServiceProvider, - final Provider<KuneErrorHandler> kuneErrorHandlerProvider) { + final Provider<ErrorHandler> kuneErrorHandlerProvider) { this.session = session; this.userServiceProvider = userServiceProvider; session.onUserSignIn(new Listener<UserInfoDTO>() { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -111,6 +111,11 @@ entitySummary.doLayoutIfNeeded(); } + public void setMaximized(boolean maximized) { + entityWorkspace.setMaximized(maximized); + entitySummary.setMaximized(maximized); + } + public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) { if (oldTheme != null) { entityFitPanel.removeClass("k-entity-" + oldTheme); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -156,4 +156,13 @@ return trayBar; } + public void setMaximized(boolean maximized) { + entitySummary.setVisible(!maximized); + if (maximized) { + mainFitPanel.collapse(); + } else { + mainFitPanel.expand(); + } + } + } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -55,6 +55,7 @@ private final Panel cntCtxBorderLayout; private final Panel mainFitPanel; private final Panel bottomPanel; + private final Panel contextWrap; public EntityWorkspace() { mainFitPanel = new Panel(); @@ -97,7 +98,7 @@ bottomPanel.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT); final Panel contentWrap = new Panel(); - final Panel contextWrap = new Panel(); + contextWrap = new Panel(); contentWrap.setLayout(new BorderLayout()); contextWrap.setLayout(new BorderLayout()); contentWrap.setBorder(true); @@ -220,6 +221,14 @@ setPanel(context, widget); } + public void setMaximized(boolean maximized) { + if (maximized) { + contextWrap.collapse(); + } else { + contextWrap.expand(); + } + } + public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) { final String themeS = newTheme.toString(); if (oldTheme != null) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2009-03-11 14:24:39 UTC (rev 1072) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2009-03-12 08:05:10 UTC (rev 1073) @@ -136,6 +136,10 @@ entity.refreshSummary(); } + public void setMaximized(boolean maximized) { + entity.setMaximized(maximized); + } + public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) { entity.setTheme(oldTheme, newTheme); }
participants (1)
-
vjrj