[kune-commits] r904 - in trunk/src/main/java/org/ourproject/kune: app/public/css platf/client/ui/gridmenu workspace/client/skel workspace/client/socialnet workspace/client/tags

vjrj vjrj at ourproject.org
Mon Oct 13 18:43:39 CEST 2008


Author: vjrj
Date: 2008-10-13 18:43:36 +0200 (Mon, 13 Oct 2008)
New Revision: 904

Added:
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
Modified:
   trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
   trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
Log:
Incomplete - task Hosted mode default border layout problems 


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-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css	2008-10-13 16:43:36 UTC (rev 904)
@@ -35,4 +35,4 @@
 }
 */.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;overflow: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;}/* 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;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.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;z-index:4;}.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;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;}.k-entitytextlogo{border:2px solid #F2F2F2;height:60px;margin:0 0 4px -1px;overflow:hidden;width:468px;}.k-entitytextlogo .gwt-Label{font-size:167%;font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-entitytextlogo .gwt-Hyperlink a{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-entity-default .x-layout-split{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:2em;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;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 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.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;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others */.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}
\ No newline at end of file
+  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;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.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;z-index:4;}.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;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-down-width:5px;}.k-entitytextlogo{border:2px solid #F2F2F2;height:60px;margin:0 0 4px -1px;overflow:hidden;width:468px;}.k-entitytextlogo .gwt-Label{font-size:167%;font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-entitytextlogo .gwt-Hyperlink a{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-entity-default .x-layout-split{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:2em;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;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 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.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;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others */.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}
\ No newline at end of file

Modified: 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-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2008-10-13 16:43:36 UTC (rev 904)
@@ -2,6 +2,10 @@
   background: #FFF none repeat scroll 0% 50%;
 }
 
+.k-blank-toolbar {
+  background: #FFF none repeat scroll 0% 50%;
+}
+
 .k-sitebar .kune-IconHyperlink {
   white-space: nowrap;
 }
@@ -61,6 +65,7 @@
 .k-entity-summary {
   border-left-color: #FFF;
   border-left-width: 5px;
+  border-down-width: 5px;
 }
 
 .k-entitytextlogo {
@@ -668,4 +673,8 @@
 .k-textunderline {
   text-decoration: underline;
   color: gray;
-}
\ No newline at end of file
+}
+
+.x-tool-kmenu{background-position:0 -75px;}
+
+.x-tool-kmenu-over{background-position:-15px -75px;}

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -68,399 +68,401 @@
     private final boolean withEndIcon;
 
     public GridMenuPanel(final String emptyText) {
-	this(emptyText, null, null, false, false, false, false, false);
+        this(emptyText, null, null, false, false, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters) {
-	this(emptyText, null, null, grouped, withCounters, false, false, false);
+        this(emptyText, null, null, grouped, withCounters, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters,
-	    final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
-	this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
+            final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+        this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
     }
 
     public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration) {
-	this(emptyText, gridDragConfiguration, null, false, false, false, false, false);
+        this(emptyText, gridDragConfiguration, null, false, false, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final GridDragConfiguration dragConf, final boolean grouped,
-	    final boolean withCounters, final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
-	this(emptyText, dragConf, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
+            final boolean withCounters, final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+        this(emptyText, dragConf, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
     }
 
     public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration,
-	    final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters,
-	    final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
-	this.onClick = new Event<String>("onClick");
-	this.onDoubleClick = new Event<String>("onDoubleClick");
-	this.grouped = grouped;
-	this.withCounters = withCounters;
-	this.withEndIcon = withEndIcon;
-	super.setBorder(false);
-	super.setLayout(new FitLayout());
-	// super.setAutoScroll(true);
-	if (withTopBar) {
-	    topBar = new Toolbar();
-	    super.setTopToolbar(topBar);
-	}
-	if (withBottomBar) {
-	    bottomBar = new Toolbar();
-	    super.setBottomToolbar(bottomBar);
-	}
-	menuMap = new HashMap<String, CustomMenu<T>>();
-	recordMap = new HashMap<T, Record>();
-	super.addListener(new BoxComponentListenerAdapter() {
-	    @Override
-	    public void onRender(final Component component) {
-		// Log.warn("Render grid -------------------");
-	    }
-	});
-	createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
+            final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters,
+            final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+        this.onClick = new Event<String>("onClick");
+        this.onDoubleClick = new Event<String>("onDoubleClick");
+        this.grouped = grouped;
+        this.withCounters = withCounters;
+        this.withEndIcon = withEndIcon;
+        super.setBorder(false);
+        super.setLayout(new FitLayout());
+        // super.setAutoScroll(true);
+        if (withTopBar) {
+            topBar = new Toolbar();
+            super.setTopToolbar(topBar);
+        }
+        if (withBottomBar) {
+            bottomBar = new Toolbar();
+            super.setBottomToolbar(bottomBar);
+        }
+        menuMap = new HashMap<String, CustomMenu<T>>();
+        recordMap = new HashMap<T, Record>();
+        super.addListener(new BoxComponentListenerAdapter() {
+            @Override
+            public void onRender(final Component component) {
+                // Log.warn("Render grid -------------------");
+            }
+        });
+        createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
     }
 
     public GridMenuPanel(final String emptyText, final GridDropConfiguration gridDropConfiguration) {
-	this(emptyText, null, gridDropConfiguration, false, false, false, false, false);
+        this(emptyText, null, gridDropConfiguration, false, false, false, false, false);
     }
 
     public GridMenuPanel(final String emptyText, final GridDropConfiguration dropConf, final boolean grouped,
-	    final boolean withCounters, final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
-	this(emptyText, null, dropConf, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
+            final boolean withCounters, final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+        this(emptyText, null, dropConf, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
     }
 
     public void addItem(final GridItem<T> gridItem) {
-	final String id = gridItem.getId();
-	final Record newRecord = recordDef
-		.createRecord(id, new Object[] { gridItem.getGroup().getName(), gridItem.getGroup().getTooltipTitle(),
-			gridItem.getGroup().getTooltip(), gridItem.getGroup().getEndIconHtml(), id,
-			gridItem.getIconHtml(), gridItem.getTitle(), gridItem.getTitleHtml(),
-			gridItem.getEndIconHtml(), gridItem.getTooltipTitle(), gridItem.getTooltip() });
-	recordMap.put(gridItem.getItem(), newRecord);
-	store.addSorted(newRecord);
-	menuMap.put(id, gridItem.getMenu());
-	sort();
-	doLayoutIfNeeded();
+        final String id = gridItem.getId();
+        final Record newRecord = recordDef
+                .createRecord(id, new Object[] { gridItem.getGroup().getName(), gridItem.getGroup().getTooltipTitle(),
+                        gridItem.getGroup().getTooltip(), gridItem.getGroup().getEndIconHtml(), id,
+                        gridItem.getIconHtml(), gridItem.getTitle(), gridItem.getTitleHtml(),
+                        gridItem.getEndIconHtml(), gridItem.getTooltipTitle(), gridItem.getTooltip() });
+        recordMap.put(gridItem.getItem(), newRecord);
+        store.addSorted(newRecord);
+        menuMap.put(id, gridItem.getMenu());
+        sort();
+        doLayoutIfNeeded();
     }
 
     public void confDropInPanel(final Panel panel, final GridDropConfiguration gridDropConfiguration) {
-	// FIXME: This doesn't works :-/
-	// http://extjs.com/forum/showthread.php?t=18105
-	final DropTargetConfig dCfg = new DropTargetConfig();
-	dCfg.setTarget(true);
-	dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
-	new DropTarget(panel, dCfg) {
-	    @Override
-	    public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
-		if (dragData instanceof GridDragData) {
-		    final GridDragData gridDragData = (GridDragData) dragData;
-		    final Record[] records = gridDragData.getSelections();
-		    for (int i = 0; i < records.length; i++) {
-			gridDropConfiguration.fire(records[i].getAsString(ID));
-		    }
-		}
-		return true;
-	    }
+        // FIXME: This doesn't works :-/
+        // http://extjs.com/forum/showthread.php?t=18105
+        final DropTargetConfig dCfg = new DropTargetConfig();
+        dCfg.setTarget(true);
+        dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+        new DropTarget(panel, dCfg) {
+            @Override
+            public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+                if (dragData instanceof GridDragData) {
+                    final GridDragData gridDragData = (GridDragData) dragData;
+                    final Record[] records = gridDragData.getSelections();
+                    for (Record record : records) {
+                        gridDropConfiguration.fire(record.getAsString(ID));
+                    }
+                }
+                return true;
+            }
 
-	    @Override
-	    public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
-		return "x-tree-drop-ok-append";
-	    }
+            @Override
+            public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+                return "x-tree-drop-ok-append";
+            }
 
-	    @Override
-	    public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
-		return "x-tree-drop-ok-append";
-	    }
-	};
+            @Override
+            public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+                return "x-tree-drop-ok-append";
+            }
+        };
     }
 
     @Override
     public void doLayout(final boolean shallow) {
-	// Grid rendered problems with shallow false
-	super.doLayout();
-	grid.doLayout();
+        // Grid rendered problems with shallow false
+        grid.doLayout(false);
+        super.doLayout(false);
     }
 
     public void doLayoutIfNeeded() {
-	if (super.isRendered()) {
-	    super.doLayout();
-	}
+        if (super.isRendered()) {
+            grid.doLayout(false);
+            super.doLayout(false);
+        }
     }
 
     public Toolbar getBottomBar() {
-	assert bottomBar != null;
-	return bottomBar;
+        assert bottomBar != null;
+        return bottomBar;
     }
 
     public Toolbar getTopBar() {
-	assert topBar != null;
-	return topBar;
+        assert topBar != null;
+        return topBar;
     }
 
     public void onClick(final Listener<String> listener) {
-	onClick.add(listener);
+        onClick.add(listener);
     }
 
     public void onDoubleClick(final Listener<String> listener) {
-	onDoubleClick.add(listener);
+        onDoubleClick.add(listener);
     }
 
