r793 - in trunk: . script src/main/java/org/ourproject/kune/app src/main/java/org/ourproject/kune/app/public src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/state src/main/java/org/ourproject/kune/platf/client/ui src/main/java/org/ourproject/kune/workspace/client/editor src/main/java/org/ourproject/kune/workspace/client/sitebar/bar src/main
Author: vjrj Date: 2008-07-07 16:10:21 +0200 (Mon, 07 Jul 2008) New Revision: 793 Added: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/RoundedPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/AbstractBar.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Entity.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/SiteBar.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/TitleBar.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Toolbar.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsTheme.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemeView.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitleView.java trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogo.java trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogoPanel.java Removed: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java Modified: trunk/pom.xml trunk/script/css-update.sh trunk/script/deploy_gwt.cmd trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml trunk/src/main/java/org/ourproject/kune/app/public/Kune.html trunk/src/main/java/org/ourproject/kune/app/public/css/all.css trunk/src/main/java/org/ourproject/kune/app/public/css/chat.css trunk/src/main/java/org/ourproject/kune/app/public/css/docs.css trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/bar/SiteBarPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java trunk/src/main/webapp/WEB-INF/web.xml trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java Log: gwt-ext workspace refactorization Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/pom.xml 2008-07-07 14:10:21 UTC (rev 793) @@ -272,17 +272,12 @@ <dependency> <groupId>com.calclab.emite</groupId> <artifactId>emite</artifactId> - <version>0.2.8</version> + <version>0.3.0</version> </dependency> <dependency> - <groupId>com.calclab.emite</groupId> - <artifactId>emiteuimodule</artifactId> - <version>0.2.8</version> - </dependency> - <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId> - <version>0.2.8</version> + <version>0.3.0</version> </dependency> </dependencies> <!-- http://gwt-maven.googlecode.com/svn/docs/maven-googlewebtoolkit2-plugin/inde... --> Modified: trunk/script/css-update.sh =================================================================== --- trunk/script/css-update.sh 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/script/css-update.sh 2008-07-07 14:10:21 UTC (rev 793) @@ -3,7 +3,7 @@ WEBAPP=src/main/webapp/gwt/org.ourproject.kune.app.Kune TARGET=target/kune-0.0.4/org.ourproject.kune.app.Kune -$PWD/script/css-compact-and-tidy.css +#$PWD/script/css-compact-and-tidy.css rsync -aC $APPPUB/Kune.html $WEBAPP/Kune.html rsync -aC $APPPUB/js/ $WEBAPP/js Modified: trunk/script/deploy_gwt.cmd =================================================================== --- trunk/script/deploy_gwt.cmd 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/script/deploy_gwt.cmd 2008-07-07 14:10:21 UTC (rev 793) @@ -1 +1 @@ -copy target\org.ourproject.kune-0.0.4\org.ourproject.kune.Main\* src\main\webapp\gwt\org.ourproject.kune +copy target\kune-0.0.4\org.ourproject.kune.Main\* src\main\webapp\gwt\org.ourproject.kune Modified: trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml 2008-07-07 14:10:21 UTC (rev 793) @@ -3,18 +3,20 @@ <inherits name='com.google.gwt.user.User' /> <inherits name="org.cafesip.gwtcomp.GWTComponents" /> - <!-- gxt - <inherits name='com.extjs.gxt.ui.GXT' /> - <stylesheet src="css/ext-all.css" /> - <stylesheet src="css/xtheme-gray.css" /> - --> - <!-- gwt-ext --> <inherits name='com.gwtext.GwtExt' /> <script src="js/ext/adapter/ext/ext-base.js" /> <script src="js/ext/ext-all.js" /> - + <!-- kune css --> + <!-- when build a unique css with csstidy use all.css --> + <!-- <stylesheet src="css/all.css" /> --> + <stylesheet src="css/workspace.css" /> + <stylesheet src="css/chat.css" /> + <stylesheet src="css/docs.css" /> + <stylesheet src="css/kune.css" /> + <stylesheet src="css/kune-new.css" /> + <inherits name="com.calclab.suco.Suco" /> <inherits name='org.ourproject.kune.platf.Kune-Platform' /> Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-07-07 14:10:21 UTC (rev 793) @@ -17,7 +17,6 @@ <link rel="stylesheet" type="text/css" href="css/kune.css"> --> -<link rel="stylesheet" type="text/css" href="css/all.css"> <link rel="shortcut icon" href="images/favicon.ico" /> <title>Kune</title> Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-07-07 14:10:21 UTC (rev 793) @@ -33,6 +33,6 @@ -moz-opacity: 0.2; opacity: 0.2; } -*/.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;owerflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;owerflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-TagsPanel-tag{float:left;margin-right:5px;cursor:pointer;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}.chat-icon{background-image:url(img/chat.gif)!important;}.group-icon{background-image:url(img/group.gif)!important;}.user-icon{background-image:url(img/user.gif)!important;}.userf-icon{background-image:url(img/userf.gif)!important;}.kune-RoomPanel-HorizDelimiter{white-space:nowrap;color:#B3B3B3;}.kune-MultiRoomPanel-Subject{font-size:108%;color:#2E5492;}.kune-MultiRoomPanel-User{}.kune-MultiRoomPanel-User .kune-IconLabel{overflow:hidden;white-space:nowrap;}.kune-RoomPanel-Conversation{}.kune-RoomPanel-Message{margin:0 7px;}.kune-RoomPanel-EventMessage{font-style:italic;color:#69C;margin:0 5px;}.kune-MultiRoomPanel-EmoticonPalette{background-color:#FFF;border:1px solid #AAA;margin:1px solid red;z-index:10000;position:absolute;}.kune-MultiRoomPanel-EmoticonPalette td{width:30px;height:30px;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000; +*/.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;owerflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-TagsPanel-tag{float:left;margin-right:5px;cursor:pointer;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}.chat-icon{background-image:url(img/chat.gif)!important;}.group-icon{background-image:url(img/group.gif)!important;}.user-icon{background-image:url(img/user.gif)!important;}.userf-icon{background-image:url(img/userf.gif)!important;}.kune-RoomPanel-HorizDelimiter{white-space:nowrap;color:#B3B3B3;}.kune-MultiRoomPanel-Subject{font-size:108%;color:#2E5492;}.kune-MultiRoomPanel-User{}.kune-MultiRoomPanel-User .kune-IconLabel{overflow:hidden;white-space:nowrap;}.kune-RoomPanel-Conversation{}.kune-RoomPanel-Message{margin:0 7px;}.kune-RoomPanel-EventMessage{font-style:italic;color:#69C;margin:0 5px;}.kune-MultiRoomPanel-EmoticonPalette{background-color:#FFF;border:1px solid #AAA;margin:1px solid red;z-index:10000;position:absolute;}.kune-MultiRoomPanel-EmoticonPalette td{width:30px;height:30px;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000; background-color: #FFF; */border:1px solid #4D4D4D;background-color:#FFF;margin:5px 0 5px 10px;}.gwt-RichTextToolbar{/* background-color: #F2F2F2; padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px solid red;}.kune-WebSafePalette td{width:12px;height:10px;} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/chat.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/chat.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/chat.css 2008-07-07 14:10:21 UTC (rev 793) @@ -1,46 +0,0 @@ -.kune-RoomPanel-HorizDelimiter { - white-space: nowrap; - color: #B3B3B3; -} - -.kune-MultiRoomPanel-Subject { - font-size: 108%; - color: #2E5492; -} - -.kune-MultiRoomPanel-User { - -} - -.kune-MultiRoomPanel-User .kune-IconLabel { - overflow: hidden; - white-space: nowrap; -} - -.kune-RoomPanel-Conversation { - -} - -.kune-RoomPanel-Message { - margin: 0 7px; -} - -.kune-RoomPanel-EventMessage { - font-style: italic; - color: rgb(102, 153, 204); - margin: 0 5px; -} - -.kune-MultiRoomPanel-EmoticonPalette { - background-color: #FFF; - border: 1px solid #AAA; - margin: 1px solid red; - z-index:10000; - position:absolute; -} - -.kune-MultiRoomPanel-EmoticonPalette td { - width: 30px; - height: 30px; -} - Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/docs.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/docs.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/docs.css 2008-07-07 14:10:21 UTC (rev 793) @@ -135,7 +135,7 @@ .kune-WebSafePalette { background-color: #FFF; border: 1px solid #AAA; - margin: 1px solid red; + margin: 1px; } .kune-WebSafePalette td { Added: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,182 @@ +.k-site-traybar { + background: #FFF none repeat scroll 0% 50%; +} + +.k-sitebar { + white-space: nowrap; +} + +.k-entity-summary { + border-left-color: #FFF; + border-left-width: 5px; +} + +.k-EntityTextLogo { + border: 2px solid #F2F2F2; + height: 60px; + margin-bottom: 4px; + overflow: hidden; + width: 468px; +} + +.k-entitytextlogo .gwt-Label { + font-size: 167%; + font-weight: 700; + margin: 5px; + height: 27px; +} + +.k-entitytextlogo-def .gwt-Label { + color: #69312F; +} + +.k-entitytextlogo-green .gwt-Label { + color: #000080; +} + +.k-entitytextlogo .gwt-Hyperlink a { + color: #CCC; + font-size: 85%; + margin: 5px; + text-decoration: underline; + white-space: nowrap; + background-color: #FFF; +} + +.k-entity-def .x-layout-split { + background: #DD8A3D none repeat scroll 0% 50%; +} + +.k-entity-green .x-layout-split { + background: #5FD35F none repeat scroll 0% 50%; +} + +.k-entityworkspace .x-layout-split { + background: transparent none repeat scroll 0% 50%; +} + +.k-entityworkspace-def .x-layout-split { + background: #DEAA87 none repeat scroll 0% 50%; +} + +.k-entityworkspace-green .x-layout-split { + background: #DCE8AB none repeat scroll 0% 50%; +} + +.k-entity-title { + line-height: 22px; + border-left-style: solid; + border-left-width: 2px; +} + +.k-entity-title div { + white-space: nowrap; +} + +.k-entity-subtitle { + line-height: 2em; +} + +.k-entity-subtitle div { + white-space: nowrap; +} + +.k-entity-title-rd-def { + background: #DD8A3D; +} + +.k-entity-title-rd-green { + background: #5FD35F; +} + +.k-entity-title-def { + background: #F1BB59 none repeat scroll 0% 50%; + color: #69312F; + border-left-color: #DD8A3D; +} + +.k-entity-title-green { + background: #AFA none repeat scroll 0% 50%; + color: #250; + border-left-color: #5FD35F; +} + +.k-entity-subtitle-def { + background: #DD8A3D none repeat scroll 0% 50%; + color: #FFF; +} + +.k-entity-subtitle-green { + background: #5FD35F none repeat scroll 0% 50%; + color: #FFF; +} + +.k-entity-bottom-rd-def { + background: #DD8A3D; +} + +.k-entity-bottom-rd-green { + background: #5FD35F; +} + +.k-entity-container-def div { + background: #FFD09D none repeat scroll 0% 50%; +} + +.k-entity-container-green div { + background: #CFA none repeat scroll 0% 50%; +} + +.k-entity-bottom { + line-height: 2em; +} + +.k-entity-bottom-def { + background: #DD8A3D; + color: #FFF; +} + +.k-entity-bottom-green { + background: #5FD35F; + color: #FFF; +} + +.k-toolbar-top-line { + border-top-color: rgb( 208, 208, 208 ); + border-top-style: solid; + border-top-width: 1px; +} + +.k-toolbar-bottom-line { + border-bottom-color: rgb( 208, 208, 208 ); + border-bottom-style: solid; + border-bottom-width: 1px; +} + +.x-toolbar td, .x-toolbar span, .x-toolbar input, .x-toolbar div, .x-toolbar select, .x-toolbar label { + white-space: nowrap; + font: normal 13px arial, sans; + line-height: 19px; +} + +.k-toolbar-sep { + padding-top: 4px; +} + +.ytb-sep { + background-image: url(../js/ext/resources/images/default/grid/grid-split.gif); + background-position: center; + background-repeat: no-repeat; + display: block; + font-size: 1px; + height: 16px; + width: 4px; + overflow: hidden; + cursor: default; + margin: 0 2px 0; + border: 0; +} + +.ytb-spacer { + width: 2px; +} Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-07-07 14:10:21 UTC (rev 793) @@ -175,13 +175,13 @@ .kune-CustomPushButton-up-disabled { background: transparent url(img/button-bg-soft.gif) repeat-x 0 0; color: #E0E0E0; - cursor: normal; + cursor: default; } .kune-CustomPushButton-down-disabled { background: transparent url(img/button-bg-soft.gif) repeat-x 0 0; color: #E0E0E0; - cursor: normal; + cursor: default; } .kune-Button-Large-lrSpace { @@ -396,7 +396,7 @@ .kune-Margin-Large-tb { margin-top: 10px; - margin-bottom: : 10px; + margin-bottom: 10px; } .kune-Margin-Large-t { @@ -568,5 +568,5 @@ } .kune-ft26px { - font-size: 197 % + font-size: 197% } Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-07-07 14:10:21 UTC (rev 793) @@ -127,31 +127,6 @@ border-right: 3px solid #DD8A3D; } -.kune-EntityTextLogo { - border: 2px solid #F2F2F2; - height: 60px; - margin-bottom: 4px; - overflow: hidden; - width: 468px; -} - -.kune-EntityTextLogo .gwt-Label { - color: #AA4400; - font-size: 167%; - font-weight: 700; - margin: 5px; - height: 27; -} - -.kune-EntityTextLogo .gwt-Hyperlink a { - color: #CCC; - font-size: 85%; - margin: 5px; - text-decoration: underline; - white-space: nowrap; - background-color: #FFF; -} - .kune-GroupSummaryPanel { margin: 5px 0 0 5px; width: 100%; @@ -383,7 +358,7 @@ background-color: #EEFFAA; cursor: pointer; padding: 1px 3px 0 6px; - owerflow: hidden; + overflow: hidden; } .kune-StackedDropDownPanel .gwt-StackPanelItem img { @@ -601,7 +576,7 @@ background: transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px; cursor: pointer; padding: 3px 10px 1px 20px; - owerflow: hidden; + overflow: hidden; width: 100%; } @@ -853,19 +828,12 @@ } .kune-Content-Main input[type=text] { - width: 12.25em; * - width: 11.9em; -} + width: 12.25em;*width: 11.9em;} .kune-Content-Main input[type=password] { - width: 12.25em; * - width: 11.9em; -} + width: 12.25em;*width: 11.9em;} -.kune-Content-Main textarea { - width: 12.25em; * - width: 11.9em; -} +.kune-Content-Main textarea {width: 12.25em;*width: 11.9em;} .search-icon { background-image: url(img/search.gif) !important; Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-07 14:10:21 UTC (rev 793) @@ -38,10 +38,14 @@ import org.ourproject.kune.workspace.client.WorkspaceClientModule; import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService; import org.ourproject.kune.workspace.client.sitebar.Site; +import org.ourproject.kune.workspace.client.ui.newtmp.WorkspaceManager; +import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; import com.calclab.emiteuimodule.client.EmiteUIModule; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.WindowCloseListener; +import com.google.gwt.user.client.ui.Label; public class ApplicationBuilder { @@ -62,6 +66,28 @@ final Application application = kune.getInstance(Application.class); final I18nUITranslationService i18n = kune.getI18N(); + // Temporary new ws + final WorkspaceManager wmanager = kune.getInstance(WorkspaceManager.class); + final WorkspaceSkeleton ws = kune.getInstance(WorkspaceSkeleton.class); + // final com.gwtext.client.widgets.Window dialog = new + // com.gwtext.client.widgets.Window("gwt-ext new ws 3", 640, + // 480); + // final Panel panel = new Panel(); + // panel.setPaddings(5); + // panel.setLayout(new FitLayout()); + // panel.add(((WorkspaceSkeleton) wsmanager.getView()).getPanel()); + // new Viewport(panel); + // wsnew.getPanel().setWidth(640); + // wsnew.getPanel().setHeight(460); + // panel.setWidth(640); + // panel.setHeight(460); + // dialog.add(panel); + // dialog.show(); + ws.setTheme(WsTheme.def); + ws.show(); + ws.getEntityWorkspace().getContentTopBar().add(new Label("Sorry, kune workspace under heavy refactorization")); + wmanager.setTheme(WsTheme.def); + // Testing providers: platform.install(new PlatformClientModule(session, kune.getProvider(StateManager.class))); platform.install(new WorkspaceClientModule(session, stateManager, application.getWorkspace(), i18n)); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-07 14:10:21 UTC (rev 793) @@ -18,6 +18,14 @@ import org.ourproject.kune.platf.client.state.StateManagerDefault; import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService; import org.ourproject.kune.workspace.client.sitebar.Site; +import org.ourproject.kune.workspace.client.ui.newtmp.WorkspaceManager; +import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePanel; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePresenter; +import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePanel; +import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePresenter; +import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo; +import org.ourproject.kune.workspace.client.workspace.ui.EntityLogoPanel; import com.calclab.suco.client.container.Provider; import com.calclab.suco.client.modules.Module; @@ -48,10 +56,10 @@ builder.registerProvider(I18nUITranslationService.class, new Provider<I18nUITranslationService>() { public I18nUITranslationService get() { - final I18nUITranslationService translationService = new I18nUITranslationService(); - translationService.setCurrentLanguage(initialLang.getCode()); - translationService.setLexicon(lexicon); - return translationService; + final I18nUITranslationService i18n = new I18nUITranslationService(); + i18n.setCurrentLanguage(initialLang.getCode()); + i18n.setLexicon(lexicon); + return i18n; } }, SingletonScope.class); @@ -61,16 +69,16 @@ } }, SingletonScope.class); + final I18nUITranslationService i18n = builder.getInstance(I18nUITranslationService.class); builder.registerProvider(KuneErrorHandler.class, new Provider<KuneErrorHandler>() { public KuneErrorHandler get() { - return new KuneErrorHandler(builder.getInstance(Session.class), builder - .getInstance(I18nUITranslationService.class)); + return new KuneErrorHandler(builder.getInstance(Session.class), i18n); } }, SingletonScope.class); final KuneErrorHandler errorHandler = builder.getInstance(KuneErrorHandler.class); AsyncCallbackSimple.init(errorHandler); - Site.init(builder.getInstance(I18nUITranslationService.class)); + Site.init(i18n); builder.registerProvider(ColorTheme.class, new Provider<ColorTheme>() { public ColorTheme get() { @@ -95,24 +103,66 @@ final Session session = builder.getInstance(Session.class); final ExtensibleWidgetsManager extensionPointManager = builder .getInstance(ExtensibleWidgetsManager.class); - return new ApplicationDefault(session, extensionPointManager, builder - .getInstance(I18nUITranslationService.class), builder.getInstance(ColorTheme.class), builder + return new ApplicationDefault(session, extensionPointManager, i18n, builder + .getInstance(ColorTheme.class), builder.getInstance(KuneErrorHandler.class)); + } + }, SingletonScope.class); + + builder.registerProvider(WorkspaceSkeleton.class, new Provider<WorkspaceSkeleton>() { + public WorkspaceSkeleton get() { + return new WorkspaceSkeleton(); + } + }, SingletonScope.class); + + final WorkspaceSkeleton ws = builder.getInstance(WorkspaceSkeleton.class); + + builder.registerProvider(EntityLogo.class, new Provider<EntityLogo>() { + public EntityLogo get() { + return new EntityLogoPanel(i18n, ws); + } + }, SingletonScope.class); + + builder.registerProvider(WsThemePresenter.class, new Provider<WsThemePresenter>() { + public WsThemePresenter get() { + final WsThemePresenter presenter = new WsThemePresenter(); + final WsThemePanel panel = new WsThemePanel(ws); + presenter.init(panel); + return presenter; + } + }, SingletonScope.class); + + builder.registerProvider(EntityTitlePresenter.class, new Provider<EntityTitlePresenter>() { + public EntityTitlePresenter get() { + final EntityTitlePresenter presenter = new EntityTitlePresenter(i18n, builder .getInstance(KuneErrorHandler.class)); + final EntityTitlePanel panel = new EntityTitlePanel(ws, presenter); + presenter.init(panel); + return presenter; } }, SingletonScope.class); + builder.registerProvider(WorkspaceManager.class, new Provider<WorkspaceManager>() { + public WorkspaceManager get() { + final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder + .getInstance(EntityTitlePresenter.class), builder.getInstance(WsThemePresenter.class)); + return presenter; + } + }, SingletonScope.class); + builder.registerProvider(StateManager.class, new Provider<StateManager>() { public StateManager get() { final Session session = builder.getInstance(Session.class); final ContentProviderImpl provider = new ContentProviderImpl(ContentService.App.getInstance()); final HistoryWrapper historyWrapper = new HistoryWrapperImpl(); final Application application = builder.getInstance(Application.class); + final WorkspaceManager wm = builder.getInstance(WorkspaceManager.class); final StateManagerDefault stateManager = new StateManagerDefault(provider, application, session, - historyWrapper); + historyWrapper, wm); History.addHistoryListener(stateManager); return stateManager; } }, SingletonScope.class); } + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-07 14:10:21 UTC (rev 793) @@ -33,6 +33,7 @@ import org.ourproject.kune.platf.client.tool.ClientTool; import org.ourproject.kune.workspace.client.WorkspaceEvents; import org.ourproject.kune.workspace.client.sitebar.Site; +import org.ourproject.kune.workspace.client.ui.newtmp.WorkspaceManager; import org.ourproject.kune.workspace.client.workspace.Workspace; public class StateManagerDefault implements StateManager { @@ -43,37 +44,39 @@ private String lastTheme; private final Session session; private final HistoryWrapper history; + private final WorkspaceManager ws; public StateManagerDefault(final ContentProvider provider, final Application app, final Session session, - final HistoryWrapper history) { - this.provider = provider; - this.app = app; - this.session = session; - this.history = history; - this.workspace = app.getWorkspace(); - this.oldState = null; + final HistoryWrapper history, final WorkspaceManager ws) { + this.provider = provider; + this.app = app; + this.session = session; + this.history = history; + this.ws = ws; + this.workspace = app.getWorkspace(); + this.oldState = null; } public void onHistoryChanged(final String historyToken) { - String oldStateEncoded = ""; - if (oldState != null) { - oldStateEncoded = oldState.getStateToken().getEncoded(); - } - if (historyToken.equals(Site.NEWGROUP_TOKEN)) { - Site.doNewGroup(oldStateEncoded); - } else if (historyToken.equals(Site.LOGIN_TOKEN)) { - Site.doLogin(oldStateEncoded); - } else if (historyToken.equals(Site.TRANSLATE_TOKEN)) { - DefaultDispatcher.getInstance().fire(WorkspaceEvents.SHOW_TRANSLATOR, null); - } else if (historyToken.equals(Site.FIXME_TOKEN)) { - if (oldState == null) { - onHistoryChanged(new StateToken()); - } else { - loadContent(oldState); - } - } else { - onHistoryChanged(new StateToken(historyToken)); - } + String oldStateEncoded = ""; + if (oldState != null) { + oldStateEncoded = oldState.getStateToken().getEncoded(); + } + if (historyToken.equals(Site.NEWGROUP_TOKEN)) { + Site.doNewGroup(oldStateEncoded); + } else if (historyToken.equals(Site.LOGIN_TOKEN)) { + Site.doLogin(oldStateEncoded); + } else if (historyToken.equals(Site.TRANSLATE_TOKEN)) { + DefaultDispatcher.getInstance().fire(WorkspaceEvents.SHOW_TRANSLATOR, null); + } else if (historyToken.equals(Site.FIXME_TOKEN)) { + if (oldState == null) { + onHistoryChanged(new StateToken()); + } else { + loadContent(oldState); + } + } else { + onHistoryChanged(new StateToken(historyToken)); + } } /** @@ -82,104 +85,106 @@ * </p> */ public void reload() { - onHistoryChanged(history.getToken()); + onHistoryChanged(history.getToken()); } public void reloadContextAndTitles() { - provider.getContent(session.getUserHash(), new StateToken(history.getToken()), - new AsyncCallbackSimple<StateDTO>() { - public void onSuccess(final StateDTO newStateDTO) { - loadContextOnly(newStateDTO); - oldState = newStateDTO; - workspace.getContentTitleComponent().setState(oldState); - workspace.getContentSubTitleComponent().setState(oldState); - Site.hideProgress(); - } - }); + provider.getContent(session.getUserHash(), new StateToken(history.getToken()), + new AsyncCallbackSimple<StateDTO>() { + public void onSuccess(final StateDTO newStateDTO) { + loadContextOnly(newStateDTO); + oldState = newStateDTO; + workspace.getContentTitleComponent().setState(oldState); + workspace.getContentSubTitleComponent().setState(oldState); + Site.hideProgress(); + } + }); } public void setRetrievedState(final StateDTO content) { - final StateToken state = content.getStateToken(); - provider.cache(state, content); - setState(state); + final StateToken state = content.getStateToken(); + provider.cache(state, content); + setState(state); } public void setSocialNetwork(final SocialNetworkResultDTO socialNet) { - StateDTO state; - if (session != null && (state = session.getCurrentState()) != null) { - // After a SN operation, usually returns a SocialNetworkResultDTO - // with new SN data and we refresh the state - // to avoid to reload() again the state - SocialNetworkDTO groupMembers = socialNet.getGroupMembers(); - ParticipationDataDTO userParticipation = socialNet.getUserParticipation(); - state.setGroupMembers(groupMembers); - state.setParticipation(userParticipation); - setSocialNetwork(state); - } + StateDTO state; + if (session != null && (state = session.getCurrentState()) != null) { + // After a SN operation, usually returns a SocialNetworkResultDTO + // with new SN data and we refresh the state + // to avoid to reload() again the state + final SocialNetworkDTO groupMembers = socialNet.getGroupMembers(); + final ParticipationDataDTO userParticipation = socialNet.getUserParticipation(); + state.setGroupMembers(groupMembers); + state.setParticipation(userParticipation); + setSocialNetwork(state); + } } public void setState(final StateToken state) { - history.newItem(state.getEncoded()); + history.newItem(state.getEncoded()); } private void loadContent(final StateDTO state) { - session.setCurrent(state); - final GroupDTO group = state.getGroup(); - app.setGroupState(group.getShortName()); - boolean isAdmin = state.getGroupRights().isAdministrable(); - if (isAdmin) { - workspace.getThemeMenuComponent().setVisible(true); - } else { - workspace.getThemeMenuComponent().setVisible(false); - } - setWsTheme(group); - workspace.showGroup(group, isAdmin); - final String toolName = state.getToolName(); - workspace.setTool(toolName); + session.setCurrent(state); + final GroupDTO group = state.getGroup(); + app.setGroupState(group.getShortName()); + final boolean isAdmin = state.getGroupRights().isAdministrable(); + if (isAdmin) { + workspace.getThemeMenuComponent().setVisible(true); + } else { + workspace.getThemeMenuComponent().setVisible(false); + } + setWsTheme(group); + workspace.showGroup(group, isAdmin); - Site.sitebar.setState(state); - final ClientTool clientTool = app.getTool(toolName); - clientTool.setContent(state); - clientTool.setContext(state); - workspace.getContentTitleComponent().setState(state); - workspace.getContentSubTitleComponent().setState(state); - workspace.getContentBottomToolBarComponent().setRate(state, session.isLogged()); - workspace.setContent(clientTool.getContent()); - workspace.setContext(clientTool.getContext()); - workspace.getLicenseComponent().setLicense(state); - workspace.getTagsComponent().setState(state); - setSocialNetwork(state); - workspace.getGroupSummaryComponent().setGroupSummary(state); - Site.hideProgress(); + final String toolName = state.getToolName(); + workspace.setTool(toolName); + + Site.sitebar.setState(state); + final ClientTool clientTool = app.getTool(toolName); + clientTool.setContent(state); + clientTool.setContext(state); + ws.setState(state); + workspace.getContentTitleComponent().setState(state); + workspace.getContentSubTitleComponent().setState(state); + workspace.getContentBottomToolBarComponent().setRate(state, session.isLogged()); + workspace.setContent(clientTool.getContent()); + workspace.setContext(clientTool.getContext()); + workspace.getLicenseComponent().setLicense(state); + workspace.getTagsComponent().setState(state); + setSocialNetwork(state); + workspace.getGroupSummaryComponent().setGroupSummary(state); + Site.hideProgress(); } private void loadContextOnly(final StateDTO state) { - session.setCurrent(state); - final String toolName = state.getToolName(); - final ClientTool clientTool = app.getTool(toolName); - clientTool.setContext(state); - workspace.setContext(clientTool.getContext()); + session.setCurrent(state); + final String toolName = state.getToolName(); + final ClientTool clientTool = app.getTool(toolName); + clientTool.setContext(state); + workspace.setContext(clientTool.getContext()); } private void onHistoryChanged(final StateToken newState) { - provider.getContent(session.getUserHash(), newState, new AsyncCallbackSimple<StateDTO>() { - public void onSuccess(final StateDTO newStateDTO) { - loadContent(newStateDTO); - oldState = newStateDTO; - } - }); + provider.getContent(session.getUserHash(), newState, new AsyncCallbackSimple<StateDTO>() { + public void onSuccess(final StateDTO newStateDTO) { + loadContent(newStateDTO); + oldState = newStateDTO; + } + }); } private void setSocialNetwork(final StateDTO state) { - workspace.getGroupMembersComponent().setGroupMembers(state); - workspace.getParticipationComponent().setParticipation(state); + workspace.getGroupMembersComponent().setGroupMembers(state); + workspace.getParticipationComponent().setParticipation(state); } private void setWsTheme(final GroupDTO group) { - String nextTheme = group.getWorkspaceTheme(); - if (lastTheme == null || !lastTheme.equals(nextTheme)) { - workspace.setTheme(nextTheme); - } - lastTheme = nextTheme; + final String nextTheme = group.getWorkspaceTheme(); + if (lastTheme == null || !lastTheme.equals(nextTheme)) { + workspace.setTheme(nextTheme); + } + lastTheme = nextTheme; } } Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,125 @@ +package org.ourproject.kune.platf.client.ui; + +import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.core.RegionPosition; +import com.gwtext.client.widgets.Panel; +import com.gwtext.client.widgets.Toolbar; +import com.gwtext.client.widgets.layout.BorderLayout; +import com.gwtext.client.widgets.layout.BorderLayoutData; + +public class DefaultBorderLayout { + + public enum Position { + NORTH, CENTER, SOUTH, EAST, WEST + } + + public static final int DEF_TOOLBAR_HEIGHT = 26; + + private static final int NO_SIZE = -1; + + private static RegionPosition[] regionPositions = new RegionPosition[] { RegionPosition.NORTH, + RegionPosition.CENTER, RegionPosition.SOUTH, RegionPosition.EAST, RegionPosition.WEST }; + + private final Panel mainPanel; + + public DefaultBorderLayout() { + mainPanel = new Panel(); + mainPanel.setLayout(new BorderLayout()); + mainPanel.setBorder(false); + } + + public void add(final Panel panel, final Position position) { + add(panel, position, false); + } + + public void add(final Panel panel, final Position position, final boolean split) { + add(panel, position, split, NO_SIZE); + } + + public void add(final Panel panel, final Position position, final boolean split, final int size) { + final RegionPosition regionPosition = regionPositions[position.ordinal()]; + final BorderLayoutData borderLayoutData = new BorderLayoutData(regionPosition); + borderLayoutData.setSplit(split); + if (split) { + borderLayoutData.setUseSplitTips(true); + borderLayoutData.setCollapseModeMini(true); + } + if (size != NO_SIZE) { + switch (position) { + case NORTH: + case SOUTH: + panel.setHeight(size); + break; + case EAST: + case WEST: + panel.setWidth(size); + } + } + mainPanel.add(panel, borderLayoutData); + doLayoutIfNeeded(); + } + + public void add(final Panel panel, final Position position, final int size) { + add(panel, position, false, size); + } + + public void add(final Panel panel, final Widget widget) { + panel.add(widget); + if (panel.isRendered()) { + panel.syncSize(); + panel.doLayout(); + } + doLayoutIfNeeded(); + } + + public Toolbar createBottomBar(final Panel panel) { + return createBottomBar(panel, null); + } + + public Toolbar createBottomBar(final Panel panel, final String cssStyle) { + final Toolbar bottomToolbar = new Toolbar(); + bottomToolbar.setHeight(DEF_TOOLBAR_HEIGHT); + if (cssStyle != null) { + bottomToolbar.setCls(cssStyle); + } + panel.setBottomToolbar(bottomToolbar); + return bottomToolbar; + } + + public Toolbar createTopBar(final Panel panel) { + return createTopBar(panel, null); + } + + public Toolbar createTopBar(final Panel panel, final String cssStyle) { + final Toolbar topToolbar = new Toolbar(); + topToolbar.setHeight(DEF_TOOLBAR_HEIGHT); + if (cssStyle != null) { + topToolbar.setCls(cssStyle); + } + panel.setTopToolbar(topToolbar); + return topToolbar; + } + + public void doLayoutIfNeeded() { + if (mainPanel.isRendered()) { + mainPanel.doLayout(); + } + } + + public Panel getPanel() { + return mainPanel; + } + + public void setBorder(final boolean border) { + mainPanel.setBorder(border); + } + + public void setCls(final String style) { + mainPanel.setCls(style); + } + + public void setPanel(final Panel panel, final Widget widget) { + panel.clear(); + add(panel, widget); + } +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/RoundedPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/RoundedPanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/RoundedPanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,486 @@ +/* + * Copyright 2007 Hilbrand Bouwkamp, [email protected] + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.ourproject.kune.platf.client.ui; + +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Element; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.Widget; + +/** + * The <code>RoundedPanel</code> class adds similar rounded corners, as seen + * in other Google applications, to a widget. This is done by adding several + * <code>div</code> Elements around a Widget. The HTML code roughly for a + * corner height 2 looks as follows: + * + * <pre> + * <div> + * <div style="margin:0 2px"></div> + * <div style="margin:0 1px"></div> + * <div>your widget</div> + * <div style="margin:0 1px"></div> + * <div style="margin:0 2px"></div> + * </div> + * </pre> + * + * To add the rounded corners to a widget start simply wrap your own widget in + * the <code>RoundedPanel</code> class, for example with all corners rounded: + * + * <pre> + * // all 4 corners are rounded. + * RoundedPanel rp = new RoundedPanel(yourWidget); + * // use rp where you would use 'yourWidget' otherwise + * </pre> + * + * Or with custom set corners, like only on the left: + * + * <pre> + * // custom set corners + * RoundedPanel rp = new RoundedPanel(yourWidget, RoundedPanel.LEFT); + * // use rp where you would use 'yourWidget' otherwise + * </pre> + * + * By default the height of the corners is 2px. It is possible to set a + * different height at construction time. The height can be a value between and + * including 1 and 9. This value doesn't correspond exactly with the height, + * e.g. 9 is 12px heigh. + * + * <pre> + * // all 4 corners are rounded and height index 5 + * RoundedPanel rp = new RoundedPanel(yourWidget, ALL, 5); + * // use rp where you would use 'yourWidget' otherwise + * </pre> + * + * Programmatically set the color of the corners with + * {@link #setCornerColor(String)}: + * + * <pre> + * // all 4 corners are rounded. + * RoundedPanel rp = new RoundedPanel(yourWidget); + * rp.setCornerColor("red"); + * </pre> + * + * Default the css style name of the rounded corner divs is <code>cbg-RP</code>. + * Use it to set the colors of the corner. For example: + * + * <pre> + * .cbg-RP { background-color:#c3d9ff; } + * </pre> + * + * A custom style might be needed when the corners are visible only when a panel + * is selected (see the KitchenSink example modification below). Use the + * <code>setCornerStyleName</code> method to set the custom style name. For + * example set a custom style <code>my-RP</code> and add something like the + * following to the stylesheet: + * + * <pre> + * .selected .my-RP { background-color:#c3d9ff; } + * </pre> + * + * <h3>Adding rounded corners to DialogBox widgets</h3> + * Adding rounded corners to a <code>DialogBox</code> is somewhat more + * complicated. The problem with <code>DialogBox</code> is that it uses a + * private panel and the <code>RoundedPanel</code> should be applied to this + * private <code>Panel</code>. To add the rounded corners to a + * <code>DialogBox</code> you have to rewrite the implementation of the + * <code>DialogBox</code>. For the <code>DialogBox</code> widget this can + * be done as follows. First create a new class like + * <code>RoundedDialogBox</code> and copy the code from the original + * <code>DialogBox</code> (Please take the copyright of this class into + * account). Next make the following changes to the code: + * + * <pre> + * // Private variable for RoundedPanel + * private RoundedPanel rp; + * </pre> + * + * In the constructor change: + * + * <pre> + * super.add(panel); + * </pre> + * + * into: + * + * <pre> + * rp = new RoundedPanel(panel); + * super.add(rp); + * </pre> + * + * Next change the style, otherwise the style of the dialog box is applied to + * the rounded lines too. Do this by changing the following line: + * + * <pre> + * setStyleName("gwt-DialogBox"); + * </pre> + * + * into: + * + * <pre> + * panel.setStyleName("gwt-DialogBox"); + * </pre> + * + * In your css add the color of the border, something like: + * + * <pre> + * .cbg-RP { background-color:#AAAAAA; } + * </pre> + * + * There seems to be a problem with the width under IE. The RoundedPanel divs + * don't follow the width of the dialog. To fix this change the + * <code>show</code> method as follows: + * + * <pre> + * public void show() { + * super.show(); + * // (The width must be set after the super.show() otherwise it will be 0). + * // NOTE: As of GWT 1.1 the .getOffsetWidth() returns 0 at this point. + * // This is different with earlier versions of GWT. Disable the line will make + * // the rounded corners work in at least Firefox 1.5, but not in IE. + * // I'm looking into this issue. + * rp.setWidth(panel.getOffsetWidth() + "px"); + * } + * </pre> + * + * Now by extending your own dialog class on this <code>RoundedDialogBox</code> + * instead of the original <code>DialogBox</code> you will have rounded + * corners around your dialog. + * + * + * @author Hilbrand Bouwkamp([email protected]) + * @version 1.3 + */ +public class RoundedPanel extends SimplePanel { + + /** + * <code>TOPLEFT</code> top left rounded corner + */ + public final static int TOPLEFT = 1; + + /** + * <code>TOPRIGHT</code> top right rounded corner + */ + public final static int TOPRIGHT = 2; + + /** + * <code>BOTTOMLEFT</code> bottom left rounded corner + */ + public final static int BOTTOMLEFT = 4; + + /** + * <code>BOTTOMRIGHT</code> bottom right rounded corner + */ + public final static int BOTTOMRIGHT = 8; + + /** + * <code>BOTTOM</code> rounded corners at the top + */ + public final static int TOP = TOPLEFT | TOPRIGHT; + + /** + * <code>TOP</code> rounded corners at the bottom + */ + public final static int BOTTOM = BOTTOMLEFT | BOTTOMRIGHT; + + /** + * <code>LEFT</code> rounded corners on the left side + */ + public final static int LEFT = TOPLEFT | BOTTOMLEFT; + + /** + * <code>RIGHT</code> rounded corners on the right side + */ + public final static int RIGHT = TOPRIGHT | BOTTOMRIGHT; + + /** + * <code>ALL</code> rounded corners on all sides + */ + public final static int ALL = TOP | BOTTOM; + + /** + * Default border style + */ + private final static String RPSTYLE = "cbg-RP"; + + /** + * Lookup table for corner border width + */ + private final static String[][] CORNERBORDER = { { "1px" }, { "1px", "1px" }, { "1px", "1px", "1px" }, + { "1px", "1px", "1px", "1px" }, { "1px", "1px", "1px", "2px", "1px" }, + { "1px", "1px", "1px", "1px", "2px", "1px" }, { "1px", "1px", "1px", "1px", "1px", "2px", "1px" }, + { "1px", "1px", "1px", "1px", "1px", "2px", "2px", "1px" }, + { "1px", "1px", "1px", "1px", "1px", "1px", "2px", "3px", "1px" } }; + + /** + * Lookup table for corner height + */ + private final static String[][] CORNERHEIGHT = { { "1px" }, { "1px", "1px" }, { "1px", "1px", "1px" }, + { "1px", "1px", "1px", "1px" }, { "2px", "1px", "1px", "1px", "1px" }, + { "2px", "1px", "1px", "1px", "1px", "1px" }, { "2px", "1px", "1px", "1px", "1px", "1px", "1px" }, + { "2px", "1px", "1px", "1px", "1px", "1px", "1px", "1px" }, + { "3px", "2px", "1px", "1px", "1px", "1px", "1px", "1px", "1px" } }; + + /** + * Lookup table for corner margin + */ + private final static String[][] CORNERMARGIN = { { "1px" }, { "1px", "2px" }, { "1px", "2px", "3px" }, + { "1px", "2px", "3px", "4px" }, { "1px", "2px", "3px", "4px", "6px" }, + { "1px", "2px", "3px", "4px", "5px", "7px" }, { "1px", "2px", "3px", "4px", "5px", "6px", "8px" }, + { "1px", "2px", "3px", "4px", "5px", "6px", "8px", "10px" }, + { "1px", "2px", "3px", "4px", "5px", "6px", "7px", "9px", "12px" }, }; + + /** + * Element array containing all div elements of the top corner div's. + */ + protected final Element[] divt; + + /** + * Element array containing all div elements of the bottom corner div's. + */ + protected final Element[] divb; + + /** + * Index of the corner height. + */ + protected final int cornerHeight; + + /** + * Index of which corners are set. + */ + protected final int corners; + + private final Element body; // body of widget + private final Element divElement; // div element containing widget + + /** + * Creates a new <code>RoundedPanel</code> with all corners rounded and + * height of corners 2px. Use <code>setWidget</code> to add the widget. + */ + public RoundedPanel() { + this(ALL, 2); + } + + /** + * Creates a new <code>RoundedPanel</code> with custom rounding and height + * of corners 2px but with no widget set. Use <code>setWidget</code> to + * add widget. + * + * Every combination of corners can be set via <code>corners</code>. Use + * the static constants to set the corners. For example, to create a panel + * with only rounded corners at the left, use: + * + * <code>new RoundedPanel(yourWidget, RoundedPanel.LEFT);</code> + * + * @param corners + * set custom rounded corners + */ + public RoundedPanel(final int corners) { + this(corners, 2); + } + + /** + * Creates a new <code>RoundedPanel</code> with custom rounding and custom + * height of the corners but with no widget set. Height can be value from 1 + * to 9. The height for a value 5 or higher is actually larger, e.g. for 5 + * the height is 6px. Use {@link #setWidget(Widget)} to add widget. + * + * @param corners + * set custom rounded corners + * @param cornerHeight + * height index between and including 1 and 9 + * @throws IndexOutOfBoundsException + * when cornerHeight below 1 or above 9 + */ + public RoundedPanel(final int corners, final int cornerHeight) { + super(DOM.createDiv()); + body = getElement(); + if (cornerHeight < 1 || cornerHeight > 9) { + throw new IndexOutOfBoundsException("RoundedPanel height range between and including 1 and 9"); + } + this.cornerHeight = cornerHeight; + divt = new Element[cornerHeight]; + divb = new Element[cornerHeight]; + this.corners = corners; + if (inMask(corners, TOP)) { + final int ct = corners & TOP; + + for (int i = 0; i < cornerHeight; ++i) { + divt[i] = addLine(ct, cornerHeight - (i + 1)); + } + } + divElement = DOM.createDiv(); + DOM.appendChild(body, divElement); + if (inMask(corners, BOTTOM)) { + final int cb = corners & BOTTOM; + + for (int i = cornerHeight - 1; i >= 0; --i) { + divb[i] = addLine(cb, cornerHeight - (i + 1)); + } + } + setCornerStyleName(RPSTYLE); + } + + /** + * Creates a new <code>RoundedPanel</code> with all corners rounded and + * height 2px on the widget <code>w</code>. + * + * @param w + * widget to add corners to + */ + public RoundedPanel(final Widget w) { + this(w, ALL); + } + + /** + * Creates a new <code>RoundedPanel</code> with custom rounded corners and + * height 2px on the widget <code>w</code>. + * + * @param w + * widget to add corners to + * @param corners + * set custom rounded corners + */ + public RoundedPanel(final Widget w, final int corners) { + this(w, corners, 2); + } + + /** + * Creates a new <code>RoundedPanel</code> with custom rounded corners and + * custom height on widget <code>w</code>. + * + * @param w + * widget to add corners to + * @param corners + * set custom rounded corners + * @param cornerHeight + * height index between and including 1 and 9 + */ + public RoundedPanel(final Widget w, final int corners, final int cornerHeight) { + this(corners, cornerHeight); + setWidget(w); + } + + /** + * <p> + * Set the bolder color of the rounded corner by setting the background + * color of the div's. + * </p> + * + * @param borderColor + * border color + */ + public void setCornerColor(final String borderColor) { + if (null != divt[0]) { + for (int i = 0; i < cornerHeight; ++i) { + DOM.setStyleAttribute(divt[i], "backgroundColor", borderColor); + } + } + if (null != divb[0]) { + for (int i = 0; i < cornerHeight; ++i) { + DOM.setStyleAttribute(divb[i], "backgroundColor", borderColor); + } + } + } + + /** + * Set the css style name of the rounded corners div's. Default the css + * stylename is <code>cbg-RP</code>. Use it to set the colors of the + * corner. For example: <code>.cbg-RP { background-color:#c3d9ff; }</code>. + * + * A custom style might be needed when the corners are visible only when a + * panel is selected. Use this method to set the custom style name and add + * something like the following to the stylesheet: + * + * <code>.selected .cbg-RP { background-color:#c3d9ff; }</code> Setting + * the color is also possible via the method {@link #setCornerColor(String)}. + * + * @param style + * css style name + */ + public void setCornerStyleName(final String style) { + if (null != divt[0]) { + for (int i = 0; i < cornerHeight; ++i) { + DOM.setElementProperty(divt[i], "className", style); + } + } + if (null != divb[0]) { + for (int i = 0; i < cornerHeight; ++i) { + DOM.setElementProperty(divb[i], "className", style); + } + } + } + + /** + * Set the style of the RoundedPanel. In most cases this is not necessary + * and setting the style on the widget to which the + * <code>RoundedPanel</code> is applied should be set, as is done when not + * using the <code>RoundedPanel</code> + * + * @param style + * css style name + */ + public void setStyleName(final String style) { + DOM.setElementProperty(body, "className", style); + } + + /** + * Overwrite of parent getContainerElement() + */ + protected Element getContainerElement() { + return divElement; + } + + /** + * Convenience method to check if given <code>input</code> is with the + * <code>mask</code>. + * + * @param input + * input to check + * @param mask + * mask to check against + * @return true if input within mask + */ + protected boolean inMask(final int input, final int mask) { + return (input & mask) > 0; + } + + /** + * Creates div element representing part of the rounded corner. + * + * @param corner + * corner mask to set rounded corner + * @param heightIndex + * margin width for line + */ + private Element addLine(final int corner, final int heightIndex) { + // margin 2 fields : top/bottom right/left => "0 <width>px" + // margin 4 fields : top right bottom left => "0 <width>px 0 <width>px" + final String margin = corner == TOP || corner == BOTTOM ? "0 " + + RoundedPanel.CORNERMARGIN[cornerHeight - 1][heightIndex] : inMask(corner, LEFT) ? "0 0 0 " + + RoundedPanel.CORNERMARGIN[cornerHeight - 1][heightIndex] : "0 " + + RoundedPanel.CORNERMARGIN[cornerHeight - 1][heightIndex] + " 0 0"; + final Element div = DOM.createDiv(); + + DOM.setStyleAttribute(div, "fontSize", "0px"); + DOM.setStyleAttribute(div, "height", RoundedPanel.CORNERHEIGHT[cornerHeight - 1][heightIndex]); + DOM.setStyleAttribute(div, "borderWidth", "0 " + RoundedPanel.CORNERBORDER[cornerHeight - 1][heightIndex]); + DOM.setStyleAttribute(div, "lineHeight", RoundedPanel.CORNERHEIGHT[cornerHeight - 1][heightIndex]); + DOM.setStyleAttribute(div, "margin", margin); + DOM.setInnerHTML(div, " "); + DOM.appendChild(body, div); + return div; + } +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -40,97 +40,100 @@ private final Timer saveTimer; private final I18nTranslationService i18n; + @Deprecated public TextEditorPanel(final TextEditorPresenter presenter, final I18nTranslationService i18n) { - this.presenter = presenter; - this.i18n = i18n; - gwtRTarea = new RichTextArea(); - textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, i18n); - initWidget(gwtRTarea); + this.presenter = presenter; + this.i18n = i18n; + gwtRTarea = new RichTextArea(); + textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, i18n); + initWidget(gwtRTarea); - gwtRTarea.setWidth("97%"); - gwtRTarea.addStyleName("kune-TexEditorPanel-TextArea"); - adjustSize("" + (Window.getClientHeight() - 265)); - Window.addWindowResizeListener(new WindowResizeListener() { - public void onWindowResized(final int arg0, final int arg1) { - adjustSize("" + (Window.getClientHeight() - 265)); - } - }); - saveTimer = new Timer() { - public void run() { - presenter.onSave(); - } - }; + gwtRTarea.setWidth("97%"); + gwtRTarea.addStyleName("kune-TexEditorPanel-TextArea"); + adjustSize("" + (Window.getClientHeight() - 265)); + Window.addWindowResizeListener(new WindowResizeListener() { + public void onWindowResized(final int arg0, final int arg1) { + adjustSize("" + (Window.getClientHeight() - 265)); + } + }); + saveTimer = new Timer() { + public void run() { + presenter.onSave(); + } + }; } public void editHTML(final boolean edit) { - textEditorToolbar.editHTML(edit); + textEditorToolbar.editHTML(edit); } public String getHTML() { - return gwtRTarea.getHTML(); + return gwtRTarea.getHTML(); } public String getText() { - return gwtRTarea.getText(); + return gwtRTarea.getText(); } public View getToolBar() { - return this.textEditorToolbar; + return this.textEditorToolbar; } public void saveTimerCancel() { - saveTimer.cancel(); + saveTimer.cancel(); } public void scheduleSave(final int delayMillis) { - saveTimer.schedule(delayMillis); + saveTimer.schedule(delayMillis); } public void setEnabled(final boolean enabled) { - final String bgColor = enabled ? BACKCOLOR_ENABLED : BACKCOLOR_DISABLED; - DOM.setStyleAttribute(gwtRTarea.getElement(), "backgroundColor", bgColor); - gwtRTarea.setEnabled(enabled); + final String bgColor = enabled ? BACKCOLOR_ENABLED : BACKCOLOR_DISABLED; + DOM.setStyleAttribute(gwtRTarea.getElement(), "backgroundColor", bgColor); + gwtRTarea.setEnabled(enabled); } public void setEnabledCancelButton(final boolean enabled) { - textEditorToolbar.setEnabledCloseButton(enabled); + textEditorToolbar.setEnabledCloseButton(enabled); } public void setEnabledSaveButton(final boolean enabled) { - textEditorToolbar.setEnabledSaveButton(enabled); + textEditorToolbar.setEnabledSaveButton(enabled); } public void setHeight(final String height) { - gwtRTarea.setHeight(height); + gwtRTarea.setHeight(height); } public void setHTML(final String html) { - gwtRTarea.setHTML(html); + gwtRTarea.setHTML(html); } public void setText(final String text) { - gwtRTarea.setText(text); + gwtRTarea.setText(text); } public void setTextSaveButton(final String text) { - textEditorToolbar.setTextSaveButton(text); + textEditorToolbar.setTextSaveButton(text); } public void showSaveBeforeDialog() { - MessageBox.confirm(i18n.t("Save confirmation"), i18n.t("Save before close?"), new MessageBox.ConfirmCallback() { - public void execute(final String btnID) { - if (btnID.equals("yes")) { - presenter.onSaveAndClose(); - } else { - presenter.onCancelConfirmed(); - } - } - }); + MessageBox.confirm(i18n.t("Save confirmation"), i18n.t("Save before close?"), new MessageBox.ConfirmCallback() { + public void execute(final String btnID) { + if (btnID.equals("yes")) { + presenter.onSaveAndClose(); + } else { + presenter.onCancelConfirmed(); + } + } + }); } + @Deprecated private void adjustSize(final String height) { - gwtRTarea.setHeight(height); + // While refactoring + // gwtRTarea.setHeight(height); } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/bar/SiteBarPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/bar/SiteBarPanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/bar/SiteBarPanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -95,344 +95,344 @@ private final I18nTranslationService i18n; public SiteBarPanel(final SiteBarPresenter initPresenter, final I18nTranslationService i18n) { - this.i18n = i18n; - img = Images.App.getInstance(); + this.i18n = i18n; + img = Images.App.getInstance(); - // Initialize - siteBarHP = new HorizontalPanel(); + // Initialize + siteBarHP = new HorizontalPanel(); - initWidget(siteBarHP); - this.presenter = initPresenter; + initWidget(siteBarHP); + this.presenter = initPresenter; - progressPanel = RootPanel.get("kuneprogresspanel"); - progressText = RootPanel.get("kuneprogresstext"); + progressPanel = RootPanel.get("kuneprogresspanel"); + progressText = RootPanel.get("kuneprogresstext"); - publicHP = new HorizontalPanel(); - gotoPublic = new IconLabel(img.anybody(), i18n.t("Go to Public Space"), false); - contentNoPublic = new IconLabel(img.anybody(), i18n.t("This content is not public")); + publicHP = new HorizontalPanel(); + gotoPublic = new IconLabel(img.anybody(), i18n.t("Go to Public Space"), false); + contentNoPublic = new IconLabel(img.anybody(), i18n.t("This content is not public")); - final Label expandLabel = new Label(""); - newGroupHyperlink = new Hyperlink(); - final HTML pipeSeparatorHtml = new HTML(); - pipeSeparatorHtml2 = new HTML(); - loginHyperlink = new Hyperlink(); - loggedUserHyperlink = new Hyperlink(); - logoutLabel = new Label(); - HTML spaceSeparator1 = new HTML("<b></b>"); - MenuBar options = new MenuBar(); - optionsSubmenu = new MenuBar(true); - yourGroupsSubmenu = new MenuBar(true); - RoundedBorderDecorator optionsButton = new RoundedBorderDecorator(options, RoundedBorderDecorator.ALL, - RoundedBorderDecorator.SIMPLE); - HTML spaceSeparator2 = new HTML("<b></b>"); - logoImage = new Image(); + final Label expandLabel = new Label(""); + newGroupHyperlink = new Hyperlink(); + final HTML pipeSeparatorHtml = new HTML(); + pipeSeparatorHtml2 = new HTML(); + loginHyperlink = new Hyperlink(); + loggedUserHyperlink = new Hyperlink(); + logoutLabel = new Label(); + final HTML spaceSeparator1 = new HTML("<b></b>"); + final MenuBar options = new MenuBar(); + optionsSubmenu = new MenuBar(true); + yourGroupsSubmenu = new MenuBar(true); + final RoundedBorderDecorator optionsButton = new RoundedBorderDecorator(options, RoundedBorderDecorator.ALL, + RoundedBorderDecorator.SIMPLE); + final HTML spaceSeparator2 = new HTML("<b></b>"); + logoImage = new Image(); - // Layout - siteBarHP.add(publicHP); - publicHP.add(gotoPublic); - publicHP.add(contentNoPublic); - siteBarHP.add(expandLabel); - siteBarHP.add(loginHyperlink); - siteBarHP.add(loggedUserHyperlink); - siteBarHP.add(pipeSeparatorHtml); - siteBarHP.add(logoutLabel); - siteBarHP.add(pipeSeparatorHtml2); - siteBarHP.add(newGroupHyperlink); - siteBarHP.add(spaceSeparator1); - siteBarHP.add(optionsButton); - siteBarHP.add(spaceSeparator2); - createSearchBox(); - siteBarHP.add(logoImage); + // Layout + siteBarHP.add(publicHP); + publicHP.add(gotoPublic); + publicHP.add(contentNoPublic); + siteBarHP.add(expandLabel); + siteBarHP.add(loginHyperlink); + siteBarHP.add(loggedUserHyperlink); + siteBarHP.add(pipeSeparatorHtml); + siteBarHP.add(logoutLabel); + siteBarHP.add(pipeSeparatorHtml2); + siteBarHP.add(newGroupHyperlink); + siteBarHP.add(spaceSeparator1); + siteBarHP.add(optionsButton); + siteBarHP.add(spaceSeparator2); + createSearchBox(); + siteBarHP.add(logoImage); - // Set properties - siteBarHP.addStyleName("kune-SiteBarPanel"); - siteBarHP.setCellWidth(expandLabel, "100%"); - showProgress(i18n.t("Processing")); - gotoPublic.addStyleName("kune-Margin-Medium-r"); - setContentPublic(true); - gotoPublic.addClickListener(new ClickListener() { - public void onClick(final Widget sender) { - gotoPublic(); - } - }); - gotoPublic.setTitle(i18n.t("Leave the workspace and go to the public space of this group") - + Site.IN_DEVELOPMENT); - gotoPublic.addStyleName("kune-SiteBarPanel-LabelLink"); - contentNoPublic.addStyleName("kune-Margin-Medium-r"); - newGroupHyperlink.setText(i18n.t("Create New Group")); - newGroupHyperlink.setTargetHistoryToken(Site.NEWGROUP_TOKEN); - loggedUserHyperlink.setVisible(false); - pipeSeparatorHtml.setHTML("|"); - pipeSeparatorHtml.setStyleName("kune-SiteBarPanel-Separator"); - pipeSeparatorHtml2.setHTML("|"); - pipeSeparatorHtml2.setStyleName("kune-SiteBarPanel-Separator"); - loginHyperlink.setText(i18n.t("Sign in to collaborate")); - loginHyperlink.setTargetHistoryToken(Site.LOGIN_TOKEN); - logoutLabel.setText(i18n.t("Sign out")); - logoutLabel.addStyleName("kune-SiteBarPanel-LabelLink"); - options.addItem(i18n.t("Options"), true, optionsSubmenu); - options.setStyleName("kune-MenuBar"); - optionsButton.setColor("AAA"); - optionsButton.setHeight("16px"); - createOptionsSubmenu(); - addDefaultItemsToOptions(); + // Set properties + siteBarHP.addStyleName("kune-SiteBarPanel"); + siteBarHP.setCellWidth(expandLabel, "100%"); + showProgress(i18n.t("Processing")); + gotoPublic.addStyleName("kune-Margin-Medium-r"); + setContentPublic(true); + gotoPublic.addClickListener(new ClickListener() { + public void onClick(final Widget sender) { + gotoPublic(); + } + }); + gotoPublic.setTitle(i18n.t("Leave the workspace and go to the public space of this group") + + Site.IN_DEVELOPMENT); + gotoPublic.addStyleName("kune-SiteBarPanel-LabelLink"); + contentNoPublic.addStyleName("kune-Margin-Medium-r"); + newGroupHyperlink.setText(i18n.t("Create New Group")); + newGroupHyperlink.setTargetHistoryToken(Site.NEWGROUP_TOKEN); + loggedUserHyperlink.setVisible(false); + pipeSeparatorHtml.setHTML("|"); + pipeSeparatorHtml.setStyleName("kune-SiteBarPanel-Separator"); + pipeSeparatorHtml2.setHTML("|"); + pipeSeparatorHtml2.setStyleName("kune-SiteBarPanel-Separator"); + loginHyperlink.setText(i18n.t("Sign in to collaborate")); + loginHyperlink.setTargetHistoryToken(Site.LOGIN_TOKEN); + logoutLabel.setText(i18n.t("Sign out")); + logoutLabel.addStyleName("kune-SiteBarPanel-LabelLink"); + options.addItem(i18n.t("Options"), true, optionsSubmenu); + options.setStyleName("kune-MenuBar"); + optionsButton.setColor("AAA"); + optionsButton.setHeight("16px"); + createOptionsSubmenu(); + addDefaultItemsToOptions(); - spaceSeparator1.setStyleName("kune-SiteBarPanel-SpaceSeparator"); - spaceSeparator2.setStyleName("kune-SiteBarPanel-SpaceSeparator"); + spaceSeparator1.setStyleName("kune-SiteBarPanel-SpaceSeparator"); + spaceSeparator2.setStyleName("kune-SiteBarPanel-SpaceSeparator"); - createListeners(); + createListeners(); - // TODO: externalize this - img.kuneLogo16px().applyTo(logoImage); - this.hideProgress(); - extRootBody = new ExtElement(RootPanel.getBodyElement()); + // TODO: externalize this + img.kuneLogo16px().applyTo(logoImage); + this.hideProgress(); + extRootBody = new ExtElement(RootPanel.getBodyElement()); } public void centerLoginDialog() { - loginPanel.center(); + loginPanel.center(); } public void centerNewGroupDialog() { - newGroupPanel.center(); + newGroupPanel.center(); } public void clearSearchText() { - searchTextBox.setText(""); + searchTextBox.setText(""); } public void clearUserName() { - loginHyperlink.setText(i18n.t("Sign in to collaborate")); + loginHyperlink.setText(i18n.t("Sign in to collaborate")); } public void gotoPublic() { - Window.open(publicUrl, "_blank", ""); + Window.open(publicUrl, "_blank", ""); } public void hideLoginDialog() { - loginPanel.hide(); + loginPanel.hide(); } public void hideNewGroupDialog() { - newGroupPanel.hide(); + newGroupPanel.hide(); } public void hideProgress() { - timeProgressMaxTime.cancel(); - progressPanel.setVisible(false); - publicHP.setVisible(true); + timeProgressMaxTime.cancel(); + progressPanel.setVisible(false); + publicHP.setVisible(true); } public void mask() { - extRootBody.mask(); + extRootBody.mask(); } public void mask(final String message) { - extRootBody.mask(message, "x-mask-loading"); + extRootBody.mask(message, "x-mask-loading"); } public void resetOptionsSubmenu() { - optionsSubmenu.clearItems(); - addDefaultItemsToOptions(); + optionsSubmenu.clearItems(); + addDefaultItemsToOptions(); } public void restoreLoginLink() { - loginHyperlink.setVisible(true); - loggedUserHyperlink.setVisible(false); - loginHyperlink.setTargetHistoryToken(Site.LOGIN_TOKEN); + loginHyperlink.setVisible(true); + loggedUserHyperlink.setVisible(false); + loginHyperlink.setTargetHistoryToken(Site.LOGIN_TOKEN); } public void setContentGotoPublicUrl(final String publicUrl) { - this.publicUrl = publicUrl; + this.publicUrl = publicUrl; } public void setContentPublic(boolean visible) { - gotoPublic.setVisible(visible); - contentNoPublic.setVisible(!visible); + gotoPublic.setVisible(visible); + contentNoPublic.setVisible(!visible); } public void setDefaultTextSearch() { - searchTextBox.setText(i18n.t("Search")); + searchTextBox.setText(i18n.t("Search")); } public void setGroupsIsMember(final List<LinkDTO> groupsIsAdmin, final List<LinkDTO> groupsIsCollab) { - optionsSubmenu.clearItems(); - yourGroupsSubmenu.clearItems(); + optionsSubmenu.clearItems(); + yourGroupsSubmenu.clearItems(); - int isAdminCount = groupsIsAdmin.size(); - int isCollabCount = groupsIsCollab.size(); - if (isAdminCount > 0 || isCollabCount > 0) { - optionsSubmenu.addItem(i18n.t("My Groups") + " »", yourGroupsSubmenu); - for (int i = 0; i < isAdminCount; i++) { - final LinkDTO link = groupsIsAdmin.get(i); - addItemToYourGroupSubmenu(link); - } - for (int i = 0; i < isCollabCount; i++) { - final LinkDTO link = groupsIsCollab.get(i); - addItemToYourGroupSubmenu(link); - } - } - addDefaultItemsToOptions(); + final int isAdminCount = groupsIsAdmin.size(); + final int isCollabCount = groupsIsCollab.size(); + if (isAdminCount > 0 || isCollabCount > 0) { + optionsSubmenu.addItem(i18n.t("My Groups") + " »", yourGroupsSubmenu); + for (int i = 0; i < isAdminCount; i++) { + final LinkDTO link = groupsIsAdmin.get(i); + addItemToYourGroupSubmenu(link); + } + for (int i = 0; i < isCollabCount; i++) { + final LinkDTO link = groupsIsCollab.get(i); + addItemToYourGroupSubmenu(link); + } + } + addDefaultItemsToOptions(); } public void setLogo(final Image logo) { - // TODO + // TODO } public void setLogoutLinkVisible(final boolean visible) { - logoutLabel.setVisible(visible); - pipeSeparatorHtml2.setVisible(visible); + logoutLabel.setVisible(visible); + pipeSeparatorHtml2.setVisible(visible); } public void setSearchText(final String text) { - searchTextBox.setText(text); + searchTextBox.setText(text); } public void setTextSearchBig() { - searchTextBox.setWidth(SEARCH_TEXT_WIDTH_BIG); + searchTextBox.setWidth(SEARCH_TEXT_WIDTH_BIG); } public void setTextSearchSmall() { - searchTextBox.setWidth(SEARCH_TEXT_WIDTH_SMALL); + searchTextBox.setWidth(SEARCH_TEXT_WIDTH_SMALL); } public void showAlertMessage(final String message) { - MessageBox.alert(i18n.t("Alert"), message, new MessageBox.AlertCallback() { - public void execute() { - // Do nothing - } - }); + MessageBox.alert(i18n.t("Alert"), message, new MessageBox.AlertCallback() { + public void execute() { + // Do nothing + } + }); } public void showLoggedUserName(final String name, final String homePage) { - loginHyperlink.setVisible(false); - loggedUserHyperlink.setVisible(true); - loggedUserHyperlink.setText(name); - loggedUserHyperlink.setTargetHistoryToken(homePage); + loginHyperlink.setVisible(false); + loggedUserHyperlink.setVisible(true); + loggedUserHyperlink.setText(name); + loggedUserHyperlink.setTargetHistoryToken(homePage); } public void showLoginDialog() { - final Login login = SiteBarFactory.getLoginForm(presenter); - loginPanel = (LoginPanel) login.getView(); - loginPanel.show(); + final Login login = SiteBarFactory.getLoginForm(presenter); + loginPanel = (LoginPanel) login.getView(); + loginPanel.show(); } public void showNewGroupDialog() { - final NewGroup newGroupForm = SiteBarFactory.getNewGroupForm(presenter); - newGroupPanel = (NewGroupPanel) newGroupForm.getView(); - newGroupPanel.show(); - Site.hideProgress(); + final NewGroup newGroupForm = SiteBarFactory.getNewGroupForm(presenter); + newGroupPanel = (NewGroupPanel) newGroupForm.getView(); + newGroupPanel.show(); + Site.hideProgress(); } public void showProgress(final String text) { - if (timeProgressMaxTime == null) { - timeProgressMaxTime = new Timer() { - public void run() { - hideProgress(); - } - }; - } - timeProgressMaxTime.schedule(MAX_TIME_PROGRESS_BAR); - publicHP.setVisible(false); - progressPanel.setVisible(true); - DOM.setInnerText(progressText.getElement(), text); + if (timeProgressMaxTime == null) { + timeProgressMaxTime = new Timer() { + public void run() { + hideProgress(); + } + }; + } + timeProgressMaxTime.schedule(MAX_TIME_PROGRESS_BAR); + publicHP.setVisible(false); + progressPanel.setVisible(true); + DOM.setInnerText(progressText.getElement(), text); } public void showSearchPanel(final String termToSearch) { - final SearchSite search = SiteBarFactory.getSearch(); - search.doSearch(termToSearch); - searchPanel = (SearchSitePanel) search.getView(); - searchPanel.show(); - Site.hideProgress(); + final SearchSite search = SiteBarFactory.getSearch(); + search.doSearch(termToSearch); + searchPanel = (SearchSitePanel) search.getView(); + searchPanel.show(); + Site.hideProgress(); } public void unMask() { - extRootBody.unmask(); + extRootBody.unmask(); } private void addDefaultItemsToOptions() { - optionsSubmenu.addItem(linkHelpInTrans); - optionsSubmenu.addItem(linkKuneBugs); + optionsSubmenu.addItem(linkHelpInTrans); + optionsSubmenu.addItem(linkKuneBugs); } private void addItemToYourGroupSubmenu(final LinkDTO link) { - yourGroupsSubmenu.addItem(link.getShortName(), true, new Command() { - public void execute() { - presenter.changeState(new StateToken(link.getLink())); - } - }); + yourGroupsSubmenu.addItem(link.getShortName(), true, new Command() { + public void execute() { + presenter.changeState(new StateToken(link.getLink())); + } + }); } private void createListeners() { - searchButton.addClickListener(new ClickListener() { - public void onClick(final Widget arg0) { - Site.showProgressProcessing(); - presenter.doSearch(searchTextBox.getText()); - } - }); - logoutLabel.addClickListener(new ClickListener() { - public void onClick(final Widget arg0) { - Site.showProgressProcessing(); - presenter.doLogout(); - } - }); - searchTextBox.addKeyboardListener(new KeyboardListener() { - public void onKeyDown(final Widget arg0, final char arg1, final int arg2) { - } + searchButton.addClickListener(new ClickListener() { + public void onClick(final Widget arg0) { + Site.showProgressProcessing(); + presenter.doSearch(searchTextBox.getText()); + } + }); + logoutLabel.addClickListener(new ClickListener() { + public void onClick(final Widget arg0) { + Site.showProgressProcessing(); + presenter.doLogout(); + } + }); + searchTextBox.addKeyboardListener(new KeyboardListener() { + public void onKeyDown(final Widget arg0, final char arg1, final int arg2) { + } - public void onKeyPress(final Widget arg0, final char arg1, final int arg2) { - } + public void onKeyPress(final Widget arg0, final char arg1, final int arg2) { + } - public void onKeyUp(final Widget widget, final char key, final int mod) { - if (key == KEY_ENTER) { - if (searchTextBox.getText().length() > 0) { - Site.showProgressProcessing(); - presenter.doSearch(searchTextBox.getText()); - } - } - } - }); + public void onKeyUp(final Widget widget, final char key, final int mod) { + if (key == KEY_ENTER) { + if (searchTextBox.getText().length() > 0) { + Site.showProgressProcessing(); + presenter.doSearch(searchTextBox.getText()); + } + } + } + }); } private void createOptionsSubmenu() { - linkHelpInTrans = new MenuItem(img.language().getHTML() + i18n.t("Help with the translation"), true, - new Command() { - public void execute() { - presenter.onHelpInTranslation(); - } - }); - linkKuneBugs = new MenuItem(img.kuneIcon16().getHTML() + i18n.t("Report kune bugs"), true, new Command() { - public void execute() { - Window.open("http://code.google.com/p/kune/issues/list", "_blank", null); - } - }); - // linkHelp = new MenuItem(img.kuneIcon16().getHTML() + - // i18n.t("Help"), true, new Command() { - // public void execute() { - // presenter.changeState(new StateToken("site.docs")); - // } - // }); + linkHelpInTrans = new MenuItem(img.language().getHTML() + i18n.t("Help with the translation"), true, + new Command() { + public void execute() { + presenter.onHelpInTranslation(); + } + }); + linkKuneBugs = new MenuItem(img.kuneIcon16().getHTML() + i18n.t("Report kune bugs"), true, new Command() { + public void execute() { + Window.open("http://code.google.com/p/kune/issues/list", "_blank", null); + } + }); + // linkHelp = new MenuItem(img.kuneIcon16().getHTML() + + // i18n.t("Help"), true, new Command() { + // public void execute() { + // presenter.changeState(new StateToken("site.docs")); + // } + // }); } private void createSearchBox() { - searchButton = new PushButton(img.kuneSearchIco().createImage(), img.kuneSearchIcoPush().createImage()); - searchTextBox = new TextBox(); + searchButton = new PushButton(img.kuneSearchIco().createImage(), img.kuneSearchIcoPush().createImage()); + searchTextBox = new TextBox(); - siteBarHP.add(searchButton); - siteBarHP.add(searchTextBox); + siteBarHP.add(searchButton); + siteBarHP.add(searchTextBox); - setTextSearchSmall(); - setDefaultTextSearch(); - searchTextBox.addFocusListener(new FocusListener() { + setTextSearchSmall(); + setDefaultTextSearch(); + searchTextBox.addFocusListener(new FocusListener() { - public void onFocus(final Widget arg0) { - presenter.onSearchFocus(); - } + public void onFocus(final Widget arg0) { + presenter.onSearchFocus(); + } - public void onLostFocus(final Widget arg0) { - presenter.onSearchLostFocus(searchTextBox.getText()); - } - }); + public void onLostFocus(final Widget arg0) { + presenter.onSearchLostFocus(searchTextBox.getText()); + } + }); } } Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,37 @@ +package org.ourproject.kune.workspace.client.ui.newtmp; + +import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePresenter; +import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePresenter; +import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo; + +public class WorkspaceManager { + + private final EntityLogo entityLogo; + private final EntityTitlePresenter entityTitlePresenter; + private final WsThemePresenter wsThemePresenter; + + public WorkspaceManager(final EntityLogo entityLogo, final EntityTitlePresenter entityTitlePresenter, + final WsThemePresenter wsThemePresenter) { + this.entityLogo = entityLogo; + this.entityTitlePresenter = entityTitlePresenter; + this.wsThemePresenter = wsThemePresenter; + } + + public void setState(final StateDTO state) { + final GroupDTO group = state.getGroup(); + final boolean isAdmin = state.getGroupRights().isAdministrable(); + entityLogo.setLogo(group.getLongName()); + entityLogo.setPutYourLogoVisible(isAdmin); + entityTitlePresenter.setState(state); + // Only for probes: + wsThemePresenter.setVisible(true); + } + + public void setTheme(final WsTheme theme) { + entityLogo.setTheme(theme); + entityTitlePresenter.setTheme(theme); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/AbstractBar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/AbstractBar.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/AbstractBar.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,40 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.Widget; + +public class AbstractBar extends Composite { + private final HorizontalPanel horPanel; + + public AbstractBar() { + horPanel = new HorizontalPanel(); + horPanel.setWidth("100%"); + initWidget(horPanel); + } + + public void add(final Widget widget) { + horPanel.add(widget); + } + + public void addFill() { + final Label emptyLabel = new Label(""); + horPanel.add(emptyLabel); + horPanel.setCellWidth(emptyLabel, "100%"); + } + + public void addSeparator() { + final Label emptyLabel = new Label(""); + emptyLabel.setStyleName("ytb-sep"); + emptyLabel.addStyleName("k-toolbar-sep"); + horPanel.add(emptyLabel); + } + + public void addSpacer() { + final Label emptyLabel = new Label(""); + emptyLabel.setStyleName("ytb-spacer"); + horPanel.add(emptyLabel); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Entity.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Entity.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Entity.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,40 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import org.ourproject.kune.platf.client.ui.DefaultBorderLayout; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.gwtext.client.widgets.Panel; + +public class Entity extends DefaultBorderLayout { + + private final EntityWorkspace entityWorkspace; + private final EntitySummary entitySummary; + private final Panel entityMainHeader; + + public Entity() { + entityMainHeader = new Panel(); + entityMainHeader.setBorder(false); + entitySummary = new EntitySummary(); + entityWorkspace = new EntityWorkspace(); + add(entityMainHeader, DefaultBorderLayout.Position.NORTH, 65); + add(entityWorkspace.getPanel(), DefaultBorderLayout.Position.CENTER); + add(entitySummary.getPanel(), DefaultBorderLayout.Position.EAST, true, 150); + } + + public Panel getEntityMainHeader() { + return entityMainHeader; + } + + public EntitySummary getEntitySummary() { + return entitySummary; + } + + public EntityWorkspace getEntityWorkspace() { + return entityWorkspace; + } + + public void setTheme(final WsTheme theme) { + super.setCls("k-entity-" + theme); + entityWorkspace.setTheme(theme); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,47 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import org.ourproject.kune.platf.client.ui.DefaultBorderLayout; + +import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.widgets.Panel; +import com.gwtext.client.widgets.Toolbar; + +public class EntitySummary { + private final Panel entityTools; + private final Panel entitySummary; + private final DefaultBorderLayout mainPanel; + private final Toolbar trayBar; + + public EntitySummary() { + mainPanel = new DefaultBorderLayout(); + entityTools = new Panel(); + entitySummary = new Panel(); + entitySummary.setCls("k-entity-summary"); + entityTools.setBorder(false); + entitySummary.setBorder(false); + entityTools.setAutoScroll(false); + entitySummary.setAutoScroll(true); + trayBar = mainPanel.createBottomBar(entitySummary, "k-site-traybar"); + mainPanel.add(entityTools, DefaultBorderLayout.Position.NORTH, 30); + mainPanel.add(entitySummary, DefaultBorderLayout.Position.CENTER); + } + + public void addInSummary(final Widget widget) { + entitySummary.add(widget); + mainPanel.doLayoutIfNeeded(); + } + + public void addInTools(final Widget widget) { + entityTools.add(widget); + mainPanel.doLayoutIfNeeded(); + } + + public Panel getPanel() { + return mainPanel.getPanel(); + } + + public Toolbar getSiteTraybar() { + return trayBar; + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,132 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.ui.DefaultBorderLayout; +import org.ourproject.kune.platf.client.ui.RoundedPanel; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.widgets.Panel; +import com.gwtext.client.widgets.layout.AnchorLayout; +import com.gwtext.client.widgets.layout.AnchorLayoutData; + +public class EntityWorkspace extends DefaultBorderLayout { + private final Panel content; + private final Panel container; + private final TitleBar title; + private final TitleBar subTitle; + private final TitleBar bottom; + private final Toolbar contentTopBar; + private final Toolbar contentBottomBar; + private final Toolbar containerTopBar; + private final Toolbar containerBottomBar; + private final RoundedPanel roundedTitle; + private final RoundedPanel roundedBottom; + private final DefaultBorderLayout containerWrap; + + public EntityWorkspace() { + final Panel titles = new Panel(); + titles.setBorder(false); + titles.setLayout(new AnchorLayout()); + final Panel bottomPanel = new Panel(); + bottomPanel.setBorder(false); + bottomPanel.setLayout(new AnchorLayout()); + + title = new TitleBar(); + title.setHeight("" + (DEF_TOOLBAR_HEIGHT - 2)); + title.setStylePrimaryName("k-entity-title"); + subTitle = new TitleBar(); + subTitle.setStylePrimaryName("k-entity-subtitle"); + bottom = new TitleBar(); + bottom.setHeight("" + (DEF_TOOLBAR_HEIGHT - 2)); + bottom.setStylePrimaryName("k-entity-bottom"); + + roundedTitle = new RoundedPanel(title, RoundedPanel.TOPLEFT, 2); + roundedBottom = new RoundedPanel(bottom, RoundedPanel.BOTTOMLEFT, 2); + + titles.add(roundedTitle, new AnchorLayoutData("100% -" + DEF_TOOLBAR_HEIGHT)); + titles.add(subTitle, new AnchorLayoutData("100% -" + DEF_TOOLBAR_HEIGHT)); + bottomPanel.add(roundedBottom, new AnchorLayoutData("100% -" + DEF_TOOLBAR_HEIGHT)); + + final DefaultBorderLayout contentWrap = new DefaultBorderLayout(); + containerWrap = new DefaultBorderLayout(); + contentWrap.setBorder(true); + containerWrap.setBorder(true); + content = new Panel(); + container = new Panel(); + content.setBorder(false); + container.setBorder(false); + container.setCollapsible(true); + content.setPaddings(5); + container.setPaddings(5); + content.setAutoScroll(true); + container.setAutoScroll(true); + + contentTopBar = new Toolbar(); + contentBottomBar = new Toolbar(); + containerTopBar = new Toolbar(); + containerBottomBar = new Toolbar(); + contentTopBar.addClass("k-toolbar-bottom-line"); + contentBottomBar.addClass("k-toolbar-top-line"); + containerTopBar.addClass("k-toolbar-bottom-line"); + containerBottomBar.addClass("k-toolbar-top-line"); + contentWrap.add(contentTopBar.getPanel(), Position.NORTH, false, DEF_TOOLBAR_HEIGHT); + containerWrap.add(containerTopBar.getPanel(), Position.NORTH, false, DEF_TOOLBAR_HEIGHT); + contentWrap.add(content, Position.CENTER); + containerWrap.add(container, Position.CENTER); + contentWrap.add(contentBottomBar.getPanel(), Position.SOUTH, false, DEF_TOOLBAR_HEIGHT); + containerWrap.add(containerBottomBar.getPanel(), Position.SOUTH, false, DEF_TOOLBAR_HEIGHT); + + add(titles, DefaultBorderLayout.Position.NORTH, DEF_TOOLBAR_HEIGHT * 2); + add(contentWrap.getPanel(), DefaultBorderLayout.Position.CENTER); + add(containerWrap.getPanel(), DefaultBorderLayout.Position.EAST, true, 175); + add(bottomPanel, DefaultBorderLayout.Position.SOUTH, DEF_TOOLBAR_HEIGHT); + } + + public TitleBar getBottomTitle() { + return bottom; + } + + public Toolbar getContainerBottomBar() { + return containerBottomBar; + } + + public Toolbar getContainerTopBar() { + return containerTopBar; + } + + public Toolbar getContentBottomBar() { + return contentBottomBar; + } + + public Toolbar getContentTopBar() { + return contentTopBar; + } + + public TitleBar getSubTitle() { + return subTitle; + } + + public TitleBar getTitle() { + return title; + } + + public void setContainer(final View view) { + setPanel(container, (Widget) view); + } + + public void setContent(final View view) { + setPanel(content, (Widget) view); + } + + public void setTheme(final WsTheme theme) { + final String themeS = theme.toString(); + super.setCls("k-entityworkspace-" + theme); + roundedTitle.setCornerStyleName("k-entity-title-rd-" + theme); + roundedBottom.setCornerStyleName("k-entity-bottom-rd-" + theme); + title.addStyleDependentName(themeS); + subTitle.addStyleDependentName(themeS); + bottom.addStyleDependentName(themeS); + container.setStyleName("k-entity-container-" + theme); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/SiteBar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/SiteBar.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/SiteBar.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,33 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.widgets.Panel; + +public class SiteBar extends Panel { + + private final TitleBar titleBar; + + public SiteBar() { + super.setBorder(false); + titleBar = new TitleBar(); + titleBar.setStyleName("k-sitebar"); + super.add(titleBar); + } + + public void add(final Widget widget) { + titleBar.add(widget); + } + + public void addFill() { + titleBar.addFill(); + } + + public void addSeparator() { + titleBar.addSeparator(); + } + + public void addSpacer() { + titleBar.addSpacer(); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/TitleBar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/TitleBar.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/TitleBar.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,5 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +public class TitleBar extends AbstractBar { + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Toolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Toolbar.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/Toolbar.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,52 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import org.ourproject.kune.platf.client.ui.DefaultBorderLayout; + +import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.widgets.Panel; + +public class Toolbar { + private final Panel container; + private final AbstractBar horPanel; + + public Toolbar() { + container = new Panel(); + container.setBorder(false); + container.setBodyBorder(false); + container.setHeight(DefaultBorderLayout.DEF_TOOLBAR_HEIGHT); + container.setWidth("100%"); + container.setHeader(false); + container.setBaseCls("x-toolbar"); + container.addClass("x-panel"); + horPanel = new AbstractBar(); + container.add(horPanel); + } + + public void add(final Widget widget) { + horPanel.add(widget); + if (container.isRendered()) { + container.doLayout(false); + } + } + + public void addClass(final String cls) { + container.addClass(cls); + } + + public void addFill() { + horPanel.addFill(); + } + + public void addSeparator() { + horPanel.addSeparator(); + } + + public void addSpacer() { + horPanel.addSpacer(); + } + + public Panel getPanel() { + return container; + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,58 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.skel; + +import org.ourproject.kune.platf.client.ui.DefaultBorderLayout; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.gwtext.client.widgets.Panel; +import com.gwtext.client.widgets.Toolbar; +import com.gwtext.client.widgets.Viewport; +import com.gwtext.client.widgets.layout.FitLayout; + +public class WorkspaceSkeleton { + private final Entity entity; + private final SiteBar sitebar; + private final DefaultBorderLayout mainPanel; + private final Panel container; + + public WorkspaceSkeleton() { + container = new Panel(); + container.setLayout(new FitLayout()); + container.setBorder(false); + container.setPaddings(5); + mainPanel = new DefaultBorderLayout(); + sitebar = new SiteBar(); + entity = new Entity(); + mainPanel.add(sitebar, DefaultBorderLayout.Position.NORTH, DefaultBorderLayout.DEF_TOOLBAR_HEIGHT); + mainPanel.add(entity.getPanel(), DefaultBorderLayout.Position.CENTER); + container.add(mainPanel.getPanel()); + } + + public Panel getEntityMainHeader() { + return entity.getEntityMainHeader(); + } + + public EntitySummary getEntitySummary() { + return entity.getEntitySummary(); + } + + public EntityWorkspace getEntityWorkspace() { + return entity.getEntityWorkspace(); + } + + public SiteBar getSiteBar() { + return sitebar; + } + + public Toolbar getSiteTraybar() { + return entity.getEntitySummary().getSiteTraybar(); + } + + public void setTheme(final WsTheme theme) { + entity.setTheme(theme); + } + + public void show() { + new Viewport(container); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsTheme.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsTheme.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsTheme.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,5 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.themes; + +public enum WsTheme { + def, green, blue, grey, purple, red +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,36 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.themes; + +import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; + +import com.gwtext.client.widgets.ToolbarButton; +import com.gwtext.client.widgets.menu.BaseItem; +import com.gwtext.client.widgets.menu.Menu; +import com.gwtext.client.widgets.menu.MenuItem; +import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter; + +public class WsThemePanel extends ToolbarButton implements WsThemeView { + + private final Menu menu; + + public WsThemePanel(final WorkspaceSkeleton ws) { + menu = new Menu(); + for (final WsTheme theme : WsTheme.values()) { + final MenuItem item = new MenuItem(); + item.setText(theme.toString()); + menu.addItem(item); + item.addListener(new BaseItemListenerAdapter() { + public void onActivate(final BaseItem item) { + ws.setTheme(theme); + } + }); + } + menu.setDefaultAlign("br-tr"); + super.setMenu(menu); + ws.getSiteTraybar().addButton(this); + } + + public void setVisible(final boolean visible) { + menu.setVisible(visible); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePresenter.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemePresenter.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,14 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.themes; + +public class WsThemePresenter { + + private WsThemeView view; + + public void init(final WsThemeView view) { + this.view = view; + } + + public void setVisible(final boolean visible) { + view.setVisible(visible); + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemeView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemeView.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes/WsThemeView.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,7 @@ +package org.ourproject.kune.workspace.client.ui.newtmp.themes; + +public interface WsThemeView { + + void setVisible(boolean visible); + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,79 @@ +/* + * + * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package org.ourproject.kune.workspace.client.ui.newtmp.title; + +import org.ourproject.kune.platf.client.ui.EditableClickListener; +import org.ourproject.kune.platf.client.ui.EditableIconLabel; +import org.ourproject.kune.workspace.client.ui.newtmp.skel.TitleBar; +import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.google.gwt.user.client.ui.Label; + +public class EntityTitlePanel implements EntityTitleView { + private final EditableIconLabel titleLabel; + private final Label dateLabel; + + public EntityTitlePanel(final WorkspaceSkeleton ws, final EntityTitlePresenter presenter) { + titleLabel = new EditableIconLabel(new EditableClickListener() { + public void onEdited(final String text) { + presenter.onTitleRename(text); + } + }); + dateLabel = new Label(); + + final TitleBar wsTitle = ws.getEntityWorkspace().getTitle(); + wsTitle.add(titleLabel); + wsTitle.addFill(); + wsTitle.add(dateLabel); + titleLabel.addStyleName("kune-Margin-Large-l"); + titleLabel.addStyleName("kune-ft17px"); + dateLabel.addStyleName("kune-Margin-Large-r"); + dateLabel.addStyleName("kune-ft12px"); + titleLabel.addStyleName("kune-ContentTitleBar-l"); + dateLabel.addStyleName("kune-ContentTitleBar-r"); + } + + public void restoreOldTitle() { + titleLabel.restoreOldText(); + } + + public void setContentDate(final String date) { + dateLabel.setText(date); + } + + public void setContentTitle(final String title) { + titleLabel.setText(title); + } + + public void setContentTitleEditable(final boolean editable) { + titleLabel.setEditable(editable); + } + + public void setDateVisible(final boolean visible) { + dateLabel.setVisible(visible); + + } + + public void setTheme(final WsTheme theme) { + + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePresenter.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitlePresenter.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,111 @@ +/* + * + * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package org.ourproject.kune.workspace.client.ui.newtmp.title; + +import java.util.Date; + +import org.ourproject.kune.docs.client.actions.DocsEvents; +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.dispatch.DefaultDispatcher; +import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.rpc.ParamCallback; +import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.platf.client.services.KuneErrorHandler; +import org.ourproject.kune.workspace.client.WorkspaceEvents; +import org.ourproject.kune.workspace.client.sitebar.Site; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.google.gwt.i18n.client.DateTimeFormat; +import com.google.gwt.user.client.rpc.AsyncCallback; + +public class EntityTitlePresenter { + + private EntityTitleView view; + private final I18nTranslationService i18n; + private final KuneErrorHandler errorHandler; + + public EntityTitlePresenter(final I18nTranslationService i18n, final KuneErrorHandler errorHandler) { + this.i18n = i18n; + this.errorHandler = errorHandler; + } + + public View getView() { + return view; + } + + public void init(final EntityTitleView view) { + this.view = view; + } + + public void onTitleRename(final String text) { + Site.showProgressSaving(); + final AsyncCallback<String> callback = new AsyncCallback<String>() { + public void onFailure(final Throwable caught) { + view.restoreOldTitle(); + errorHandler.process(caught); + } + + public void onSuccess(final String result) { + Site.hideProgress(); + view.setContentTitle(result); + DefaultDispatcher.getInstance().fire(WorkspaceEvents.RELOAD_CONTEXT, null); + } + }; + DefaultDispatcher.getInstance().fire(DocsEvents.RENAME_CONTENT, + new ParamCallback<String, String>(text, callback)); + } + + public void setState(final StateDTO state) { + if (state.hasDocument()) { + setContentTitle(state.getTitle(), state.getContentRights().isEditable()); + setContentDateVisible(true); + setContentDate(state.getPublishedOn()); + } else { + if (state.getFolder().getParentFolderId() == null) { + // We translate root folder names (documents, chat room, + // etcetera) + setContentTitle(i18n.t(state.getTitle()), false); + } else { + setContentTitle(state.getTitle(), state.getContentRights().isEditable()); + } + setContentDateVisible(false); + } + } + + public void setTheme(final WsTheme theme) { + view.setTheme(theme); + } + + private void setContentDate(final Date publishedOn) { + final DateTimeFormat fmt = DateTimeFormat.getFormat("MM/dd/yyyy, Z"); + view.setContentDate(i18n.t("Published on: [%s]", fmt.format(publishedOn))); + } + + private void setContentDateVisible(final boolean visible) { + view.setDateVisible(visible); + } + + private void setContentTitle(final String title, final boolean editable) { + view.setContentTitle(title); + view.setContentTitleEditable(editable); + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitleView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitleView.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title/EntityTitleView.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,40 @@ +/* + * + * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package org.ourproject.kune.workspace.client.ui.newtmp.title; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +public interface EntityTitleView extends View { + + void restoreOldTitle(); + + void setContentDate(String date); + + void setContentTitle(String title); + + void setContentTitleEditable(boolean editable); + + void setDateVisible(boolean visible); + + void setTheme(WsTheme theme); + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogo.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogo.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogo.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,17 @@ +package org.ourproject.kune.workspace.client.workspace.ui; + +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.google.gwt.user.client.ui.Image; + +public interface EntityLogo { + + public abstract void setLogo(final Image image); + + public abstract void setLogo(final String groupName); + + public abstract void setPutYourLogoVisible(final boolean visible); + + public abstract void setTheme(final WsTheme theme); + +} \ No newline at end of file Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogoPanel.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/EntityLogoPanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -0,0 +1,120 @@ +/* + * + * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package org.ourproject.kune.workspace.client.workspace.ui; + +import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme; + +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.ui.HTML; +import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Hyperlink; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.VerticalPanel; + +public class EntityLogoPanel extends SimplePanel implements EntityLogo { + class EntityTextLogo extends VerticalPanel { + + private static final int GROUP_NAME_LIMIT_SIZE = 90; + private static final String LOGO_SMALL_FONT_SIZE = "108%"; + private static final String LOGO_DEFAULT_FONT_SIZE = "167%"; + private final Label defTextLogoLabel; + private final Hyperlink defTextPutYourLogoHL; + private final HorizontalPanel putYourLogoHP; + + public EntityTextLogo() { + // Initialize + super(); + defTextLogoLabel = new Label(); + final HTML expandCell = new HTML("<b></b>"); + putYourLogoHP = new HorizontalPanel(); + defTextPutYourLogoHL = new Hyperlink(); + + // Layout + add(defTextLogoLabel); + add(putYourLogoHP); + putYourLogoHP.add(expandCell); + putYourLogoHP.add(defTextPutYourLogoHL); + + // Set properties + // TODO: Put your logo here functionality + defTextPutYourLogoHL.setText(i18n.t("Put Your Logo Here")); + expandCell.setWidth("100%"); + putYourLogoHP.setCellWidth(expandCell, "100%"); + // TODO: link to configure the logo + setStylePrimaryName("k-entitytextlogo"); + setDefaultText(""); + } + + public void setDefaultText(final String text) { + if (text.length() > GROUP_NAME_LIMIT_SIZE) { + DOM.setStyleAttribute(defTextLogoLabel.getElement(), "fontSize", LOGO_SMALL_FONT_SIZE); + } else { + DOM.setStyleAttribute(defTextLogoLabel.getElement(), "fontSize", LOGO_DEFAULT_FONT_SIZE); + } + defTextLogoLabel.setText(text); + + } + + public void setPutYourLogoVisible(final boolean visible) { + putYourLogoHP.setVisible(visible); + } + + } + + private EntityTextLogo entityTextLogo; + private final I18nTranslationService i18n; + + public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws) { + this.i18n = i18n; + ws.getEntityMainHeader().add(this); + } + + public void setLogo(final Image image) { + clear(); + add(image); + } + + public void setLogo(final String groupName) { + clear(); + add(getEntityTextLogo()); + entityTextLogo.setDefaultText(groupName); + } + + public void setPutYourLogoVisible(final boolean visible) { + getEntityTextLogo().setPutYourLogoVisible(visible); + } + + public void setTheme(final WsTheme theme) { + getEntityTextLogo().addStyleDependentName(theme.toString()); + } + + private EntityTextLogo getEntityTextLogo() { + if (entityTextLogo == null) { + this.entityTextLogo = new EntityTextLogo(); + } + return entityTextLogo; + } + +} Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/GroupLogoPanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -1,122 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -package org.ourproject.kune.workspace.client.workspace.ui; - -import org.ourproject.kune.platf.client.services.I18nTranslationService; - -import com.google.gwt.user.client.DOM; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Hyperlink; -import com.google.gwt.user.client.ui.Image; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.SimplePanel; -import com.google.gwt.user.client.ui.VerticalPanel; - -class GroupLogoPanel extends SimplePanel { - class EntityTextLogo extends VerticalPanel { - - private static final int GROUP_NAME_LIMIT_SIZE = 90; - private static final String LOGO_SMALL_FONT_SIZE = "108%"; - private static final String LOGO_DEFAULT_FONT_SIZE = "167%"; - private Label defTextLogoLabel = null; - private Hyperlink defTextPutYourLogoHL = null; - private final HorizontalPanel putYourLogoHP; - - public EntityTextLogo() { - // Initialize - super(); - defTextLogoLabel = new Label(); - HTML expandCell = new HTML("<b></b>"); - putYourLogoHP = new HorizontalPanel(); - defTextPutYourLogoHL = new Hyperlink(); - - // Layout - add(defTextLogoLabel); - add(putYourLogoHP); - putYourLogoHP.add(expandCell); - putYourLogoHP.add(defTextPutYourLogoHL); - - // Set properties - // TODO: Put your logo here functionality - defTextPutYourLogoHL.setText(i18n.t("Put Your Logo Here")); - expandCell.setWidth("100%"); - putYourLogoHP.setCellWidth(expandCell, "100%"); - // TODO: link to configure the logo - addStyleName("kune-EntityTextLogo"); - setDefaultText(""); - } - - public void setDefaultText(final String text) { - if (text.length() > GROUP_NAME_LIMIT_SIZE) { - DOM.setStyleAttribute(defTextLogoLabel.getElement(), "fontSize", LOGO_SMALL_FONT_SIZE); - } else { - DOM.setStyleAttribute(defTextLogoLabel.getElement(), "fontSize", LOGO_DEFAULT_FONT_SIZE); - } - defTextLogoLabel.setText(text); - - } - - public void setPutYourLogoVisible(final boolean visible) { - putYourLogoHP.setVisible(visible); - - } - - public void setTextColor(final String color) { - DOM.setStyleAttribute(defTextLogoLabel.getElement(), "color", color); - } - } - - private EntityTextLogo entityTextLogo; - private final I18nTranslationService i18n; - - public GroupLogoPanel(final I18nTranslationService i18n) { - this.i18n = i18n; - } - - public void setLogo(final Image image) { - clear(); - add(image); - } - - public void setLogo(final String groupName) { - clear(); - add(getEntityTextLogo()); - entityTextLogo.setDefaultText(groupName); - } - - public void setPutYourLogoVisible(final boolean visible) { - entityTextLogo.setPutYourLogoVisible(visible); - - } - - public void setTextColor(final String color) { - this.entityTextLogo.setTextColor(color); - } - - private EntityTextLogo getEntityTextLogo() { - if (entityTextLogo == null) { - this.entityTextLogo = new EntityTextLogo(); - } - return entityTextLogo; - } - -} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java 2008-07-07 14:10:21 UTC (rev 793) @@ -51,7 +51,7 @@ private static final int DEF_CONTEXT_WIDTH = 175; private static final Images img = Images.App.getInstance(); - private final GroupLogoPanel groupLogoPanel; + // private final EntityLogoPanel groupLogoPanel; private final HorizontalPanel contentTitleBarHP; private final HorizontalPanel contentSubTitleBarHP; private final GroupToolsBar groupToolsBar; @@ -83,288 +83,288 @@ private final WorkspacePresenter presenter; public WorkspacePanel(final WorkspacePresenter presenter, final I18nTranslationService i18n, - final ColorTheme colorTheme) { - this.presenter = presenter; - this.colorTheme = colorTheme; - // Initialize - final VerticalPanel generalVP = new VerticalPanel(); - initWidget(generalVP); - groupLogoPanel = new GroupLogoPanel(i18n); - final HorizontalPanel generalHP = new HorizontalPanel(); - cntcxtVP = new VerticalPanel(); - final VerticalPanel groupNavBarVP = new VerticalPanel(); - groupToolsBar = new GroupToolsBar(colorTheme); - bottomIconsTrayPanel = new BottomIconsTrayPanel(); - groupDropDownsSP = new ScrollPanel(); - groupDropDownsVP = new VerticalPanel(); - contentTitleBarHP = new HorizontalPanel(); - contentTitleBarBorderDec = new RoundedBorderDecorator(contentTitleBarHP, RoundedBorderDecorator.TOPLEFT); - contentSubTitleBarHP = new HorizontalPanel(); - contentToolBarHP = new HorizontalPanel(); - cntcxtHSP = new CustomHorizontalSplitPanel(new HorizontalSplitPanelImages() { - public AbstractImagePrototype horizontalSplitPanelThumb() { - return img.splitterVertBar(); - } - }); - cntcxtHSP.addChangeListener(new ChangeListener() { - public void onChange(final Widget sender) { - adjustSizeContentSP(); - saveCurrentRightWidgetWidth(cntcxtHSP.getRightWidgetAvailableWidth()); - } - }); - cntcxtHSP.addSplitterListener(new SplitterListener() { - public void onStartResizing(final Widget sender) { - presenter.onSplitterStartResizing(sender); - } + final ColorTheme colorTheme) { + this.presenter = presenter; + this.colorTheme = colorTheme; + // Initialize + final VerticalPanel generalVP = new VerticalPanel(); + initWidget(generalVP); + // groupLogoPanel = new EntityLogoPanel(i18n); + final HorizontalPanel generalHP = new HorizontalPanel(); + cntcxtVP = new VerticalPanel(); + final VerticalPanel groupNavBarVP = new VerticalPanel(); + groupToolsBar = new GroupToolsBar(colorTheme); + bottomIconsTrayPanel = new BottomIconsTrayPanel(); + groupDropDownsSP = new ScrollPanel(); + groupDropDownsVP = new VerticalPanel(); + contentTitleBarHP = new HorizontalPanel(); + contentTitleBarBorderDec = new RoundedBorderDecorator(contentTitleBarHP, RoundedBorderDecorator.TOPLEFT); + contentSubTitleBarHP = new HorizontalPanel(); + contentToolBarHP = new HorizontalPanel(); + cntcxtHSP = new CustomHorizontalSplitPanel(new HorizontalSplitPanelImages() { + public AbstractImagePrototype horizontalSplitPanelThumb() { + return img.splitterVertBar(); + } + }); + cntcxtHSP.addChangeListener(new ChangeListener() { + public void onChange(final Widget sender) { + adjustSizeContentSP(); + saveCurrentRightWidgetWidth(cntcxtHSP.getRightWidgetAvailableWidth()); + } + }); + cntcxtHSP.addSplitterListener(new SplitterListener() { + public void onStartResizing(final Widget sender) { + presenter.onSplitterStartResizing(sender); + } - public void onStopResizing(final Widget sender) { - presenter.onSplitterStopResizing(sender); - } - }); - contentVP = new VerticalPanel(); - contextVP = new VerticalPanel(); - contentSP = new ScrollPanel(); - contentBottomToolBarHP = new HorizontalPanel(); - contentBottomBarHP = new HorizontalPanel(); - bottomBorderDecorator = new RoundedBorderDecorator(contentBottomBarHP, RoundedBorderDecorator.BOTTOMLEFT); + public void onStopResizing(final Widget sender) { + presenter.onSplitterStopResizing(sender); + } + }); + contentVP = new VerticalPanel(); + contextVP = new VerticalPanel(); + contentSP = new ScrollPanel(); + contentBottomToolBarHP = new HorizontalPanel(); + contentBottomBarHP = new HorizontalPanel(); + bottomBorderDecorator = new RoundedBorderDecorator(contentBottomBarHP, RoundedBorderDecorator.BOTTOMLEFT); - // Layout - generalVP.add(groupLogoPanel); - generalVP.add(generalHP); - generalHP.add(cntcxtVP); - generalHP.add(groupNavBarVP); - groupNavBarVP.add(groupToolsBar); - groupNavBarVP.add(groupDropDownsSP); - groupNavBarVP.add(bottomIconsTrayPanel); - groupDropDownsSP.add(groupDropDownsVP); - cntcxtVP.add(contentTitleBarBorderDec); - cntcxtVP.add(contentSubTitleBarHP); - cntcxtVP.add(cntcxtHSP); - cntcxtHSP.setLeftWidget(contentVP); - cntcxtHSP.setRightWidget(contextVP); - cntcxtVP.add(bottomBorderDecorator); - contentVP.add(contentToolBarHP); - contentVP.add(contentSP); - contentVP.add(contentBottomToolBarHP); + // Layout + // generalVP.add(groupLogoPanel); + generalVP.add(generalHP); + generalHP.add(cntcxtVP); + generalHP.add(groupNavBarVP); + groupNavBarVP.add(groupToolsBar); + groupNavBarVP.add(groupDropDownsSP); + groupNavBarVP.add(bottomIconsTrayPanel); + groupDropDownsSP.add(groupDropDownsVP); + cntcxtVP.add(contentTitleBarBorderDec); + cntcxtVP.add(contentSubTitleBarHP); + cntcxtVP.add(cntcxtHSP); + cntcxtHSP.setLeftWidget(contentVP); + cntcxtHSP.setRightWidget(contextVP); + cntcxtVP.add(bottomBorderDecorator); + contentVP.add(contentToolBarHP); + contentVP.add(contentSP); + contentVP.add(contentBottomToolBarHP); - contentVP.addStyleName("kune-WorkspacePanel-Content"); - contextVP.addStyleName("kune-WorkspacePanel-Context"); - contentVP.setWidth("100%"); - contextVP.setWidth("100%"); - contextVP.setHeight("100%"); + contentVP.addStyleName("kune-WorkspacePanel-Content"); + contextVP.addStyleName("kune-WorkspacePanel-Context"); + contentVP.setWidth("100%"); + contextVP.setWidth("100%"); + contextVP.setHeight("100%"); - // Set properties - addStyleName("kune-WorkspacePanel"); - setGroupLogo(""); - generalHP.addStyleName("GeneralHP"); - contentTitleBarBorderDec.setColor(colorTheme.getContentMainBorder()); - contentTitleBarHP.setWidth("100%"); - contentSubTitleBarHP.setWidth("100%"); - contentTitleBarHP.addStyleName("kune-ContentTitleBar"); - contentSubTitleBarHP.addStyleName("kune-ContentSubTitleBar"); - contentToolBarHP.setWidth("100%"); - cntcxtVP.addStyleName("ContextPanel"); - cntcxtVP.setCellVerticalAlignment(contentTitleBarHP, VerticalPanel.ALIGN_MIDDLE); - cntcxtVP.setCellVerticalAlignment(contentSubTitleBarHP, VerticalPanel.ALIGN_MIDDLE); - cntcxtVP.setCellVerticalAlignment(bottomBorderDecorator, VerticalPanel.ALIGN_MIDDLE); - contentTitleBarHP.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); - contentSubTitleBarHP.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); - contentBottomToolBarHP.setWidth("100%"); - contentBottomBarHP.addStyleName("kune-ContentBottomBar"); - contentBottomBarHP.addStyleName("kune-ft12px"); - groupDropDownsVP.addStyleName("kune-GroupSummaryPanel"); - bottomBorderDecorator.setColor(colorTheme.getContentMainBorder()); - bottomIconsTrayPanel.addStyleName("kune-Margin-Medium-l"); - bottomIconsTrayPanel.addStyleName("kune-BottomIconsTrayPanel"); - bottomIconsTrayPanel.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER); - bottomIconsTrayPanel.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); - previousRightWidgetWidth = DEF_CONTEXT_WIDTH; + // Set properties + addStyleName("kune-WorkspacePanel"); + setGroupLogo(""); + generalHP.addStyleName("GeneralHP"); + contentTitleBarBorderDec.setColor(colorTheme.getContentMainBorder()); + contentTitleBarHP.setWidth("100%"); + contentSubTitleBarHP.setWidth("100%"); + contentTitleBarHP.addStyleName("kune-ContentTitleBar"); + contentSubTitleBarHP.addStyleName("kune-ContentSubTitleBar"); + contentToolBarHP.setWidth("100%"); + cntcxtVP.addStyleName("ContextPanel"); + cntcxtVP.setCellVerticalAlignment(contentTitleBarHP, VerticalPanel.ALIGN_MIDDLE); + cntcxtVP.setCellVerticalAlignment(contentSubTitleBarHP, VerticalPanel.ALIGN_MIDDLE); + cntcxtVP.setCellVerticalAlignment(bottomBorderDecorator, VerticalPanel.ALIGN_MIDDLE); + contentTitleBarHP.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); + contentSubTitleBarHP.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); + contentBottomToolBarHP.setWidth("100%"); + contentBottomBarHP.addStyleName("kune-ContentBottomBar"); + contentBottomBarHP.addStyleName("kune-ft12px"); + groupDropDownsVP.addStyleName("kune-GroupSummaryPanel"); + bottomBorderDecorator.setColor(colorTheme.getContentMainBorder()); + bottomIconsTrayPanel.addStyleName("kune-Margin-Medium-l"); + bottomIconsTrayPanel.addStyleName("kune-BottomIconsTrayPanel"); + bottomIconsTrayPanel.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER); + bottomIconsTrayPanel.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE); + previousRightWidgetWidth = DEF_CONTEXT_WIDTH; } public void addBottomIconComponent(final View view) { - bottomIconsTrayPanel.add((Widget) view); + bottomIconsTrayPanel.add((Widget) view); } public void addTab(final ToolTrigger trigger) { - groupToolsBar.addItem(trigger); + groupToolsBar.addItem(trigger); } public void adjustSize(final int windowWidth, final int windowHeight) { - final int contentWidth = windowWidth - 184; - final int contentHeight = windowHeight - 176; + final int contentWidth = windowWidth - 184; + final int contentHeight = windowHeight - 176; - // FireLog.debug("w1: " + windowWidth + ", h1: " + windowHeight); - // FireLog.debug("w2: " + contentWidth + ", h2: " + contentHeight); - // FireLog.debug("sp1: " + previousRightWidgetWidth); - cntcxtHSP.setSize("" + contentWidth + "px", "" + contentHeight + "px"); - if (contentWidth > previousRightWidgetWidth) { - cntcxtHSP.setSplitPosition("" + (contentWidth - previousRightWidgetWidth - 6) + "px"); - saveCurrentRightWidgetWidth(previousRightWidgetWidth); - } else { - setDefaultSplitterPosition(); - } - adjustSizeContentSP(); + // FireLog.debug("w1: " + windowWidth + ", h1: " + windowHeight); + // FireLog.debug("w2: " + contentWidth + ", h2: " + contentHeight); + // FireLog.debug("sp1: " + previousRightWidgetWidth); + cntcxtHSP.setSize("" + contentWidth + "px", "" + contentHeight + "px"); + if (contentWidth > previousRightWidgetWidth) { + cntcxtHSP.setSplitPosition("" + (contentWidth - previousRightWidgetWidth - 6) + "px"); + saveCurrentRightWidgetWidth(previousRightWidgetWidth); + } else { + setDefaultSplitterPosition(); + } + adjustSizeContentSP(); - final int bottomMarginForTray = 35; - final int distanceFromTop = 89; - final int groupDropDownsHeight = windowHeight - groupToolsBar.getOffsetHeight() - distanceFromTop - - bottomMarginForTray; - groupDropDownsSP.setHeight("" + groupDropDownsHeight + "px"); + final int bottomMarginForTray = 35; + final int distanceFromTop = 89; + final int groupDropDownsHeight = windowHeight - groupToolsBar.getOffsetHeight() - distanceFromTop + - bottomMarginForTray; + groupDropDownsSP.setHeight("" + groupDropDownsHeight + "px"); } public void registerUIExtensionPoints() { - presenter.registerExtensibleWidgets(contentToolBarPanel.getExtensionPoints()); - presenter.registerExtensibleWidget(ExtensibleWidgetId.CONTENT_BOTTOM_ICONBAR, bottomIconsTrayPanel); + presenter.registerExtensibleWidgets(contentToolBarPanel.getExtensionPoints()); + presenter.registerExtensibleWidget(ExtensibleWidgetId.CONTENT_BOTTOM_ICONBAR, bottomIconsTrayPanel); } public void setBottom(final View view) { - bottomPanel = (LicensePanel) view; - contentBottomBarHP.add(bottomPanel); - contentBottomBarHP.setCellVerticalAlignment(bottomPanel, VerticalPanel.ALIGN_MIDDLE); + bottomPanel = (LicensePanel) view; + contentBottomBarHP.add(bottomPanel); + contentBottomBarHP.setCellVerticalAlignment(bottomPanel, VerticalPanel.ALIGN_MIDDLE); } public void setComponents(final WorkspaceUIComponents components) { - setContentTitle(components.getContentTitleComponent().getView()); - setContentSubTitle(components.getContentSubTitleComponent().getView()); - setContentToolBar(components.getContentToolBarComponent().getView()); - setContentBottomToolBar(components.getContentBottomToolBarComponent().getView()); - setBottom(components.getLicenseComponent().getView()); - setGroupMembers(components.getGroupMembersComponent().getView()); - setParticipation(components.getParticipationComponent().getView()); - setTags(components.getTagsComponent().getView()); - setSummary(components.getGroupSummaryComponent().getView()); - addBottomIconComponent(components.getThemeMenuComponent().getView()); + setContentTitle(components.getContentTitleComponent().getView()); + setContentSubTitle(components.getContentSubTitleComponent().getView()); + setContentToolBar(components.getContentToolBarComponent().getView()); + setContentBottomToolBar(components.getContentBottomToolBarComponent().getView()); + setBottom(components.getLicenseComponent().getView()); + setGroupMembers(components.getGroupMembersComponent().getView()); + setParticipation(components.getParticipationComponent().getView()); + setTags(components.getTagsComponent().getView()); + setSummary(components.getGroupSummaryComponent().getView()); + addBottomIconComponent(components.getThemeMenuComponent().getView()); } public void setContent(final View content) { - contentSP.clear(); - final Widget widget = (Widget) content; - contentSP.add(widget); + contentSP.clear(); + final Widget widget = (Widget) content; + contentSP.add(widget); } public void setContentBottomToolBar(final View view) { - contentBottomToolBarPanel = (ContentBottomToolBarPanel) view; - contentBottomToolBarHP.add(contentBottomToolBarPanel); - contentBottomToolBarHP.setCellVerticalAlignment(contentBottomToolBarPanel, VerticalPanel.ALIGN_MIDDLE); + contentBottomToolBarPanel = (ContentBottomToolBarPanel) view; + contentBottomToolBarHP.add(contentBottomToolBarPanel); + contentBottomToolBarHP.setCellVerticalAlignment(contentBottomToolBarPanel, VerticalPanel.ALIGN_MIDDLE); } public void setContentSubTitle(final View view) { - contentSubTitlePanel = (ContentSubTitlePanel) view; - contentSubTitleBarHP.add(contentSubTitlePanel); - contentSubTitleBarHP.setCellVerticalAlignment(contentSubTitlePanel, VerticalPanel.ALIGN_MIDDLE); + contentSubTitlePanel = (ContentSubTitlePanel) view; + contentSubTitleBarHP.add(contentSubTitlePanel); + contentSubTitleBarHP.setCellVerticalAlignment(contentSubTitlePanel, VerticalPanel.ALIGN_MIDDLE); } public void setContentTitle(final View view) { - contentTitlePanel = (ContentTitlePanel) view; - contentTitleBarHP.add(contentTitlePanel); - contentTitleBarHP.setCellVerticalAlignment(contentTitlePanel, VerticalPanel.ALIGN_MIDDLE); + contentTitlePanel = (ContentTitlePanel) view; + contentTitleBarHP.add(contentTitlePanel); + contentTitleBarHP.setCellVerticalAlignment(contentTitlePanel, VerticalPanel.ALIGN_MIDDLE); } public void setContentToolBar(final View view) { - contentToolBarPanel = (ContentToolBarPanel) view; - contentToolBarHP.add(contentToolBarPanel); - contentToolBarHP.setCellVerticalAlignment(contentToolBarPanel, VerticalPanel.ALIGN_MIDDLE); + contentToolBarPanel = (ContentToolBarPanel) view; + contentToolBarHP.add(contentToolBarPanel); + contentToolBarHP.setCellVerticalAlignment(contentToolBarPanel, VerticalPanel.ALIGN_MIDDLE); } public void setContext(final View contextMenu) { - contextVP.clear(); - final Widget widget = (Widget) contextMenu; - contextVP.add(widget); - widget.setHeight("100%"); - widget.setWidth("100%"); - contextVP.setCellWidth(widget, "100%"); - contextVP.setCellHeight(widget, "100%"); + contextVP.clear(); + final Widget widget = (Widget) contextMenu; + contextVP.add(widget); + widget.setHeight("100%"); + widget.setWidth("100%"); + contextVP.setCellWidth(widget, "100%"); + contextVP.setCellHeight(widget, "100%"); } public void setGroupLogo(final Image image) { - groupLogoPanel.setLogo(image); + // groupLogoPanel.setLogo(image); } public void setGroupLogo(final String groupName) { - groupLogoPanel.setLogo(groupName); + // groupLogoPanel.setLogo(groupName); } public void setGroupMembers(final View view) { - groupMembersPanel = (DropDownPanel) view; - AddDropDown(groupMembersPanel, colorTheme.getGroupMembersDD()); + groupMembersPanel = (DropDownPanel) view; + AddDropDown(groupMembersPanel, colorTheme.getGroupMembersDD()); } public void setParticipation(final View view) { - participationPanel = (DropDownPanel) view; - AddDropDown(participationPanel, colorTheme.getParticipationDD()); + participationPanel = (DropDownPanel) view; + AddDropDown(participationPanel, colorTheme.getParticipationDD()); } public void setPutYourLogoVisible(final boolean visible) { - groupLogoPanel.setPutYourLogoVisible(visible); + // groupLogoPanel.setPutYourLogoVisible(visible); } public void setSummary(final View view) { - groupSummaryPanel = (DropDownPanel) view; - AddDropDown(groupSummaryPanel, colorTheme.getSummaryDD()); + groupSummaryPanel = (DropDownPanel) view; + AddDropDown(groupSummaryPanel, colorTheme.getSummaryDD()); } public void setTags(final View view) { - tagsPanel = (DropDownPanel) view; - AddDropDown(tagsPanel, colorTheme.getTagsDD()); + tagsPanel = (DropDownPanel) view; + AddDropDown(tagsPanel, colorTheme.getTagsDD()); } public void setTheme(final String theme) { - colorTheme.setTheme(theme); - final String mainColor = colorTheme.getContentMainBorder(); - groupLogoPanel.setTextColor(colorTheme.getContentTitleText()); - contentTitleBarBorderDec.setColor(mainColor); - bottomBorderDecorator.setColor(mainColor); - DOM.setStyleAttribute(cntcxtVP.getElement(), "borderRightColor", mainColor); - contentTitlePanel.setColors(colorTheme.getContentTitle(), colorTheme.getContentTitleText()); - contentSubTitlePanel.setColors(mainColor, colorTheme.getContentSubTitleText()); - DOM.setStyleAttribute(contentTitleBarHP.getElement(), "borderLeftColor", mainColor); - DOM.setStyleAttribute(contentTitleBarHP.getElement(), "backgroundColor", colorTheme.getContentTitle()); - DOM.setStyleAttribute(contentSubTitleBarHP.getElement(), "backgroundColor", mainColor); - DOM.setStyleAttribute(contentBottomBarHP.getElement(), "backgroundColor", mainColor); - DOM.setStyleAttribute(cntcxtHSP.getRightWidget().getElement(), "backgroundColor", colorTheme.getContext()); - DOM.setStyleAttribute(DOM.getChild(DOM.getChild(cntcxtHSP.getElement(), 0), 1), "backgroundColor", colorTheme - .getSplitter()); - DOM.setStyleAttribute(contentBottomBarHP.getWidget(0).getElement(), "color", colorTheme.getContentBottomText()); - groupMembersPanel.setColor(colorTheme.getGroupMembersDD()); - participationPanel.setColor(colorTheme.getParticipationDD()); - groupSummaryPanel.setColor(colorTheme.getSummaryDD()); - tagsPanel.setColor(colorTheme.getTagsDD()); - groupToolsBar.setTabsColors(colorTheme.getToolSelected(), colorTheme.getToolUnselected()); + colorTheme.setTheme(theme); + final String mainColor = colorTheme.getContentMainBorder(); + // groupLogoPanel.setTextColor(colorTheme.getContentTitleText()); + contentTitleBarBorderDec.setColor(mainColor); + bottomBorderDecorator.setColor(mainColor); + DOM.setStyleAttribute(cntcxtVP.getElement(), "borderRightColor", mainColor); + contentTitlePanel.setColors(colorTheme.getContentTitle(), colorTheme.getContentTitleText()); + contentSubTitlePanel.setColors(mainColor, colorTheme.getContentSubTitleText()); + DOM.setStyleAttribute(contentTitleBarHP.getElement(), "borderLeftColor", mainColor); + DOM.setStyleAttribute(contentTitleBarHP.getElement(), "backgroundColor", colorTheme.getContentTitle()); + DOM.setStyleAttribute(contentSubTitleBarHP.getElement(), "backgroundColor", mainColor); + DOM.setStyleAttribute(contentBottomBarHP.getElement(), "backgroundColor", mainColor); + DOM.setStyleAttribute(cntcxtHSP.getRightWidget().getElement(), "backgroundColor", colorTheme.getContext()); + DOM.setStyleAttribute(DOM.getChild(DOM.getChild(cntcxtHSP.getElement(), 0), 1), "backgroundColor", colorTheme + .getSplitter()); + DOM.setStyleAttribute(contentBottomBarHP.getWidget(0).getElement(), "color", colorTheme.getContentBottomText()); + groupMembersPanel.setColor(colorTheme.getGroupMembersDD()); + participationPanel.setColor(colorTheme.getParticipationDD()); + groupSummaryPanel.setColor(colorTheme.getSummaryDD()); + tagsPanel.setColor(colorTheme.getTagsDD()); + groupToolsBar.setTabsColors(colorTheme.getToolSelected(), colorTheme.getToolUnselected()); } public void setTool(final String toolName) { - groupToolsBar.selectItem(toolName); + groupToolsBar.selectItem(toolName); } public void setVisible(final boolean visible) { - // false: Used when the app stops - super.setVisible(visible); + // false: Used when the app stops + super.setVisible(visible); } private void AddDropDown(final DropDownPanel panel, final String color) { - groupDropDownsVP.add(panel); - panel.setWidth("145px"); - panel.setColor(color); + groupDropDownsVP.add(panel); + panel.setWidth("145px"); + panel.setColor(color); } private void adjustSizeContentSP() { - final int width = cntcxtHSP.getLeftWidgetAvailableWidth() - 2; - final int height = cntcxtHSP.getOffsetHeight() - 29 - contentToolBarHP.getOffsetHeight(); - if (width > 0 && height > 0) { - contentSP.setSize("" + width + "px", "" + height + "px"); - } else { - Log.debug("Can't resize ScrollPanel now"); - } + final int width = cntcxtHSP.getLeftWidgetAvailableWidth() - 2; + final int height = cntcxtHSP.getOffsetHeight() - 29 - contentToolBarHP.getOffsetHeight(); + if (width > 0 && height > 0) { + contentSP.setSize("" + width + "px", "" + height + "px"); + } else { + Log.debug("Can't resize ScrollPanel now"); + } } private void saveCurrentRightWidgetWidth(final int newRightWidgetWidth) { - previousRightWidgetWidth = newRightWidgetWidth; + previousRightWidgetWidth = newRightWidgetWidth; } private void setDefaultSplitterPosition() { - final int newLefttWidgetWidth = (int) (cntcxtHSP.getOffsetWidth() * 0.7); - cntcxtHSP.setSplitPosition(newLefttWidgetWidth + "px"); - saveCurrentRightWidgetWidth(cntcxtHSP.getLeftWidgetAvailableWidth()); + final int newLefttWidgetWidth = (int) (cntcxtHSP.getOffsetWidth() * 0.7); + cntcxtHSP.setSplitPosition(newLefttWidgetWidth + "px"); + saveCurrentRightWidgetWidth(cntcxtHSP.getLeftWidgetAvailableWidth()); } // private void logSplitter(final String count) { Modified: trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- trunk/src/main/webapp/WEB-INF/web.xml 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/main/webapp/WEB-INF/web.xml 2008-07-07 14:10:21 UTC (rev 793) @@ -38,7 +38,7 @@ </init-param> <init-param> <param-name>remotePort</param-name> - <param-value>8383</param-value> + <param-value>5280</param-value> </init-param> </servlet> <servlet-mapping> Modified: trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-07-06 13:51:18 UTC (rev 792) +++ trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-07-07 14:10:21 UTC (rev 793) @@ -6,39 +6,41 @@ import org.ourproject.kune.platf.client.app.Application; import org.ourproject.kune.platf.client.app.HistoryWrapper; import org.ourproject.kune.workspace.client.sitebar.Site; +import org.ourproject.kune.workspace.client.ui.newtmp.WorkspaceManager; public class StateManagerTest { private StateManager stateManager; private HistoryWrapper history; - @Before - public void init() { - ContentProvider contentProvider = EasyMock.createStrictMock(ContentProvider.class); - Application application = EasyMock.createStrictMock(Application.class); - Session session = EasyMock.createStrictMock(Session.class); - history = EasyMock.createStrictMock(HistoryWrapper.class); - stateManager = new StateManagerDefault(contentProvider, application, session, history); - } - @Test - public void normalStartLoggedUser() { - // When a user enter reload state, also if the application is starting - // (and the user was logged) - EasyMock.expect(history.getToken()).andReturn(""); - EasyMock.replay(history); - stateManager.reload(); - EasyMock.verify(history); + public void fixmeToken() { + stateManager.onHistoryChanged(Site.FIXME_TOKEN); } @Test public void getDefGroup() { - stateManager.onHistoryChanged("site.docs"); + stateManager.onHistoryChanged("site.docs"); } + @Before + public void init() { + final ContentProvider contentProvider = EasyMock.createStrictMock(ContentProvider.class); + final Application application = EasyMock.createStrictMock(Application.class); + final Session session = EasyMock.createStrictMock(Session.class); + history = EasyMock.createStrictMock(HistoryWrapper.class); + final WorkspaceManager ws = EasyMock.createStrictMock(WorkspaceManager.class); + stateManager = new StateManagerDefault(contentProvider, application, session, history, ws); + } + @Test - public void fixmeToken() { - stateManager.onHistoryChanged(Site.FIXME_TOKEN); + public void normalStartLoggedUser() { + // When a user enter reload state, also if the application is starting + // (and the user was logged) + EasyMock.expect(history.getToken()).andReturn(""); + EasyMock.replay(history); + stateManager.reload(); + EasyMock.verify(history); } }
participants (1)
-
vjrj