Module Gnumed.wxpython.gmTerryGuiParts
GNUmed - Richard Terry style GUI elements
TODO: - implement user defined rgb colours - implement flashing text on the rest of the panel! - add font size/style as option
copyright: author dependencies: wxPython (>= version 2.3.1)
Classes
class cAlertCaption (parent, id, title)
-
Expand source code
class cAlertCaption(wx.Panel): """Bottom left hand pane alert panel. This panel consists constructs a simple heading to be used at the bottom of the screen, in the form of capitalised word on user defined foreground and background colours. The heading is left justified currently. The default colours are black text on intermediate grey so as to not make it too intrusive. The alert text will appear in flashing red text """ # def __init__(self, parent, id, title, bg_red, bg_blue, bg_green,fg_red, fg_blue, fg_green): # this to be used once the rgb thingy is fixed def __init__(self, parent, id, title): wx.Panel.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, 0 ) self.SetBackgroundColour(wx.Colour(222,222,222)) #set main panel background color sizer = wx.BoxSizer(wx.HORIZONTAL) #SetCaptionBackgroundColor() #set background colour with rgb TODO #----------------------------------------------- #create a panel which will hold the caption #add the title to it, set the colours #stick it on a sizer with a cap above and below #---------------------------------------------- captionpanel = wx.Panel(self,-1,size = (400,10)) captionpanel.SetBackgroundColour(wx.Colour(197,194,197)) #intermediate gray caption = wx.StaticText(captionpanel,-1, title,style = wx.ALIGN_CENTRE_VERTICAL) # static text for the caption caption.SetForegroundColour(wx.Colour(0,0,0)) #black as... #SetCaptionForegroundColor() #set caption text colour rgb TODO caption.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL, wx.BOLD,False,'')) sizer.Add(captionpanel,1,wx.EXPAND|wx.ALL,2) sizer.Add(0,9,6) self.SetSizer(sizer) #set the sizer sizer.Fit(self) #set to minimum size as calculated by sizer self.SetAutoLayout(True) #tell frame to use the sizer #self.Show(True) #showing done by manager! #show the panel def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green): self.SetBackgroundColour(wx.Colour(bg_red,bg_blue,bg_green)) return def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green): self.caption.SetForegroundColour(wx.Colour(fg_red,fg_blue,fg_green)) return
Bottom left hand pane alert panel.
This panel consists constructs a simple heading to be used at the bottom of the screen, in the form of capitalised word on user defined foreground and background colours. The heading is left justified currently. The default colours are black text on intermediate grey so as to not make it too intrusive. The alert text will appear in flashing red text
Ancestors
- wx._core.Panel
- wx._core.Window
- wx._core.WindowBase
- wx._core.EvtHandler
- wx._core.Object
- wx._core.Trackable
- sip.wrapper
- sip.simplewrapper
Methods
def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green)
-
Expand source code
def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green): self.SetBackgroundColour(wx.Colour(bg_red,bg_blue,bg_green)) return
def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green)
-
Expand source code
def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green): self.caption.SetForegroundColour(wx.Colour(fg_red,fg_blue,fg_green)) return
class cDividerCaption (parent, id, title)
-
Expand source code
class cDividerCaption(wx.Panel): """This panel consists of one or more headings on a horizontal panel and is used to divide/head sections of the screenel There are user defined foreground and background colours. The captions are centred in the available space. The default colours are purple panel with white bold text words (sounds yuk doesn't it - but I like it and it works well!!!!! """ # def __init__(self, parent, id, title, bg_red, bg_blue, bg_green,fg_red, fg_blue, fg_green): # this to be used once the rgb thingy is fixed def __init__(self, parent, id, title): wx.Panel.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, 0) sizer = wx.BoxSizer(wx.HORIZONTAL) self.SetBackgroundColour(wx.Colour(197,194,255)) #set panel background to light purple! #SetCaptionBackgroundColor() #set panel background colour rgb caption = wx.StaticText(self,-1, title,style = wx.ALIGN_CENTRE) #static text control for the caption caption.SetForegroundColour(wx.WHITE) #white foreground text colour #SetCaptionForegroundColor() #set caption text colour to rgb caption.SetFont(wx.Font(13,wx.SWISS,wx.NORMAL, wx.BOLD,False,'')) #TODO implement font size parameter sizer.Add(caption,1,wx.EXPAND) #add caption to the sizer self.SetSizer(sizer) #set the sizer sizer.Fit(self) #set to minimum size as calculated by sizer self.SetAutoLayout(True) #tell frame to use the sizer #self.Show(True) #show the panel def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green): self.SetBackgroundColour(wx.Colour(bg_red,bg_blue,bg_green)) def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green): self.caption.SetForegroundColour(wx.Colour(fg_red,fg_blue,fg_green)) return
This panel consists of one or more headings on a horizontal panel and is
used to divide/head sections of the screenel There are user defined foreground and background colours. The captions are centred in the available space. The default colours are purple panel with white bold text words (sounds yuk doesn't it - but I like it and it works well!!!!!
Ancestors
- wx._core.Panel
- wx._core.Window
- wx._core.WindowBase
- wx._core.EvtHandler
- wx._core.Object
- wx._core.Trackable
- sip.wrapper
- sip.simplewrapper
Methods
def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green)
-
Expand source code
def SetCaptionBackgroundColor(self, bg_red, bg_blue, bg_green): self.SetBackgroundColour(wx.Colour(bg_red,bg_blue,bg_green))
def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green)
-
Expand source code
def SetCaptionForegroundColor(self, fg_red, fg_blue, fg_green): self.caption.SetForegroundColour(wx.Colour(fg_red,fg_blue,fg_green)) return
class cHeadingCaption (parent,
id,
text,
bgC=wx.Colour(197, 194, 255, 255),
hdrC=wx.Colour(255, 129, 131, 255),
txtC=wx.Colour(255, 255, 0, 255))-
Expand source code
class cHeadingCaption(wx.Panel): """This panel consists constructs a simple heading to be used at the top of a panel, in the form of capitalised word on user defined foreground and background colours. The heading is left justified currently. The default colours are purple panel, orange label with yellow capitalised words (sounds yuk doesn't it - but I like it and it works well!!!!! """ def __init__ (self, parent, id, text, bgC = wx.Colour (197,194,255), hdrC = wx.Colour (255, 129, 131), txtC = wx.Colour (255, 255, 0)): self.text = text self.bgC = bgC self.hdrC = hdrC self.txtC = txtC wx.Panel.__init__(self, parent, id) wx.EVT_PAINT (self, self.OnPaint) wx.EVT_SIZE (self, self.OnSize) self.w = 0 self.h = 0 def OnPaint (self, event): self.redraw (wx.PaintDC (self)) def OnSize (self, event): self.w, self.h = self.GetClientSize() def redraw (self, dc): dc.SetBrush (wx.Brush (self.bgC, wx.SOLID)) dc.SetPen (wx.TRANSPARENT_PEN) dc.DrawRectangle (0, 0, self.w, self.h) dc.SetTextBackground (self.hdrC) dc.SetFont (wx.Font (12, wx.SWISS, wx.NORMAL, wx.BOLD)) dc.SetTextForeground (self.txtC) txtw, txth = dc.GetTextExtent (self.text) bufx = txtw / 10 # buffer to left of text if bufx + txtw > self.w: bufx = 0 bufy = (self.h - txth)/2 if bufy < 0: bufy = 0 dc.SetBrush (wx.Brush (self.hdrC, wx.SOLID)) dc.DrawRectangle (bufx, bufy, txtw, txth) dc.DrawText (self.text, bufx, bufy) def SetCaptionBackgroundColor(self, bgC): self.bgC = bgC self.redraw (wx.ClientDC (self)) def SetCaptionForegroundColor(self, hdrC): self.hdrC = hdrC self.redraw (wx.ClientDC (self))
This panel consists constructs a simple heading to be used at the top
of a panel, in the form of capitalised word on user defined foreground and background colours. The heading is left justified currently. The default colours are purple panel, orange label with yellow capitalised words (sounds yuk doesn't it - but I like it and it works well!!!!!
Ancestors
- wx._core.Panel
- wx._core.Window
- wx._core.WindowBase
- wx._core.EvtHandler
- wx._core.Object
- wx._core.Trackable
- sip.wrapper
- sip.simplewrapper
Methods
def OnPaint(self, event)
-
Expand source code
def OnPaint (self, event): self.redraw (wx.PaintDC (self))
def OnSize(self, event)
-
Expand source code
def OnSize (self, event): self.w, self.h = self.GetClientSize()
def SetCaptionBackgroundColor(self, bgC)
-
Expand source code
def SetCaptionBackgroundColor(self, bgC): self.bgC = bgC self.redraw (wx.ClientDC (self))
def SetCaptionForegroundColor(self, hdrC)
-
Expand source code
def SetCaptionForegroundColor(self, hdrC): self.hdrC = hdrC self.redraw (wx.ClientDC (self))
def redraw(self, dc)
-
Expand source code
def redraw (self, dc): dc.SetBrush (wx.Brush (self.bgC, wx.SOLID)) dc.SetPen (wx.TRANSPARENT_PEN) dc.DrawRectangle (0, 0, self.w, self.h) dc.SetTextBackground (self.hdrC) dc.SetFont (wx.Font (12, wx.SWISS, wx.NORMAL, wx.BOLD)) dc.SetTextForeground (self.txtC) txtw, txth = dc.GetTextExtent (self.text) bufx = txtw / 10 # buffer to left of text if bufx + txtw > self.w: bufx = 0 bufy = (self.h - txth)/2 if bufy < 0: bufy = 0 dc.SetBrush (wx.Brush (self.hdrC, wx.SOLID)) dc.DrawRectangle (bufx, bufy, txtw, txth) dc.DrawText (self.text, bufx, bufy)