Python wx.PlatformInfo() Examples
The following are 26
code examples of wx.PlatformInfo().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
wx
, or try the search function
.
Example #1
Source File: core.py From wafer_map with GNU General Public License v3.0 | 6 votes |
def version(): """ Returns a string containing version and port info """ if wx.Port == '__WXMSW__': port = 'msw' elif wx.Port == '__WXMAC__': if 'wxOSX-carbon' in wx.PlatformInfo: port = 'osx-carbon' else: port = 'osx-cocoa' elif wx.Port == '__WXGTK__': port = 'gtk' if 'gtk2' in wx.PlatformInfo: port = 'gtk2' elif 'gtk3' in wx.PlatformInfo: port = 'gtk3' else: port = '???' return "%s %s (phoenix)" % (wx.VERSION_STRING, port)
Example #2
Source File: Input_Dialog_LAST.py From topoflow with MIT License | 6 votes |
def on_Cancel(self, event): #---------------------------------------- # Event handler for the Cancel button. #---------------------------------------- self.Destroy() # on_Cancel() #---------------------------------------------------------------- #----------------------------------------- # Class for displaying HTML help # (now using webbrowser module instead). #----------------------------------------- ##class HTML_Help_Window(wx.Frame): ## def __init__(self, parent, title, html_file): ## wx.Frame.__init__(self, parent, -1, title, ## size=(700,800), pos=(600,50)) ## html = wx.html.HtmlWindow(self) ## if "gtk2" in wx.PlatformInfo: ## html.SetStandardFonts() ## ## html.LoadPage(html_file) #-------------------------------------------------------------
Example #3
Source File: CustomWidgets.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def LeftDown(self, event): i = self._resolve_index() if i is None: return if not event.ControlDown(): if event.ShiftDown(): if '__WXMSW__' in wx.PlatformInfo: self.listctrl.DeselectAll() f = self.listctrl.GetFocusedItem() if f > -1: for j in xrange(min(i,f), max(i,f)): self.listctrl.Select(j) self.listctrl.Select(f) else: self.listctrl.DeselectAll() self.listctrl.Select(i) self.listctrl.SetFocus() self.listctrl.Focus(i)
Example #4
Source File: ListCtrl.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def _get_origin_offset(self, include_header=None): if include_header is None: # Hm, I think this is a legit bug in wxGTK if '__WXGTK__' in wx.PlatformInfo: include_header = True else: include_header = False if include_header: i = self.GetTopItem() try: r = self.GetItemRect(i) except wx._core.PyAssertionError: r = self.default_rect return (r.x, r.y) return (0, 0)
Example #5
Source File: rstbx_frame.py From dials with BSD 3-Clause "New" or "Revised" License | 5 votes |
def OnLoadFile(self, event): wildcard_str = "" if wx.PlatformInfo[4] != "wxOSX-cocoa": from iotbx import file_reader wildcard_str = file_reader.get_wildcard_string("img") file_name = wx.FileSelector( "Image file", wildcard=wildcard_str, default_path="", flags=(wx.OPEN if WX3 else wx.FD_OPEN), ) if file_name != "": self.load_image(file_name)
Example #6
Source File: About.py From nodemcu-pyflasher with MIT License | 5 votes |
def __init__(self, parent): wx.Dialog.__init__(self, parent, wx.ID_ANY, "About NodeMCU PyFlasher") html = HtmlWindow(self, wx.ID_ANY, size=(420, -1)) if "gtk2" in wx.PlatformInfo or "gtk3" in wx.PlatformInfo: html.SetStandardFonts() txt = self.text.format(self._get_bundle_dir(), __version__) html.SetPage(txt) ir = html.GetInternalRepresentation() html.SetSize((ir.GetWidth() + 25, ir.GetHeight() + 25)) self.SetClientSize(html.GetSize()) self.CentreOnParent(wx.BOTH)
Example #7
Source File: Beremiz_service.py From OpenPLC_Editor with GNU General Public License v3.0 | 5 votes |
def MakeIcon(self, img): """ The various platforms have different requirements for the icon size... """ if "wxMSW" in wx.PlatformInfo: img = img.Scale(16, 16) elif "wxGTK" in wx.PlatformInfo: img = img.Scale(22, 22) # wxMac can be any size upto 128x128, so leave the source img alone.... icon = wx.IconFromBitmap(img.ConvertToBitmap()) return icon
Example #8
Source File: Dock_Bar_Example.py From topoflow with MIT License | 5 votes |
def MakeIcon(self, img): """ The various platforms have different requirements for the icon size... """ if "wxMSW" in wx.PlatformInfo: img = img.Scale(16, 16) elif "wxGTK" in wx.PlatformInfo: img = img.Scale(22, 22) # wxMac can be any size upto 128x128, so leave the source img alone.... icon = wx.IconFromBitmap(img.ConvertToBitmap() ) return icon
Example #9
Source File: Notebook2.py From topoflow with MIT License | 5 votes |
def __init__(self, parent): title = "Resize the dialog and see how controls adapt!" wx.Dialog.__init__(self, parent, -1, title, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER) notebook = wx.Notebook(self, -1, size=(450,300)) panel1 = wx.Panel(notebook) panel2 = wx.Panel(notebook) notebook.AddPage(panel1, "Panel 1") notebook.AddPage(panel2, "Panel 2") dialog_sizer = wx.BoxSizer(wx.VERTICAL) dialog_sizer.Add(notebook, 1, wx.EXPAND|wx.ALL, 5) panel1_sizer = wx.BoxSizer(wx.VERTICAL) text = wx.TextCtrl(panel1, -1, "Hi!", size=(400,90), style=wx.TE_MULTILINE) button1 = wx.Button(panel1, -1, "I only resize horizontally...") panel1_sizer.Add(text, 1, wx.EXPAND|wx.ALL, 10) panel1_sizer.Add(button1, 0, wx.EXPAND|wx.ALL, 10) panel1.SetSizer(panel1_sizer) panel2_sizer = wx.BoxSizer(wx.HORIZONTAL) button2 = wx.Button(panel2, -1, "I resize vertically") button3 = wx.Button(panel2, -1, "I don't like resizing!") panel2_sizer.Add(button2, 0, wx.EXPAND|wx.ALL, 20) panel2_sizer.Add(button3, 0, wx.ALL, 100) panel2.SetSizer(panel2_sizer) if "__WXMAC__" in wx.PlatformInfo: self.SetSizer(dialog_sizer) else: self.SetSizerAndFit(dialog_sizer) self.Centre() self.Bind(wx.EVT_BUTTON, self.OnButton)
Example #10
Source File: about.py From wxGlade with MIT License | 5 votes |
def __init__(self, parent=None): wx.Dialog.__init__(self, parent, -1, _('About wxGlade')) html = wx.html.HtmlWindow(self, -1, size=(480, 250)) html.Bind(wx.html.EVT_HTML_LINK_CLICKED, self.OnLinkClicked) # it's recommended at least for GTK2 based wxPython if "gtk2" in wx.PlatformInfo: html.SetStandardFonts() bgcolor = misc.color_to_string(self.GetBackgroundColour()) icon_path = os.path.join(config.icons_path, 'wxglade_small.png') html.SetPage( self.text % (bgcolor, icon_path, config.version, config.py_version, config.wx_version) ) ir = html.GetInternalRepresentation() ir.SetIndent(0, wx.html.HTML_INDENT_ALL) html.SetSize((ir.GetWidth(), ir.GetHeight())) szr = wx.BoxSizer(wx.VERTICAL) szr.Add(html, 0, wx.TOP|wx.ALIGN_CENTER, 10) szr.Add(wx.StaticLine(self, -1), 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) szr2 = wx.BoxSizer(wx.HORIZONTAL) btn = wx.Button(self, wx.ID_OK, _("OK")) btn.SetDefault() szr2.Add(btn) if wx.Platform == '__WXGTK__': extra_border = 5 # border around a default button else: extra_border = 0 szr.Add(szr2, 0, wx.ALL|wx.ALIGN_RIGHT, 20 + extra_border) self.SetAutoLayout(True) self.SetSizer(szr) szr.Fit(self) self.Layout() if parent: self.CenterOnParent() else: self.CenterOnScreen()
Example #11
Source File: DownloadManager.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def rize_up(self): if not self.main_window.IsShown(): self.main_window.Show(True) self.main_window.Iconize(False) if '__WXGTK__' not in wx.PlatformInfo: # this plays havoc with multiple virtual desktops self.main_window.Raise()
Example #12
Source File: ListCtrl.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def OnEraseBackground(self, event=None): nsp = self.GetScrollPos(wx.VERTICAL) if self._last_scrollpos != nsp: self._last_scrollpos = nsp # should only refresh visible items, hmm wx.CallAfter(self.Refresh) dc = wx.ClientDC(self) # erase the section of the background which is not covered by the # items or the selected column highlighting dc.SetBackground(wx.Brush(self.GetBackgroundColour())) f = self.GetRect() r = wx.Region(0, 0, f.width, f.height) x = self.GetVisibleViewRect() offset = self._get_origin_offset(include_header=True) x.Offset(offset) r.SubtractRect(x) if '__WXMSW__' in wx.PlatformInfo: c = self.GetColumnRect(self.enabled_columns.index(self.selected_column)) r.SubtractRect(c) dc.SetClippingRegionAsRegion(r) dc.Clear() if '__WXMSW__' in wx.PlatformInfo: # draw the selected column highlighting under the items dc.DestroyClippingRegion() r = wx.Region(0, 0, f.width, f.height) r.SubtractRect(x) dc.SetClippingRegionAsRegion(r) dc.SetPen(wx.TRANSPARENT_PEN) hc = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW) r = highlight_color(hc.Red()) g = highlight_color(hc.Green()) b = highlight_color(hc.Blue()) hc.Set(r, g, b) dc.SetBrush(wx.Brush(hc)) dc.DrawRectangle(c.x, c.y, c.width, c.height)
Example #13
Source File: __init__.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def load_geometry(self, geometry, default_size=None): if '+' in geometry: s, x, y = geometry.split('+') x, y = int(x), int(y) else: x, y = -1, -1 s = geometry if 'x' in s: w, h = s.split('x') w, h = int(w), int(h) else: w, h = -1, -1 i = 0 if '__WXMSW__' in wx.PlatformInfo: i = wx.Display.GetFromWindow(self) d = wx.Display(i) (x1, y1, x2, y2) = d.GetGeometry() x = min(x, x2-64) y = min(y, y2-64) if (w, h) <= (0, 0) and default_size is not None: w = default_size.width h = default_size.height self.SetDimensions(x, y, w, h, sizeFlags=wx.SIZE_USE_EXISTING) if (x, y) == (-1, -1): self.CenterOnScreen()
Example #14
Source File: backend_wx.py From ImageFusion with MIT License | 5 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1<y0: y0, y1 = y1, y0 if x1<y0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.NamedColour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b = color.Get() color.Set(r,g,b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangleRect(rect)
Example #15
Source File: guicontrols.py From wfuzz with GNU General Public License v2.0 | 5 votes |
def CreateHTMLCtrl(self): ctrl = wx.html.HtmlWindow(self, -1, wx.DefaultPosition, wx.Size(400, 300)) if "gtk2" in wx.PlatformInfo or "gtk3" in wx.PlatformInfo: ctrl.SetStandardFonts() ctrl.SetPage("") return ctrl
Example #16
Source File: backend_wx.py From neural-network-animation with MIT License | 5 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1<y0: y0, y1 = y1, y0 if x1<y0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.NamedColour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b = color.Get() color.Set(r,g,b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangleRect(rect)
Example #17
Source File: CheckBoxDialog.py From BitTorrent with GNU General Public License v3.0 | 4 votes |
def __init__(self, parent, title, label, checkbox_label, checkbox_value): style=wx.DEFAULT_DIALOG_STYLE if sys.platform == 'darwin': # no system menu or close box on the mac style = wx.CAPTION|wx.CLOSE_BOX BTDialog.__init__(self, parent=parent, id=wx.ID_ANY, title=title, style=style) self.text = ElectroStaticText(self, label=label) self.checkbox = wx.CheckBox(self, label=checkbox_label) self.checkbox.SetValue(checkbox_value) try: bmp = wx.ArtProvider.GetBitmap(wx.ART_QUESTION, wx.ART_MESSAGE_BOX, (32, 32)) except: bmp = wx.EmptyBitmap(32, 32) dc = wx.MemoryDC() dc.SelectObject(bmp) dc.SetBackground(wx.Brush(self.GetBackgroundColour())) dc.Clear() dc.SelectObject(wx.NullBitmap) bmp = wx.StaticBitmap(self, wx.ID_ANY, bmp) # sizers self.button_sizer = self.CreateStdDialogButtonSizer(flags=wx.OK|wx.CANCEL) self.vsizer = wx.BoxSizer(wx.VERTICAL) self.hsizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer = wx.BoxSizer(wx.VERTICAL) if '__WXMSW__' in wx.PlatformInfo: self.vsizer.Add(self.text, flag=wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.ALIGN_CENTER, border=5) self.vsizer.Add(self.checkbox, flag=wx.LEFT|wx.RIGHT|wx.TOP|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, border=5) self.hsizer.Add(bmp) self.hsizer.Add(self.vsizer, flag=wx.LEFT|wx.TOP, border=12) self.sizer.Add(self.hsizer, flag=wx.ALL, border=11) self.sizer.Add(self.button_sizer, flag=wx.ALIGN_CENTER_HORIZONTAL|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=8) else: self.vsizer.Add(self.text, flag=wx.ALIGN_CENTER|wx.BOTTOM, border=SPACING) self.vsizer.Add(self.checkbox, flag=wx.ALIGN_LEFT, border=SPACING) self.hsizer.Add(bmp) self.hsizer.Add(self.vsizer, flag=wx.LEFT, border=SPACING) self.sizer.Add(self.hsizer, flag=wx.TOP|wx.LEFT|wx.RIGHT, border=SPACING) self.sizer.Add(self.button_sizer, flag=wx.ALIGN_RIGHT|wx.ALL, border=SPACING) self.SetSizer(self.sizer) self.Fit()
Example #18
Source File: DownloadManager.py From BitTorrent with GNU General Public License v3.0 | 4 votes |
def __init__(self, main): BTDialog.__init__(self, main, size = (300,400), style=wx.DEFAULT_DIALOG_STYLE|wx.CLIP_CHILDREN|wx.WANTS_CHARS) self.Bind(wx.EVT_CLOSE, self.close) self.SetTitle(_("About %s")%app_name) self.sizer = VSizer() i = wx.the_app.image_library.get(('logo', 'banner')) b = wx.BitmapFromImage(i) self.bitmap = ElectroStaticBitmap(self, b) self.sizer.AddFirst(self.bitmap, flag=wx.ALIGN_CENTER_HORIZONTAL) version_str = version if int(version_str[2]) % 2: version_str = version_str + ' ' + _("Beta") if '__WXGTK__' in wx.PlatformInfo: # wtf, "Version" forces a line break before the # version_str on WXGTK only -- most other strings work # fine. version_text = _("version %s") % version_str else: version_text = _("Version %s") % version_str version_label = ElectroStaticText(self, label=version_text) self.sizer.Add(version_label, flag=wx.ALIGN_CENTER_HORIZONTAL) if branch is not None: blabel = ElectroStaticText(self, label='working dir: %s' % branch) self.sizer.Add(blabel, flag=wx.ALIGN_CENTER_HORIZONTAL) self.credits_scroll = CreditsScroll(self, 'credits', style=wx.TE_CENTRE) self.lic_scroll = CreditsScroll(self, 'LICENSE', style=wx.TE_CENTRE) self.sizer.Add(self.lic_scroll, flag=wx.GROW, proportion=1) self.sizer.Add(self.credits_scroll, flag=wx.GROW, proportion=1) self.lic_scroll.Hide() self.button_sizer = HSizer() self.credits_button = wx.Button(parent=self, id=wx.ID_ANY, label=_("Li&cense")) self.credits_button.Bind(wx.EVT_BUTTON, self.toggle_credits) self.button_sizer.AddFirst(self.credits_button) self.sizer.Add(self.button_sizer, flag=wx.ALIGN_CENTER_HORIZONTAL, proportion=0, border=0) self.SetSizerAndFit(self.sizer) for w in (self, self.bitmap, self.credits_scroll, self.credits_button): w.Bind(wx.EVT_CHAR, self.key) self.SetFocus()
Example #19
Source File: DownloadManager.py From BitTorrent with GNU General Public License v3.0 | 4 votes |
def _build_tool_bar(self): size = wx.the_app.config['toolbar_size'] self.tool_bar = DownloaderToolBar(self, ops=[self.extra_ops, self.torrent_ops]) self.search_bar = BTToolBar(self) i = wx.the_app.theme_library.get(('search',), size) bmp = wx.BitmapFromImage(i) assert bmp.Ok(), "The image (%s) is not valid." % i tid = wx.NewId() self.search_bar.AddLabelTool(tid, _("Search"), bmp, shortHelp=_("Search")) self.search_field = SearchField(self.search_bar, _("Search for torrents"), wx.the_app.visit_url) self.search_bar.AddControl(self.search_field) # HACK -- we should find some better spacer and then a StaticText #self.search_bar.AddControl(ElectroStaticText(self.search_bar, label=" ")) self.search_bar.Realize() self.Bind(wx.EVT_TOOL, self.search_field.search, id=tid) if '__WXMAC__' in wx.PlatformInfo: self.tool_sizer.Add(self.tool_bar) else: self.tool_sizer.Add(self.tool_bar, flag=wx.GROW) self.tool_sizer.Add(self.search_bar, flag=wx.ALIGN_CENTER_VERTICAL) s = self.search_bar.GetClientSize() if '__WXMSW__' in wx.PlatformInfo: # this makes the first toolbar size correct (on win2k, etc). icon # resizes after that make it go too far to the left on XP. # wtf? #self.tool_sizer.SetItemMinSize(self.search_bar, s.width/2, s.height) # HACK w = s.width/2 # ish if self.search_bar.size == 16: w = 175 elif self.search_bar.size == 24: w = 185 elif self.search_bar.size == 32: w = 195 if wx.the_app.config['toolbar_text']: w += 25 self.tool_sizer.SetItemMinSize(self.search_bar, w, s.height) elif '__WXMAC__' in wx.PlatformInfo: self.tool_sizer.SetItemMinSize(self.search_bar, 186, s.height) def OnSize(event): x = event.GetSize().GetWidth() - 185 x2 = self.tool_bar.GetSize().GetWidth() x = max(x, x2) self.search_bar.SetPosition((x, 0)) event.Skip() self.Bind(wx.EVT_SIZE, OnSize)
Example #20
Source File: DownloadManager.py From BitTorrent with GNU General Public License v3.0 | 4 votes |
def __init__(self, parent, path, name, is_dir): self.is_dir = is_dir if self.is_dir: BTDialog.__init__(self, parent=parent, id=wx.ID_ANY, title=_("Save In"), style=wx.DEFAULT_DIALOG_STYLE) self.message = ElectroStaticText(self, id=wx.ID_ANY, label=_('Save "%s" in:')%name) dialog_title = _('Choose a folder...\n("%s" will be a sub-folder.)'%name) self.save_box = ChooseDirectorySizer(self, os.path.split(path)[0], dialog_title=dialog_title) else: BTDialog.__init__(self, parent=parent, id=wx.ID_ANY, title=_("Save As"), style=wx.DEFAULT_DIALOG_STYLE) self.message = ElectroStaticText(self, id=wx.ID_ANY, label=_('Save "%s" as:')%name) self.save_box = ChooseFileSizer(self, path, dialog_style=wx.SAVE) self.sizer = VSizer() self.sizer.AddFirst(self.message) self.sizer.Add(self.save_box, flag=wx.GROW) self.always_checkbox = wx.CheckBox(self, id=wx.ID_ANY, label=_("&Always save files in this directory")) self.always_checkbox.SetValue(False) self.sizer.Add(self.always_checkbox) if '__WXMSW__' in wx.PlatformInfo: self.always_checkbox.Bind(wx.EVT_CHECKBOX, self.OnAlways) self.shortcut_checkbox = wx.CheckBox(self, id=wx.ID_ANY, label=_("Create &shortcut on the desktop")) self.shortcut_checkbox.SetValue(False) self.shortcut_checkbox.Disable() self.sizer.Add(self.shortcut_checkbox) self.button_sizer = self.CreateStdDialogButtonSizer(flags=wx.OK|wx.CANCEL) self.sizer.Add(self.button_sizer, flag=wx.ALIGN_RIGHT, border=SPACING) self.SetSizer(self.sizer) self.Fit()
Example #21
Source File: backend_wx.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangle(rect)
Example #22
Source File: backend_wx.py From GraphicDesignPatternByPython with MIT License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangle(rect)
Example #23
Source File: backend_wx.py From coffeegrindsize with MIT License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangle(rect)
Example #24
Source File: backend_wx.py From CogAlg with MIT License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangle(rect)
Example #25
Source File: backend_wx.py From twitter-stock-recommendation with MIT License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wxc.NamedColour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) if wxc.is_phoenix: dc.DrawRectangle(rect) else: dc.DrawRectangleRect(rect)
Example #26
Source File: backend_wx.py From Mastering-Elasticsearch-7.0 with MIT License | 4 votes |
def draw_rubberband(self, event, x0, y0, x1, y1): if self.retinaFix: # On Macs, use the following code # wx.DCOverlay does not work properly on Retina displays. rubberBandColor = '#C0C0FF' if self.prevZoomRect: self.prevZoomRect.pop(0).remove() self.canvas.restore_region(self.savedRetinaImage) X0, X1 = self.zoomStartX, event.xdata Y0, Y1 = self.zoomStartY, event.ydata lineX = (X0, X0, X1, X1, X0) lineY = (Y0, Y1, Y1, Y0, Y0) self.prevZoomRect = self.zoomAxes.plot( lineX, lineY, '-', color=rubberBandColor) self.zoomAxes.draw_artist(self.prevZoomRect[0]) self.canvas.blit(self.zoomAxes.bbox) return # Use an Overlay to draw a rubberband-like bounding box. dc = wx.ClientDC(self.canvas) odc = wx.DCOverlay(self.wxoverlay, dc) odc.Clear() # Mac's DC is already the same as a GCDC, and it causes # problems with the overlay if we try to use an actual # wx.GCDC so don't try it. if 'wxMac' not in wx.PlatformInfo: dc = wx.GCDC(dc) height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 if y1 < y0: y0, y1 = y1, y0 if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 h = y1 - y0 rect = wx.Rect(x0, y0, w, h) rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) dc.DrawRectangle(rect)