コード例 #1
0
ファイル: guidedlg.py プロジェクト: shumik/skencil-c
    def build_dlg(self):
	top = self.top

	var_number = DoubleVar(top)
	var_unit = StringVar(top)
	self.var_pos = LengthVar(1.0, config.preferences.default_unit,
                                 var_number, var_unit, command = self.set_pos)
	pos_frame = Frame(top)
	pos_frame.pack(side = TOP, fill = X, expand = 0)
	self.var_label = StringVar(top)
	self.var_label.set('X:')
	label = Label(pos_frame, textvariable = self.var_label)
	label.pack(side = LEFT, expand = 1, anchor = E)
	entry = MyEntry(pos_frame, textvariable = var_number,
			justify = RIGHT, width = 4,
			command = self.var_pos.UpdateNumber)
	entry.pack(side = LEFT, expand = 1, fill = X, anchor = E)
	scroll = MiniScroller(pos_frame, variable = var_number,
			      min = 0, max = None, step = 1)
	scroll.pack(side = LEFT, fill = Y)
	optmenu = create_unit_menu(pos_frame, self.set_unit,
				   variable = var_unit,
				   indicatoron = 0, width = 3)
	optmenu.pack(side = LEFT, expand = 1, fill = X, anchor = W)

	list_frame = Frame(top)
	list_frame.pack(side = TOP, expand = 1, fill = BOTH)

	sb_vert = Scrollbar(list_frame, takefocus = 0)
	sb_vert.pack(side = RIGHT, fill = Y)
	guides = UpdatedListbox(list_frame, name = 'list')
	guides.pack(expand = 1, fill = BOTH)
	guides.Subscribe(SELECTION, self.select_guide)
	sb_vert['command'] = (guides, 'yview')
	guides['yscrollcommand'] = (sb_vert, 'set')
	self.guides = guides
	self.selected = None

	frame = Frame(top)
	frame.pack(side = BOTTOM, fill = X)
	button = UpdatedButton(frame, text = _("Add H"),
			       command = self.add_guide, args = 1)
	button.pack(side = LEFT)
	button = UpdatedButton(frame, text = _("Add V"),
			       command = self.add_guide, args = 0)
	button.pack(side = LEFT)
	button = UpdatedButton(frame, text = _("Delete"),
			       command = self.del_guide)
	button.pack(side = LEFT)
	button = UpdatedButton(frame, text = _("Close"),
			       command = self.close_dlg)
	button.pack(side = RIGHT)
コード例 #2
0
ファイル: filldlg.py プロジェクト: shumik/skencil-c
    def __init__(self, master=None, **kw):
	apply(PatternFrame.__init__, (self, master), kw)

	frame = Frame(self)
	frame.pack(side = TOP, fill = X, expand = 1)
	self.colors = [None, None]
	self.colors[0] = ColorButton(frame, height = 1,
				     command = self.set_color, args = 0)
	self.colors[0].pack(side = LEFT, fill = X, expand = 1)
	self.colors[1] = ColorButton(frame, height = 1,
				     command = self.set_color, args = 1)
	self.colors[1].pack(side = LEFT, fill = X, expand = 1)

	var_spacing_number = DoubleVar(self)
	var_unit = StringVar(self)
	self.var_spacing = LengthVar(1.0, config.preferences.default_unit,
                                     var_spacing_number, var_unit,
                                     command = self.set_spacing)
	width_frame = Frame(self)
	width_frame.pack(side = TOP, fill = X, expand = 1)
	#label = Label(width_frame, text = 'Spacing')
	#label.pack(side = LEFT, expand = 1, anchor = E)
	entry = MyEntry(width_frame, textvariable = var_spacing_number,
			justify = RIGHT, width = 6,
			command = self.var_spacing.UpdateNumber)
	entry.pack(side = LEFT, expand = 1, fill = X)
	scroll = MiniScroller(width_frame, variable = var_spacing_number,
			      min = 0.0, max = None, step = 1.0,
			      command = self.var_spacing.UpdateNumber)
	scroll.pack(side = LEFT, fill = Y)
	optmenu = create_unit_menu(width_frame, self.var_spacing.UpdateUnit,
				   variable = var_unit,
				   indicatoron = 0, width = 3)
	optmenu.pack(side = LEFT, expand = 1, fill = X, anchor = W)

	self.SetPattern(HatchingPattern(StandardColors.red))
