Code

RegisteredScalar subclassed from RegisteredWidget<Scalar> instead of old RegisteredWdg
[inkscape.git] / src / ui / widget / page-sizer.h
index b4b6145a808056419b2f8ee5f946172c7e6176f1..e3d10f578829861339c8159be082d04f2043ff89 100644 (file)
@@ -147,42 +147,61 @@ 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
      */
-    int find_paper_size (double w, double h) const;
+    Gtk::ListStore::iterator find_paper_size (double w, double h) const;
  
     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