Пример #1
0
    def __init__(self, parent, dlg, cms, image_style, onchange=None):
        self.image_style = deepcopy(image_style)
        self.callback = onchange
        wal.HPanel.__init__(self, parent)

        self.pack(wal.Label(self, _('Fg:')))
        txt = _('Change pattern foreground color')
        self.fg_btn = PDColorButton(self,
                                    dlg,
                                    cms,
                                    self.image_style[0],
                                    txt,
                                    onchange=self.fg_changed)
        self.pack(self.fg_btn, padding=5)

        self.pack((10, 1))

        self.pack(wal.Label(self, _('Bg:')))
        txt = _('Change pattern background color')
        self.bg_btn = PDColorButton(self,
                                    dlg,
                                    cms,
                                    self.image_style[1],
                                    txt,
                                    onchange=self.bg_changed)
        self.pack(self.bg_btn, padding=5)
Пример #2
0
	def __init__(self, parent, dlg, cms, stops, sel_stop=0, onposition=None,
				oncolor=None):
		self.dlg = dlg
		self.cms = cms
		self.stops = stops
		self.selected_stop = sel_stop
		self.pos_callback = onposition
		self.color_callback = oncolor
		wal.LabeledPanel.__init__(self, parent, text=_('Gradient stop'))
		grid = wal.GridPanel(self, cols=3, vgap=5, hgap=5)

		grid.pack(wal.Label(grid, _('Color value:')))

		clr = self.stops[self.selected_stop][1]
		txt = _('Change stop color')
		self.swatch = PDColorButton(grid, self.dlg, self.cms, clr, txt,
							onchange=self.edit_color)
		grid.pack(self.swatch)
		grid.pack((1, 1))

		grid.pack(wal.Label(grid, _('Position:')))
		self.position = wal.FloatSpin(grid, range_val=(0.0, 100.0), step=1.0,
							onchange=self.pos_changed, onenter=self.pos_changed)
		grid.pack(self.position)
		grid.pack(wal.Label(grid, '%'))
		self.pack(grid, align_center=False, padding_all=10)
Пример #3
0
class StopPanel(wal.LabeledPanel):

    dlg = None
    cms = None
    stops = None
    selected_stop = 0
    pos_callback = None
    color_callback = None

    def __init__(self, parent, dlg, cms, stops, sel_stop=0, onposition=None, oncolor=None):
        self.dlg = dlg
        self.cms = cms
        self.stops = stops
        self.selected_stop = sel_stop
        self.pos_callback = onposition
        self.color_callback = oncolor
        wal.LabeledPanel.__init__(self, parent, text=_("Gradient stop"))
        grid = wal.GridPanel(self, cols=3, vgap=5, hgap=5)

        grid.pack(wal.Label(grid, _("Color value:")))

        clr = self.stops[self.selected_stop][1]
        txt = _("Change stop color")
        self.swatch = PDColorButton(grid, self.dlg, self.cms, clr, txt, onchange=self.edit_color)
        grid.pack(self.swatch)
        grid.pack((1, 1))

        grid.pack(wal.Label(grid, _("Position:")))
        self.position = wal.FloatSpin(
            grid, range_val=(0.0, 100.0), step=1.0, onchange=self.pos_changed, onenter=self.pos_changed
        )
        grid.pack(self.position)
        grid.pack(wal.Label(grid, "%"))
        self.pack(grid, align_center=False, padding_all=10)

    def edit_color(self, color):
        self.stops[self.selected_stop][1] = color
        self.update()
        if self.color_callback:
            self.color_callback()

    def pos_changed(self):
        if self.pos_callback:
            pos = self.position.get_value() / 100.0
            self.pos_callback(self.selected_stop, pos)

    def set_selected_stop(self, index):
        self.selected_stop = index
        self.update()

    def set_stops(self, stops):
        self.stops = stops
        self.set_selected_stop(0)

    def update(self):
        last_indx = len(self.stops) - 1
        self.swatch.set_color(self.stops[self.selected_stop][1])
        self.position.set_value(self.stops[self.selected_stop][0] * 100.0)
        self.position.set_enable(not self.selected_stop in [0, last_indx])
Пример #4
0
class StopPanel(wal.LabeledPanel):

	dlg = None
	cms = None
	stops = None
	selected_stop = 0
	pos_callback = None
	color_callback = None

	def __init__(self, parent, dlg, cms, stops, sel_stop=0, onposition=None,
				oncolor=None):
		self.dlg = dlg
		self.cms = cms
		self.stops = stops
		self.selected_stop = sel_stop
		self.pos_callback = onposition
		self.color_callback = oncolor
		wal.LabeledPanel.__init__(self, parent, text=_('Gradient stop'))
		grid = wal.GridPanel(self, cols=3, vgap=5, hgap=5)

		grid.pack(wal.Label(grid, _('Color value:')))

		clr = self.stops[self.selected_stop][1]
		txt = _('Change stop color')
		self.swatch = PDColorButton(grid, self.dlg, self.cms, clr, txt,
							onchange=self.edit_color)
		grid.pack(self.swatch)
		grid.pack((1, 1))

		grid.pack(wal.Label(grid, _('Position:')))
		self.position = wal.FloatSpin(grid, range_val=(0.0, 100.0), step=1.0,
							onchange=self.pos_changed, onenter=self.pos_changed)
		grid.pack(self.position)
		grid.pack(wal.Label(grid, '%'))
		self.pack(grid, align_center=False, padding_all=10)

	def edit_color(self, color):
		self.stops[self.selected_stop][1] = color
		self.update()
		if self.color_callback:self.color_callback()

	def pos_changed(self):
		if self.pos_callback:
			pos = self.position.get_value() / 100.0
			self.pos_callback(self.selected_stop, pos)

	def set_selected_stop(self, index):
		self.selected_stop = index
		self.update()

	def set_stops(self, stops):
		self.stops = stops
		self.set_selected_stop(0)

	def update(self):
		last_indx = len(self.stops) - 1
		self.swatch.set_color(self.stops[self.selected_stop][1])
		self.position.set_value(self.stops[self.selected_stop][0] * 100.0)
		self.position.set_enable(not self.selected_stop in [0, last_indx])