+    @Override
     public void removeAll() {
-	store.removeAll();
-	recordMap.clear();
-	menuMap.clear();
+        store.removeAll();
+        recordMap.clear();
+        menuMap.clear();
     }
 
     public void removeItem(final GridItem<T> gridItem) {
-	final Record record = recordMap.get(gridItem.getItem());
-	if (record != null) {
-	    menuMap.remove(record);
-	    store.remove(record);
-	    recordMap.remove(gridItem.getItem());
-	    doLayoutIfNeeded();
-	} else {
-	    Log.error("Trying to remove a non existing item: " + gridItem.getId());
-	}
+        final Record record = recordMap.get(gridItem.getItem());
+        if (record != null) {
+            menuMap.remove(record);
+            store.remove(record);
+            recordMap.remove(gridItem.getItem());
+            doLayoutIfNeeded();
+        } else {
+            Log.error("Trying to remove a non existing item: " + gridItem.getId());
+        }
     }
 
     @Override
     public void setHeight(final int height) {
-	super.setHeight(height);
-	// grid.setHeight(height);
-	doLayoutIfNeeded();
+        super.setHeight(height);
+        // grid.setHeight(height);
+        doLayoutIfNeeded();
     }
 
     @Override
     public void setWidth(final int width) {
-	// grid.setWidth(width - 27);
-	grid.setWidth(width - 27);
-	// super.setWidth(width - 11);
-	doLayoutIfNeeded();
+        // grid.setWidth(width - 27);
+        grid.setWidth(width - 27);
+        // super.setWidth(width - 11);
+        doLayoutIfNeeded();
     }
 
     public void sort() {
-	store.sort(GROUP, SortDir.ASC);
+        store.sort(GROUP, SortDir.ASC);
     }
 
     public void updateItem(final GridItem<T> gridItem) {
-	final String id = gridItem.getId();
-	final Record record = recordMap.get(gridItem.getItem());
-	if (record != null) {
-	    record.set(GROUP, gridItem.getGroup().getName());
-	    record.set(GROUP_TOOLTIP_TITLE, gridItem.getGroup().getTooltipTitle());
-	    record.set(GROUP_TOOLTIP, gridItem.getGroup().getTooltip());
-	    record.set(GROUP_ENDICON_HTML, gridItem.getGroup().getEndIconHtml());
-	    record.set(ICON_HTML, gridItem.getIconHtml());
-	    record.set(TITLE, gridItem.getTitle());
-	    record.set(TITLE_HTML, gridItem.getTitleHtml());
-	    record.set(END_ICON_HTML, gridItem.getEndIconHtml());
-	    record.set(TOOLTIPTITLE, gridItem.getTooltipTitle());
-	    record.set(TOOLTIP, gridItem.getTooltip());
-	    store.commitChanges();
-	    menuMap.put(id, gridItem.getMenu());
-	    sort();
-	    doLayoutIfNeeded();
-	} else {
-	    Log.error("Trying to update a non existing item: " + id);
-	}
+        final String id = gridItem.getId();
+        final Record record = recordMap.get(gridItem.getItem());
+        if (record != null) {
+            record.set(GROUP, gridItem.getGroup().getName());
+            record.set(GROUP_TOOLTIP_TITLE, gridItem.getGroup().getTooltipTitle());
+            record.set(GROUP_TOOLTIP, gridItem.getGroup().getTooltip());
+            record.set(GROUP_ENDICON_HTML, gridItem.getGroup().getEndIconHtml());
+            record.set(ICON_HTML, gridItem.getIconHtml());
+            record.set(TITLE, gridItem.getTitle());
+            record.set(TITLE_HTML, gridItem.getTitleHtml());
+            record.set(END_ICON_HTML, gridItem.getEndIconHtml());
+            record.set(TOOLTIPTITLE, gridItem.getTooltipTitle());
+            record.set(TOOLTIP, gridItem.getTooltip());
+            store.commitChanges();
+            menuMap.put(id, gridItem.getMenu());
+            sort();
+            doLayoutIfNeeded();
+        } else {
+            Log.error("Trying to update a non existing item: " + id);
+        }
     }
 
     private void configureDrag(final GridDragConfiguration gridDragConfiguration) {
-	// TODO: put this in GDConf
-	grid.setEnableDragDrop(true);
-	grid.setDdGroup(gridDragConfiguration.getDdGroupId());
-	grid.setDragDropText(gridDragConfiguration.getDragMessage());
+        // TODO: put this in GDConf
+        grid.setEnableDragDrop(true);
+        grid.setDdGroup(gridDragConfiguration.getDdGroupId());
+        grid.setDragDropText(gridDragConfiguration.getDragMessage());
     }
 
     private void configureDrop(final GridDropConfiguration gridDropConfiguration) {
-	// TODO: put this in GDConf
-	grid.setEnableDragDrop(true);
-	grid.setDdGroup(gridDropConfiguration.getDdGroupId());
-	final DropTargetConfig dCfg = new DropTargetConfig();
-	dCfg.setTarget(true);
-	dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
-	new DropTarget(grid, dCfg) {
-	    @Override
-	    public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
-		if (dragData instanceof GridDragData) {
-		    final GridDragData gridDragData = (GridDragData) dragData;
-		    final Record[] records = gridDragData.getSelections();
-		    for (int i = 0; i < records.length; i++) {
-			gridDropConfiguration.fire(records[i].getAsString(ID));
-		    }
-		}
-		return true;
-	    }
+        // TODO: put this in GDConf
+        grid.setEnableDragDrop(true);
+        grid.setDdGroup(gridDropConfiguration.getDdGroupId());
+        final DropTargetConfig dCfg = new DropTargetConfig();
+        dCfg.setTarget(true);
+        dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+        new DropTarget(grid, dCfg) {
+            @Override
+            public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+                if (dragData instanceof GridDragData) {
+                    final GridDragData gridDragData = (GridDragData) dragData;
+                    final Record[] records = gridDragData.getSelections();
+                    for (Record record : records) {
+                        gridDropConfiguration.fire(record.getAsString(ID));
+                    }
+                }
+                return true;
+            }
 
-	    @Override
-	    public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
-		return "x-tree-drop-ok-append";
-	    }
+            @Override
+            public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+                return "x-tree-drop-ok-append";
+            }
 
