Code

Change layout to be more space conserving. This allows a larger paper list
[inkscape.git] / src / ui / widget / page-sizer.h
index b4b6145a808056419b2f8ee5f946172c7e6176f1..9efef5e64a75bf6603c30397b8adcef0b65ab787 100644 (file)
@@ -147,7 +147,7 @@ protected:
     /**
      * Our handy table of all 'standard' paper sizes.
      */             
-    std::map<Glib::ustring, PaperSize> paperSizeTable;
+    std::map<Glib::ustring, PaperSize> _paperSizeTable;
 
     /**
      * Find the closest standard paper size in the table, to the
@@ -156,33 +156,52 @@ protected:
  
     void fire_fit_canvas_to_selection_or_drawing();
     
-    //### Dimension spinboxes
-    RegisteredUnitMenu   _dimensionUnits;
-    RegisteredScalarUnit _dimensionWidth;
-       RegisteredScalarUnit _dimensionHeight;
-    //callback
-    void on_value_changed();
-    sigc::connection    _changedw_connection;
-       sigc::connection    _changedh_connection;
+    Gtk::Tooltips _tips;
     
     //### The Paper Size selection list
-    Gtk::ComboBoxText _paperSizeList;
+    Gtk::HBox _paperSizeListBox;
+    Gtk::Label _paperSizeListLabel;
+    class PaperSizeColumns : public Gtk::TreeModel::ColumnRecord
+        {
+        public:
+            PaperSizeColumns()
+               { add(nameColumn); add(descColumn);  }
+            Gtk::TreeModelColumn<Glib::ustring> nameColumn;
+            Gtk::TreeModelColumn<Glib::ustring> descColumn;
+        };
+
+    PaperSizeColumns _paperSizeListColumns;
+    Glib::RefPtr<Gtk::ListStore> _paperSizeListStore;
+    Gtk::TreeView _paperSizeList;
+    Glib::RefPtr<Gtk::TreeSelection> _paperSizeListSelection;
+    Gtk::ScrolledWindow  _paperSizeListScroller;
     //callback
     void on_paper_size_list_changed();
     sigc::connection    _paper_size_list_connection;
     
-    //### Button to select 'portrait' orientation
+    //### Portrait or landscape orientation
+    Gtk::HBox           _orientationBox;
+    Gtk::Label          _orientationLabel;
     Gtk::RadioButton    _portraitButton;
-    //callback
-    void on_portrait();
-    sigc::connection    _portrait_connection;
-
-    //### Button to select 'landscape' orientation
        Gtk::RadioButton    _landscapeButton;
-       //callback
+    //callbacks
+    void on_portrait();
     void on_landscape();
+    sigc::connection    _portrait_connection;
        sigc::connection    _landscape_connection;
 
+    //### Custom size frame
+    Gtk::Frame           _customFrame;
+    Gtk::Table           _customTable;
+    RegisteredUnitMenu   _dimensionUnits;
+    RegisteredScalarUnit _dimensionWidth;
+       RegisteredScalarUnit _dimensionHeight;
+       Gtk::Button          _fitPageButton;
+    //callback
+    void on_value_changed();
+    sigc::connection    _changedw_connection;
+       sigc::connection    _changedh_connection;
+
     Registry            *_widgetRegistry;
 
     //### state - whether we are currently landscape or portrait