summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/node-tool.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-01-10 00:46:28 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-01-10 00:46:28 +0000
commitb52865a71a9f83da9719a3ec5f50a4a2cd7cdace (patch)
tree6d8def69ad0aa28aa4414dc9d501707444a5419b /src/ui/tool/node-tool.cpp
parentImplement selection linear grow (diff)
downloadinkscape-b52865a71a9f83da9719a3ec5f50a4a2cd7cdace.tar.gz
inkscape-b52865a71a9f83da9719a3ec5f50a4a2cd7cdace.zip
* Implement node snapping.
* Fix minor bug in linear grow. * Add --fixes. * Move some node selection-related functions to ControlPointSelection. Fixed bugs: - https://launchpad.net/bugs/170561 - https://launchpad.net/bugs/171893 - https://launchpad.net/bugs/182585 - https://launchpad.net/bugs/446773 (bzr r8846.2.9)
Diffstat (limited to '')
-rw-r--r--src/ui/tool/node-tool.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ui/tool/node-tool.cpp b/src/ui/tool/node-tool.cpp
index 735ddf87e..c1ba3394e 100644
--- a/src/ui/tool/node-tool.cpp
+++ b/src/ui/tool/node-tool.cpp
@@ -62,12 +62,15 @@
* it might handle all shapes. Handles XML commit of actions that affect all paths or
* the node selection and removes PathManipulators that have no nodes left after e.g. node
* deletes.
- * - ControlPointSelection: keeps track of node selection. Performs actions that require no
+ * - ControlPointSelection: keeps track of node selection and a set of nodes that can potentially
+ * be selected. There can be more than one selection. Performs actions that require no
* knowledge about the path, only about the nodes, like dragging and transforms. It is not
* specific to nodes and can accomodate any control point derived from SelectableControlPoint.
* Transforms nodes in response to transform handle events.
* - TransformHandleSet: displays nodeset transform handles and emits transform events. The aim
* is to eventually use a common class for object and control point transforms.
+ * - SelectableControlPoint: base for any type of selectable point. It can belong to only one
+ * selection.
*
* @par Plans for the future
* @par
@@ -384,9 +387,6 @@ void ink_node_tool_selection_changed(InkNodeTool *nt, Inkscape::Selection *sel)
std::set<ShapeRecord> shapes;
- // TODO this is ugly!!!
- //typedef std::map<SPItem*, std::pair<Geom::Matrix, guint32> > TransMap;
- //typedef std::map<SPPath*, std::pair<Geom::Matrix, guint32> > PathMap;
GSList const *ilist = sel->itemList();
for (GSList *i = const_cast<GSList*>(ilist); i; i = i->next) {
@@ -477,7 +477,7 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event)
case GDK_a:
if (held_control(event->key)) {
if (held_alt(event->key)) {
- nt->_multipath->selectAll();
+ nt->_selected_nodes->selectAll();
} else {
// select all nodes in subpaths that have something selected
// if nothing is selected, select everything
@@ -554,7 +554,7 @@ void ink_node_tool_select_area(InkNodeTool *nt, Geom::Rect const &sel, GdkEventB
selection->setList(items);
g_slist_free(items);
} else {
- nt->_multipath->selectArea(sel, !held_shift(*event));
+ nt->_selected_nodes->selectArea(sel);
}
}
void ink_node_tool_select_point(InkNodeTool *nt, Geom::Point const &sel, GdkEventButton *event)