Changeset 727
- Timestamp:
- 10/22/03 15:22:45 (5 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBSkinning/demo/wxPythonSkin/widgets/htmlwindow.py
r528 r727 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 #~ Constants / Variables / Etc.31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~32 33 skinxml = """<?xml version='1.0'?>34 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'>35 <frame title='Frame' show='1' locking='1' size='600,600'>36 <layout ctxvar='root' sizercfg='1, wxEXPAND' fit='0'>37 <panel sizercfg='1, wxEXPAND' sizehints='300,300'>38 <layout sizercfg='1, wxEXPAND'>39 <skin:section name='wxPythonSkinTagWidgetTest'>40 <panel sizercfg='1, wxEXPAND|wxALL, 10'>41 <layout sizercfg='1, wxEXPAND|wxALL, 10'>42 <label sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT|wxRIGHT,10'>This is RBSkinning/wxHTML working together for awesome results.</label>43 <input sizercfg='1, wxEXPAND|wxTOP|wxLEFT|wxRIGHT,10'>Some test</input>44 <button label='A button' sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxALL,10'/>45 </layout>46 </panel>47 </skin:section>48 <htmlwindow sizercfg='1, wxEXPAND' address='htmlwindow.html'/>49 </layout>50 </panel>51 </layout>52 </frame>53 </skin:skin>54 """55 56 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~57 30 #~ Definitions 58 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 32 60 class BehaviorModel(object): 61 def OnMouse(self, evt): 62 print 'OnMouse', evt 63 evt.Skip() 64 def OnPageChanged(self, evt): 65 print 'OnPageChanged', evt 66 evt.Skip() 67 def OnPageChanging(self, evt): 68 print 'OnPageChanging', evt 69 evt.Skip() 33 class HTML_Demo(object): 34 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 #~ Constants / Variables / Etc. 36 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37 38 skinxml = """<?xml version='1.0'?> 39 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 40 <frame title='Frame' show='1' locking='1' size='600,600'> 41 <layout ctxvar='root' sizercfg='1, wxEXPAND' fit='0'> 42 <panel sizercfg='1, wxEXPAND' sizehints='300,300'> 43 <layout sizercfg='1, wxEXPAND'> 44 <skin:section name='wxPythonSkinTagWidgetTest'> 45 <panel sizercfg='1, wxEXPAND|wxALL, 10'> 46 <layout sizercfg='1, wxEXPAND|wxALL, 10'> 47 <label sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT|wxRIGHT,10'>This is RBSkinning/wxHTML working together for awesome results.</label> 48 <input sizercfg='1, wxEXPAND|wxTOP|wxLEFT|wxRIGHT,10'>Some test</input> 49 <button label='A button' sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxALL,10'/> 50 </layout> 51 </panel> 52 </skin:section> 53 <htmlwindow sizercfg='1, wxEXPAND' address='htmlwindow.html'/> 54 </layout> 55 </panel> 56 </layout> 57 </frame> 58 </skin:skin> 59 """ 60 61 def __init__(self): 62 skin = SkinXML(self.skinxml, behavior=self, application=wx.wxGetApp()) 63 70 64 71 65 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 74 68 75 69 def RunApp(): 76 app lication= wx.wxPySimpleApp()77 behaviormodel = BehaviorModel()78 skin = SkinXML(skinxml, behaviormodel=behaviormodel, application=application)79 return skin.context.application.MainLoop() 70 app = wx.wxPySimpleApp() 71 HTML_Demo() 72 return app.MainLoop() 73 80 74 81 75 if __name__ == '__main__': trunk/RBSkinning/demo/wxPythonSkin/widgets/htmlwindow_extended.py
r528 r727 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import time 26 27 from wxPython import wx 27 28 from RBSkinning import SkinXML 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~30 #~ Constants / Variables / Etc.31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~32 33 skinxml = """<?xml version='1.0'?>34 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' xmlns:py='http://namespaces.runeblade.com/xmlPython' xmlns='http://namespaces.runeblade.com/wxPythonSkin'>35 <frame title='Frame' show='1' locking='1' size='600,600'>36 <layout ctxvar='root' sizercfg='1, wxEXPAND' fit='0'>37 <panel sizercfg='1, wxEXPAND' sizehints='300,300'>38 <layout sizercfg='1, wxEXPAND'>39 <skin:section name='wxPythonSkinTagWidgetTest'>40 <panel sizercfg='1, wxEXPAND|wxALL, 10'>41 <layout sizercfg='1, wxEXPAND|wxALL, 10'>42 <label sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT|wxRIGHT,10'>This is RBSkinning/wxHTML working together for awesome results.</label>43 <input sizercfg='1, wxEXPAND|wxTOP|wxLEFT|wxRIGHT,10'>Some test</input>44 <button label='A button' sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxALL,10'/>45 </layout>46 </panel>47 </skin:section>48 <htmlwindowex sizercfg='1, wxEXPAND' address='htmlwindow_extended.html'/>49 </layout>50 </panel>51 </layout>52 </frame>53 </skin:skin>54 """55 29 56 30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 58 32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 33 60 class BehaviorModel(object): 61 def OnMouse(self, evt): 62 print 'OnMouse', evt 63 evt.Skip() 64 def OnPageChanged(self, evt): 65 print 'OnPageChanged', evt 66 evt.Skip() 67 def OnPageChanging(self, evt): 68 print 'OnPageChanging', evt 69 evt.Skip() 34 class ExtendedHTML_Demo(object): 35 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 36 #~ Constants / Variables / Etc. 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 39 skinxml = """<?xml version='1.0'?> 40 <skin:skin xmlns:skin='http://namespaces.runeblade.com/skin' 41 xmlns:py='http://namespaces.runeblade.com/xmlPython' 42 xmlns='http://namespaces.runeblade.com/wxPythonSkin'> 43 <frame title='Frame' show='1' locking='1' size='600,600'> 44 <layout ctxvar='root' sizercfg='1, wxEXPAND' fit='0'> 45 <panel sizercfg='1, wxEXPAND' sizehints='300,300'> 46 <layout sizercfg='1, wxEXPAND'> 47 <skin:section name='wxPythonSkinTagWidgetTest'> 48 <panel sizercfg='1, wxEXPAND|wxALL, 10'> 49 <layout sizercfg='1, wxEXPAND|wxALL, 10'> 50 <label sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT|wxRIGHT,10'>This is RBSkinning/wxHTML working together for awesome results.</label> 51 <input ctxvar='ctx.behavior.inputbox' sizercfg='1, wxEXPAND|wxTOP|wxLEFT|wxRIGHT,10'>Some test</input> 52 <button label='A button' sizercfg='0, wxALIGN_CENTER_HORIZONTAL|wxALL,10'> 53 <command_event type='EVT_BUTTON' call='ctx.behavior.OnButtonPressed'/> 54 </button> 55 </layout> 56 </panel> 57 </skin:section> 58 <htmlwindowex sizercfg='1, wxEXPAND' source='ctx.behavior.skinhtml'/> 59 </layout> 60 </panel> 61 </layout> 62 </frame> 63 </skin:skin> 64 """ 65 66 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67 68 skinhtml = """<?xml version='1.0'?> 69 <html> 70 <body> 71 <h1>This is a test!</h1> 72 This is a test of the wxHTML widget with RBSkinning extensions<br/> 73 <center> 74 <wxPythonSkin invoke='wxPythonSkinTagWidgetTest'/> 75 </center> 76 </body> 77 </html> 78 """ 79 80 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81 #~ Public Methods 82 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 84 def __init__(self): 85 skin = SkinXML(self.skinxml, behavior=self, application=wx.wxGetApp()) 86 87 def OnButtonPressed(self, evt): 88 self.inputbox.SetValue("You pressed the button at %s" % time.asctime()) 70 89 71 90 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 74 93 75 94 def RunApp(): 76 application = wx.wxPySimpleApp() 77 behaviormodel = BehaviorModel() 78 skin = SkinXML(skinxml, behaviormodel=behaviormodel, application=application) 79 return skin.context.application.MainLoop() 95 app = wx.wxPySimpleApp() 96 ExtendedHTML_Demo() 97 return app.MainLoop() 80 98 81 99 if __name__ == '__main__':
