2 #----------------------------------------------------------------------------
3 # Name: ColourSelect.py
4 # Purpose: Colour Selection control display testing on panel for wxPython demo
6 # Author: Lorne White (email: lorne.white@telusplanet.net)
10 # Licence: wxWindows license
12 # Change Log: Add Label parameter to accommodate updated library code
14 #----------------------------------------------------------------------------
16 from wxPython
.wx
import *
17 from wxPython
.lib
.colourselect
import *
20 #---------------------------------------------------------------------------
22 class TestColourSelect(wxPanel
):
23 def __init__(self
, parent
, log
):
25 wxPanel
.__init
__(self
, parent
, -1)
27 wxStaticText(self
, -1, "This example uses a colour selection control based on the wxButton and wxColourDialog Classes. Click Button to get Colour Values",
28 wxPoint(10, 20), wxSize(400, 60))
35 wxButton(self
, mID
, "Get All Colours", wxPoint(self
.x_pos
, self
.y_pos
))
36 EVT_BUTTON(self
, mID
, self
.OnClick
)
37 self
.y_pos
= self
.y_pos
+ delta
39 wxStaticText(self
, -1, "Default", wxPoint(self
.x_pos
, self
.y_pos
), wxSize(-1, -1)) # name
40 self
.colour_def
= ColourSelect(self
, -1, pos
=wxPoint(self
.x_pos
+100, self
.y_pos
)) # default colour selection control
42 self
.y_pos
= self
.y_pos
+ delta
43 colours
= [[255, 255, 0], [255, 0, 255], [0, 255, 0], [0, 0, 255]] # list of initial colours for display
44 self
.names
= names
= [ "Default Size", "Another Size", "Another Colour", "Larger"] # display names
45 sizes
= [ wxDefaultSize
, wxSize(60, 20), wxDefaultSize
, wxSize(60, 60)] # button sizes
48 for i
in range(len(colours
)):
49 wxStaticText(self
, -1, names
[i
], wxPoint(self
.x_pos
, self
.y_pos
), wxSize(-1, -1)) # name
51 val
= ColourSelect(self
, -1, "", colours
[i
], wxPoint(self
.x_pos
+100, self
.y_pos
), sizes
[i
]) # colour selection button
52 self
.set_val
.append(val
) # store control for reference
53 self
.y_pos
= self
.y_pos
+ delta
55 self
.y_pos
= self
.y_pos
- delta
56 ColourSelect(self
, -1, "Color Label", colours
[0], wxPoint(self
.x_pos
+200, self
.y_pos
), sizes
[0]) # colour selection button
59 def OnClick(self
, event
):
61 colour
= self
.colour_def
.GetColour() # default control value
62 result
.append("Default: " + str(colour
))
64 for i
in range(len(self
.set_val
)):
66 colour
= val
.GetColour() # get the colour selection button result
68 result
.append(name
+ ": " + str(colour
)) # create string list for easy viewing of results
69 out_result
= string
.joinfields(result
, ', ')
70 self
.log
.WriteText("Colour Results :" + out_result
+ "\n")
72 #---------------------------------------------------------------------------
74 def runTest(frame
, nb
, log
):
75 win
= TestColourSelect(nb
, log
)
78 #---------------------------------------------------------------------------