Lines Matching full:self
47 def __init__(self, trace, options, xscale): argument
48 gtk.DrawingArea.__init__(self)
50 self.trace = trace
51 self.options = options
53 self.set_can_focus(True)
55 self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK)
56 self.connect("button-press-event", self.on_area_button_press)
57 self.connect("button-release-event", self.on_area_button_release)
58 …self.add_events(Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.POINTER_MOTION_HINT_MASK | Gdk.E…
59 self.connect("motion-notify-event", self.on_area_motion_notify)
60 self.connect("scroll-event", self.on_area_scroll_event)
61 self.connect('key-press-event', self.on_key_press_event)
63 self.connect("size-allocate", self.on_allocation_size_changed)
64 self.connect("position-changed", self.on_position_changed)
66 self.connect("draw", self.on_draw)
68 self.zoom_ratio = 1.0
69 self.xscale = xscale
70 self.x, self.y = 0.0, 0.0
72 self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace)
73 self.our_width, self.our_height = self.chart_width, self.chart_height
75 self.hadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
76 self.vadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
77 self.vadj.connect('value-changed', self.on_adjustments_changed)
78 self.hadj.connect('value-changed', self.on_adjustments_changed)
80 def bound_vals(self): argument
81 self.x = max(0, self.x)
82 self.y = max(0, self.y)
83 self.x = min(self.chart_width - self.our_width, self.x)
84 self.y = min(self.chart_height - self.our_height, self.y)
86 def on_draw(self, darea, cr): argument
89 # self.x, self.y,
90 # self.chart_width, self.chart_height
95 cr.scale(self.zoom_ratio, self.zoom_ratio)
96 cr.translate(-self.x, -self.y)
97 draw.render(cr, self.options, self.xscale, self.trace)
99 def position_changed(self): argument
100 self.emit("position-changed", self.x, self.y)
104 def zoom_image (self, zoom_ratio): argument
105 self.zoom_ratio = zoom_ratio
106 self._set_scroll_adjustments()
107 self.queue_draw()
109 def zoom_to_rect (self, rect): argument
110 zoom_ratio = float(rect.width)/float(self.chart_width)
111 self.zoom_image(zoom_ratio)
112 self.x = 0
113 self.position_changed()
115 def set_xscale(self, xscale): argument
116 old_mid_x = self.x + self.hadj.page_size / 2
117 self.xscale = xscale
118 self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace)
120 self.zoom_image (self.zoom_ratio)
122 def on_expand(self, action): argument
123 self.set_xscale (int(self.xscale * 1.5 + 0.5))
125 def on_contract(self, action): argument
126 self.set_xscale (max(int(self.xscale / 1.5), 1))
128 def on_zoom_in(self, action): argument
129 self.zoom_image(self.zoom_ratio * self.ZOOM_INCREMENT)
131 def on_zoom_out(self, action): argument
132 self.zoom_image(self.zoom_ratio / self.ZOOM_INCREMENT)
134 def on_zoom_fit(self, action): argument
135 self.zoom_to_rect(self.get_allocation())
137 def on_zoom_100(self, action): argument
138 self.zoom_image(1.0)
139 self.set_xscale(1.0)
141 def show_toggled(self, button): argument
142 self.options.app_options.show_all = button.get_property ('active')
143 self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace)
144 self._set_scroll_adjustments()
145 self.queue_draw()
149 def on_key_press_event(self, widget, event): argument
151 self.x -= self.POS_INCREMENT/self.zoom_ratio
153 self.x += self.POS_INCREMENT/self.zoom_ratio
155 self.y -= self.POS_INCREMENT/self.zoom_ratio
157 self.y += self.POS_INCREMENT/self.zoom_ratio
160 self.bound_vals()
161 self.queue_draw()
162 self.position_changed()
165 def on_area_button_press(self, area, event): argument
167 window = self.get_window()
169 self.prevmousex = event.x
170 self.prevmousey = event.y
175 def on_area_button_release(self, area, event): argument
177 window = self.get_window()
179 self.prevmousex = None
180 self.prevmousey = None
184 def on_area_scroll_event(self, area, event): argument
187 self.zoom_image(self.zoom_ratio * self.ZOOM_INCREMENT)
190 self.zoom_image(self.zoom_ratio / self.ZOOM_INCREMENT)
194 def on_area_motion_notify(self, area, event): argument
199 self.x += (self.prevmousex - x)/self.zoom_ratio
200 self.y += (self.prevmousey - y)/self.zoom_ratio
201 self.bound_vals()
202 self.queue_draw()
203 self.prevmousex = x
204 self.prevmousey = y
205 self.position_changed()
208 def on_allocation_size_changed(self, widget, allocation): argument
209 self.hadj.page_size = allocation.width
210 self.hadj.page_increment = allocation.width * 0.9
211 self.vadj.page_size = allocation.height
212 self.vadj.page_increment = allocation.height * 0.9
213 self.our_width = allocation.width
214 if self.chart_width < self.our_width:
215 self.our_width = self.chart_width
216 self.our_height = allocation.height
217 if self.chart_height < self.our_height:
218 self.our_height = self.chart_height
219 self._set_scroll_adjustments()
221 def _set_adj_upper(self, adj, upper): argument
226 def _set_scroll_adjustments(self): argument
227 self._set_adj_upper (self.hadj, self.zoom_ratio * (self.chart_width - self.our_width))
228 self._set_adj_upper (self.vadj, self.zoom_ratio * (self.chart_height - self.our_height))
230 def on_adjustments_changed(self, adj): argument
231 self.x = self.hadj.get_value() / self.zoom_ratio
232 self.y = self.vadj.get_value() / self.zoom_ratio
233 self.queue_draw()
235 def on_position_changed(self, widget, x, y): argument
236 self.hadj.set_value(x * self.zoom_ratio)
237 #self.hadj.value_changed()
238 self.vadj.set_value(y * self.zoom_ratio)
254 def __init__(self, window, trace, options, xscale): argument
255 gtk.VBox.__init__(self)
257 self.widget2 = PyBootchartWidget(trace, options, xscale)
260 uimanager = self.uimanager = gtk.UIManager()
268 self.actiongroup = actiongroup
272 ('Expand', gtk.STOCK_ADD, None, None, None, self.widget2.on_expand),
273 ('Contract', gtk.STOCK_REMOVE, None, None, None, self.widget2.on_contract),
274 ('ZoomIn', gtk.STOCK_ZOOM_IN, None, None, None, self.widget2.on_zoom_in),
275 ('ZoomOut', gtk.STOCK_ZOOM_OUT, None, None, None, self.widget2.on_zoom_out),
276 ('ZoomFit', gtk.STOCK_ZOOM_FIT, 'Fit Width', None, None, self.widget2.on_zoom_fit),
277 ('Zoom100', gtk.STOCK_ZOOM_100, None, None, None, self.widget2.on_zoom_100),
284 uimanager.add_ui_from_string(self.ui)
287 scrolled = gtk.ScrolledWindow(self.widget2.hadj, self.widget2.vadj)
288 scrolled.add(self.widget2)
291 #scrolled.set_vadjustment(self.widget2.vadj)
304 button.connect ('toggled', self.widget2.show_toggled)
308 self.pack_start(hbox, False, True, 0)
309 self.pack_start(scrolled, True, True, 0)
310 self.show_all()
312 def grab_focus(self, window): argument
313 window.set_focus(self.widget2)
318 def __init__(self, trace, app_options): argument
319 gtk.Window.__init__(self)
321 window = self
341 full_tree.grab_focus(self)
342 self.show()