E. A. Tacao. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # AnalogClock's font selector for setup dialog
 | |
| #   E. A. Tacao <e.a.tacao |at| estadao.com.br>
 | |
| #   http://j.domaindlx.com/elements28/wxpython/
 | |
| #   15 Fev 2006, 22:00 GMT-03:00
 | |
| # Distributed under the wxWidgets license.
 | |
| 
 | |
| import wx
 | |
| from wx.lib.newevent import NewEvent
 | |
| from wx.lib.buttons import GenButton
 | |
| 
 | |
| #----------------------------------------------------------------------------
 | |
| 
 | |
| (FontSelectEvent, EVT_FONTSELECT) = NewEvent()
 | |
| 
 | |
| #----------------------------------------------------------------------------
 | |
| 
 | |
| class FontSelect(GenButton):
 | |
|     def __init__(self, parent, size=(75, 21), value=None):
 | |
|         GenButton.__init__(self, parent, wx.ID_ANY, label="Select...", 
 | |
|                            size=size)
 | |
|         self.SetBezelWidth(1)
 | |
| 
 | |
|         self.parent = parent
 | |
|         self.SetValue(value)
 | |
|         
 | |
|         self.parent.Bind(wx.EVT_BUTTON, self.OnClick, self)
 | |
| 
 | |
| 
 | |
|     def GetValue(self):
 | |
|         return self.value
 | |
| 
 | |
| 
 | |
|     def SetValue(self, value):
 | |
|         if value is None:
 | |
|             value = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
 | |
|         self.value = value
 | |
| 
 | |
| 
 | |
|     def OnClick(self, event):
 | |
|         data = wx.FontData()
 | |
|         data.EnableEffects(False)
 | |
|         font = self.value; font.SetPointSize(10)
 | |
|         data.SetInitialFont(font)
 | |
| 
 | |
|         dlg = wx.FontDialog(self, data)
 | |
|         changed = dlg.ShowModal() == wx.ID_OK
 | |
| 
 | |
|         if changed:
 | |
|             data = dlg.GetFontData()
 | |
|             self.value = data.GetChosenFont()
 | |
|             self.Refresh()
 | |
|         dlg.Destroy()
 | |
| 
 | |
|         if changed:
 | |
|             nevt = FontSelectEvent(id=self.GetId(), obj=self, val=self.value)
 | |
|             wx.PostEvent(self.parent, nevt)
 | |
| 
 | |
| 
 | |
| #
 | |
| ##
 | |
| ### eof
 |