Example #1
0
class MacTB_ToolTip(wx.PopupWindow):

	def __init__(self, parent):
		self.parent = parent
		wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
		bg = const.UI_COLORS['disabled_text']
		self.SetBackgroundColour(wx.Colour(*bg))
		self.label = Label(self, ' ', fontsize=-2)
		self.label.SetPosition((1, 1))
		self.set_text(' ')
		wx.CallAfter(self.Refresh)
		self.timer = wx.Timer(self)
		self.Bind(wx.EVT_TIMER, self._on_timer)
		self.Bind(wx.EVT_PAINT, self._on_paint, self)

	def set_text(self, tip=''):
		name = tip
		if not name:name = '---'
		self.label.set_text(name)
		sz = self.label.GetBestSize()
		self.SetSize((sz.width + 3, sz.height + 3))
		self.set_position()

	def hide(self):
		if self.timer.IsRunning(): self.timer.Stop()
		if self.IsShown(): self.Hide()

	def show(self):
		if not self.timer.IsRunning():
			self.timer.Start(1000)
		else:
			self.timer.Stop()
			self.timer.Start(1000)

	def _on_timer(self, event):
		self.set_position()
		self.Show()
		self.timer.Stop()

	def set_position(self):
		x, y = wx.GetMousePosition()
		w, h = self.GetSize()
		scr_w, scr_h = wx.DisplaySize()
		if x + w + 7 > scr_w: x = x - w - 5
		else: x += 7
		if y + h + 17 > scr_h: y = y - h - 5
		else:y += 17
		self.SetPosition((x, y))

	def _on_paint(self, event):
		w, h = self.GetSize()
		pdc = wx.PaintDC(self)
		pdc.BeginDrawing()

		pdc.SetPen(wx.TRANSPARENT_PEN)
		pdc.SetBrush(wx.Brush(wx.Colour(*const.UI_COLORS['tooltip_bg'])))
		pdc.DrawRectangle(0, 0, w - 1, h - 1)

		pdc.EndDrawing()
		pdc = None
Example #2
0
	def __init__(self, parent):
		wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
		self.SetBackgroundColour("#FFFFFF")
		self.label = Label(self, ' ', fontbold=True)
		self.label.SetPosition((5, 3))
		label_h = self.label.GetBestSize().height
		self.color_vals = Label(self, '')
		self.color_vals.SetPosition((5, 4 + label_h))
		self.set_text((' ', ' '))
		wx.CallAfter(self.Refresh)
		self.Bind(wx.EVT_PAINT, self._on_paint, self)
Example #3
0
 def __init__(self, parent):
     wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
     self.SetBackgroundColour("#FFFFFF")
     self.label = Label(self, ' ', fontbold=True)
     self.label.SetPosition((5, 3))
     label_h = self.label.GetBestSize().height
     self.color_vals = Label(self, '')
     self.color_vals.SetPosition((5, 4 + label_h))
     self.set_text((' ', ' '))
     wx.CallAfter(self.Refresh)
     self.Bind(wx.EVT_PAINT, self._on_paint, self)
Example #4
0
	def __init__(self, parent):
		self.parent = parent
		wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
		bg = const.UI_COLORS['disabled_text']
		self.SetBackgroundColour(wx.Colour(*bg))
		self.label = Label(self, ' ', fontsize=-2)
		self.label.SetPosition((1, 1))
		self.set_text(' ')
		wx.CallAfter(self.Refresh)
		self.timer = wx.Timer(self)
		self.Bind(wx.EVT_TIMER, self._on_timer)
		self.Bind(wx.EVT_PAINT, self._on_paint, self)
