Example #1
0
    def mk_line_menu(self, agr):
        self.line_item = Gtk.MenuItem.new_with_mnemonic(label="_Line")
        self.operations_bar.append(self.line_item)
        self.line_menu = Gtk.Menu()
        self.line_item.set_submenu(self.line_menu)

        self.line_2point_item = Gtk.MenuItem(label="Two point line")
        self.line_2point_item.connect(
            "activate",
            lambda *args: ep.push_event(ee.line_2point_click, args))

        self.line_menu.append(self.line_2point_item)
Example #2
0
    def __init__(self, argv):
        args = {
            "--verbose": {
                "is_set": util.NOT_SET,
                "has_option": util.HAS_OPTION,
                "option": None
            },
            "--plugins-dir": {
                "is_set": util.NOT_SET,
                "has_option": util.HAS_OPTION,
                "option": None
            }
        }
        util.parse_args(args, argv)
        if args["--verbose"]["has_option"]:
            verbose_level = int(args["--verbose"]["option"])
            if verbose_level == 1:
                logging.getLogger("").setLevel(logging.CRITICAL)
            elif verbose_level == 2:
                logging.getLogger("").setLevel(logging.ERROR)
            elif verbose_level == 3:
                logging.getLogger("").setLevel(logging.WARNING)
            elif verbose_level == 4:
                logging.getLogger("").setLevel(logging.INFO)
            elif verbose_level >= 5:
                logging.getLogger("").setLevel(logging.DEBUG)

        self.window = Gtk.Window()
        self.window.maximize()
        self.window.connect("delete-event", Gtk.main_quit)

        self.window.set_events(Gdk.EventMask.KEY_PRESS_MASK
                               | Gdk.EventMask.KEY_RELEASE_MASK)
        self.window.connect("key_press_event", self.key_press_event)
        self.window.connect("key_release_event", self.key_release_event)

        self.menu_bar = Gtk.MenuBar()
        agr = Gtk.AccelGroup()
        self.window.add_accel_group(agr)
        self.mk_file_menu(agr)
        self.mk_edit_menu(agr)

        self.window_vbox = Gtk.VBox(homogeneous=False, spacing=0)
        self.window_vbox.pack_start(self.menu_bar,
                                    expand=False,
                                    fill=False,
                                    padding=0)

        self.window.add(self.window_vbox)

        self.widget = CairoScreen()

        self.__mk_left_vbox()
        self.hbox = Gtk.HBox(homogeneous=False, spacing=0)
        self.hbox.pack_start(self.left_vbox,
                             expand=False,
                             fill=False,
                             padding=0)

        self.widget_vbox = Gtk.VBox(homogeneous=False, spacing=0)

        self.operations_hbox = Gtk.HBox(homogeneous=False, spacing=0)
        self.operations_bar = Gtk.MenuBar()
        self.operations_hbox.pack_start(self.operations_bar,
                                        expand=False,
                                        fill=False,
                                        padding=0)
        self.mk_line_menu(agr)
        self.mk_circle_menu(agr)
        self.mk_rectangle_menu(agr)

        hseparator = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)
        self.operations_hbox.pack_start(hseparator,
                                        expand=False,
                                        fill=False,
                                        padding=0)
        self.snap_bar = Gtk.MenuBar()
        self.mk_snap_menu(agr)

        self.widget_vbox.pack_start(self.operations_hbox,
                                    expand=False,
                                    fill=False,
                                    padding=0)
        self.widget_vbox.pack_start(self.widget,
                                    expand=True,
                                    fill=True,
                                    padding=0)

        self.hbox.pack_start(self.widget_vbox,
                             expand=True,
                             fill=True,
                             padding=0)

        self.window_vbox.pack_start(self.hbox,
                                    expand=True,
                                    fill=True,
                                    padding=0)

        self.window.show_all()
        self.window.present()
        ep.push_event(ee.sketcher_start, (None))
        Singleton.mw = self
        ep.mw = self
        gobject.timeout_add(10, self.widget.periodic)
        Gtk.main()
Example #3
0
 def motion_notify_event(self, widget, event):
     ep.push_event(ee.pointer_motion, (event.x, event.y))
Example #4
0
 def button_release_event(self, widget, event):
     if event.button == 1:
         ep.push_event(ee.screen_left_release, (event.x, event.y))
Example #5
0
 def key_press_event(self, widget, event):
     debug("key press:" + str(event.keyval))
     if event.keyval == Gdk.keyval_from_name('Escape'): # ESC
        ep.push_event(ee.escape, (None))
Example #6
0
 def button_press_event(self, widget, event):
     if event.button == 1:
         ep.push_event(ee.screen_left_press, (event.x, event.y))
Example #7
0
 def scroll_event(self, widget, event):
     if event.direction == Gdk.ScrollDirection.UP:
         ep.push_event(ee.scroll_up, (None))
     elif event.direction == Gdk.ScrollDirection.DOWN:
         ep.push_event(ee.scroll_down, (None))