コード例 #3
0
ファイル: filldlg.py プロジェクト: veltsov/skencil-tk
    def __init__(self, master=None, **kw):
        apply(PatternFrame.__init__, (self, master), kw)

        frame = Frame(self)
        frame.pack(side = TOP, fill = X, expand = 1)
        self.colors = [None, None]
        self.colors[0] = ColorButton(frame, height = 1,
                                     command = self.set_color, args = 0)
        self.colors[0].pack(side = LEFT, fill = X, expand = 1)
        self.colors[1] = ColorButton(frame, height = 1,
                                     command = self.set_color, args = 1)
        self.colors[1].pack(side = LEFT, fill = X, expand = 1)

        var_spacing_number = DoubleVar(self)
        var_unit = StringVar(self)
        self.var_spacing = LengthVar(1.0, config.preferences.default_unit,
                                     var_spacing_number, var_unit,
                                     command = self.set_spacing)
        width_frame = Frame(self)
        width_frame.pack(side = TOP, fill = X, expand = 1)
        #label = Label(width_frame, text = 'Spacing')
        #label.pack(side = LEFT, expand = 1, anchor = E)
        entry = MyEntry(width_frame, textvariable = var_spacing_number,
                        justify = RIGHT, width = 6,
                        command = self.var_spacing.UpdateNumber)
        entry.pack(side = LEFT, expand = 1, fill = X)
        scroll = MiniScroller(width_frame, variable = var_spacing_number,
                              min = 0.0, max = None, step = 1.0,
                              command = self.var_spacing.UpdateNumber)
        scroll.pack(side = LEFT, fill = Y)
        optmenu = create_unit_menu(width_frame, self.var_spacing.UpdateUnit,
                                   variable = var_unit,
                                   indicatoron = 0, width = 3)
        optmenu.pack(side = LEFT, expand = 1, fill = X, anchor = W)

        self.SetPattern(HatchingPattern(StandardColors.red))
コード例 #4
0
    def build_dlg(self):
        top = self.top

        #
        #	Undo
        #

        undo_frame = self.make_frame()
        label = Label(undo_frame, text=_("# Undo Levels:"), anchor=E)
        label.pack(side=LEFT, expand=1, fill=X)

        self.var_undo = IntVar(top)
        self.undo_entry = Entry(undo_frame,
                                textvariable=self.var_undo,
                                width=4)
        self.undo_entry.pack(side=LEFT)
        self.var_unlimited = IntVar(top)
        check = UpdatedCheckbutton(undo_frame,
                                   text=_("unlimited"),
                                   variable=self.var_unlimited,
                                   command=self.unlimited_undo)
        check.pack(side=RIGHT, expand=1, anchor=W)
        limit = preferences.undo_limit
        if limit == None:
            self.var_undo.set(10)
            self.var_unlimited.set(1)
        else:
            if limit < 0:
                limit = 0
            self.var_undo.set(limit)
            self.var_unlimited.set(0)

        #
        #	Duplication
        #

        off_frame = self.make_frame()
        var_off_x_number = DoubleVar(top)
        var_off_y_number = DoubleVar(top)
        var_off_x_unit = StringVar(top)
        var_off_y_unit = StringVar(top)
        x, y = preferences.duplicate_offset
        unit = config.preferences.default_unit
        self.var_off_x = LengthVar(x, unit, var_off_x_number, var_off_x_unit)
        self.var_off_y = LengthVar(y, unit, var_off_y_number, var_off_y_unit)
        label = Label(off_frame, text=_("Duplication Offset"))
        label.pack(side=TOP, anchor=W)
        label = Label(off_frame, text=_("Hor."))
        label.pack(side=LEFT, expand=1, anchor=E)
        entry = MyEntry(off_frame,
                        textvariable=var_off_x_number,
                        width=6,
                        command=self.var_off_x.UpdateNumber)
        entry.pack(side=LEFT, fill=X, anchor=E)
        label = Label(off_frame, text=_("Vert."))
        label.pack(side=LEFT, anchor=E)
        entry = MyEntry(off_frame,
                        textvariable=var_off_y_number,
                        width=6,
                        command=self.var_off_y.UpdateNumber)
        entry.pack(side=LEFT, fill=X, anchor=E)

        def CallBoth(arg, x=self.var_off_x, y=self.var_off_y):
            x.UpdateUnit(arg)
            y.UpdateUnit(arg)

        optmenu = create_unit_menu(off_frame,
                                   CallBoth,
                                   variable=var_off_x_unit,
                                   indicatoron=0,
                                   width=3)
        optmenu.pack(side=LEFT, expand=1, anchor=W)

        #
        #       Default Unit
        #

        self.default_unit = config.preferences.default_unit
        frame = self.make_frame()
        label = Label(frame, text=_("Default Unit"))
        label.pack(side=LEFT, expand=1)
        menu = create_unit_menu(frame,
                                self.set_unit,
                                indicatoron=0,
                                width=3,
                                text=self.default_unit)
        menu.pack(side=RIGHT, expand=1)

        #
        #	Gradient Patterns
        #

        #self.var_steps = IntVar(top)
        #self.var_steps.set(preferences.gradient_steps)
        #frame = self.make_frame()
        #label = Label(frame, text = 'Gradient Steps')

        #
        #	Standard Buttons (OK, Cancel)
        #

        but_frame = Frame(top)
        but_frame.pack(side=BOTTOM, fill=BOTH, expand=1, padx=4, pady=4)
        button = UpdatedButton(but_frame, text=_("OK"), command=self.ok)
        button.pack(side=LEFT, expand=1)
        button = UpdatedButton(but_frame,
                               text=_("Cancel"),
                               command=self.close_dlg)
        button.pack(side=RIGHT, expand=1)
