index 807d4129f869309b4d24bd31540a754620a0d156..e2dc2c0b9156ad6fb403c462d699bff94b10ca26 100644 (file)
DocumentProperties*
DocumentProperties*
-DocumentProperties::create()
+DocumentProperties::create(Behavior::BehaviorFactory behavior_factory)
{
if (_instance) return _instance;
{
if (_instance) return _instance;
- _instance = new DocumentProperties;
+ _instance = new DocumentProperties(behavior_factory);
_instance->init();
return _instance;
}
_instance->init();
return _instance;
}
}
}
}
}
-DocumentProperties::DocumentProperties()
- : Dialog ("dialogs.documentoptions", SP_VERB_DIALOG_NAMEDVIEW),
+DocumentProperties::DocumentProperties(Behavior::BehaviorFactory behavior_factory)
+ : Dialog (behavior_factory, "dialogs.documentoptions", SP_VERB_DIALOG_NAMEDVIEW),
_page_page(1, 1), _page_guides(1, 1),
_page_snap(1, 1), _page_grids(1, 1),
_grids_button_new(_("_New"), _("Create new grid.")),
_page_page(1, 1), _page_guides(1, 1),
_page_snap(1, 1), _page_grids(1, 1),
_grids_button_new(_("_New"), _("Create new grid.")),
{
_page_snap.show();
//General options
{
_page_snap.show();
//General options
- _rcbsnbb.init (_("Snap bounding _box corners"),
- _("Snap bounding box corners to grid lines, to guides, and to other bounding boxes"),
+ _rcbsnbb.init (_("Bounding _box corners"),
+ _("Snap bounding box corners to grid lines, to guides, and to other bounding boxes (only applicable to the selector tool)"),
"inkscape:snap-bbox", _wr);
"inkscape:snap-bbox", _wr);
- _rcbsnn.init (_("Snap _nodes"),
+ _rcbsnn.init (_("_Nodes"),
_("Snap nodes to grid lines, to guides, to paths, and to other nodes"),
"inkscape:snap-nodes", _wr);
_("Snap nodes to grid lines, to guides, to paths, and to other nodes"),
"inkscape:snap-nodes", _wr);
+ _rcbsng.init (_("_Guides"),
+ _("While dragging a guide, snap to object nodes. (In 'Snapping to objects', 'Snap to nodes' must also be enabled)"),
+ "inkscape:snap-guide", _wr);
//Options for snapping to objects
//Options for snapping to objects
- _rcbsnop.init (_("Snap to _paths"),
+ _rcbsnop.init (_("Snap to p_aths"),
_("Snap nodes to object paths"),
"inkscape:object-paths", _wr);
_rcbsnon.init (_("Snap to n_odes"),
_("Snap nodes to object paths"),
"inkscape:object-paths", _wr);
_rcbsnon.init (_("Snap to n_odes"),
- _("Snap nodes to object nodes"),
+ _("Snap nodes or guides to object nodes"),
"inkscape:object-nodes", _wr);
"inkscape:object-nodes", _wr);
- _rsu_sno.init (_(" Snap _distance"), _("Snap at any dist_ance"),
+ _rsu_sno.init (_("Snap _distance"), _("Snap at any dist_ance"),
_("Snapping distance, in screen pixels, for snapping to objects"),
_("If set, objects snap to the nearest object, regardless of distance"),
"objecttolerance", _wr);
//Options for snapping to grids
_("Snapping distance, in screen pixels, for snapping to objects"),
_("If set, objects snap to the nearest object, regardless of distance"),
"objecttolerance", _wr);
//Options for snapping to grids
- _rsu_sn.init (_(" Snap d_istance"), _("Snap at any distan_ce"),
+ _rsu_sn.init (_("Snap d_istance"), _("Snap at any distan_ce"),
_("Snapping distance, in screen pixels, for snapping to grid"),
_("If set, objects snap to the nearest grid line, regardless of distance"),
"gridtolerance", _wr);
//Options for snapping to guides
_("Snapping distance, in screen pixels, for snapping to grid"),
_("If set, objects snap to the nearest grid line, regardless of distance"),
"gridtolerance", _wr);
//Options for snapping to guides
- _rsu_gusn.init (_(" Snap di_stance"), _("Snap at any distanc_e"),
+ _rsu_gusn.init (_("Snap di_stance"), _("Snap at any distanc_e"),
_("Snapping distance, in screen pixels, for snapping to guides"),
_("If set, objects snap to the nearest guide, regardless of distance"),
"guidetolerance", _wr);
_("Snapping distance, in screen pixels, for snapping to guides"),
_("If set, objects snap to the nearest guide, regardless of distance"),
"guidetolerance", _wr);
+ //Some other options
+ _rcbic.init (_("_Include the object's rotation center"),
+ _("Also snap the rotation center of an object when snapping nodes or guides"),
+ "inkscape:snap-center", _wr);
+ //Applies to both nodes and guides, but not to bboxes, that's why its located here
+ //Other options to locate here: e.g. visual snapping indicators on/off
+
Gtk::Label *label_g = manage (new Gtk::Label);
Gtk::Label *label_g = manage (new Gtk::Label);
- label_g->set_markup (_("<b>General</b>"));
+ label_g->set_markup (_("<b>Snapping of</b>"));
Gtk::Label *label_o = manage (new Gtk::Label);
Gtk::Label *label_o = manage (new Gtk::Label);
- label_o->set_markup (_("<b>Object Snapping</b>"));
+ label_o->set_markup (_("<b>Snapping to objects</b>"));
Gtk::Label *label_gr = manage (new Gtk::Label);
Gtk::Label *label_gr = manage (new Gtk::Label);
- label_gr->set_markup (_("<b>Grid Snapping</b>"));
+ label_gr->set_markup (_("<b>Snapping to grids</b>"));
Gtk::Label *label_gu = manage (new Gtk::Label);
Gtk::Label *label_gu = manage (new Gtk::Label);
- label_gu->set_markup (_("<b>Guide Snapping</b>"));
+ label_gu->set_markup (_("<b>Snapping to guides</b>"));
+ Gtk::Label *label_m = manage (new Gtk::Label);
+ label_m->set_markup (_("<b>Miscellaneous</b>"));
Gtk::Widget *const array[] =
{
label_g, 0,
0, _rcbsnn._button,
Gtk::Widget *const array[] =
{
label_g, 0,
0, _rcbsnn._button,
+ //0, 0, //_rcbic._button will be inserted here
0, _rcbsnbb._button,
0, _rcbsnbb._button,
- 0, 0,
+ 0, _rcbsng._button,
+ 0, 0,
+ 0, 0,
+ 0, 0,
label_o, 0,
0, _rcbsnop._button,
0, _rcbsnon._button,
0, _rsu_sno._vbox,
label_o, 0,
0, _rcbsnop._button,
0, _rcbsnon._button,
0, _rsu_sno._vbox,
- 0, 0,
+ 0, 0,
label_gr, 0,
0, _rsu_sn._vbox,
label_gr, 0,
0, _rsu_sn._vbox,
- 0, 0,
+ 0, 0,
label_gu, 0,
0, _rsu_gusn._vbox,
label_gu, 0,
0, _rsu_gusn._vbox,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ label_m, 0,
+ 0, _rcbic._button
};
attach_all(_page_snap.table(), array, G_N_ELEMENTS(array));
};
attach_all(_page_snap.table(), array, G_N_ELEMENTS(array));
_rcp_hgui.setRgba32 (nv->guidehicolor);
//-----------------------------------------------------------snap
_rcp_hgui.setRgba32 (nv->guidehicolor);
//-----------------------------------------------------------snap
+
_rcbsnbb.setActive (nv->snap_manager.getSnapModeBBox());
_rcbsnn.setActive (nv->snap_manager.getSnapModeNode());
_rcbsnbb.setActive (nv->snap_manager.getSnapModeBBox());
_rcbsnn.setActive (nv->snap_manager.getSnapModeNode());
+ _rcbsng.setActive (nv->snap_manager.getSnapModeGuide());
+ _rcbic.setActive (nv->snap_manager.getIncludeItemCenter());
_rcbsnop.setActive(nv->snap_manager.object.getSnapToItemPath());
_rcbsnon.setActive(nv->snap_manager.object.getSnapToItemNode());
_rsu_sno.setValue (nv->objecttolerance);
_rcbsnop.setActive(nv->snap_manager.object.getSnapToItemPath());
_rcbsnon.setActive(nv->snap_manager.object.getSnapToItemNode());
_rsu_sno.setValue (nv->objecttolerance);