summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/page-sizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widget/page-sizer.cpp')
-rw-r--r--src/ui/widget/page-sizer.cpp73
1 files changed, 24 insertions, 49 deletions
diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp
index 7b0fea5f5..40f3addcf 100644
--- a/src/ui/widget/page-sizer.cpp
+++ b/src/ui/widget/page-sizer.cpp
@@ -185,10 +185,13 @@ static const SPUnit _px_unit = sp_unit_get_by_id (SP_UNIT_PX);
/**
* Constructor
*/
-PageSizer::PageSizer() : Gtk::VBox(false,4)
+PageSizer::PageSizer(Registry & _wr)
+ : Gtk::VBox(false,4),
+ _dimensionUnits( _("U_nits:"), "units", _wr ),
+ _dimensionWidth( _("_Width:"), _("Width of paper"), "width", _dimensionUnits, _wr ),
+ _dimensionHeight( _("_Height:"), _("Height of paper"), "height", _dimensionUnits, _wr ),
+ _widgetRegistry(&_wr)
{
-
-
//# Set up the Paper Size combo box
_paperSizeListStore = Gtk::ListStore::create(_paperSizeListColumns);
_paperSizeList.set_model(_paperSizeListStore);
@@ -259,15 +262,15 @@ PageSizer::PageSizer() : Gtk::VBox(false,4)
_customTable.set_border_width (4);
_customTable.set_row_spacings (4);
_customTable.set_col_spacings (4);
+ _customTable.attach(_dimensionWidth, 0,1,0,1);
+ _customTable.attach(_dimensionUnits, 1,2,0,1);
+ _customTable.attach(_dimensionHeight, 0,1,1,2);
+ _customTable.attach(_fitPageButton, 1,2,1,2);
_customFrame.add(_customTable);
_fitPageButton.set_use_underline();
_fitPageButton.set_label(_("_Fit page to selection"));
- _tips.set_tip(_fitPageButton,
- _("Resize the page to fit the current selection, or the entire drawing if there is no selection"));
-
-
-
+ _tips.set_tip(_fitPageButton, _("Resize the page to fit the current selection, or the entire drawing if there is no selection"));
}
@@ -284,43 +287,15 @@ PageSizer::~PageSizer()
* Initialize or reset this widget
*/
void
-PageSizer::init (Registry& reg)
+PageSizer::init ()
{
-
- /*
- Note that the registered widgets can only be placed onto a
- container after they have been init()-ed. That is why some
- of the widget creation is in the constructor, and the rest is
- here.
- */
-
- _widgetRegistry = ®
-
- _dimensionUnits.init (_("U_nits:"), "units",
- *_widgetRegistry);
- _dimensionWidth.init (_("_Width:"), _("Width of paper"), "width",
- _dimensionUnits, *_widgetRegistry);
- _dimensionHeight.init (_("_Height:"), _("Height of paper"), "height",
- _dimensionUnits, *_widgetRegistry);
-
- _customTable.attach(*(_dimensionWidth.getSU()), 0,1,0,1);
- _customTable.attach(*(_dimensionUnits._sel), 1,2,0,1);
- _customTable.attach(*(_dimensionHeight.getSU()), 0,1,1,2);
- _customTable.attach(_fitPageButton, 1,2,1,2);
-
- _landscape_connection = _landscapeButton.signal_toggled().connect (
- sigc::mem_fun (*this, &PageSizer::on_landscape));
- _portrait_connection = _portraitButton.signal_toggled().connect (
- sigc::mem_fun (*this, &PageSizer::on_portrait));
- _changedw_connection = _dimensionWidth.getSU()->signal_value_changed().connect (
- sigc::mem_fun (*this, &PageSizer::on_value_changed));
- _changedh_connection = _dimensionHeight.getSU()->signal_value_changed().connect (
- sigc::mem_fun (*this, &PageSizer::on_value_changed));
- _fitPageButton.signal_clicked().connect(
- sigc::mem_fun(*this, &PageSizer::fire_fit_canvas_to_selection_or_drawing));
+ _landscape_connection = _landscapeButton.signal_toggled().connect (sigc::mem_fun (*this, &PageSizer::on_landscape));
+ _portrait_connection = _portraitButton.signal_toggled().connect (sigc::mem_fun (*this, &PageSizer::on_portrait));
+ _changedw_connection = _dimensionWidth.signal_value_changed().connect (sigc::mem_fun (*this, &PageSizer::on_value_changed));
+ _changedh_connection = _dimensionHeight.signal_value_changed().connect (sigc::mem_fun (*this, &PageSizer::on_value_changed));
+ _fitPageButton.signal_clicked().connect(sigc::mem_fun(*this, &PageSizer::fire_fit_canvas_to_selection_or_drawing));
show_all_children();
-
}
@@ -366,7 +341,7 @@ PageSizer::setDim (double w, double h, bool changeList)
_paperSizeListSelection->select(row);
}
- Unit const& unit = _dimensionUnits._sel->getUnit();
+ Unit const& unit = _dimensionUnits.getUnit();
_dimensionWidth.setValue (w / unit.factor);
_dimensionHeight.setValue (h / unit.factor);
@@ -487,8 +462,8 @@ PageSizer::on_portrait()
{
if (!_portraitButton.get_active())
return;
- double w = _dimensionWidth.getSU()->getValue ("px");
- double h = _dimensionHeight.getSU()->getValue ("px");
+ double w = _dimensionWidth.getValue ("px");
+ double h = _dimensionHeight.getValue ("px");
if (h < w)
setDim (h, w);
}
@@ -502,8 +477,8 @@ PageSizer::on_landscape()
{
if (!_landscapeButton.get_active())
return;
- double w = _dimensionWidth.getSU()->getValue ("px");
- double h = _dimensionHeight.getSU()->getValue ("px");
+ double w = _dimensionWidth.getValue ("px");
+ double h = _dimensionHeight.getValue ("px");
if (w < h)
setDim (h, w);
}
@@ -516,8 +491,8 @@ PageSizer::on_value_changed()
{
if (_widgetRegistry->isUpdating()) return;
- setDim (_dimensionWidth.getSU()->getValue("px"),
- _dimensionHeight.getSU()->getValue("px"));
+ setDim (_dimensionWidth.getValue("px"),
+ _dimensionHeight.getValue("px"));
}