CVSROOT: /cvs/gnome
Module name: sketch
Changes by: bherzog 05/12/17 20:48:11
Modified files:
test : test_aligntool.py ChangeLog
Sketch/UI : toolbox.py skapp.py mainwindow.py canvas.py
Sketch/Editor : doceditor.py context.py aligntool.py
. : ChangeLog
Added files:
test : test_context.py
Log message:
Change which objects manage which tool is active. Previously it
was the main context object, no it's the document editor.
Savannah patch #4695, partly by Valentin Ungureanu
* Sketch/Editor/context.py: Change the meaning of the context's
TOOL message a little. Previously it indicated that the user
selected a new tool and all editors had to be updated accordingly.
Now it means that the current editor has switched to a different
tool (or that a different editor has been made current).
(tool) The tool attribute is now determined on the fly based on
the current tool. It may be None now.
(Context.editor_channels): Add TOOL so that the editor's new TOOL
messages are forwarded by the context.
(Context.__getattr__): New. Recognize "tool" attributes and
return something sensible, usually the current editor's toolname.
(Context.__init__): "tool" is no longer an instance variable.
(Context.set_editor): Issue a TOOL message when the editor
changes. The new editor may currently have a different tool than
the previous one.
(Context.SetTool): Simply call the current editor's SetTool
method. Do not issue messages anymore.
* Sketch/Editor/doceditor.py (EditorWithSelection.SetTool): Issue
a TOOL message when the tool changes.
* Sketch/UI/mainwindow.py (tool_changed): Removed.
(SketchMainWindow.__init__, SketchMainWindow.close): removed the
code that handled the TOOL messages or set the current tool.
* Sketch/UI/toolbox.py (ToolButton.ToolChanged): Make the button
insensitive when tool is None.
* Sketch/UI/skapp.py (SketchApplication.__init__): No need to set
the current tool anymore. That is done by the editor now.
(SketchApplication.SetTool): Removed.
* Sketch/Editor/aligntool.py (AlignToolInstance.ButtonClick):
The tool is now managed directly by the editor.
* Sketch/UI/canvas.py (SketchCanvas.subscribe_editor)
(SketchCanvas.unsubscribe_editor): (Un)subscribe to/from the
editor's TOOL messages too.
(SketchCanvas.SetTool): Simply pass the tool through to the
editor.
(SketchCanvas.tool_changed): New. Has the cursor update logic
formerly in SetTool. This method is subscribed to the TOOL
message.
(SketchCanvas.realize_method): New. Extend
inherited method so that the cursors are set properly
* test_context.py: New. Some tests for the context object.
* test_aligntool.py: Adapt to new tool management.
(MinimalCanvas.__init__): Removed application parameter/instance
variable.
(MinimalCanvas.SetTool): Removed. Not needed anymore.
(MockApplication, MockMainWindow): Removed. No longer needed
since the tool is now managed directly by the editor.
(AlignTest.set_application, AlignTest.tearDown): Do not set/unset
self.application and self.main_window anymore
URL :
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=sketch&who=bherzog&date=explicit&mindate=2005-12-17%2020:47&maxdate=2005-12-17%2020:49
_______________________________________________
cvs-commits-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/cvs-commits-list