Code

Refactoring layout when switching palettes
[inkscape.git] / src / ui / widget / panel.cpp
index 67aca690a002f78f7ed907e31f4f067c41079239..11235d083948fba78c60b22732a87b6f7bfb9bcb 100644 (file)
@@ -113,15 +113,22 @@ void Panel::init()
     one->signal_activate().connect( sigc::bind<int, int>( sigc::mem_fun(*this, &Panel::bounceCall), 1, 0) );
     two->signal_activate().connect( sigc::bind<int, int>( sigc::mem_fun(*this, &Panel::bounceCall), 1, 1) );
 
-    closeButton.set_label("X");
+    //closeButton.set_label("X");
 
     topBar.pack_start(tabTitle);
 
-    topBar.pack_end(closeButton, false, false);
+    //topBar.pack_end(closeButton, false, false);
     topBar.pack_end(tabButton, false, false);
 
     pack_start( topBar, false, false );
 
+    Gtk::HBox* boxy = manage( new Gtk::HBox() );
+
+    boxy->pack_start( contents, true, true );
+    boxy->pack_start( rightBar, false, true );
+
+    pack_start( *boxy, true, true );
+
     show_all_children();
 
     bounceCall (0, panel_size);
@@ -134,6 +141,31 @@ void Panel::setLabel(Glib::ustring const &label)
     tabTitle.set_label(this->label);
 }
 
+void Panel::setOrientation( Gtk::AnchorType how )
+{
+    if ( _anchor != how )
+    {
+        _anchor = how;
+        switch ( _anchor )
+        {
+            case Gtk::ANCHOR_NORTH:
+            case Gtk::ANCHOR_SOUTH:
+            {
+                tabButton.reference();
+                topBar.remove(tabButton);
+                rightBar.pack_start(tabButton, false, false);
+                tabButton.unreference();
+
+                topBar.remove(tabTitle);
+            }
+            break;
+
+            default:
+                ; // nothing for now
+        }
+    }
+}
+
 void Panel::_regItem( Gtk::MenuItem* item, int group, int id )
 {
     menu.append( *item );