Finished structure of new left pane
authorChristos Stathis <chstath@ebs.gr>
Mon, 23 Apr 2012 13:01:06 +0000 (16:01 +0300)
committerChristos Stathis <chstath@ebs.gr>
Mon, 23 Apr 2012 13:01:06 +0000 (16:01 +0300)
src/gr/grnet/pithos/web/client/PithosDisclosurePanel.css
src/gr/grnet/pithos/web/client/PithosDisclosurePanel.java

index 9313fab..7e1cc59 100644 (file)
     width: 100%;
 }
 
+.arrow { 
+       padding-right: 2px;
+}
+
 .content {
        padding: 4px 0px 4px 8px;
        margin-left: 6px;
index 345fe4a..66c5f5f 100644 (file)
@@ -52,7 +52,12 @@ import com.google.gwt.user.client.ui.AbstractImagePrototype;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.DisclosurePanel;
 import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HasVerticalAlignment;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.Widget;
 
 public class PithosDisclosurePanel extends Composite {
 
@@ -61,6 +66,8 @@ public class PithosDisclosurePanel extends Composite {
                
                String header();
                
+               String arrow();
+               
                String content();
        }
        
@@ -108,14 +115,24 @@ public class PithosDisclosurePanel extends Composite {
                initWidget(panel);
        }
        
-       HTML createHeader(Resources resources, String title, boolean open) {
-        SafeHtmlBuilder sb = new SafeHtmlBuilder();
-        sb.appendHtmlConstant(AbstractImagePrototype.create(resources.icon()).getHTML());
-        sb.append(Templates.INSTANCE.nameSpan(title));
-               sb.appendHtmlConstant(AbstractImagePrototype.create(open ? resources.open() : resources.closed()).getHTML());
-               HTML header = new HTML(sb.toSafeHtml());
-               header.addStyleName(resources.pithosDisclosurePanelCss().header());
-        return header;
+       Widget createHeader(Resources resources, String title, boolean open) {
+               HorizontalPanel header = new HorizontalPanel();
+        
+               Image img = new Image(resources.icon());
+               header.add(img);
+               header.setCellVerticalAlignment(img, HasVerticalAlignment.ALIGN_MIDDLE);
+               header.setCellWidth(img, "32px");
+               HTML titleHtml = new HTML(title);
+               header.add(titleHtml);
+               header.setCellVerticalAlignment(titleHtml, HasVerticalAlignment.ALIGN_MIDDLE);
+               Image arrow = new Image(open ? resources.open() : resources.closed());
+               arrow.addStyleName(resources.pithosDisclosurePanelCss().arrow());
+               header.add(arrow);
+               header.setCellHorizontalAlignment(arrow, HasHorizontalAlignment.ALIGN_RIGHT);
+               header.setCellVerticalAlignment(arrow, HasVerticalAlignment.ALIGN_MIDDLE);
+               
+               header.addStyleName(resources.pithosDisclosurePanelCss().header());
+               return header;
        }
        
        public void add(IsWidget widget) {