コード例 #5
0
ファイル: guidedlg.py プロジェクト: veltsov/skencil-tk
    def build_dlg(self):
        top = self.top

        var_number = DoubleVar(top)
        var_unit = StringVar(top)
        self.var_pos = LengthVar(1.0,
                                 config.preferences.default_unit,
                                 var_number,
                                 var_unit,
                                 command=self.set_pos)
        pos_frame = Frame(top)
        pos_frame.pack(side=TOP, fill=X, expand=0)
        self.var_label = StringVar(top)
        self.var_label.set('X:')
        label = Label(pos_frame, textvariable=self.var_label)
        label.pack(side=LEFT, expand=1, anchor=E)
        entry = MyEntry(pos_frame,
                        textvariable=var_number,
                        justify=RIGHT,
                        width=4,
                        command=self.var_pos.UpdateNumber)
        entry.pack(side=LEFT, expand=1, fill=X, anchor=E)
        scroll = MiniScroller(pos_frame,
                              variable=var_number,
                              min=0,
                              max=None,
                              step=1)
        scroll.pack(side=LEFT, fill=Y)
        optmenu = create_unit_menu(pos_frame,
                                   self.set_unit,
                                   variable=var_unit,
                                   indicatoron=0,
                                   width=3)
        optmenu.pack(side=LEFT, expand=1, fill=X, anchor=W)

        list_frame = Frame(top)
        list_frame.pack(side=TOP, expand=1, fill=BOTH)

        sb_vert = Scrollbar(list_frame, takefocus=0)
        sb_vert.pack(side=RIGHT, fill=Y)
        guides = UpdatedListbox(list_frame, name='list')
        guides.pack(expand=1, fill=BOTH)
        guides.Subscribe(SELECTION, self.select_guide)
        sb_vert['command'] = (guides, 'yview')
        guides['yscrollcommand'] = (sb_vert, 'set')
        self.guides = guides
        self.selected = None

        frame = Frame(top)
        frame.pack(side=BOTTOM, fill=X)
        button = UpdatedButton(frame,
                               text=_("Add H"),
                               command=self.add_guide,
                               args=1)
        button.pack(side=LEFT)
        button = UpdatedButton(frame,
                               text=_("Add V"),
                               command=self.add_guide,
                               args=0)
        button.pack(side=LEFT)
        button = UpdatedButton(frame, text=_("Delete"), command=self.del_guide)
        button.pack(side=LEFT)
        button = UpdatedButton(frame, text=_("Close"), command=self.close_dlg)
        button.pack(side=RIGHT)