-	    @Override
-	    public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
-		return "x-tree-drop-ok-append";
-	    }
-	};
+            @Override
+            public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+                return "x-tree-drop-ok-append";
+            }
+        };
     }
 
     private void createGrid(final String emptyText, final GridDragConfiguration gridDragConfiguration,
-	    final GridDropConfiguration gridDropConfiguration) {
-	grid = new GridPanel();
-	grid.setId(Ext.generateId());
-	final FieldDef[] fieldDefs = new FieldDef[] { new StringFieldDef(GROUP),
-		new StringFieldDef(GROUP_TOOLTIP_TITLE), new StringFieldDef(GROUP_TOOLTIP),
-		new StringFieldDef(GROUP_ENDICON_HTML), new StringFieldDef(ID), new StringFieldDef(ICON_HTML),
-		new StringFieldDef(TITLE), new StringFieldDef(TITLE_HTML), new StringFieldDef(END_ICON_HTML),
-		new StringFieldDef(TOOLTIPTITLE), new StringFieldDef(TOOLTIP) };
-	recordDef = new RecordDef(fieldDefs);
+            final GridDropConfiguration gridDropConfiguration) {
+        grid = new GridPanel();
+        grid.setId(Ext.generateId());
+        final FieldDef[] fieldDefs = new FieldDef[] { new StringFieldDef(GROUP),
+                new StringFieldDef(GROUP_TOOLTIP_TITLE), new StringFieldDef(GROUP_TOOLTIP),
+                new StringFieldDef(GROUP_ENDICON_HTML), new StringFieldDef(ID), new StringFieldDef(ICON_HTML),
+                new StringFieldDef(TITLE), new StringFieldDef(TITLE_HTML), new StringFieldDef(END_ICON_HTML),
+                new StringFieldDef(TOOLTIPTITLE), new StringFieldDef(TOOLTIP) };
+        recordDef = new RecordDef(fieldDefs);
 
-	final MemoryProxy proxy = new MemoryProxy(new Object[][] {});
+        final MemoryProxy proxy = new MemoryProxy(new Object[][] {});
 
-	final ArrayReader reader = new ArrayReader(1, recordDef);
-	store = new GroupingStore(proxy, reader);
-	store.setSortInfo(new SortState(GROUP, SortDir.ASC));
-	store.setGroupField(GROUP);
-	store.setGroupOnSort(true);
-	store.load();
-	grid.setStore(store);
+        final ArrayReader reader = new ArrayReader(1, recordDef);
+        store = new GroupingStore(proxy, reader);
+        store.setSortInfo(new SortState(GROUP, SortDir.ASC));
+        store.setGroupField(GROUP);
+        store.setGroupOnSort(true);
+        store.load();
+        grid.setStore(store);
 
-	// TODO: Change this with a method that modify the html
-	final String commonTootipHtmlRender = "<span ext:qtitle=\"{1}\" ext:qtip=\"{2}\">{0}</span>";
+        // TODO: Change this with a method that modify the html
+        final String commonTootipHtmlRender = "<span ext:qtitle=\"{1}\" ext:qtip=\"{2}\">{0}</span>";
 
-	final Renderer iconHtmlRenderer = new Renderer() {
-	    public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
-		    Store store) {
-		return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(ICON_HTML),
-			record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
-	    }
-	};
+        final Renderer iconHtmlRenderer = new Renderer() {
+            public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+                    Store store) {
+                return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(ICON_HTML),
+                        record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+            }
+        };
 
-	final Renderer titleHtmlRenderer = new Renderer() {
-	    public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
-		    Store store) {
-		return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(TITLE_HTML),
-			record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
-	    }
-	};
+        final Renderer titleHtmlRenderer = new Renderer() {
+            public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+                    Store store) {
+                return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(TITLE_HTML),
+                        record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+            }
+        };
 
-	final Renderer endIconHtmlRenderer = new Renderer() {
-	    public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
-		    Store store) {
-		return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(END_ICON_HTML),
-			record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
-	    }
-	};
+        final Renderer endIconHtmlRenderer = new Renderer() {
+            public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+                    Store store) {
+                return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(END_ICON_HTML),
+                        record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+            }
+        };
 
-	final ColumnConfig iconColumn = new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML);
-	final ColumnConfig titleColumn = new ColumnConfig("Title", TITLE_HTML, 100, true, titleHtmlRenderer, TITLE_HTML);
-	final ColumnConfig endIconColumn = new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer,
-		END_ICON_HTML);
-	final ColumnConfig groupColumn = new ColumnConfig(GROUP, GROUP, 0);
-	// Fixed widths?
-	iconColumn.setFixed(true);
-	titleColumn.setFixed(false);
-	endIconColumn.setFixed(true);
-	final ArrayList<ColumnConfig> columnList = new ArrayList<ColumnConfig>();
-	columnList.add(iconColumn);
-	columnList.add(titleColumn);
-	if (grouped) {
-	    columnList.add(groupColumn);
-	}
-	if (withEndIcon) {
-	    columnList.add(endIconColumn);
-	}
-	ColumnConfig[] columnsConfigs = {};
-	columnsConfigs = columnList.toArray(columnsConfigs);
-	columnModel = new ColumnModel(columnsConfigs);
-	grid.setColumnModel(columnModel);
+        final ColumnConfig iconColumn = new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML);
+        final ColumnConfig titleColumn = new ColumnConfig("Title", TITLE_HTML, 100, true, titleHtmlRenderer, TITLE_HTML);
+        final ColumnConfig endIconColumn = new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer,
+                END_ICON_HTML);
+        final ColumnConfig groupColumn = new ColumnConfig(GROUP, GROUP, 0);
+        // Fixed widths?
+        iconColumn.setFixed(true);
+        titleColumn.setFixed(false);
+        endIconColumn.setFixed(true);
+        final ArrayList<ColumnConfig> columnList = new ArrayList<ColumnConfig>();
+        columnList.add(iconColumn);
+        columnList.add(titleColumn);
+        if (grouped) {
+            columnList.add(groupColumn);
+        }
+        if (withEndIcon) {
+            columnList.add(endIconColumn);
+        }
+        ColumnConfig[] columnsConfigs = {};
+        columnsConfigs = columnList.toArray(columnsConfigs);
+        columnModel = new ColumnModel(columnsConfigs);
+        grid.setColumnModel(columnModel);
 
