def __init__(self): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.customer_store = self.builder.get_object('customer_store') self.customer_store.clear() c = DB.cursor() c.execute("SELECT id::text, name, ext_name FROM contacts " "WHERE customer = True ORDER BY name") for row in c.fetchall(): self.customer_store.append(row) c.close() DB.rollback() sw = self.builder.get_object('scrolledwindow1') self.canvas = GooCanvas.Canvas() sw.add(self.canvas) self.canvas.set_property("automatic-bounds", True) self.canvas.set_property("bounds-padding", 10) customer_completion = self.builder.get_object('customer_completion') customer_completion.set_match_func(self.customer_match_func) window = self.builder.get_object('window') window.show_all()
def demo_window(setup_func): c = GooCanvas.Canvas() c.set_size_request(600, 450) widget = setup_func(c) or c w = Gtk.Window() w.set_size_request(600, 450) w.add(widget) w.show_all() w.connect("destroy", Gtk.main_quit)
def test_GooCanvas(self): """Just draw a rectangle in a canvas""" canvas = goo.Canvas() #self.vbox.add(canvas) canvas.set_size_request(300, 300) root = canvas.get_root_item() rect = goo.CanvasRect(parent = root, x = 100, y = 50, width = 100, height = 200, line_width = 1, fill_color = 'pale green')
def main(args): w = Gtk.Window() w.connect('destroy', lambda x: Gtk.main_quit()) cv = GooCanvas.Canvas() cv_root = cv.get_root_item() rect = GooCanvas.CanvasRect(parent=cv_root, stroke_color='red', x=10, y=20, width=400, height=30) w.add(cv) w.show_all() Gtk.main() return 0
def __init__(self): super(MainWindow, self).__init__() self.connect("destroy", self.quit) self.set_default_size(600, 600) canvas = GooCanvas.Canvas(hexpand=True, vexpand=True) cvroot = canvas.get_root_item() scroller = Gtk.ScrolledWindow() scroller.add(canvas) toolbox = Toolbox(cvroot) grid = Gtk.Grid() grid.attach(scroller, 0, 0, 1, 1) grid.attach(toolbox, 1, 0, 1, 1) self.add(grid) self.show_all()
def __init__(self): Gtk.Window.__init__(self, title='PDF Quench {}'.format(VERSION)) self.set_title('PDF Quench %s' % VERSION) self.set_default_size(900, 800) self.connect('delete_event', self.__on_delete_window) vbox = Gtk.VBox() self.add(vbox) # toolbar toolbar = Gtk.Toolbar() buttons = ( (Gtk.ToolButton.new( Gtk.Image.new_from_icon_name("document-open", Gtk.IconSize.SMALL_TOOLBAR)), self.__open_btn_clicked, 'Open'), (Gtk.ToolButton.new( Gtk.Image.new_from_icon_name("document-save", Gtk.IconSize.SMALL_TOOLBAR)), self.__save_btn_clicked, 'Save'), (Gtk.ToolButton.new( Gtk.Image.new_from_icon_name("zoom-in", Gtk.IconSize.SMALL_TOOLBAR)), self.__on_zoom_in_btn_clicked, 'Zoom In'), (Gtk.ToolButton.new( Gtk.Image.new_from_icon_name("zoom-out", Gtk.IconSize.SMALL_TOOLBAR)), self.__on_zoom_out_btn_clicked, 'Zoom Out'), ) for button, callback, tooltip in buttons: button.set_tooltip_text(tooltip) button.connect_after('clicked', callback) toolbar.insert(button, -1) vbox.pack_start(toolbar, expand=False, fill=False, padding=0) # main component paned = Gtk.HPaned() paned.set_position(100) vbox.pack_start(paned, expand=True, fill=True, padding=0) self.__pages_model = Gtk.ListStore(str, object) self.__pages_view = Gtk.TreeView.new_with_model(self.__pages_model) self.__pages_view.set_enable_search(False) self.__pages_view.get_selection().set_mode(Gtk.SelectionMode.SINGLE) self.__pages_view.get_selection().connect_after( 'changed', self.__on_page_selected) # columns column = Gtk.TreeViewColumn() column.set_title('Pages') column.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE) renderer = Gtk.CellRendererText() column.pack_start(renderer, False) column.add_attribute(renderer, 'text', 0) column.set_cell_data_func(renderer, self.__render_page_number) self.__pages_view.append_column(column) sw = Gtk.ScrolledWindow() sw.add(self.__pages_view) paned.add1(sw) self.__zoom_level = DEFAULT_ZOOM_LEVEL self.__canvas = GooCanvas.Canvas() self.__canvas.set_scale(ZOOM_LEVELS[DEFAULT_ZOOM_LEVEL]) self.__canvas.override_background_color( Gtk.StateType.NORMAL, Gdk.RGBA(240 / 255, 240 / 255, 240 / 255)) self.__dragging = False frame = Gtk.Frame() frame.set_shadow_type(Gtk.ShadowType.ETCHED_OUT) frame.set_border_width(10) paned.add2(frame) sw = Gtk.ScrolledWindow() sw.add(self.__canvas) frame.add(sw) accels = Gtk.AccelGroup() accels.connect(ord('o'), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.LOCKED, self.__on_ctrl_o_pressed) accels.connect(ord('O'), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.LOCKED, self.__on_ctrl_o_pressed) accels.connect(ord('s'), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.LOCKED, self.__on_ctrl_s_pressed) accels.connect(ord('S'), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.LOCKED, self.__on_ctrl_s_pressed) accels.connect(ord('+'), 0, Gtk.AccelFlags.LOCKED, self.__on_zoom_in_pressed) accels.connect(ord('-'), 0, Gtk.AccelFlags.LOCKED, self.__on_zoom_out_pressed) self.add_accel_group(accels) self.__current_page = None self.__pdf_filename = None self.__pdf_document = None self.__n_pages = None self.__pdf_view = None self.__default_crop = CropSetting() self.__odd_crop = CropSetting(self.__default_crop) self.__even_crop = CropSetting(self.__default_crop)
def test_ModuleLayer(self): canvas = goo.Canvas() #self.vbox.add(canvas) canvas.set_size_request(300, 300) root = canvas.get_root_item() ml = ModuleLayer(canvas, root, True)