コード例 #1
0
ファイル: layerdlg.py プロジェクト: veltsov/skencil-tk
 def create_widgets(self, frame, idx, set_active_layer, rename,
                    set_layer_state, set_color, context_menu):
     self.index.SetValue(idx)
     idx = (self.index, )
     self.button = UpdatedRadiobutton(frame,
                                      anchor=W,
                                      value=idx,
                                      width=10,
                                      variable=self.active_var,
                                      command=set_active_layer)
     self.button.bind('<ButtonPress-3>', context_menu)
     self.button.bind('<ButtonPress-2>', rename)
     self.button.bind('<Double-Button-1>', rename)
     self.var_visible = IntVar(frame)
     self.visible = UpdatedCheckbutton(frame,
                                       variable=self.var_visible,
                                       indicatoron=0,
                                       selectcolor='',
                                       command=set_layer_state,
                                       args=idx)
     self.var_printable = IntVar(frame)
     self.printable = UpdatedCheckbutton(frame,
                                         variable=self.var_printable,
                                         indicatoron=0,
                                         selectcolor='',
                                         command=set_layer_state,
                                         args=idx)
     self.var_locked = IntVar(frame)
     self.locked = UpdatedCheckbutton(frame,
                                      variable=self.var_locked,
                                      indicatoron=0,
                                      selectcolor='',
                                      command=set_layer_state,
                                      args=idx)
     self.var_outlined = IntVar(frame)
     self.outlined = UpdatedCheckbutton(frame,
                                        variable=self.var_outlined,
                                        indicatoron=0,
                                        selectcolor='',
                                        command=set_layer_state,
                                        args=idx)
     self.color = ColorButton(
         frame,
         command=set_color,
         args=idx,
         width=2,
         dialog_master=frame.master.master.master.master)
コード例 #2
0
ファイル: aligndlg.py プロジェクト: veltsov/skencil-tk
    def build_dlg(self):
        top = self.top

        framey = Frame(top)
        framey.pack(side=LEFT, expand=1, fill=Y, padx=2, pady=2)
        framex = Frame(top)
        framex.pack(side=TOP, expand=1, fill=X, padx=2, pady=2, anchor='n')

        x_pixmaps = [
            pixmaps.AlignLeft, pixmaps.AlignCenterX, pixmaps.AlignRight
        ]
        y_pixmaps = [
            pixmaps.AlignTop, pixmaps.AlignCenterY, pixmaps.AlignBottom
        ]
        self.var_x = IntVar(top)
        self.var_x.set(0)
        self.value_x = 0
        self.var_y = IntVar(top)
        self.var_y.set(0)
        self.value_y = 0

        for i in range(1, 4):
            button = make_button(framex,
                                 bitmap=x_pixmaps[i - 1],
                                 value=i,
                                 variable=self.var_x,
                                 command=self.set_x)
            button.pack(side=LEFT, padx=1, pady=1, ipadx=1, ipady=1)
            button = make_button(framey,
                                 bitmap=y_pixmaps[i - 1],
                                 value=i,
                                 variable=self.var_y,
                                 command=self.set_y)
            button.pack(side=TOP, padx=1, pady=1, ipadx=1, ipady=1)

        button_frame = Frame(top)
        button_frame.pack(expand=1, fill=BOTH)
        button_frame.rowconfigure(3, minsize=5)

        apply_button = UpdatedButton(button_frame,
                                     text=_("Apply"),
                                     command=self.apply,
                                     sensitivecb=self.can_apply)
        apply_button.grid(
            row=4,
            column=0,  #columnspan= 2,
            sticky='ew')
        self.Subscribe(SELECTION, apply_button.Update)

        #button = UpdatedButton(button_frame, text = _("Reset"),
        #		       command = self.reset)
        #button.grid(column = 0, row = 4, sticky = 'ew')

        button = UpdatedButton(button_frame,
                               text=_("Close"),
                               command=self.close_dlg)
        button.grid(column=1, row=4, sticky='ew')

        self.var_reference = StringVar(top)
        self.var_reference.set('selection')
        radio = UpdatedRadiobutton(button_frame,
                                   value='selection',
                                   text=_("Relative To Selection"),
                                   variable=self.var_reference,
                                   command=apply_button.Update)
        radio.grid(row=0, column=0, columnspan=2, sticky='ew')
        radio = UpdatedRadiobutton(button_frame,
                                   value='lowermost',
                                   text=_("Relative To Lowermost"),
                                   variable=self.var_reference,
                                   command=apply_button.Update)
        radio.grid(row=1, column=0, columnspan=2, sticky='ew')
        radio = UpdatedRadiobutton(button_frame,
                                   value='page',
                                   text=_("Relative To Page"),
                                   variable=self.var_reference,
                                   command=apply_button.Update)
        radio.grid(row=2, column=0, columnspan=2, sticky='ew')