コード例 #6
0
ファイル: optiondlg.py プロジェクト: shumik/skencil-c
    def build_dlg(self):
	top = self.top

	#
	#	Undo
	#

	undo_frame = self.make_frame()
	label = Label(undo_frame, text = _("# Undo Levels:"), anchor = E)
	label.pack(side = LEFT, expand = 1, fill = X)

	self.var_undo = IntVar(top)
	self.undo_entry = Entry(undo_frame, textvariable = self.var_undo,
				width = 4)
	self.undo_entry.pack(side = LEFT)
	self.var_unlimited = IntVar(top)
	check = UpdatedCheckbutton(undo_frame,
				   text = _("unlimited"),
				   variable = self.var_unlimited,
				   command = self.unlimited_undo)
	check.pack(side = RIGHT, expand = 1, anchor = W)
	limit = preferences.undo_limit
	if limit == None:
	    self.var_undo.set(10)
	    self.var_unlimited.set(1)
	else:
	    if limit < 0:
		limit = 0
	    self.var_undo.set(limit)
	    self.var_unlimited.set(0)


	#
	#	Duplication
	#

	off_frame = self.make_frame()
	var_off_x_number = DoubleVar(top)
	var_off_y_number = DoubleVar(top)
	var_off_x_unit = StringVar(top)
	var_off_y_unit = StringVar(top)
	x, y = preferences.duplicate_offset
        unit = config.preferences.default_unit
	self.var_off_x = LengthVar(x, unit, var_off_x_number, var_off_x_unit)
	self.var_off_y = LengthVar(y, unit, var_off_y_number, var_off_y_unit)
	label = Label(off_frame, text = _("Duplication Offset"))
	label.pack(side = TOP, anchor = W)
	label = Label(off_frame, text = _("Hor."))
	label.pack(side = LEFT, expand = 1, anchor = E)
	entry = MyEntry(off_frame, textvariable = var_off_x_number,
			width = 6, command = self.var_off_x.UpdateNumber)
	entry.pack(side = LEFT, fill = X, anchor = E)
	label = Label(off_frame, text = _("Vert."))
	label.pack(side = LEFT, anchor = E)
	entry = MyEntry(off_frame, textvariable = var_off_y_number,
			width = 6, command = self.var_off_y.UpdateNumber)
	entry.pack(side = LEFT, fill = X, anchor = E)

	def CallBoth(arg, x = self.var_off_x, y = self.var_off_y):
	    x.UpdateUnit(arg)
	    y.UpdateUnit(arg)

	optmenu = create_unit_menu(off_frame, CallBoth,
				   variable = var_off_x_unit,
				   indicatoron = 0, width = 3)
	optmenu.pack(side = LEFT, expand = 1, anchor = W)

        #
        #       Default Unit
        #

        self.default_unit = config.preferences.default_unit
        frame = self.make_frame()
        label = Label(frame, text = _("Default Unit"))
        label.pack(side = LEFT, expand = 1)
        menu = create_unit_menu(frame, self.set_unit, indicatoron = 0,
                                width = 3, text = self.default_unit)
        menu.pack(side = RIGHT, expand = 1)


	#
	#	Gradient Patterns
	#

	#self.var_steps = IntVar(top)
	#self.var_steps.set(preferences.gradient_steps)
	#frame = self.make_frame()
	#label = Label(frame, text = 'Gradient Steps')


	#
	#	Standard Buttons (OK, Cancel)
	#

	but_frame = Frame(top)
	but_frame.pack(side = BOTTOM, fill = BOTH, expand = 1,
		       padx = 4, pady = 4)
	button = UpdatedButton(but_frame, text = _("OK"), command = self.ok)
	button.pack(side = LEFT, expand = 1)
	button = UpdatedButton(but_frame, text = _("Cancel"),
			       command = self.close_dlg)
	button.pack(side = RIGHT, expand = 1)
コード例 #7
0
ファイル: layoutdlg.py プロジェクト: shumik/skencil-c
    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)
コード例 #8
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)