[gedit-plugins] [multiedit] Draw in gutter after normal draw
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit-plugins] [multiedit] Draw in gutter after normal draw
- Date: Fri, 5 Sep 2014 21:59:50 +0000 (UTC)
commit 982b8a01a3997eaa58ad5b3601dd1d9dfcff5231
Author: Jesse van den Kieboom <jessevdk gmail com>
Date: Fri Sep 5 23:32:52 2014 +0200
[multiedit] Draw in gutter after normal draw
plugins/multiedit/multiedit/viewactivatable.py | 29 +++++++++++++++++------
1 files changed, 21 insertions(+), 8 deletions(-)
---
diff --git a/plugins/multiedit/multiedit/viewactivatable.py b/plugins/multiedit/multiedit/viewactivatable.py
index 0ab7113..e0350d1 100644
--- a/plugins/multiedit/multiedit/viewactivatable.py
+++ b/plugins/multiedit/multiedit/viewactivatable.py
@@ -72,6 +72,7 @@ class MultiEditViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
self.connect_signals(self.view, handlers)
self.connect_signal_after(self.view, 'move-cursor', self.on_move_cursor_after)
+ self.connect_signal_after(self.view, 'draw', self.on_view_draw_after)
self.view.props.has_tooltip = True
@@ -1291,9 +1292,12 @@ class MultiEditViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
def on_view_draw(self, view, cr):
window = view.get_window(Gtk.TextWindowType.TEXT)
- if Gtk.cairo_should_draw_window (cr, window):
- return self._draw_column_mode(cr)
+ if not window is None and Gtk.cairo_should_draw_window(cr, window):
+ self._draw_column_mode(cr)
+ return False
+
+ def on_view_draw_after(self, view, cr):
window = view.get_window(Gtk.TextWindowType.TOP)
if window is None or not Gtk.cairo_should_draw_window(cr, window):
@@ -1310,6 +1314,8 @@ class MultiEditViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
Gtk.cairo_transform_to_window(cr, view, window)
+ cr.save()
+
cr.translate(0.5, 0.5)
cr.set_line_width(1)
@@ -1319,11 +1325,15 @@ class MultiEditViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
cr.move_to(0, h - 1)
cr.rel_line_to(w, 0)
cr.stroke()
+ cr.restore()
- context = self.view.get_style_context()
- Gdk.cairo_set_source_rgba(cr, context.get_color(Gtk.StateFlags.NORMAL))
- cr.move_to(w - extents[1].width - 3, (h - extents[1].height) / 2)
- PangoCairo.show_layout(cr, layout)
+ ctx = self.view.get_style_context()
+ ctx.save()
+ ctx.add_class('top')
+
+ cr.save()
+ Gtk.render_layout(ctx, cr, w - extents[1].width - 3, (h - extents[1].height) / 2, layout)
+ cr.restore()
if not self._status:
status = ''
@@ -1333,8 +1343,11 @@ class MultiEditViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
if status:
layout.set_markup(status, -1)
- cr.move_to(3, (h - extents[1].height) / 2)
- PangoCairo.show_layout(cr, layout)
+ cr.save()
+ Gtk.render_layout(ctx, cr, 3, (h - extents[1].height) / 2, layout)
+ cr.restore()
+
+ ctx.restore()
return False
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]