Example #5
0
class PaletteToolTip(wx.PopupWindow):

	def __init__(self, parent):
		wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
		self.SetBackgroundColour("#FFFFFF")
		self.label = Label(self, ' ', fontbold=True)
		self.label.SetPosition((5, 3))
		label_h = self.label.GetBestSize().height
		self.color_vals = Label(self, '')
		self.color_vals.SetPosition((5, 4 + label_h))
		self.set_text((' ', ' '))
		wx.CallAfter(self.Refresh)
		self.Bind(wx.EVT_PAINT, self._on_paint, self)

	def set_text(self, tip=()):
		name = tip[0]
		if not name:name = '---'
		self.label.set_text(name)
		sz = self.label.GetBestSize()

		clr_vals = tip[1]
		self.color_vals.set_text(clr_vals)
		sz2 = self.color_vals.GetBestSize()

		if not clr_vals:
			self.SetSize((sz.width + 8, sz.height + 6))
		else:
			height = sz.height + sz2.height + 1
			width = max(sz.width, sz2.width)
			self.SetSize((width + 8, height + 6))

	def set_position(self, pos):
		x, y = pos
		w, h = self.GetSize()
		scr_w, scr_h = wx.DisplaySize()
		if x + w + 7 > scr_w: x = x - w - 5
		else: x += 7
		if y + h + 17 > scr_h: y = y - h - 5
		else:y += 17
		self.SetPosition((x, y))

	def _on_paint(self, event):
		w, h = self.GetSize()
		pdc = wx.PaintDC(self)
		pdc.BeginDrawing()

		pdc.SetPen(wx.Pen(wx.Colour(0, 0, 0), 1))
		pdc.SetBrush(wx.TRANSPARENT_BRUSH)
		pdc.DrawRectangle(0, 0, w, h)

		pdc.EndDrawing()
		pdc = None
Example #6
0
class PaletteToolTip(wx.PopupWindow):
    def __init__(self, parent):
        wx.PopupWindow.__init__(self, parent, wx.BORDER_NONE)
        self.SetBackgroundColour("#FFFFFF")
        self.label = Label(self, ' ', fontbold=True)
        self.label.SetPosition((5, 3))
        label_h = self.label.GetBestSize().height
        self.color_vals = Label(self, '')
        self.color_vals.SetPosition((5, 4 + label_h))
        self.set_text((' ', ' '))
        wx.CallAfter(self.Refresh)
        self.Bind(wx.EVT_PAINT, self._on_paint, self)

    def set_text(self, tip=()):
        name = tip[0]
        if not name: name = '---'
        self.label.set_text(name)
        sz = self.label.GetBestSize()

        clr_vals = tip[1]
        self.color_vals.set_text(clr_vals)
        sz2 = self.color_vals.GetBestSize()

        if not clr_vals:
            self.SetSize((sz.width + 8, sz.height + 6))
        else:
            height = sz.height + sz2.height + 1
            width = max(sz.width, sz2.width)
            self.SetSize((width + 8, height + 6))

    def set_position(self, pos):
        x, y = pos
        w, h = self.GetSize()
        scr_w, scr_h = wx.DisplaySize()
        if x + w + 7 > scr_w:
            x = x - w - 5
        else:
            x += 7
        if y + h + 17 > scr_h:
            y = y - h - 5
        else:
            y += 17
        self.SetPosition((x, y))

    def _on_paint(self, event):
        w, h = self.GetSize()
        pdc = wx.PaintDC(self)
        pdc.BeginDrawing()

        pdc.SetPen(wx.Pen(wx.Colour(0, 0, 0), 1))
        pdc.SetBrush(wx.TRANSPARENT_BRUSH)
        pdc.DrawRectangle(0, 0, w, h)

        pdc.EndDrawing()
        pdc = None
Example #7
0
	def __init__(self, app, parent):
		self.app = app
		self.insp = app.insp
		if self.insp.is_doc(): self.units = app.current_doc.model.doc_units
		text = uc2const.unit_short_names[self.units]
		Label.__init__(self, parent, text)
