--shell to the command line and it will start a PyShell to go with it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #----------------------------------------------------------------------------
 | |
| # Name:         ColourSelect.py
 | |
| # Purpose:      Colour Selection control display testing on panel for wxPython demo
 | |
| #
 | |
| # Author:       Lorne White (email: lorne.white@telusplanet.net)
 | |
| #
 | |
| # Version       0.6
 | |
| # Date:         Nov 14, 2001
 | |
| # Licence:      wxWindows license
 | |
| #
 | |
| # Change Log:  Add Label parameter to accommodate updated library code
 | |
| #
 | |
| # Cliff Wells (logiplexsoftware@earthlink.net) 2002/03/11
 | |
| #              - added code to demonstrate EVT_COLOURSELECT
 | |
| #              - use sizers
 | |
| #              - other minor "improvements"
 | |
| #----------------------------------------------------------------------------
 | |
| # 
 | |
| 
 | |
| import  wx
 | |
| import  wx.lib.colourselect as  csel
 | |
| 
 | |
| #----------------------------------------------------------------------------
 | |
| 
 | |
| class TestColourSelect(wx.Panel):
 | |
|     def __init__(self, parent, log):
 | |
|         self.log = log
 | |
|         wx.Panel.__init__(self, parent, -1)
 | |
|         self.SetAutoLayout(True)
 | |
|         mainSizer = wx.BoxSizer(wx.VERTICAL)
 | |
|         self.SetSizer(mainSizer)
 | |
|         t = wx.StaticText(self, -1,
 | |
|                          "This example uses a colour selection control based on the wxButton\n"
 | |
|                          "and wxColourDialog Classes.  Click Button to get Colour Values")
 | |
|         mainSizer.Add(t, 0, wx.ALL, 3)
 | |
| 
 | |
|         b = wx.Button(self, -1, "Show All Colours")
 | |
|         self.Bind(wx.EVT_BUTTON, self.OnShowAll, id=b.GetId())
 | |
|         mainSizer.Add(b, 0, wx.ALL, 3)
 | |
| 
 | |
|         buttonSizer = wx.FlexGridSizer(1, 2) # sizer to contain all the example buttons
 | |
| 
 | |
|         # show a button with all default values
 | |
|         self.colourDefaults = csel.ColourSelect(self, -1)
 | |
| 
 | |
|         self.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour, id=self.colourDefaults.GetId())
 | |
|         
 | |
|         buttonSizer.AddMany([
 | |
|             (wx.StaticText(self, -1, "Default Colour/Size"), 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL),
 | |
|             (self.colourDefaults, 0, wx.ALL, 3),
 | |
|             ])
 | |
| 
 | |
|         # build several examples of buttons with different colours and sizes
 | |
|         buttonData = [
 | |
|             ("Default Size",         (255, 255, 0),   wx.DefaultSize, ""),
 | |
|             ("Another Size",         (255, 0, 255),   (60, 20),      ""),
 | |
|             ("Another Colour",       (0, 255, 0),     wx.DefaultSize, ""),
 | |
|             ("Larger Size",          (0, 0, 255),     (60, 60),      ""),
 | |
|             ("With a Label",         (127, 0, 255),   wx.DefaultSize, "Colour..."),
 | |
|             ("Another Colour/Label", (255, 100, 130), (120, -1),     "Choose Colour..."),
 | |
|             ]
 | |
| 
 | |
|         self.buttonRefs = [] # for saving references to buttons
 | |
| 
 | |
|         # build each button and save a reference to it
 | |
|         for name, color, size, label in buttonData:
 | |
|             b = csel.ColourSelect(self, -1, label, color, size = size)
 | |
| 
 | |
|             b.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour)
 | |
|             self.buttonRefs.append((name, b))  # store reference to button
 | |
| 
 | |
|             buttonSizer.AddMany([
 | |
|                 (wx.StaticText(self, -1, name), 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL),
 | |
|                 (b, 0, wx.ALL, 3),
 | |
|                 ])
 | |
| 
 | |
|         mainSizer.Add(buttonSizer, 0, wx.ALL, 3)
 | |
|         self.Layout()
 | |
| 
 | |
|     def OnSelectColour(self, event):
 | |
|         self.log.WriteText("Colour selected: %s" % str(event.GetValue()))
 | |
| 
 | |
|     def OnShowAll(self, event):
 | |
|         # show the state of each button
 | |
|         result = []
 | |
|         colour = self.colourDefaults.GetColour() # default control value
 | |
|         result.append("Default Colour/Size: " + str(colour))
 | |
| 
 | |
|         for name, button in self.buttonRefs:
 | |
|             colour = button.GetColour() # get the colour selection button result
 | |
|             result.append(name + ": " + str(colour))  # create string list for easy viewing of results
 | |
| 
 | |
|         out_result = ',  '.join(result)
 | |
|         self.log.WriteText("Colour Results: " + out_result + "\n")
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| def runTest(frame, nb, log):
 | |
|     win = TestColourSelect(nb, log)
 | |
|     return win
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| overview = """\
 | |
| A coloured button that when clicked allows the user to select a colour from the wxColourDialog.
 | |
| """
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     import sys,os
 | |
|     import run
 | |
|     run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
 | |
| 
 |