def __init__(self, application): gtk.HPaned.__init__(self) from ui.canvas import Canvas self.canvas = Canvas(application) self.properties = Properties(application) self.canvas.connect("select", self.select) self.canvas.connect("finalize", self.finalize) self.canvas.connect("edit-child", self.edit_child) self.canvas.connect("scroll-event", self.wheel) box = gtk.VBox() self.notification = Notification() code_editor = None if '--source-editor-test' in sys.argv: while True: try: from ui.code_editor import CodeEditor except: self.notification.notificate( _("No module GtkSourceView installed"), ERROR) self.pack1(box, True, False) break panel = gtk.VPaned() panel.pack1(box, True, False) code_editor = CodeEditor(application) code_editor.editor.set_language("sql") panel.pack2(code_editor, False, True) self.pack1(panel, True, False) break else: self.pack1(box, True, False) self.pack2(self.properties, False, True) top = gtk.HBox() box.pack_start(top, False, False) top.pack_start(self.notification, False, False) layer_selector = LayerSelector() alignment = gtk.Alignment(1.0, 0.5) alignment.add(layer_selector) top.pack_start(alignment, True, True) separator = gtk.VSeparator() top.pack_start(separator, False, False) self.image = gtk.Image() self.image.set_from_stock(CONTRACT_PROPERTIES, gtk.ICON_SIZE_MENU) button = gtk.Button() button.set_image(self.image) button.set_relief(gtk.RELIEF_NONE) button.connect("clicked", self.toggle_properties) top.pack_start(button, False, False) table = gtk.Table() box.add(table) bottom = gtk.HBox() box.pack_start(bottom, False, False) self.climber = Climber(self.canvas) bottom.pack_start(self.climber, False, False) pager = Pager(self.canvas) alignment = gtk.Alignment(1.0, 0.5) alignment.add(pager) bottom.pack_start(alignment, True, True) self.horizontal_ruler = HorizontalRuler() self.horizontal_ruler.connect("append-tag", self.append_tag) self.horizontal_ruler.connect("move-tag", self.move_tag) table.attach(self.horizontal_ruler, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND, 0) self.vertical_ruler = VerticalRuler() self.vertical_ruler.connect("append-tag", self.append_tag) self.vertical_ruler.connect("move-tag", self.move_tag) table.attach(self.vertical_ruler, 0, 1, 1, 2, 0, gtk.FILL | gtk.EXPAND) area = gtk.ScrolledWindow() area.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) adjustment = area.get_vadjustment() adjustment.connect("value-changed", self.scroll, VERTICAL) adjustment = area.get_hadjustment() adjustment.connect("value-changed", self.scroll, HORIZONTAL) table.attach(area, 1, 2, 1, 2, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND) self.canvas.code_editor = code_editor self.canvas.horizontal_ruler = self.horizontal_ruler self.canvas.vertical_ruler = self.vertical_ruler self.connect("realize", self.realize, area)