]> git.saurik.com Git - wxWidgets.git/blob - wxPython/wxPython/lib/colourselect.py
9759e9ac79afd0ac1a80b7bfacf24f703843505f
[wxWidgets.git] / wxPython / wxPython / lib / colourselect.py
1 #----------------------------------------------------------------------------
2 # Name: ColourSelect.py
3 # Purpose: Colour Box Selection Control
4 #
5 # Author: Lorne White, Lorne.White@telusplanet.net
6 #
7 # Created: Sept 4, 2001
8 # Licence: wxWindows license
9 #----------------------------------------------------------------------------
10
11 from wxPython.wx import *
12
13 # creates a colour wxButton with selectable color
14 # button click provides a colour selection box
15 # button colour will change to new colour
16 # GetColour method to get the selected colour
17
18 # Updates:
19 # call back to function if changes made
20
21 class ColourSelect(wxButton):
22 def __init__(self, parent, ID, bcolour=[0, 0, 0], pos=wxPoint(20, 20), size=wxSize(20, 20), style=0, callback=None):
23 wxButton.__init__(self, parent, ID, "", pos, size, style)
24 self.win = parent
25 self.callback = callback
26 EVT_BUTTON(self, ID, self.OnClick)
27 self.SetColourValue(bcolour)
28
29 def SetColour(self, bcolour):
30 self.SetBackgroundColour(bcolour)
31
32 def SetColourValue(self, bcolour):
33 self.set_colour = bcolour
34 self.SetBackgroundColour(self.Get_wxColour())
35 self.SetForegroundColour(wxWHITE)
36
37 def SetValue(self, bcolour):
38 self.SetColourValue(bcolour)
39
40 def GetColour(self):
41 return self.set_colour
42
43 def Get_wxColour(self):
44 return wxColour(self.set_colour[0], self.set_colour[1], self.set_colour[2])
45
46 def OnChange(self):
47 if self.callback != None:
48 self.callback()
49
50 def OnClick(self, event):
51 data = wxColourData()
52 data.SetChooseFull(true)
53 data.SetColour(self.Get_wxColour())
54 dlg = wxColourDialog(self.win, data)
55 if dlg.ShowModal() == wxID_OK:
56 data = dlg.GetColourData()
57 self.set_colour = set = data.GetColour().Get()
58 self.SetBackgroundColour(self.Get_wxColour())
59 self.OnChange()
60 dlg.Destroy()
61