Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/TextThought.py
diff options
context:
space:
mode:
authorDonScorgie <DonScorgie@8f060a39-251c-0410-b1f3-431655927647>2007-03-10 18:37:53 (GMT)
committer DonScorgie <DonScorgie@8f060a39-251c-0410-b1f3-431655927647>2007-03-10 18:37:53 (GMT)
commit53faf61d3f0c88ea7a4359ccd76452ac7c9cd59e (patch)
tree36ff8875462808ea09e378e3b437d2917613705d /src/TextThought.py
parenta8d5b5accc5cd51d035687da6c2ca3ebefcf9943 (diff)
* src/BaseThought.py:
* src/ImageThought.py: * src/DrawingThought.py: * src/TextThought.py: * src/MMapArea.py: Various misc fixes to make all thoughts work with transforms properly git-svn-id: http://labyrinth.googlecode.com/svn/trunk@155 8f060a39-251c-0410-b1f3-431655927647
Diffstat (limited to 'src/TextThought.py')
-rw-r--r--src/TextThought.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/TextThought.py b/src/TextThought.py
index 0d67a16..55b6775 100644
--- a/src/TextThought.py
+++ b/src/TextThought.py
@@ -194,6 +194,7 @@ class TextThought (BaseThought.BaseThought):
context.line_to (self.lr[0], self.ul[1])
context.line_to (self.lr[0]-5, self.ul[1])
context.stroke ()
+
if self.index > self.end_index:
bgsel = pango.AttrBackground (61423, 10537, 10537, self.end_index, self.index)
else:
@@ -481,15 +482,15 @@ class TextThought (BaseThought.BaseThought):
return
line += 1
- def process_button_down (self, event, mode):
+ def process_button_down (self, event, mode, transformed):
modifiers = gtk.accelerator_get_default_mod_mask ()
if event.button == 1:
if event.type == gtk.gdk.BUTTON_PRESS and not self.editing:
self.emit ("select_thought", event.state & modifiers)
elif event.type == gtk.gdk.BUTTON_PRESS and self.editing:
- x = int ((event.x - self.ul[0])*pango.SCALE)
- y = int ((event.y - self.ul[1])*pango.SCALE)
+ x = int ((transformed[0] - self.ul[0])*pango.SCALE)
+ y = int ((transformed[1] - self.ul[1])*pango.SCALE)
loc = self.layout.xy_to_index (x, y)
self.index = loc[0]
if loc[0] >= len(self.text) -1 or self.text[loc[0]+1] == '\n':
@@ -500,8 +501,8 @@ class TextThought (BaseThought.BaseThought):
elif mode == BaseThought.MODE_EDITING and event.type == gtk.gdk._2BUTTON_PRESS:
self.emit ("begin_editing")
elif event.button == 2 and self.editing:
- x = int ((event.x - self.ul[0])*pango.SCALE)
- y = int ((event.y - self.ul[1])*pango.SCALE)
+ x = int ((transformed[0] - self.ul[0])*pango.SCALE)
+ y = int ((transformed[1] - self.ul[1])*pango.SCALE)
loc = self.layout.xy_to_index (x, y)
self.index = loc[0]
if loc[0] >= len(self.text) -1 or self.text[loc[0]+1] == '\n':
@@ -512,9 +513,10 @@ class TextThought (BaseThought.BaseThought):
self.paste_text (clip)
elif event.button == 3:
self.emit ("popup_requested", (event.x, event.y), 1)
+ self.recalc_edges()
self.emit ("update_view")
- def process_button_release (self, event, unending_link, mode):
+ def process_button_release (self, event, unending_link, mode, transformed):
if unending_link:
unending_link.set_child (self)
self.emit ("claim_unending_link")
@@ -525,12 +527,12 @@ class TextThought (BaseThought.BaseThought):
else:
self.emit ("text_selection_changed", self.index, self.end_index, self.text[self.index:self.end_index])
- def handle_motion (self, event, mode):
+ def handle_motion (self, event, mode, transformed):
if event.state & gtk.gdk.BUTTON1_MASK and self.editing:
- if event.x < self.lr[0] and event.x > self.ul[0] and \
- event.y < self.lr[1] and event.y > self.ul[1]:
- x = int ((event.x - self.ul[0])*pango.SCALE)
- y = int ((event.y - self.ul[1])*pango.SCALE)
+ if transformed[0] < self.lr[0] and transformed[1] > self.ul[0] and \
+ transformed[1] < self.lr[1] and transformed[1] > self.ul[1]:
+ x = int ((transformed[0] - self.ul[0])*pango.SCALE)
+ y = int ((transformed[1] - self.ul[1])*pango.SCALE)
loc = self.layout.xy_to_index (x, y)
self.index = loc[0]
if loc[0] >= len(self.text) -1 or self.text[loc[0]+1] == '\n':