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()
예제 #2
0
파일: demo.py 프로젝트: zmughal/goocanvas
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)
예제 #3
0
 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')
예제 #4
0
파일: goocanvas.py 프로젝트: sumchege/vdwll
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
예제 #5
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()
예제 #6
0
    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)
예제 #7
0
 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)