def __init_ui(self): cfg = gmCfg2.gmCfgData() if cfg.get(option = 'slave'): self._TCTRL_patient_selector.SetEditable(0) self._TCTRL_patient_selector.SetToolTip(None) if sys.platform == u'darwin': _log.debug('adjusting font size on Mac for top panel parts') for ctrl in [self._TCTRL_patient_selector, self._LBL_age, self._LBL_allergies, self._TCTRL_allergies]: curr_font = ctrl.GetFont() mac_font = wx.FontFromNativeInfo(curr_font.NativeFontInfo) mac_font.SetPointSize(pointSize = int(curr_font.GetPointSize() / 0.8)) ctrl.SetFont(mac_font) # get panel to use dbcfg = gmCfg.cCfgSQL() pk_panel = dbcfg.get2 ( option = u'horstspace.top_panel.lab_panel', workplace = gmPraxis.gmCurrentPraxisBranch().active_workplace, bias = 'user' ) if pk_panel is None: self.__lab_panel = None else: self.__lab_panel = gmPathLab.cTestPanel(aPK_obj = pk_panel)
def _on_set_focus(self, event): self._has_focus = True event.Skip() #self.__non_edit_font = self.GetFont() #edit_font = self.GetFont() edit_font = wx.FontFromNativeInfo(self.__non_edit_font.NativeFontInfo) edit_font.SetPointSize(pointSize = edit_font.GetPointSize() + 1) self.SetFont(edit_font) self.Refresh() # notify interested parties for callback in self._on_set_focus_callbacks: callback() self.__timer.Start(oneShot = True, milliseconds = self.picklist_delay) return True
def __init__(self, cfgGl): if not ConfigGui.constantsInited: ConfigGui.bluePen = wx.Pen(wx.Colour(0, 0, 255)) ConfigGui.redColor = wx.Colour(255, 0, 0) ConfigGui.blackColor = wx.Colour(0, 0, 0) ConfigGui.constantsInited = True # convert cfgGl.MyColor -> cfgGui.wx.Colour for it in cfgGl.cvars.color.itervalues(): c = getattr(cfgGl, it.name) tmp = wx.Colour(c.r, c.g, c.b) setattr(self, it.name, tmp) # key = line type, value = wx.Colour self._lt2textColor = {} for t in getTIs(): self._lt2textColor[t.lt] = getattr(self, "text%sColor" % t.name) self.textPen = wx.Pen(self.textColor) self.textHdrPen = wx.Pen(self.textHdrColor) self.workspaceBrush = wx.Brush(self.workspaceColor) self.workspacePen = wx.Pen(self.workspaceColor) self.textBgBrush = wx.Brush(self.textBgColor) self.textBgPen = wx.Pen(self.textBgColor) self.pageBorderPen = wx.Pen(self.pageBorderColor) self.pageShadowPen = wx.Pen(self.pageShadowColor) self.selectedBrush = wx.Brush(self.selectedColor) self.selectedPen = wx.Pen(self.selectedColor) self.searchBrush = wx.Brush(self.searchColor) self.searchPen = wx.Pen(self.searchColor) self.cursorBrush = wx.Brush(self.cursorColor) self.cursorPen = wx.Pen(self.cursorColor) self.noteBrush = wx.Brush(self.noteColor) self.notePen = wx.Pen(self.noteColor) self.autoCompPen = wx.Pen(self.autoCompFgColor) self.autoCompBrush = wx.Brush(self.autoCompBgColor) self.autoCompRevPen = wx.Pen(self.autoCompBgColor) self.autoCompRevBrush = wx.Brush(self.autoCompFgColor) self.pagebreakPen = wx.Pen(self.pagebreakColor) self.pagebreakNoAdjustPen = wx.Pen(self.pagebreakNoAdjustColor, style=wx.DOT) self.tabTextPen = wx.Pen(self.tabTextColor) self.tabBorderPen = wx.Pen(self.tabBorderColor) self.tabBarBgBrush = wx.Brush(self.tabBarBgColor) self.tabBarBgPen = wx.Pen(self.tabBarBgColor) self.tabNonActiveBgBrush = wx.Brush(self.tabNonActiveBgColor) self.tabNonActiveBgPen = wx.Pen(self.tabNonActiveBgColor) # a 4-item list of FontInfo objects, indexed by the two lowest # bits of pml.TextOp.flags. self.fonts = [] for fname in [ "fontNormal", "fontBold", "fontItalic", "fontBoldItalic" ]: fi = FontInfo() s = getattr(cfgGl, fname) # evil users can set the font name to empty by modifying the # config file, and some wxWidgets ports crash hard when trying # to create a font from an empty string, so we must guard # against that. if s: nfi = wx.NativeFontInfo() nfi.FromString(s) nfi.SetEncoding(wx.FONTENCODING_ISO8859_1) fi.font = wx.FontFromNativeInfo(nfi) # likewise, evil users can set the font name to "z" or # something equally silly, resulting in an # invalid/non-existent font. on wxGTK2 and wxMSW we can # detect this by checking the point size of the font. # wxGTK1 chooses some weird chinese font and I can't find # a way to detect that, but it's irrelevant since we'll # rip out support for it in a few months. if fi.font.GetPointSize() == 0: fi.font = None # if either of the above failures happened, create a dummy # font and use it. this sucks but is preferable to crashing or # displaying an empty screen. if not fi.font: fi.font = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL, encoding=wx.FONTENCODING_ISO8859_1) setattr(cfgGl, fname, fi.font.GetNativeFontInfo().ToString()) fx, fy = util.getTextExtent(fi.font, "O") fi.fx = max(1, fx) fi.fy = max(1, fy) self.fonts.append(fi)