-	grid.setAutoExpandColumn(TITLE_HTML);
-	grid.setSelectionModel(new RowSelectionModel());
+        grid.setAutoExpandColumn(TITLE_HTML);
+        grid.setSelectionModel(new RowSelectionModel());
 
-	grid.addGridRowListener(new GridRowListener() {
-	    public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
-		showMenu(rowIndex, e);
-		onClick(rowIndex);
-	    }
+        grid.addGridRowListener(new GridRowListener() {
+            public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+                // showMenu(rowIndex, e);
+                onClick(rowIndex);
+            }
 
-	    public void onRowContextMenu(final GridPanel grid, final int rowIndex, final EventObject e) {
-		showMenu(rowIndex, e);
-	    }
+            public void onRowContextMenu(final GridPanel grid, final int rowIndex, final EventObject e) {
+                showMenu(rowIndex, e);
+            }
 
-	    public void onRowDblClick(final GridPanel grid, final int rowIndex, final EventObject e) {
-		onDoubleClick(rowIndex);
-	    }
+            public void onRowDblClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+                onDoubleClick(rowIndex);
+            }
 
-	    private void showMenu(final int rowIndex, final EventObject e) {
-		final Record record = store.getRecordAt(rowIndex);
-		final CustomMenu<T> menu = menuMap.get(record.getAsString(ID));
-		if (menu != null) {
-		    menu.showMenu(e);
-		}
-	    }
-	});
-	grid.stripeRows(true);
-	grid.setHideColumnHeader(true);
-	// Not sure if when doLayoutIfNeeded there are problems with size and
-	// column header
-	grid.setBorder(false);
-	grid.setAutoScroll(true);
+            private void showMenu(final int rowIndex, final EventObject e) {
+                final Record record = store.getRecordAt(rowIndex);
+                final CustomMenu<T> menu = menuMap.get(record.getAsString(ID));
+                if (menu != null) {
+                    menu.showMenu(e);
+                }
+            }
+        });
+        grid.stripeRows(true);
+        grid.setHideColumnHeader(true);
+        // Not sure if when doLayoutIfNeeded there are problems with size and
+        // column header
+        grid.setBorder(false);
+        grid.setAutoScroll(true);
 
-	if (grouped) {
-	    final GroupingView groupView = new GroupingView();
-	    groupView.setForceFit(true);
-	    final String groupEndIconHtmlTpl = "{[values.rs[0].data[\"" + GROUP_ENDICON_HTML + "\"]]}";
-	    // http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1388&p=6789&hilit=setGroupTextTpl#p6789
-	    if (withCounters) {
-		groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
-			+ GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP
-			+ "\"]]} ({[values.rs.length]})</span>" + groupEndIconHtmlTpl);
-	    } else {
-		groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
-			+ GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>"
-			+ groupEndIconHtmlTpl);
-	    }
-	    // Other sample with condition:
-	    // view.setGroupTextTpl("{text} ({[values.rs.length]}
-	    // {[values.rs.length
-	    // > 1 ? \"Items\" : \"Item\"]})");
-	    groupView.setHideGroupedColumn(true);
-	    groupView.setEmptyGroupText(emptyText);
-	    groupView.setShowGroupsText(true);
-	    groupView.setEnableNoGroups(true);
-	    groupView.setEmptyText(emptyText);
-	    groupView.setGroupByText(GROUP);
-	    groupView.setIgnoreAdd(true);
-	    groupView.setEnableGrouping(true);
-	    grid.setView(groupView);
-	} else {
-	    final GridView view = new GridView();
-	    view.setForceFit(true);
-	    grid.setView(view);
-	}
+        if (grouped) {
+            final GroupingView groupView = new GroupingView();
+            groupView.setForceFit(true);
+            final String groupEndIconHtmlTpl = "{[values.rs[0].data[\"" + GROUP_ENDICON_HTML + "\"]]}";
+            // http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1388&p=6789&hilit=setGroupTextTpl#p6789
+            if (withCounters) {
+                groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
+                        + GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP
+                        + "\"]]} ({[values.rs.length]})</span>" + groupEndIconHtmlTpl);
+            } else {
+                groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
+                        + GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>"
+                        + groupEndIconHtmlTpl);
+            }
+            // Other sample with condition:
+            // view.setGroupTextTpl("{text} ({[values.rs.length]}
+            // {[values.rs.length
+            // > 1 ? \"Items\" : \"Item\"]})");
+            groupView.setHideGroupedColumn(true);
+            groupView.setEmptyGroupText(emptyText);
+            groupView.setShowGroupsText(true);
+            groupView.setEnableNoGroups(true);
+            groupView.setEmptyText(emptyText);
+            groupView.setGroupByText(GROUP);
+            groupView.setIgnoreAdd(true);
+            groupView.setEnableGrouping(true);
+            grid.setView(groupView);
+        } else {
+            final GridView view = new GridView();
+            view.setForceFit(true);
+            grid.setView(view);
+        }
 
-	grid.setAutoWidth(true);
-	grid.setAutoHeight(true);
+        grid.setAutoWidth(true);
+        grid.setAutoHeight(true);
 
-	if (gridDropConfiguration != null) {
-	    configureDrop(gridDropConfiguration);
-	}
-	if (gridDragConfiguration != null) {
-	    configureDrag(gridDragConfiguration);
-	} else {
-	    grid.setDraggable(false);
-	}
-	super.add(grid);
+        if (gridDropConfiguration != null) {
+            configureDrop(gridDropConfiguration);
+        }
+        if (gridDragConfiguration != null) {
+            configureDrag(gridDragConfiguration);
+        } else {
+            grid.setDraggable(false);
+        }
+        super.add(grid);
     }
 
     private void onClick(final int rowIndex) {
-	final Record record = store.getRecordAt(rowIndex);
-	onClick.fire(record.getAsString(ID));
+        final Record record = store.getRecordAt(rowIndex);
+        onClick.fire(record.getAsString(ID));
     }
 
     private void onDoubleClick(final int rowIndex) {
-	final Record record = store.getRecordAt(rowIndex);
-	onDoubleClick.fire(record.getAsString(ID));
+        final Record record = store.getRecordAt(rowIndex);
+        onDoubleClick.fire(record.getAsString(ID));
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/Entity.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -54,9 +54,8 @@
         entityFitPanel.add(entityAnchorLayout);
     }
 
