def __init__(self, app, parent): self.app = app self.parent = parent wal.HPanel.__init__(self, parent) self.image_txt = wal.Label( self, text=_('Image type: '), fontsize=FONTSIZE[0]) self.pack(self.image_txt, padding=4) self.fill_txt = wal.Label(self, text=_('Fill:'), fontsize=FONTSIZE[0]) self.pack(self.fill_txt) self.fill_swatch = SbFillSwatch( self, self.app, self.fill_txt, onclick=self.app.proxy.fill_dialog) self.pack(self.fill_swatch, padding=2) self.pack((5, 5)) self.stroke_txt = wal.Label( self, text=_('Stroke:'), fontsize=FONTSIZE[0]) self.pack(self.stroke_txt) self.stroke_swatch = SbStrokeSwatch( self, self.app, self.stroke_txt, onclick=self.app.proxy.stroke_dialog) self.pack(self.stroke_swatch, padding=2) self.pack((5, 5)) self.Layout() events.connect(events.SELECTION_CHANGED, self.update) events.connect(events.DOC_CHANGED, self.update) events.connect(events.NO_DOCS, self.update)
class ColorMonitor(wal.HPanel): image_txt = None fill_txt = None fill_swatch = None stroke_txt = None stroke_swatch = None def __init__(self, app, parent): self.app = app self.parent = parent wal.HPanel.__init__(self, parent) self.image_txt = wal.Label( self, text=_('Image type: '), fontsize=FONTSIZE[0]) self.pack(self.image_txt, padding=4) self.fill_txt = wal.Label(self, text=_('Fill:'), fontsize=FONTSIZE[0]) self.pack(self.fill_txt) self.fill_swatch = SbFillSwatch( self, self.app, self.fill_txt, onclick=self.app.proxy.fill_dialog) self.pack(self.fill_swatch, padding=2) self.pack((5, 5)) self.stroke_txt = wal.Label( self, text=_('Stroke:'), fontsize=FONTSIZE[0]) self.pack(self.stroke_txt) self.stroke_swatch = SbStrokeSwatch( self, self.app, self.stroke_txt, onclick=self.app.proxy.stroke_dialog) self.pack(self.stroke_swatch, padding=2) self.pack((5, 5)) self.Layout() events.connect(events.SELECTION_CHANGED, self.update) events.connect(events.DOC_CHANGED, self.update) events.connect(events.NO_DOCS, self.update) def update(self, *args): if not self.app.current_doc: return sel = self.app.current_doc.get_selected_objs() if sel: if len(sel) == 1 and self.app.insp.is_obj_primitive(sel[0]): self.fill_swatch.update_from_obj(sel[0]) self.stroke_swatch.update_from_obj(sel[0]) if self.app.insp.is_obj_pixmap(sel[0]): txt = _('Image type: ') + IMAGE_NAMES[sel[0].colorspace] if sel[0].alpha_channel: if sel[0].colorspace in [IMAGE_CMYK, IMAGE_RGB]: txt += 'A' else: txt += '+A' self.image_txt.set_text(txt) self.image_txt.show() else: self.image_txt.hide() if not self.is_shown(): self.show() self.parent.layout() return self.hide()