Updating makefil
[apertium.git] / apertium-tools / apertium-view / TextWidget.py
blobf97726b705d013d8448ec60a43d511fdd8c1bb7a
1 import os, string
2 from widget import *
4 MIN_SIZE = 30
7 def get_wTree(widget):
8 try:
9 return getattr(widget, "wTree")
10 except:
11 return get_wTree(widget.get_parent())
14 def get_widget(self, widget):
15 wTree = get_wTree(self)
16 return wTree.get_widget(widget)
19 def set_y_size(widget, sz):
20 widget.set_size_request(-1, max(sz, MIN_SIZE))
23 def is_collapsed(widget):
24 return widget.get_active()
27 @gtk_handler
28 def on_statusbar_motion_notify_event(widget, event):
29 if widget.button_down:
30 get_widget(widget, "btnCollapsed").set_active(False)
31 resizee = get_widget(widget, "scrolledwindow")
33 rect = resizee.get_allocation()
34 _, y_delta = event.get_coords()
36 set_y_size(resizee, rect.height + int(y_delta) - widget.y_offset)
39 @gtk_handler
40 def on_statusbar_button_release_event(widget, event):
41 widget.button_down = False
44 @gtk_handler
45 def on_statusbar_button_press_event(widget, event):
46 if not is_collapsed(get_widget(widget, "btnCollapsed")):
47 widget.button_down = True
48 widget.y_offset = int(event.get_coords()[1])
51 @gtk_handler
52 def on_btnCollapsed_toggled(widget, data=None):
53 resizee = get_widget(widget, "scrolledwindow")
55 if not is_collapsed(widget):
56 resizee.show()
58 else:
59 widget.old_height = resizee.get_allocation().height
60 resizee.hide()
63 @gtk_handler
64 def on_wndText_destroy(widget, data=None):
65 widget.hide()
66 widget.destroy()
69 @gtk_handler
70 def on_btnCloseTextWindow_clicked(widget, data=None):
71 get_widget(widget, "wndText").destroy()
74 @gtk_handler
75 def on_wndText_delete_event(widget, event, data=None):
76 return False
79 @gtk_handler
80 def on_btnOpenWindow_clicked(widget, data=None):
81 wTree = glade_load_and_connect("TextWindow.glade")
83 wTree.get_widget("wndText").wTree = wTree
84 wTree.get_widget("wndText").set_title(get_widget(widget, "entry").get_text())
86 text_view = make_source_view(widget.text_buffer)
87 scrolled_window = wTree.get_widget("scrolled_window")
88 scrolled_window.add_with_viewport(text_view)
91 def make(txt, child):
92 wTree = glade_load_and_connect("TextWidget.glade", root="vbox")
94 widget = wTree.get_widget("vbox")
95 widget.wTree = wTree
97 statusbar = wTree.get_widget("statusbar")
98 statusbar.button_down = False
100 path = txt.split(' ');
101 path[0] = os.path.basename(path[0]);
102 txt = string.join(path, ' ');
103 wTree.get_widget("entry").set_text(txt)
104 wTree.get_widget("viewport").add(child)
106 wTree.get_widget("btnCollapsed").set_active(True)
107 on_btnCollapsed_toggled(wTree.get_widget("btnCollapsed"))
109 wTree.get_widget("btnOpenWindow").text_buffer = child.get_buffer()
111 return widget