Пример #5
0
class PatternColorEditor(wal.HPanel):
    image_style = []
    callback = None

    def __init__(self, parent, dlg, cms, image_style, onchange=None):
        self.image_style = deepcopy(image_style)
        self.callback = onchange
        wal.HPanel.__init__(self, parent)

        self.pack(wal.Label(self, _('Fg:')))
        txt = _('Change pattern foreground color')
        self.fg_btn = PDColorButton(self,
                                    dlg,
                                    cms,
                                    self.image_style[0],
                                    txt,
                                    onchange=self.fg_changed)
        self.pack(self.fg_btn, padding=5)

        self.pack((10, 1))

        self.pack(wal.Label(self, _('Bg:')))
        txt = _('Change pattern background color')
        self.bg_btn = PDColorButton(self,
                                    dlg,
                                    cms,
                                    self.image_style[1],
                                    txt,
                                    onchange=self.bg_changed)
        self.pack(self.bg_btn, padding=5)

    def fg_changed(self, color):
        self.image_style[0] = deepcopy(color)
        if self.callback:
            self.callback(self.get_image_style())

    def bg_changed(self, color):
        self.image_style[1] = deepcopy(color)
        if self.callback:
            self.callback(self.get_image_style())

    def set_image_style(self, image_style):
        self.image_style = deepcopy(image_style)
        self.fg_btn.set_color(self.image_style[0])
        self.bg_btn.set_color(self.image_style[1])

    def get_image_style(self):
        return deepcopy(self.image_style)
Пример #6
0
    def __init__(self, parent, dlg, cms, stops, sel_stop=0, onposition=None, oncolor=None):
        self.dlg = dlg
        self.cms = cms
        self.stops = stops
        self.selected_stop = sel_stop
        self.pos_callback = onposition
        self.color_callback = oncolor
        wal.LabeledPanel.__init__(self, parent, text=_("Gradient stop"))
        grid = wal.GridPanel(self, cols=3, vgap=5, hgap=5)

        grid.pack(wal.Label(grid, _("Color value:")))

        clr = self.stops[self.selected_stop][1]
        txt = _("Change stop color")
        self.swatch = PDColorButton(grid, self.dlg, self.cms, clr, txt, onchange=self.edit_color)
        grid.pack(self.swatch)
        grid.pack((1, 1))

        grid.pack(wal.Label(grid, _("Position:")))
        self.position = wal.FloatSpin(
            grid, range_val=(0.0, 100.0), step=1.0, onchange=self.pos_changed, onenter=self.pos_changed
        )
        grid.pack(self.position)
        grid.pack(wal.Label(grid, "%"))
        self.pack(grid, align_center=False, padding_all=10)
Пример #7
0
	def __init__(self, parent, dlg, cms, image_style, onchange=None):
		self.image_style = deepcopy(image_style)
		self.callback = onchange
		wal.HPanel.__init__(self, parent)

		self.pack(wal.Label(self, _('Fg:')))
		txt = _('Change pattern foreground color')
		self.fg_btn = PDColorButton(self, dlg, cms, self.image_style[0], txt,
								onchange=self.fg_changed)
		self.pack(self.fg_btn, padding=5)

		self.pack((10, 1))

		self.pack(wal.Label(self, _('Bg:')))
		txt = _('Change pattern background color')
		self.bg_btn = PDColorButton(self, dlg, cms, self.image_style[1], txt,
								onchange=self.bg_changed)
		self.pack(self.bg_btn, padding=5)
Пример #8
0
class PatternColorEditor(wal.HPanel):

	image_style = []
	callback = None

	def __init__(self, parent, dlg, cms, image_style, onchange=None):
		self.image_style = deepcopy(image_style)
		self.callback = onchange
		wal.HPanel.__init__(self, parent)

		self.pack(wal.Label(self, _('Fg:')))
		txt = _('Change pattern foreground color')
		self.fg_btn = PDColorButton(self, dlg, cms, self.image_style[0], txt,
								onchange=self.fg_changed)
		self.pack(self.fg_btn, padding=5)

		self.pack((10, 1))

		self.pack(wal.Label(self, _('Bg:')))
		txt = _('Change pattern background color')
		self.bg_btn = PDColorButton(self, dlg, cms, self.image_style[1], txt,
								onchange=self.bg_changed)
		self.pack(self.bg_btn, padding=5)

	def fg_changed(self, color):
		self.image_style[0] = deepcopy(color)
		if self.callback: self.callback(self.get_image_style())

	def bg_changed(self, color):
		self.image_style[1] = deepcopy(color)
		if self.callback: self.callback(self.get_image_style())

	def set_image_style(self, image_style):
		self.image_style = deepcopy(image_style)
		self.fg_btn.set_color(self.image_style[0])
		self.bg_btn.set_color(self.image_style[1])

	def get_image_style(self):
		return deepcopy(self.image_style)