]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/dllwidget/test_prog.py
   3 from wxPython
.wx 
import * 
   4 from wxPython
.dllwidget 
import wxDllWidget
, wxDllWidget_GetDllExt
 
   6 #---------------------------------------------------------------------- 
   8 class TestFrame(wxFrame
): 
  10         wxFrame
.__init
__(self
, None, -1, "Test wxDllWidget") 
  13         menu
.Append(101, "Send command &1") 
  14         menu
.Append(102, "Send command &2") 
  15         menu
.Append(103, "Send command &3") 
  16         menu
.AppendSeparator() 
  17         menu
.Append(110, "E&xit") 
  20         mb
.Append(menu
, "&Test") 
  23         EVT_MENU_RANGE(self
, 101, 109, self
.OnSendCommand
) 
  24         EVT_MENU(self
, 110, self
.OnExit
) 
  26         panel 
= wxPanel(self
, -1) 
  27         panel
.SetFont(wxFont(12, wxSWISS
, wxNORMAL
, wxBOLD
)) 
  29         st 
= wxStaticText(panel
, -1, 
  30                           "The widget below was dynamically imported from\n" 
  31                           "test_dll.dll or test_dll.so with no prior knowledge\n" 
  32                           "of it's contents or structure by wxPython.") 
  34         self
.dw 
= dw 
= wxDllWidget(panel
, -1, 
  35                                    "test_dll" + wxDllWidget_GetDllExt(), 
  40             # The embedded window is the one exported from the DLL 
  41             print dw
.GetWidgetWindow().GetClassName() 
  43             # This shows that we can give it a child from this side of things. 
  44             # You can also call any wxWindow methods on it too. 
  45             wxStaticText(dw
.GetWidgetWindow(), -1, 
  46                          "Loaded from test_dll...", pos
=(10,10)) 
  48             wxStaticText(dw
, -1, "ERROR!!!!", pos
=(20,20)) 
  50         sizer 
= wxBoxSizer(wxVERTICAL
) 
  51         sizer
.Add(wxStaticLine(panel
, -1), 0, wxGROW
) 
  52         sizer
.Add(st
, 0, wxGROW|wxALL
, 5) 
  53         sizer
.Add(dw
, 1, wxGROW|wxALL
, 5) 
  56         panel
.SetAutoLayout(true
) 
  58         sizer
.SetSizeHints(self
) 
  61     def OnExit(self
, evt
): 
  65     def OnSendCommand(self
, evt
): 
  66         ID 
= evt
.GetId() - 100  # use the menu ID as the command 
  69             dlg 
= wxTextEntryDialog(self
, "Enter a colour name to pass to the embedded widget:") 
  70             if dlg
.ShowModal() == wxID_OK
: 
  71                 param 
= dlg
.GetValue() 
  73         self
.dw
.SendCommand(ID
, param
) 
  77 #---------------------------------------------------------------------- 
  80 if __name__ 
== "__main__":