[kune-commits] 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/java/org/ourproject/kune/workspace/client/ui src/main/java/org/ourproject/kune/workspace/client/ui/newtmp src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/themes src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/title src/main/java/org/ourproject/kune/workspace/client/workspace/ui src/main/webapp/WEB-INF src/test/java/org/ourproject/kune/platf/client/state

vjrj vjrj at ourproject.org
Mon Jul 7 16:10:44 CEST 2008


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/index.html -->

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, hs at bouwkamp.com
+ *
+ * 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>
+ * &lt;div&gt;
+ *   &lt;div style=&quot;margin:0 2px&quot;&gt;&lt;/div&gt;
+ *   &lt;div style=&quot;margin:0 1px&quot;&gt;&lt;/div&gt;
+ *   &lt;div&gt;your widget&lt;/div&gt;
+ *   &lt;div style=&quot;margin:0 1px&quot;&gt;&lt;/div&gt;
+ *   &lt;div style=&quot;margin:0 2px&quot;&gt;&lt;/div&gt;
+ * &lt;/div&gt;
+ * </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(&quot;red&quot;);
+ * </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(&quot;gwt-DialogBox&quot;);
+ * </pre>
+ * 
+ * into:
+ * 
+ * <pre>
+ * panel.setStyleName(&quot;gwt-DialogBox&quot;);
+ * </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() + &quot;px&quot;);
+ * }
+ * </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(hs at bouwkamp.com)
+ * @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, "&nbsp;");
+	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);
     }
 
 }




More information about the kune-commits mailing list