-    public void addInSummary(Widget widget) {
-        entitySummary.addInSummary(widget);
-        doLayoutIfNeeded();
+    public void addInSummary(Panel panel) {
+        entitySummary.addInSummary(panel);
     }
 
     public void addInTools(final Widget widget) {
@@ -71,6 +70,9 @@
     public void addToEntityMainHeader(final Widget widget) {
         entityMainHeader.clear();
         entityMainHeader.add(widget);
+        if (entityMainHeader.isRendered()) {
+            entityMainHeader.doLayout(false);
+        }
         doLayoutIfNeeded();
     }
 
@@ -86,6 +88,10 @@
         return entitySummary.getSiteTraybar();
     }
 
+    public void refreshSummary() {
+        entitySummary.doLayoutIfNeeded();
+    }
+
     public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
         if (oldTheme != null) {
             entityFitPanel.removeClass("k-entity-" + oldTheme);
@@ -96,7 +102,8 @@
 
     private void doLayoutIfNeeded() {
         if (entityFitPanel.isRendered()) {
-            entityFitPanel.doLayout();
+            entityFitPanel.doLayout(false);
         }
     }
+
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -1,9 +1,14 @@
 package org.ourproject.kune.workspace.client.skel;
 
+import org.ourproject.kune.workspace.client.site.Site;
+
+import com.allen_sauer.gwt.log.client.Log;
 import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.widgets.Component;
 import com.gwtext.client.widgets.Panel;
 import com.gwtext.client.widgets.Toolbar;
 import com.gwtext.client.widgets.event.ContainerListener;
+import com.gwtext.client.widgets.event.ContainerListenerAdapter;
 import com.gwtext.client.widgets.layout.AccordionLayout;
 import com.gwtext.client.widgets.layout.AnchorLayout;
 import com.gwtext.client.widgets.layout.AnchorLayoutData;
@@ -17,9 +22,10 @@
     private final Panel entitySummary;
     private final Toolbar trayBar;
     private final Panel mainFitPanel;
+    private final AccordionLayout accordionLayout;
 
     public EntitySummary() {
-        mainFitPanel = new Panel("");
+        mainFitPanel = new Panel();
         mainFitPanel.setLayout(new FitLayout());
         mainFitPanel.setBorder(false);
         mainFitPanel.setWidth(150);
@@ -27,16 +33,23 @@
         Panel anchorLayoutPanel = new Panel();
         anchorLayoutPanel.setLayout(new AnchorLayout());
         anchorLayoutPanel.setBorder(false);
-        anchorLayoutPanel.setWidth(150);
+
         entityTools = new Panel();
         entityTools.setLayout(new AnchorLayout());
+        entityTools.setBorder(false);
+        entityTools.setAutoScroll(false);
         entityTools.setId(ENTITY_TOOLS);
-        entityTools.setAutoHeight(true);
+
         entitySummary = new Panel();
-        entityTools.setBorder(false);
         entitySummary.setBorder(false);
-        entityTools.setAutoScroll(false);
-        entitySummary.setAutoScroll(true);
+        accordionLayout = new AccordionLayout(true);
+        accordionLayout.setTitleCollapse(true);
+        // accordionLayout.setHideCollapseTool(true);
+        // accordionLayout.setAnimate(true);
+        // accordionLayout.setActiveOnTop(false);
+        accordionLayout.setFill(true);
+        // entitySummary.setAutoScroll(true);
+        entitySummary.setLayout(accordionLayout);
         entitySummary.setCls(ENTITY_SUMMARY);
         entitySummary.setId(ENTITY_SUMMARY);
 
@@ -45,19 +58,47 @@
         trayBar.setId(SITE_TRAYBAR);
         trayBar.setCls(SITE_TRAYBAR);
         trayBar.addFill();
-        entitySummary.setBottomToolbar(trayBar);
+        mainFitPanel.setBottomToolbar(trayBar);
+
         anchorLayoutPanel.add(entityTools, new AnchorLayoutData("100%"));
         anchorLayoutPanel.add(entitySummary, new AnchorLayoutData("100% -50"));
         mainFitPanel.add(anchorLayoutPanel);
     }
 
-    public void addInSummary(final Widget widget) {
-        entitySummary.add(widget);
+    public void addInSummary(final Panel panel) {
+        // panel.addTool(new Tool(new Tool.ToolType("kmenu"), new Function() {
+        // public void execute() {
+        // Site.info("lalalal");
+        // }
+        // }, "Bla, bla, bla"));
+        entitySummary.add(panel);
+        if (entitySummary.isRendered()) {
+            panel.doLayout(false);
+            entitySummary.doLayout(false);
+        }
+        panel.addListener(new ContainerListenerAdapter() {
+            @Override
+            public void onHide(Component component) {
+                super.onHide(component);
+                Site.info("Hide summary component");
+                if (accordionLayout.getActiveItem() != null && accordionLayout.getActiveItem().isHidden()) {
+                    Log.info("No active component");
+                    Component firstComponent = entitySummary.getComponent(0);
+                    if (firstComponent != null) {
+                        ((Panel) firstComponent).expand(true);
+                    }
+                }
+
+            }
+        });
         doLayoutIfNeeded();
     }
 
     public void addInTools(final Widget widget) {
         entityTools.add(widget);
+        if (entityTools.isRendered()) {
+            entityTools.doLayout(false);
+        }
         doLayoutIfNeeded();
     }
 
@@ -65,6 +106,13 @@
         entitySummary.addListener(listener);
     }
 
+    public void doLayoutIfNeeded() {
+        if (mainFitPanel.isRendered()) {
+            mainFitPanel.doLayout(false);
+            entitySummary.doLayout(false);
+        }
+    }
+
     public Panel getPanel() {
         return mainFitPanel;
     }
@@ -73,32 +121,4 @@
         return trayBar;
     }
 
-    private Panel createAccordionPanel() {
-        Panel accordionPanel = new Panel();
-        accordionPanel.setBorder(false);
-        accordionPanel.setLayout(new AccordionLayout(true));
-
-        Panel panelOne = new Panel("Panel 1", "<p>Panel1 content!</p>");
-        panelOne.setIconCls("settings-icon");
-        accordionPanel.add(panelOne);
-
-        Panel panelTwo = new Panel("Panel 2", "<p>Panel2 content!</p>");
-        panelTwo.setIconCls("folder-icon");
-        accordionPanel.add(panelTwo);
-
-        Panel panelThree = new Panel("Panel 3", "<p>Panel3 content!</p>");
-        panelThree.setIconCls("user-add-icon");
-        accordionPanel.add(panelThree);
-
-        // accordionPanel.setCls(ENTITY_SUMMARY);
-
-        return accordionPanel;
-    }
-
-    private void doLayoutIfNeeded() {
-        if (mainFitPanel.isRendered()) {
-            mainFitPanel.doLayout();
-        }
-    }
-
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -3,7 +3,6 @@
 import org.ourproject.kune.platf.client.ui.RoundedPanel;
 import org.ourproject.kune.workspace.client.themes.WsTheme;
 
-import com.allen_sauer.gwt.log.client.Log;
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.RegionPosition;
 import com.gwtext.client.widgets.Panel;
@@ -71,11 +70,13 @@
         titles.add(roundedTitle, new AnchorLayoutData("100% -" + WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT));
         titles.add(subTitle, new AnchorLayoutData("100% -" + WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT));
         bottomPanel.add(roundedBottom, new AnchorLayoutData("100% -" + WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT));
+        titles.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT * 2);
+        bottomPanel.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT + 2);
 
         final Panel contentWrap = new Panel();
         final Panel contextWrap = new Panel();