Example #8
0
	def build(self):
		flags = LEFT | CENTER
		pflags = ALL | EXPAND
		#---------Labels
		p = HPanel(self)
		props = [
			('Normal font', False, 0),
			('Bold font', True, 0),
			('-1 font', False, -1),
			('+1 font', False, 1),
			('+2 font', False, 2),
			('+2 bold font', True, 2),
			('+2 red bold font', True, 2, (255, 0, 0)),
			]
		for item in props:
			p.pack(Label(p, *item), padding=5)

		self.pack(p, fill=True)
		self.pack(HLine(self), fill=True, padding=5)

		#---------HtmlLabels
		p = HPanel(self)

		p.pack(HtmlLabel(p, 'http://sk1project.org'), padding=5)
		p.pack(HtmlLabel(p, 'Download site', 'http://sk1project.org'), padding=5)

		self.pack(p, fill=True)
		self.pack(HLine(self), fill=True, padding=5)

		#---------Buttons
		p = HPanel(self)

		p.pack(Button(p, 'Native button'), padding=5)
		txt = 'Native default button'
		p.pack(Button(p, 'Native default button', default=True, tooltip=txt), padding=5)
		p.pack(Button(p, 'Native button with callback', onclick=self.test), padding=5)

		self.pack(p, fill=True)
		self.pack(HLine(self), fill=True, padding=5)

		#---------Checkboxes
		p = HPanel(self)

		p.add(Checkbox(p, 'Native checkbox'), 0, flags, 5)
		p.add(Checkbox(p, 'Native checkbox (checked)', True), 0, flags, 5)
		p.add(Checkbox(p, 'Checkbox with callback', onclick=self.test), 0, flags, 5)
		self.pack(p, fill=True, padding=5)
		self.pack(HLine(self), fill=True, padding=5)

		#---------Radiobuttons
		p = HPanel(self, border=BOTTOM, space=2)

		p.add(Radiobutton(p.panel, 'Native radiobutton', group=True), 0, flags, 5)
		p.add(Radiobutton(p.panel, 'Native radiobutton (selected)'), 0, flags, 5)
		p.add(Radiobutton(p.panel, 'Radiobutton with callback', onclick=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Combolist
		p = HPanel(self, border=BOTTOM, space=2)

		sample = ['zero', 'one', 'two', 'three', 'four five', 'six seven eight']
		p.add(Label(p, 'Native combolist:'), 0, flags, 5)
		p.add(Combolist(p, items=sample), 0, flags, 5)
		p.add(Label(p, 'Native combolist with callback:'), 0, flags, 5)
		p.add(Combolist(p, items=sample, onchange=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Combobox
		p = HPanel(self, border=BOTTOM, space=2)

		sample = ['zero', 'one', 'two', 'three', 'four five', 'six seven eight']
		p.add(Label(p, 'Native combobox:'), 0, flags, 5)
		p.add(Combobox(p, 'value', items=sample), 0, flags, 5)
		p.add(Label(p, 'Native combobox with callback:'), 0, flags, 5)
		p.add(Combobox(p, items=sample, width=15, onchange=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Text entry
		p = HPanel(self, border=BOTTOM, space=2)

		p.add(Label(p, 'Native text entry:'), 0, flags, 5)
		p.add(Entry(p, 'value', width=5), 0, flags, 5)
		p.add(Label(p, 'Native text entry with callback:'), 0, flags, 5)
		p.add(Entry(p, 'value', onchange=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Multiline Text entry
		p = HPanel(self, border=BOTTOM, space=2)

		p.add(Label(p, 'Multiline text entry:'), 0, flags, 5)
		p.add(Entry(p, 'value', size=(150, 50), multiline=True), 0, flags, 5)
		p.add(Label(p, 'Multiline text entry with callback:'), 0, flags, 5)
		p.add(Entry(p, 'value', size=(150, 50), multiline=True,
				onchange=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Spin
		p = HPanel(self, border=BOTTOM, space=2)

		p.add(Label(p, 'Native spin control:'), 0, flags, 5)
		p.add(Spin(p, 1, (0, 90), onchange=self.test), 0, flags, 5)
		p.add(Label(p, 'Float spin control:'), 0, flags, 5)
		self.spin = FloatSpin(p.panel, 1.3, (0.0, 90.0), 0.01, 3, width=5,
					onchange=self.test)
		p.add(self.spin, 0, flags, 5)
		p.add(Button(p, 'Get value', onclick=self.test_spin), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Slider
		p = HPanel(self, border=BOTTOM, space=2)

		p.add(Label(p, 'Native slider:'), 0, flags, 5)
		p.add(Slider(p.panel, 25, (0, 255), onchange=self.test), 0, flags, 5)

		self.add(p, 0, pflags)

		#---------Labeled panel
		p = HPanel(self)

		panel = LabeledPanel(p, 'The panel')
		panel.add((0, 50), 0, flags, 0)
		panel.add(Label(p, 'Native Labeled Panel'), 0, flags, 0)
		p.box_add(panel.box, 0, flags, 5)


		panel = LabeledPanel(p)
		panel.add((0, 50), 0, flags, 0)
		panel.add(Label(p, 'Headless Labeled Panel'), 0, flags, 0)
		p.box_add(panel.box, 0, flags, 5)

		p.add(VLine(p), 0, ALL | EXPAND, 3)

		nb = Notebook(p)
		page = VPanel(nb)
		page.add((50, 100))
		nb.add_page(page, 'First page')
		page = VPanel(nb)
		page.add((50, 100))
		nb.add_page(page, 'Second page')
		p.add(nb, 1, ALL | EXPAND, 3)

		self.add(p, 0, pflags)
Example #9
0
 def __init__(self, app, parent):
     self.app = app
     self.insp = app.insp
     if self.insp.is_doc(): self.units = app.current_doc.model.doc_units
     text = uc2const.unit_short_names[self.units]
     Label.__init__(self, parent, text)
Example #10
0
    def build(self):
        flags = LEFT | CENTER
        pflags = ALL | EXPAND

        #---------
        p = HPanel(self)
        p.add(
            Label(p,
                  'Widgets rendered by native rendering',
                  fontbold=True,
                  fontsize=2), 0, flags, 5)
        self.add(p, 0, pflags, 10)

        #---------ImageLabels
        p = HPanel(self, border=BOTTOM, space=2)

        p.add(Label(p, 'ImageLabels:'), 0, flags, 5)

        p.add(
            ImageLabel(p,
                       text='<Image label>',
                       fontbold=True,
                       tooltip='this is label',
                       onclick=self.repeat_test), 0, flags, 5)

        p.add(
            ImageLabel(p,
                       wx.ART_FILE_OPEN,
                       const.SIZE_16,
                       padding=5,
                       tooltip='this is label2',
                       onclick=self.repeat_test), 0, flags, 5)

        self.ilab1 = ImageLabel(p,
                                wx.ART_COPY,
                                const.SIZE_16,
                                padding=5,
                                tooltip='this is label3',
                                text='Copy',
                                onclick=self.repeat_test)
        p.add(self.ilab1)

        il = ImageLabel(p,
                        text='<Image label disabled>',
                        fontbold=True,
                        tooltip='this is disabled label',
                        onclick=self.repeat_test)
        il.set_enable(False)
        p.add(il, 0, flags, 5)

        b = Button(p, 'Change', onclick=self.test_ilab1)
        p.add(b, 0, flags, 5)

        self.add(p, 0, pflags)

        #---------ImageButtons
        p = HPanel(self, border=BOTTOM, space=2)
        p.add(Label(p, 'ImageButtons:'), 0, flags, 5)

        p.add(
            ImageButton(p,
                        text='<Image button>',
                        flat=False,
                        fontbold=True,
                        tooltip='this is button',
                        onclick=self.repeat_test), 0, flags, 5)

        p.add(
            ImageButton(p,
                        wx.ART_FILE_OPEN,
                        const.SIZE_32,
                        tooltip='this is button2',
                        onclick=self.repeat_test), 0, flags, 5)

        p.add(
            ImageButton(p,
                        wx.ART_COPY,
                        const.SIZE_16,
                        tooltip='this is label3',
                        text='Clipboard',
                        onclick=self.repeat_test), 0, flags, 5)

        ib = ImageButton(p,
                         wx.ART_COPY,
                         const.SIZE_16,
                         tooltip='this is label3',
                         text='Clipboard',
                         onclick=self.repeat_test)
        ib.set_enable(False)
        p.add(ib, 0, flags, 5)

        self.add(p, 0, pflags)

        #---------ImageToggleButtons
        p = HPanel(self, border=BOTTOM, space=2)
        p.add(Label(p, 'ImageToggleButtons:'), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              text='<Image toggle button>',
                              fontbold=True,
                              tooltip='this is button',
                              onchange=self.repeat_test), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              False,
                              wx.ART_FILE_OPEN,
                              const.SIZE_32,
                              tooltip='this is button2',
                              onchange=self.repeat_test), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              True,
                              wx.ART_COPY,
                              const.SIZE_16,
                              tooltip='this is label3',
                              text='Clipboard',
                              onchange=self.repeat_test), 0, flags, 5)

        itb = ImageToggleButton(p,
                                True,
                                wx.ART_FILE_OPEN,
                                const.SIZE_24,
                                tooltip='this is label4, disabled',
                                text='Clipboard',
                                onchange=self.repeat_test)
        itb.set_enable(False)
        p.add(itb, 0, flags, 5)

        self.add(p, 0, pflags)

        #---------
        p = HPanel(self)
        p.add(
            Label(p,
                  'Widgets rendered by generic rendering',
                  fontbold=True,
                  fontsize=2), 0, flags, 5)
        self.add(p, 0, pflags, 10)

        #---------Generic ImageButtons
        p = HPanel(self, border=BOTTOM, space=2)
        p.add(Label(p, 'ImageButtons:'), 0, flags, 5)

        p.add(
            ImageButton(p,
                        text='<Image button>',
                        flat=False,
                        fontbold=True,
                        tooltip='this is button',
                        native=False,
                        onclick=self.repeat_test), 0, flags, 5)

        p.add(
            ImageButton(p,
                        wx.ART_FILE_OPEN,
                        const.SIZE_32,
                        tooltip='this is button2',
                        native=False,
                        onclick=self.repeat_test), 0, flags, 5)

        p.add(
            ImageButton(p,
                        wx.ART_COPY,
                        const.SIZE_16,
                        tooltip='this is label3',
                        text='Clipboard',
                        native=False,
                        onclick=self.repeat_test), 0, flags, 5)

        ib = ImageButton(p,
                         wx.ART_COPY,
                         const.SIZE_16,
                         tooltip='this is label3',
                         text='Clipboard',
                         native=False,
                         onclick=self.repeat_test)
        ib.set_enable(False)
        p.add(ib, 0, flags, 5)

        self.add(p, 0, pflags)

        #---------Generic ImageToggleButtons
        p = HPanel(self, border=BOTTOM, space=2)
        p.add(Label(p, 'ImageToggleButtons:'), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              text='<Image toggle button>',
                              fontbold=True,
                              tooltip='this is button',
                              native=False,
                              onchange=self.repeat_test), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              False,
                              wx.ART_FILE_OPEN,
                              const.SIZE_32,
                              tooltip='this is button2',
                              native=False,
                              onchange=self.repeat_test), 0, flags, 5)

        p.add(
            ImageToggleButton(p,
                              True,
                              wx.ART_COPY,
                              const.SIZE_16,
                              tooltip='this is label3',
                              text='Clipboard',
                              native=False,
                              onchange=self.repeat_test), 0, flags, 5)

        itb = ImageToggleButton(p,
                                True,
                                wx.ART_FILE_OPEN,
                                const.SIZE_24,
                                tooltip='this is label4, disabled',
                                text='Clipboard',
                                native=False,
                                onchange=self.repeat_test)
        itb.set_enable(False)
        p.add(itb, 0, flags, 5)

        self.add(p, 0, pflags)
Example #11
0
	def build_ui(self):
		label = Label(self.panel, self.name, True, 2, (255, 0, 0))
		self.panel.add(label, 0, CENTER, 5)