diff options
author | Peter Moxhay <pmoxhay@earthlink.net> | 2009-01-23 16:29:45 (GMT) |
---|---|---|
committer | Peter Moxhay <pmoxhay@earthlink.net> | 2009-01-23 16:29:45 (GMT) |
commit | 6bf8db8584f4876081d0143f63af84170c8fc9cf (patch) | |
tree | 6c01ac2aebc2972e36c4c0b635d3cf921c984c81 /symbolobject.py | |
parent | 7fa2166701b76d6709012b6ef6cf9961d22fae3a (diff) |
More consistent line segment dragging.
Experiment with making <, =, > drags more drag-copy-like.
Still need to do key presses for dragging.
Diffstat (limited to 'symbolobject.py')
-rw-r--r-- | symbolobject.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/symbolobject.py b/symbolobject.py index ff982b5..d5412d6 100644 --- a/symbolobject.py +++ b/symbolobject.py @@ -35,6 +35,8 @@ class SymbolObject(DraggableObject): self.selectable = True
self.use_minimum_width_and_height = False
+
+ self.drag_copy = True
def draw(self, cr):
text = self.symbol
@@ -47,7 +49,12 @@ class SymbolObject(DraggableObject): #cr.set_source_rgb(1, 0, 0)
#cr.fill()
- cr.set_source_rgb(0, 0, 0)
+ if self.dragged:
+ # The line segment gets transparent when dragged.
+ cr.set_source_rgba(0, 0, 0, 0.5)
+ else:
+ # Otherwise, it's black.
+ cr.set_source_rgb(0, 0, 0)
cr.set_font_size(self.size)
x_bearing, y_bearing, width, height = cr.text_extents(text)[:4]
@@ -66,7 +73,11 @@ class SymbolObject(DraggableObject): if self.selected:
cr.rectangle(self.pos.x - 5 - width/2, self.pos.y - 5 - height/2, self.width + 10, self.height + 10)
cr.set_line_width(1.0)
- cr.set_dash((10, 10), 0)
+ # Draw a different dashed outline if the object is not only selected but dragged.
+ if self.dragged:
+ cr.set_dash((2, 2, 0))
+ else:
+ cr.set_dash((10, 10), 0)
cr.set_source_rgb(0, 0, 0)
cr.stroke()
|