-        contentWrap.setLayout(new AnchorLayout());
-        contextWrap.setLayout(new AnchorLayout());
+        contentWrap.setLayout(new BorderLayout());
+        contextWrap.setLayout(new BorderLayout());
         contentWrap.setBorder(true);
         contextWrap.setBorder(true);
         content = new Panel();
@@ -86,9 +87,7 @@
         content.setBorder(false);
         context.setBorder(false);
         context.setCollapsible(true);
-        // content.setPaddings(7);
         content.setAutoScroll(true);
-        // context.setAutoScroll(true);
 
         contentTopBar = new Toolbar();
         contentBottomBar = new Toolbar();
@@ -102,15 +101,14 @@
         contentBottomBar.addStyleName("k-toolbar-top-line");
         contextTopBar.addStyleName("k-toolbar-bottom-line");
         contextBottomBar.addStyleName("k-toolbar-top-line");
-        contentWrap.add(contentTopBar.getPanel());
-        contextWrap.add(contextTopBar.getPanel());
-        contentWrap.add(content, new AnchorLayoutData("100% -" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT * 2)));
-        contextWrap.add(context, new AnchorLayoutData("100% -" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT * 2)));
-        contentWrap.add(contentBottomBar.getPanel());
-        contextWrap.add(contextBottomBar.getPanel());
-        titles.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT * 2);
-        bottomPanel.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT + 2);
 
+        contentWrap.add(contentTopBar.getPanel(), new BorderLayoutData(RegionPosition.NORTH));
+        contextWrap.add(contextTopBar.getPanel(), new BorderLayoutData(RegionPosition.NORTH));
+        contentWrap.add(content, new BorderLayoutData(RegionPosition.CENTER));
+        contextWrap.add(context, new BorderLayoutData(RegionPosition.CENTER));
+        contentWrap.add(contentBottomBar.getPanel(), new BorderLayoutData(RegionPosition.SOUTH));
+        contextWrap.add(contextBottomBar.getPanel(), new BorderLayoutData(RegionPosition.SOUTH));
+
         BorderLayoutData eastData = new BorderLayoutData(RegionPosition.EAST);
         contextWrap.setWidth(175);
         eastData.setUseSplitTips(true);
@@ -192,16 +190,11 @@
         context.addStyleName("k-entity-context-" + newTheme);
     }
 
-    private void doLayoutIfNeeded() {
-        Log.debug("Doing EW layout");
-        if (mainFitPanel.isRendered()) {
-            mainFitPanel.doLayout();
-        }
-    }
-
     private void setPanel(Panel panel, Widget widget) {
         panel.clear();
         panel.add(widget);
-        doLayoutIfNeeded();
+        if (panel.isRendered()) {
+            panel.doLayout(false);
+        }
     }
 }

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.skel;
+
+import com.gwtext.client.widgets.Panel;
+
+public class SummaryPanel extends Panel {
+
+    private final WorkspaceSkeleton ws;
+
+    public SummaryPanel(String title, String titleTooltip, WorkspaceSkeleton ws) {
+        this.ws = ws;
+        super.setBorder(false);
+        super.setTitle("<span ext:qtip=\"" + titleTooltip + "\">" + title + "</span>");
+        super.setAutoScroll(true);
+    }
+
+    public void doLayoutIfNeeded() {
+        if (super.isRendered()) {
+            super.doLayout(false);
+        }
+    }
+
+    @Override
+    public void setVisible(final boolean visible) {
+        super.setVisible(visible);
+        doLayoutIfNeeded();
+        ws.refreshSummary();
+    }
+}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -49,8 +49,8 @@
         new Viewport(container);
     }
 
-    public void addInSummary(Widget widget) {
-        entity.addInSummary(widget);
+    public void addInSummary(Panel panel) {
+        entity.addInSummary(panel);
     }
 
     public void addInTools(final Widget widget) {
@@ -111,6 +111,10 @@
         });
     }
 
+    public void refreshSummary() {
+        entity.refreshSummary();
+    }
+
     public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
         entity.setTheme(oldTheme, newTheme);
     }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -3,12 +3,12 @@
 import java.util.HashMap;
 
 import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.ui.DropDownPanel;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridDragConfiguration;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.skel.SummaryPanel;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 import org.ourproject.kune.workspace.client.themes.WsTheme;
 
@@ -24,7 +24,7 @@
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.event.ContainerListenerAdapter;
 
-public class GroupMembersSummaryPanel extends DropDownPanel implements GroupMembersSummaryView {
+public class GroupMembersSummaryPanel extends SummaryPanel implements GroupMembersSummaryView {
     // private static final int MAX_HEIGHT = 110;
     private final GridMenuPanel<GroupDTO> gridMenuPanel;
     private final I18nUITranslationService i18n;
@@ -33,25 +33,23 @@
 
     public GroupMembersSummaryPanel(final GroupMembersSummaryPresenter presenter, final I18nUITranslationService i18n,
             final WorkspaceSkeleton ws) {
-        super(true);
+        super(i18n.t("Group members"), i18n.t("People and groups collaborating in this group"), ws);
         this.presenter = presenter;
         this.i18n = i18n;
-        super.setHeaderText(i18n.t("Group members"));
-        super.setHeaderTitle(i18n.t("People and groups collaborating in this group"));
-        super.setBorderStylePrimaryName("k-dropdownouter-members");
-        super.addStyleName("kune-Margin-Medium-t");
 
         final GridDragConfiguration dragConf = new GridDragConfiguration(UserGridPanel.USER_GROUP_DD, i18n
                 .t("Drop in the chat area to start a chat.")
                 + "<br/>" + i18n.t("Drop into a room to invite the user to join the chat room"));
         gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
                 + "please request to join to work on it"), dragConf, true, true, false, true, false);
+        gridMenuPanel.setBorder(true);
         gridMenuPanel.onDoubleClick(new Listener<String>() {
             public void onEvent(final String groupShortName) {
                 presenter.onDoubleClick(groupShortName);
             }
         });
-        this.setContent(gridMenuPanel);
+        gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
+        super.add(gridMenuPanel);
         ws.addInSummary(this);
         ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
             @Override
@@ -89,12 +87,14 @@
 
     public void addItem(final GridItem<GroupDTO> gridItem) {
         gridMenuPanel.addItem(gridItem);
+        doLayoutIfNeeded();
     }
 
     public void addToolbarFill() {
         gridMenuPanel.getBottomBar().addFill();
     }
 
+    @Override
     public void clear() {
         gridMenuPanel.removeAll();
         for (final ToolbarButton button : buttonsCache.values()) {
@@ -103,6 +103,8 @@
             button.setVisible(false);
             button.removeFromParent();
         }
+        buttonsCache.clear();
+        doLayoutIfNeeded();
     }
 
     public void confirmAddCollab(final String groupShortName, final String groupLongName) {
@@ -121,28 +123,12 @@
                 });
     }
 
