]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/tests/spies.py
wxPython 2.1b1:
[wxWidgets.git] / utils / wxPython / tests / spies.py
diff --git a/utils/wxPython/tests/spies.py b/utils/wxPython/tests/spies.py
new file mode 100644 (file)
index 0000000..8823415
--- /dev/null
@@ -0,0 +1,136 @@
+## import all of the wxPython GUI package
+from wxPython.wx import *
+
+"""
+I am trying to write a routine which will produce an entryform which I can
+later use to write GUI entryforms for databasis work.  When you run this
+program and chose option 150 (Invoer) under "L=EAers" the following error
+appears (repeated 6 times):
+
+Gtk-CRITICAL **: file gtkwidget.c: line 1592 (gtk_widget_map): assertion
+`GTK_WIDGET_VISIBLE (widget) == TRUE' failed.=20
+"""
+
+class ToetsInvoer(wxPanel):
+    def __init__(self, parent):
+        wxPanel.__init__(self, parent, -1)
+
+        wxStaticText(self, -1, "wxTextCtrl", wxPoint(5, 25), wxSize(75, 20))
+        wxTextCtrl(self, 10, "", wxPoint(80, 25), wxSize(150, 20))
+        EVT_TEXT(self, 10, self.EvtText)
+
+        wxStaticText(self, -1, "Passsword", wxPoint(5, 50), wxSize(75, 20))
+        wxTextCtrl(self, 20, "", wxPoint(80, 50), wxSize(150, 20), wxTE_PASSWORD)
+        EVT_TEXT(self, 20, self.EvtText)
+
+        wxStaticText(self, -1, "Multi-line", wxPoint(5, 75), wxSize(75, 20))
+        wxTextCtrl(self, 30, "", wxPoint(80, 75), wxSize(200, 150), wxTE_MULTILINE)
+        EVT_TEXT(self, 30, self.EvtText)
+
+        self.Show(true)
+
+    def EvtText(self, event):
+        self.log.WriteText('EvtText: %s\n' % event.GetString())
+
+#---------------------------------------------------------------------------
+
+## Create a new frame class, derived from the wxPython Frame.
+class HoofRaam(wxFrame):
+
+    def __init__(self, pa, id, titel):
+        # First, call the base class' __init__ method to create the frame
+        wxFrame.__init__(self, pa, id, titel,wxPyDefaultPosition,
+                         wxSize(420, 200))
+
+        self.CreateStatusBar(2)
+        mainmenu = wxMenuBar()
+        menu = wxMenu()
+        menu.Append(100, '&Kopieer', 'Maak rugsteun')
+        menu.Append(101, '&Nuwe stel', 'Begin nuwe databasis')
+        menu.Append(150, '&Invoer', 'Toets invoervorm')
+        menu.AppendSeparator()
+        menu.Append(200, 'Kl&aar', 'Gaan uit die program uit!')
+        mainmenu.Append(menu, "&L=EAers")
+        self.SetMenuBar(mainmenu)
+#         if wxPlatform == '__WXMSW__':
+#             print menu.GetHelpString(100)
+#             print mainmenu.GetHelpString(101)
+#             print mainmenu.GetHelpString(200)
+#             self.DragAcceptFiles(true)
+
+
+
+        # Associate some events with methods of this class
+        self.Connect(-1, -1, wxEVT_SIZE, self.OnSize)
+        self.Connect(-1, -1, wxEVT_MOVE, self.OnMove)
+        self.Connect(-1, -1, wxEVT_COMMAND_MENU_SELECTED, self.OnMenuCommand)
+        self.Connect(-1, -1, wxEVT_DROP_FILES, self.OnDropFiles)
+
+        self.child = None
+        #self.child = ToetsInvoer(self)
+
+    # This method is called automatically when the CLOSE event is
+    # sent to this window
+    def OnCloseWindow(self, event):
+        # tell the window to kill itself
+        self.Destroy()
+
+
+    # This method is called by the System when the window is resized,
+    # because of the association above.
+    def OnSize(self, event):
+        size = event.GetSize()
+        print "grootte:", size.width, size.height
+        event.Skip()
+
+    # This method is called by the System when the window is moved,
+    # because of the association above.
+    def OnMove(self, event):
+        pos = event.GetPosition()
+        print "pos:", pos.x, pos.y
+
+    def OnMenuCommand(self, event):
+        # why isn't this a wxMenuEvent???
+        print event, event.GetInt()
+        if event.GetInt() == 200:
+            self.Close()
+        if event.GetInt() == 150:
+            x = ToetsInvoer(self)
+        if event.GetInt() == 101:
+            print "Nommer 101 is gekies"
+
+    def OnDropFiles(self, event): #werk net in windows
+        fileList = event.GetFiles()
+        for file in fileList:
+            print file
+
+    def OnCloseWindow(self, event):
+        print 'Klaar'
+        self.Destroy()
+
+#---------------------------------------------------------------------------
+
+# Every wxWindows application must have a class derived from wxApp
+class MyProg(wxApp):
+
+    # wxWindows calls this method to initialize the application
+    def OnInit(self):
+
+        # Create an instance of our customized Frame class
+        raam = HoofRaam(NULL, -1, "Taalunie")
+        raam.Show(true)
+
+        # Tell wxWindows that this is our main window
+        self.SetTopWindow(raam)
+
+        # Return a success flag
+        return true
+
+#---------------------------------------------------------------------------
+
+
+app = MyProg(0)     # Create an instance of the application class
+app.MainLoop()     # Tell it to start processing events
+
+
+