Changeset 727

Show
Ignore:
Timestamp:
10/22/03 15:22:45 (5 years ago)
Author:
gwm
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/htmlwindow.py

    r528 r727  
    2828 
    2929#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    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 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5730#~ Definitions  
    5831#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5932 
    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() 
     33class 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 
    7064 
    7165#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    7468 
    7569def RunApp(): 
    76     application = 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 
    8074 
    8175if __name__ == '__main__': 
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/htmlwindow_extended.py

    r528 r727  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
     26import time 
    2627from wxPython import wx 
    2728from 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 """ 
    5529 
    5630#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5832#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5933 
    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() 
     34class 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()) 
    7089 
    7190#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    7493 
    7594def 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() 
    8098 
    8199if __name__ == '__main__':