-    public void setDefaultHeigth() {
-        // super.setContentHeight("");
-        // gridMenuPanel.setHeight("auto");
-        // gridMenuPanel.doLayoutIfNeeded();
-    }
-
+    @Override
     public void setDraggable(final boolean draggable) {
         // gridMenuPanel.setDraggable(draggable);
     }
 
-    public void setMaxHeigth() {
-        // super.setContentHeight("" + MAX_HEIGHT);
-        // gridMenuPanel.setHeight(MAX_HEIGHT - 26);
-    }
-
-    @Override
     public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
-        super.setTheme(oldTheme, newTheme);
+        // super.setTheme(oldTheme, newTheme);
     }
-
-    @Override
-    public void setVisible(final boolean visible) {
-        super.setVisible(visible);
-    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -41,143 +41,133 @@
     private final StateManager stateManager;
 
     public GroupMembersSummaryPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
-	    final ImageUtils imageUtils, final Session session,
-	    final Provider<SocialNetworkServiceAsync> snServiceProvider,
-	    final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter) {
-	super(i18n, stateManager, imageUtils, session, snServiceProvider);
-	this.i18n = i18n;
-	this.stateManager = stateManager;
-	this.session = session;
-	this.snServiceProvider = snServiceProvider;
-	final Listener<StateDTO> setStateListener = new Listener<StateDTO>() {
-	    public void onEvent(StateDTO state) {
-		setState(state);
-	    }
-	};
-	stateManager.onStateChanged(setStateListener);
-	stateManager.onSocialNetworkChanged(setStateListener);
-	wsThemePresenter.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
-	    public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
-		view.setTheme(oldTheme, newTheme);
-	    }
-	});
-	final String adminsTitle = i18n.t("Admins");
-	final String collabsTitle = i18n.t("Collaborators");
-	final String pendingTitle = i18n.t("Pending");
-	adminCategory = new GridGroup(adminsTitle, adminsTitle, i18n.t("People that can admin this group"), true);
-	collabCategory = new GridGroup(collabsTitle, collabsTitle, i18n
-		.t("Other people that collaborate with this group"), true);
-	pendigCategory = new GridGroup(pendingTitle, pendingTitle, i18n
-		.t("People pending to be accepted in this group by the admins"), imageUtils
-		.getImageHtml(ImageDescriptor.alert), true);
-	// i18n.t("Add member")
-	addMember = new GridButton("images/add-green.gif", "", i18n
-		.t("Add a group or a person as member of this group"), new Listener<String>() {
-	    public void onEvent(final String parameter) {
-		liveSearcherProvider.get().onSelection(new Listener<LinkDTO>() {
-		    public void onEvent(final LinkDTO link) {
-			view.confirmAddCollab(link.getShortName(), link.getLongName());
-		    }
-		});
-		liveSearcherProvider.get().show();
-	    }
-	});
-	super.addGroupOperation(gotoGroupMenuItem, false);
-	super.addUserOperation(gotoMemberMenuItem, false);
+            final ImageUtils imageUtils, final Session session,
+            final Provider<SocialNetworkServiceAsync> snServiceProvider,
+            final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter) {
+        super(i18n, stateManager, imageUtils, session, snServiceProvider);
+        this.i18n = i18n;
+        this.stateManager = stateManager;
+        this.session = session;
+        this.snServiceProvider = snServiceProvider;
+        final Listener<StateDTO> setStateListener = new Listener<StateDTO>() {
+            public void onEvent(StateDTO state) {
+                setState(state);
+            }
+        };
+        stateManager.onStateChanged(setStateListener);
+        stateManager.onSocialNetworkChanged(setStateListener);
+        wsThemePresenter.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
+            public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
+                view.setTheme(oldTheme, newTheme);
+            }
+        });
+        final String adminsTitle = i18n.t("Admins");
+        final String collabsTitle = i18n.t("Collaborators");
+        final String pendingTitle = i18n.t("Pending");
+        adminCategory = new GridGroup(adminsTitle, adminsTitle, i18n.t("People that can admin this group"), true);
+        collabCategory = new GridGroup(collabsTitle, collabsTitle, i18n
+                .t("Other people that collaborate with this group"), true);
+        pendigCategory = new GridGroup(pendingTitle, pendingTitle, i18n
+                .t("People pending to be accepted in this group by the admins"), imageUtils
+                .getImageHtml(ImageDescriptor.alert), true);
+        // i18n.t("Add member")
+        addMember = new GridButton("images/add-green.gif", "", i18n
+                .t("Add a group or a person as member of this group"), new Listener<String>() {
+            public void onEvent(final String parameter) {
+                liveSearcherProvider.get().onSelection(new Listener<LinkDTO>() {
+                    public void onEvent(final LinkDTO link) {
+                        view.confirmAddCollab(link.getShortName(), link.getLongName());
+                    }
+                });
+                liveSearcherProvider.get().show();
+            }
+        });
+        super.addGroupOperation(gotoGroupMenuItem, false);
+        super.addUserOperation(gotoMemberMenuItem, false);
     }
 
     public void addCollab(final String groupShortName) {
-	Site.showProgressProcessing();
-	snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(),
-		groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
-		    public void onSuccess(final SocialNetworkResultDTO result) {
-			Site.hideProgress();
-			Site.info(i18n.t("Member added as collaborator"));
-			stateManager.setSocialNetwork(result);
-		    }
+        Site.showProgressProcessing();
+        snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(),
+                groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+                    public void onSuccess(final SocialNetworkResultDTO result) {
+                        Site.hideProgress();
+                        Site.info(i18n.t("Member added as collaborator"));
+                        stateManager.setSocialNetwork(result);
+                    }
 
-		});
+                });
     }
 
     public void init(final GroupMembersSummaryView view) {
-	this.view = view;
+        this.view = view;
     }
 
     public void onDoubleClick(final String groupShortName) {
-	stateManager.gotoToken(groupShortName);
+        stateManager.gotoToken(groupShortName);
     }
 
     private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
-	return userIsAdmin || userIsCollab;
+        return userIsAdmin || userIsCollab;
     }
 
     @SuppressWarnings("unchecked")
     private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
-	final AccessListsDTO accessLists = socialNetwork.getAccessLists();
+        final AccessListsDTO accessLists = socialNetwork.getAccessLists();
 
-	final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
-	final List<GroupDTO> collabList = accessLists.getEditors().getList();
-	final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
+        final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
+        final List<GroupDTO> collabList = accessLists.getEditors().getList();
+        final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
 
-	final int numAdmins = adminsList.size();
+        final int numAdmins = adminsList.size();
 
-	boolean userIsAdmin = rights.isAdministrable();
-	final boolean userIsCollab = !userIsAdmin && rights.isEditable();
-	final boolean userCanView = rights.isVisible();
-	boolean userIsMember = isMember(userIsAdmin, userIsCollab);
+        boolean userIsAdmin = rights.isAdministrable();
+        final boolean userIsCollab = !userIsAdmin && rights.isEditable();
+        final boolean userCanView = rights.isVisible();
+        boolean userIsMember = isMember(userIsAdmin, userIsCollab);
 
-	view.clear();
+        view.clear();
 