コード例 #3
0
    def build_dlg(self):
        top = self.top

        format_frame = Frame(top)
        format_frame.pack(side = TOP, expand = 1, fill = X,
                          padx = 4, pady = 4)
        format_label = Label(format_frame, text = _("Paper format:"))
        format_label.pack(side = LEFT, expand = 1, fill = X)

        format_names = map(lambda t: t[0], PapersizesList)
        format_names.append(USER_SPECIFIC)
        self.var_format_name = StringVar(top)
        format_menu = MyOptionMenu(format_frame, format_names,
                                   variable = self.var_format_name,
                                   command = self.choose_format)
        format_menu.configure(width = max(map(len, format_names)))
        format_menu.pack(side = RIGHT, expand = 1, fill = X)

        orientation_frame = Frame(top)
        orientation_frame.pack(side = TOP, expand = 1, fill = X)
        self.var_orientation = IntVar(top)
        radio = UpdatedRadiobutton(orientation_frame, text = _("Portrait"),
                                   variable = self.var_orientation,
                                   value = Portrait,
                                   command = self.choose_orientation)
        radio.pack(side = LEFT, expand = 1, fill = X)
        radio = UpdatedRadiobutton(orientation_frame, text = _("Landscape"),
                                   variable = self.var_orientation,
                                   value = Landscape,
                                   command = self.choose_orientation)
        radio.pack(side = RIGHT, expand = 1, fill = X)

        size_frame = Frame(top)
        size_frame.pack(side = TOP, fill = X, expand = 1, padx = 4, pady = 4)
        var_width_number = DoubleVar(top)
        var_height_number = DoubleVar(top)
        var_width_unit = StringVar(top)
        var_height_unit = StringVar(top)
        unit = config.preferences.default_unit
        self.var_width = LengthVar(10, unit, var_width_number, var_width_unit)
        self.var_height = LengthVar(10, unit,var_height_number,var_height_unit)
        label = Label(size_frame, text = _("Page size:"))
        label.pack(side = TOP, anchor = W)
        label = Label(size_frame, text = _("Width"))
        label.pack(side = LEFT, anchor = E)
        self.widthentry = MyEntry(size_frame, textvariable = var_width_number,
                                  command = self.var_width.UpdateNumber,
                                  width = 6)
        self.widthentry.pack(side = LEFT, expand = 1, fill = X, anchor = E)
        label = Label(size_frame, text = _("Height"))
        label.pack(side = LEFT, anchor = E)
        self.heightentry = MyEntry(size_frame, textvariable =var_height_number,
                                   command = self.var_height.UpdateNumber,
                                   width = 6)
        self.heightentry.pack(side = LEFT, expand = 1, fill = X, anchor = E)

        def CallBoth(arg, x = self.var_width, y = self.var_height):
            x.UpdateUnit(arg)
            y.UpdateUnit(arg)

        optmenu = create_unit_menu(size_frame, CallBoth,
                                   variable = var_width_unit,
                                   indicatoron = 0, width = 3)
        optmenu.pack(side = LEFT, expand = 1, fill = X, anchor = W)



        button_frame = Frame(top)
        button_frame.pack(side = BOTTOM, fill = BOTH, expand = 1,
                          padx = 4, pady = 4)
        button = UpdatedButton(button_frame, text = _("Apply"),
                               command = self.apply_settings)
        button.pack(side = LEFT, expand = 1)
        button = UpdatedButton(button_frame, text = _("Close"),
                               command = self.close_dlg)
        button.pack(side = RIGHT, expand = 1)