def __init__(self, presenter, parent, style=HORIZONTAL): self.presenter = presenter self.eventloop = presenter.eventloop self.style = style HPanel.__init__(self, parent) if not VFONT: load_font() size = config.ruler_size self.add((size, size)) self.default_cursor = self.GetCursor() if self.style == HORIZONTAL: self.guide_cursor = self.presenter.app.cursors[modes.HGUIDE_MODE] else: self.guide_cursor = self.presenter.app.cursors[modes.VGUIDE_MODE] self.SetBackgroundColour(wx.WHITE) self.set_double_buffered() self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_LEFT_DOWN, self.mouse_down) self.Bind(wx.EVT_LEFT_UP, self.mouse_up) self.Bind(wx.EVT_MOTION, self.mouse_move) self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.capture_lost) self.eventloop.connect(self.eventloop.VIEW_CHANGED, self.repaint) events.connect(events.CONFIG_MODIFIED, self.check_config) if wal.is_msw(): self.SetDoubleBuffered(True) if is_mac(): self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self._repaint_after) self.timer.Start(50)
def __init__(self, presenter, parent, style=HORIZONTAL): self.presenter = presenter self.eventloop = presenter.eventloop self.style = style HPanel.__init__(self, parent) if not VFONT: load_font() size = config.ruler_size self.add((size, size)) self.default_cursor = self.GetCursor() if self.style == HORIZONTAL: self.guide_cursor = self.presenter.app.cursors[modes.HGUIDE_MODE] else: self.guide_cursor = self.presenter.app.cursors[modes.VGUIDE_MODE] self.SetBackgroundColour(wx.WHITE) self.SetDoubleBuffered(True) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_LEFT_DOWN, self.mouse_down) self.Bind(wx.EVT_LEFT_UP, self.mouse_up) self.Bind(wx.EVT_MOTION, self.mouse_move) self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.capture_lost) self.eventloop.connect(self.eventloop.VIEW_CHANGED, self.repaint) events.connect(events.CONFIG_MODIFIED, self.check_config) if is_mac(): self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self._repaint_after) self.timer.Start(50)
def __init__(self, parent, app, cms, onleftclick=None, onrightclick=None, onmin=None, onmax=None): self.app = app self.cms = cms self.onleftclick = onleftclick self.onrightclick = onrightclick self.onmin = onmin self.onmax = onmax HPanel.__init__(self, parent) self.set_palette(app.palettes.palette_in_use.model.colors) self.cell_width = config.palette_hcell_width self.cell_height = config.palette_hcell_height self.pack((self.cell_width, self.cell_height)) self.tooltipwin = PaletteToolTip(self) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_SIZE, self._on_resize, self) self.Bind(wx.EVT_MOUSEWHEEL, self._on_scroll, self) self.Bind(wx.EVT_MOTION, self._on_move, self) if onrightclick: self.Bind(wx.EVT_RIGHT_UP, self._on_right_click, self) if onleftclick: self.Bind(wx.EVT_LEFT_UP, self._on_left_click, self) self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self._on_timer) self.SetDoubleBuffered(True) events.connect(events.CONFIG_MODIFIED, self.config_update) events.connect(events.CMS_CHANGED, self.refresh)
def __init__(self, parent, icon, tooltip='', border_side=RIGHT, onclick=None): self.icon = wx.ArtProvider.GetBitmap(icon) self.callback = onclick self.tooltip = tooltip self.border_side = border_side HPanel.__init__(self, parent) width = self.icon.GetSize()[0] + SCROLL_PADDING * 2 self.add((width, PANEL_HEIGHT)) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_LEFT_DOWN, self._on_left_down, self) self.Bind(wx.EVT_LEFT_UP, self._on_left_up, self) self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.do_action)
def __init__(self, parent, doc, active=True): self.doc = doc self.parent = parent self.active = active self.text = self.doc.doc_name self.icon = wx.ArtProvider.GetBitmap(icons.DOCUMENT_ICON) self.close_but = wx.ArtProvider.GetBitmap(icons.PD_CLOSE_BUTTON_ACTIVE) self.inactive_close_but = wx.ArtProvider.GetBitmap(icons.PD_CLOSE_BUTTON) HPanel.__init__(self, parent) self.add((self.get_best_width(), TAB_HEIGHT)) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_MOTION, self._on_move, self) self.Bind(wx.EVT_LEFT_DOWN, self._on_left_down, self) self.Bind(wx.EVT_LEFT_UP, self._on_left_up, self) self.Bind(wx.EVT_LEAVE_WINDOW, self._on_win_leave, self)
def __init__(self, parent, doc, active=True): self.doc = doc self.parent = parent self.active = active self.text = self.doc.doc_name self.icon = wx.ArtProvider.GetBitmap(icons.DOCUMENT_ICON) self.close_but = wx.ArtProvider.GetBitmap(icons.PD_CLOSE_BUTTON_ACTIVE) self.inactive_close_but = wx.ArtProvider.GetBitmap( icons.PD_CLOSE_BUTTON) HPanel.__init__(self, parent) self.add((self.get_best_width(), TAB_HEIGHT)) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.Bind(wx.EVT_MOTION, self._on_move, self) self.Bind(wx.EVT_LEFT_DOWN, self._on_left_down, self) self.Bind(wx.EVT_LEFT_UP, self._on_left_up, self) self.Bind(wx.EVT_LEAVE_WINDOW, self._on_win_leave, self)
def __init__(self, presenter, parent): self.presenter = presenter self.eventloop = presenter.eventloop HPanel.__init__(self, parent) size = config.ruler_size if not BITMAPS: BITMAPS[DOC_ORIGIN_CENTER] = get_icon(icons.ORIGIN_CENTER) BITMAPS[DOC_ORIGIN_LL] = get_icon(icons.ORIGIN_LL) BITMAPS[DOC_ORIGIN_LU] = get_icon(icons.ORIGIN_LU) self.add((size, size)) self.SetBackgroundColour(wx.WHITE) self.Bind(wx.EVT_PAINT, self._on_paint, self) self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.changes) self.Bind(wx.EVT_LEFT_UP, self.left_click) events.connect(events.CONFIG_MODIFIED, self.check_config) self.changes()
def __init__(self, parent): HPanel.__init__(self, parent) self.left_scroll = TabScroller(self, icons.ARROW_LEFT, tooltip=_('Scroll tabs right'), onclick=self.scroll_left) self.add(self.left_scroll, 0, ALL | EXPAND) self.tabs_bg = TabsBgPanel(self) self.add(self.tabs_bg, 1, ALL | EXPAND) self.doc_tabs = DocTabs(self.tabs_bg, self.update_panel) self.tabs_bg.add(self.doc_tabs, 0, ALL | EXPAND) self.doc_tabs.SetPosition((0, 0)) self.right_scroll = TabScroller(self, icons.ARROW_RIGHT, tooltip=_('Scroll tabs left'), border_side=LEFT, onclick=self.scroll_right) self.add(self.right_scroll, 0, ALL | EXPAND) self.Bind(wx.EVT_SIZE, self.resize, self)
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)
def __init__(self, parent): HPanel.__init__(self, parent) self.Bind(wx.EVT_PAINT, self._on_paint, self)
def __init__(self, parent, callback=None): HPanel.__init__(self, parent) self.callback = callback self.doc_tabs = [] self.add((PANEL_MARGIN, PANEL_HEIGHT)) self.Bind(wx.EVT_PAINT, self._on_paint, self)
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)
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)