-	if (userIsAdmin) {
-	    view.addButton(addMember);
-	    view.addToolbarFill();
-	}
+        if (userIsAdmin) {
+            view.addButton(addMember);
+            view.addToolbarFill();
+        }
 
-	view.setDraggable(session.isLogged());
+        view.setDraggable(session.isLogged());
 
-	if (!userIsMember) {
-	    view.addButton(requestJoin);
-	} else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
-	    view.addButton(unJoinButton);
-	}
+        if (!userIsMember) {
+            view.addButton(requestJoin);
+        } else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
+            view.addButton(unJoinButton);
+        }
 
-	if (userCanView) {
-	    for (final GroupDTO admin : adminsList) {
-		view
-			.addItem(createGridItem(adminCategory, admin, rights, changeToCollabMenuItem,
-				removeMemberMenuItem));
-	    }
-	    for (final GroupDTO collab : collabList) {
-		view
-			.addItem(createGridItem(collabCategory, collab, rights, changeToAdminMenuItem,
-				removeMemberMenuItem));
-	    }
-	    if (userIsAdmin) {
-		for (final GroupDTO pendingCollab : pendingCollabsList) {
-		    view.addItem(createGridItem(pendigCategory, pendingCollab, rights, acceptJoinGroupMenuItem,
-			    denyJoinGroupMenuItem));
-		}
-	    }
-	}
-	setMaxSize(adminsList.size(), collabList.size(), pendingCollabsList.size(), userIsAdmin);
-	view.setVisible(true);
+        if (userCanView) {
+            for (final GroupDTO admin : adminsList) {
+                view
+                        .addItem(createGridItem(adminCategory, admin, rights, changeToCollabMenuItem,
+                                removeMemberMenuItem));
+            }
+            for (final GroupDTO collab : collabList) {
+                view
+                        .addItem(createGridItem(collabCategory, collab, rights, changeToAdminMenuItem,
+                                removeMemberMenuItem));
+            }
+            if (userIsAdmin) {
+                for (final GroupDTO pendingCollab : pendingCollabsList) {
+                    view.addItem(createGridItem(pendigCategory, pendingCollab, rights, acceptJoinGroupMenuItem,
+                            denyJoinGroupMenuItem));
+                }
+            }
+        }
+        view.setVisible(true);
     }
 
-    private void setMaxSize(final int admins, final int collabs, final int pendingCollabs, final boolean isAdmin) {
-	final int members = admins + collabs + (isAdmin ? pendingCollabs : 0);
-	if (members > 2) {
-	    view.setMaxHeigth();
-	} else {
-	    view.setDefaultHeigth();
-	}
-    }
-
     private void setState(final StateDTO state) {
-	if (state.getGroup().getType().equals(GroupType.PERSONAL)) {
-	    view.setVisible(false);
-	} else {
-	    setGroupMembers(state.getGroupMembers(), state.getGroupRights());
-	}
+        if (state.getGroup().getType().equals(GroupType.PERSONAL)) {
+            view.setVisible(false);
+        } else {
+            setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+        }
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -17,14 +17,8 @@
 
     void confirmAddCollab(String groupShortName, String groupLongName);
 
-    void setContentVisible(boolean visible);
-
-    void setDefaultHeigth();
-
     void setDraggable(boolean draggable);
 
-    void setMaxHeigth();
-
     void setTheme(WsTheme oldTheme, WsTheme newTheme);
 
     void setVisible(boolean visible);

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -21,29 +21,28 @@
 
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.DropDownPanel;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
 import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
+import org.ourproject.kune.workspace.client.skel.SummaryPanel;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsTheme;
 
 import com.gwtext.client.widgets.BoxComponent;
 import com.gwtext.client.widgets.event.ContainerListenerAdapter;
 
-public class ParticipationSummaryPanel extends DropDownPanel implements ParticipationSummaryView {
+public class ParticipationSummaryPanel extends SummaryPanel implements ParticipationSummaryView {
 
     private final GridMenuPanel<GroupDTO> gridMenuPanel;
 
     public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
             final WorkspaceSkeleton ws) {
-        super(true);
-        // super.setHeaderText(i18n.t("Participates as..."));
-        super.setHeaderText(i18n.t("Participates in"));
-        super.setHeaderTitle(i18n.t("Groups in which participates"));
-        super.setBorderStylePrimaryName("k-dropdownouter-part");
-        super.addStyleName("kune-Margin-Medium-t");
+        super(i18n.t("Participates in"), i18n.t("Groups in which participates"), ws);
+        // super.setBorderStylePrimaryName("k-dropdownouter-part"); //
+        // super.addStyleName("kune-Margin-Medium-t");
         gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This user is not member of any group"), false, false,
                 false, false, false);
-        this.setContent(gridMenuPanel);
+        gridMenuPanel.setBorder(true);
+        super.add(gridMenuPanel);
         ws.addInSummary(this);
         ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
             @Override
@@ -58,16 +57,13 @@
         gridMenuPanel.addItem(gridItem);
     }
 
+    @Override
     public void clear() {
         gridMenuPanel.removeAll();
     }
 
-    public void hide() {
-        this.setVisible(false);
+    public void setTheme(WsTheme oldTheme, WsTheme newTheme) {
+        // TODO Auto-generated method stub
     }
 
-    public void show() {
-        this.setVisible(true);
-    }
-
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -32,8 +32,6 @@
 
     void hide();
 
-    void setContentVisible(boolean visible);
-
     void setTheme(WsTheme oldTheme, WsTheme newTheme);
 
     void show();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java	2008-10-11 17:04:26 UTC (rev 903)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java	2008-10-13 16:43:36 UTC (rev 904)
@@ -24,9 +24,10 @@
 
 import org.ourproject.kune.platf.client.dto.TagResultDTO;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.DropDownPanel;
 import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.workspace.client.skel.SummaryPanel;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsTheme;
 
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;
@@ -36,7 +37,7 @@
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 
-public class TagsSummaryPanel extends DropDownPanel implements TagsSummaryView {
+public class TagsSummaryPanel extends SummaryPanel implements TagsSummaryView {
 
     private final FlowPanel flowPanel;
     private final TagsSummaryPresenter presenter;
@@ -45,9 +46,8 @@
 
     public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n,
             final WorkspaceSkeleton ws) {
-        super(i18n.t("Tags"), true);
+        super(i18n.t("Tags"), i18n.t("Keywords or terms associated with this group"), ws);
         this.i18n = i18n;
-        setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
         this.presenter = presenter;
         flowPanel = new FlowPanel();
         final VerticalPanel vp = new VerticalPanel();
@@ -55,9 +55,8 @@
         vp.add(flowPanel);
         vp.setWidth("100%");
         vp.setCellWidth(flowPanel, "100%");
-        super.setContent(vp);
-        super.setBorderStylePrimaryName("k-dropdownouter-tags");
-        addStyleName("kune-Margin-Medium-t");
+        super.add(vp);
+        // super.setBorderStylePrimaryName("k-dropdownouter-tags");
         flowPanel.addStyleName("kune-Margin-Small-trbl");
         ws.addInSummary(this);
     }
@@ -89,4 +88,8 @@
             }
         });
     }
+
+    public void setTheme(WsTheme oldTheme, WsTheme newTheme) {
+        // TODO Auto-generated method stub
+    }
 }




More information about the kune-commits mailing list