A custom panel class with gradient background shading with the possibility to add buttons and controls still respecting the gradient background.
Default class constructor. |
|
Adds a button to |
|
Adds a wxPython control to |
|
Adds a separator line to |
|
Adds a spacer (stretchable or fixed-size) to |
|
Clears the |
|
Gets the size which best suits |
|
Shows tooltips and long help strings in |
|
Do the Layout for |
|
Layout the items when the main caption exists. |
|
Returns the buttons alignment. |
|
Returns the main caption text. |
|
Returns the associated |
|
Returns the wxPython controls that belongs to |
|
Returns the size of an item in the main |
|
Returns all the |
|
Returns the |
|
Returns whether or not short and long help strings should be displayed as tooltips |
|
Returns whether |
|
HitTest method for |
|
Returns whether |
|
Returns whether |
|
Layout the items using a different algorithms depending on the existence |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the timer expiring to delete the long help string in |
|
Recreates the |
|
Remove all the buttons from |
|
Remove all the separators from |
|
Removes the tooltips and statusbar help (if any) for a button. |
|
Removes the main caption text. |
|
Repaints the old selected/hovered button. |
|
Sets the buttons alignment. |
|
Sets the main caption text. |
|
Sets a new |
|
Sets the |
|
Sets whether or not short and long help strings should be displayed as tooltips |
|
Layout the items when no main caption exists. |
ButtonPanel
(wx.Panel)¶A custom panel class with gradient background shading with the possibility to add buttons and controls still respecting the gradient background.
__init__
(self, parent, id=wx.ID_ANY, text="", agwStyle=BP_DEFAULT_STYLE, alignment=BP_ALIGN_LEFT, name="buttonPanel")¶Default class constructor.
parent (wx.Window) – the parent window. Must not be None
;
id (integer) – window identifier. If wx.ID_ANY
, will automatically create an identifier;
text (string) – the main caption text for ButtonPanel
;
agwStyle (integer) – the AGW-specific window style (one of BP_DEFAULT_STYLE
, BP_USE_GRADIENT
);
alignment (integer) – alignment of buttons (left or right);
name (string) – window class name.
AddButton
(self, btnInfo)¶Adds a button to ButtonPanel
.
btnInfo – an instance of ButtonInfo
.
Note
Remember to pass a ButtonInfo
instance to this method, and not a
standard Button
or a ToolBar
tool.
AddControl
(self, control, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=None)¶Adds a wxPython control to ButtonPanel
.
AddSeparator
(self)¶Adds a separator line to ButtonPanel
.
AddSpacer
(self, size=(0, 0), proportion=1, flag=wx.EXPAND)¶Adds a spacer (stretchable or fixed-size) to ButtonPanel
.
size (tuple) – the spacer size as a tuple;
proportion (integer) – the spacer proportion (0 for fixed-size, 1 or more for a stretchable one);
flag (integer) – one of the BoxSizer
flags.
Clear
(self)¶Clears the ButtonPanel
.
Can be used to reset the ButtonPanel
if you’d like have a new set of
buttons on the panel.
DoGetBestSize
(self)¶Gets the size which best suits ButtonPanel
: for a control, it would be
the minimal size which doesn’t truncate the control, for a panel - the
same size as it would have after a call to Fit().
An instance of wx.Size
.
Note
Overridden from Panel
.
DoGiveHelp
(self, hit)¶Shows tooltips and long help strings in StatusBar
.
hit – an instance of ButtonInfo
where the mouse is hovering.
DoLayout
(self)¶Do the Layout for ButtonPanel
.
Note
Call this method every time you make a modification to the layout or to the customizable sizes of the pseudo controls.
FlexibleLayout
(self, nonspacers, allchildren)¶Layout the items when the main caption exists.
nonspacers (list) – a list of items which are not spacers;
allchildren (list) – a list of all the children of ButtonPanel
.
GetAlignment
(self)¶Returns the buttons alignment.
An integer specifying the buttons alignment.
See also
SetAlignment
for a set of valid alignment bits.
GetBarText
(self)¶Returns the main caption text.
A string representing the caption text.
GetControls
(self)¶Returns the wxPython controls that belongs to ButtonPanel
.
A list of items inside ButtonPanel
that are wxPython controls.
GetItemSize
(self, item, isVertical)¶Returns the size of an item in the main ButtonPanel
sizer.
item – an instance of ButtonInfo
;
isVertical (bool) – True
if ButtonPanel
is in vertical orientation,
False
otherwise.
An instance of wx.Size
.
GetNonFlexibleChildren
(self)¶Returns all the ButtonPanel
main sizer’s children that are not
flexible spacers.
A list of items inside ButtonPanel
that are not flexible spacers.
GetStyle
(self)¶Returns the ButtonPanel
window style.
See also
SetStyle
for a list of valid window styles.
GetUseHelp
(self)¶Returns whether or not short and long help strings should be displayed as tooltips
and StatusBar
items respectively.
True
if the short and long help strings should be displayed as tooltips
and StatusBar
items respectively, False
otherwise.
HasBarText
(self)¶Returns whether ButtonPanel
has a main caption text or not.
True
if ButtonPanel
has a main caption text, False
otherwise.
HitTest
(self, pt)¶HitTest method for ButtonPanel
.
pt – the mouse position, an instance of wx.Point
.
an instance of ButtonInfo
and the hit flag BP_HT_BUTTON
if a button
client rectangle contains the input point pt, or wx.NOT_FOUND
and BP_HT_NONE
.
IsStandard
(self)¶Returns whether ButtonPanel
is aligned “Standard” (left/top) or not.
True
if ButtonPanel
is aligned “standard”, False
otherwise.
IsVertical
(self)¶Returns whether ButtonPanel
is vertically aligned or not.
True
if ButtonPanel
is vertically aligned, False
otherwise.
LayoutItems
(self)¶Layout the items using a different algorithms depending on the existence of the main caption.
OnEraseBackground
(self, event)¶Handles the wx.EVT_ERASE_BACKGROUND
event for ButtonPanel
.
event – a EraseEvent
event to be processed.
Note
This is intentionally empty to reduce flicker.
OnLeftDown
(self, event)¶Handles the wx.EVT_LEFT_DOWN
event for ButtonPanel
.
event – a MouseEvent
event to be processed.
OnLeftUp
(self, event)¶Handles the wx.EVT_LEFT_UP
event for ButtonPanel
.
event – a MouseEvent
event to be processed.
OnMouseEnterWindow
(self, event)¶Handles the wx.EVT_ENTER_WINDOW
event for ButtonPanel
.
event – a MouseEvent
event to be processed.
OnMouseLeave
(self, event)¶Handles the wx.EVT_LEAVE_WINDOW
event for ButtonPanel
.
event – a MouseEvent
event to be processed.
OnMouseMove
(self, event)¶Handles the wx.EVT_MOTION
event for ButtonPanel
.
event – a MouseEvent
event to be processed.
OnPaint
(self, event)¶Handles the wx.EVT_PAINT
event for ButtonPanel
.
event – a PaintEvent
event to be processed.
OnSize
(self, event)¶Handles the wx.EVT_SIZE
event for ButtonPanel
.
event – a wx.SizeEvent
event to be processed.
Todo
Improve the chain of methods OnSize
==> DoLayout
==> LayoutItems
to avoid multiple calls to LayoutItems
.
OnStatusBarTimer
(self)¶Handles the timer expiring to delete the long help string in StatusBar
.
ReCreateSizer
(self, text=None)¶Recreates the ButtonPanel
sizer accordingly to the alignment specified.
text (string) – the text to display as main caption. If text is set to None
,
the main caption will not be displayed.
RemoveAllButtons
(self)¶Remove all the buttons from ButtonPanel
.
Note
This function is for internal use only. If you are interested in
manipulating a ButtonPanel
in real time (ie. removing things on it)
have a look at the Clear
method.
RemoveAllSeparators
(self)¶Remove all the separators from ButtonPanel
.
Note
This function is for internal use only. If you are interested in
manipulating a ButtonPanel
in real time (ie. removing things on it)
have a look at the Clear
method.
RemoveHelp
(self)¶Removes the tooltips and statusbar help (if any) for a button.
RemoveText
(self)¶Removes the main caption text.
RepaintOldSelection
(self)¶Repaints the old selected/hovered button.
SetAlignment
(self, alignment)¶Sets the buttons alignment.
alignment (integer) – can be one of the following bits:
Alignment Flag |
Value |
Description |
---|---|---|
|
1 |
Buttons are aligned on the right |
|
2 |
Buttons are aligned on the left |
|
4 |
Buttons are aligned at the top |
|
8 |
Buttons are aligned at the bottom |
SetBarText
(self, text)¶Sets the main caption text.
text (string) – the main caption text label. An empty string erases the main caption text.
SetBPArt
(self, art)¶Sets a new BPArt
art provider to ButtonPanel
.
art – an instance of BPArt
.
SetStyle
(self, agwStyle)¶Sets the ButtonPanel
window style.
agwStyle (integer) – one of the following bits:
Window Styles |
Hex Value |
Description |
---|---|---|
|
0x1 |
|
|
0x2 |
|
SetUseHelp
(self, useHelp=True)¶Sets whether or not short and long help strings should be displayed as tooltips
and StatusBar
items respectively.
useHelp (bool) – True
to display short and long help strings as tooltips
and StatusBar
items respectively, False
otherwise.
SizeLayout
(self, nonspacers, children)¶Layout the items when no main caption exists.
nonspacers (list) – a list of items which are not spacers;
children (list) – a list of all the children of ButtonPanel
.