+
What's new in 2.1b1
--------------------
Fixed wxComboBox.SetSelection so that it actually sets the selected
wxPoint(8, 10))
wxStaticText(self, -1, "Select one:", wxPoint(15, 50), wxSize(75, 18))
- wxComboBox(self, 500, "default value", wxPoint(80, 50), wxSize(95, 20),
+ wxComboBox(self, 500, "default value", wxPoint(80, 50), wxSize(95, -1),
sampleList, wxCB_DROPDOWN)
EVT_COMBOBOX(self, 500, self.EvtComboBox)
%{
-//#ifdef SEPARATE
-// static wxString wxPyEmptyStr("");
-// static wxPoint wxPyDefaultPosition(-1, -1);
-// static wxSize wxPyDefaultSize(-1, -1);
-//#endif
+#if defined(SEPARATE) && defined(__WXMSW__)
+ static wxString wxPyEmptyStr("");
+ static wxPoint wxPyDefaultPosition(-1, -1);
+ static wxSize wxPyDefaultSize(-1, -1);
+#endif
%}
%pragma(python) code = "import wx"
void SetColour(const char *colour);
void SwapBuffers();
+#ifdef __WXGTK__
void SetupPixelFormat();
void SetupPalette(const wxPalette& palette);
wxPalette CreateDefaultPalette();
-
wxPalette* GetPalette();
+#endif
+
wxWindow* GetWindow();
};
static char* wxStringErrorMsg = "string type is required for parameter";
-#ifdef SEPARATE
+#if defined(SEPARATE) && defined(__WXMSW__)
static wxString wxPyEmptyStr("");
static wxPoint wxPyDefaultPosition(-1, -1);
static wxSize wxPyDefaultSize(-1, -1);
* and things like that.
*
* $Log$
- * Revision 1.13 1999/07/31 07:56:03 RD
- * wxPython 2.1b1:
- *
- * Added the missing wxWindow.GetUpdateRegion() method.
- *
- * Made a new change in SWIG (update your patches everybody) that
- * provides a fix for global shadow objects that get an exception in
- * their __del__ when their extension module has already been deleted.
- * It was only a 1 line change in .../SWIG/Modules/pycpp.cxx at about
- * line 496 if you want to do it by hand.
- *
- * It is now possible to run through MainLoop more than once in any one
- * process. The cleanup that used to happen as MainLoop completed (and
- * prevented it from running again) has been delayed until the wxc module
- * is being unloaded by Python.
- *
- * wxWindow.PopupMenu() now takes a wxPoint instead of x,y. Added
- * wxWindow.PopupMenuXY to be consistent with some other methods.
- *
- * Added wxGrid.SetEditInPlace and wxGrid.GetEditInPlace.
- *
- * You can now provide your own app.MainLoop method. See
- * wxPython/demo/demoMainLoop.py for an example and some explaination.
- *
- * Got the in-place-edit for the wxTreeCtrl fixed and added some demo
- * code to show how to use it.
- *
- * Put the wxIcon constructor back in for GTK as it now has one that
- * matches MSW's.
- *
- * Added wxGrid.GetCells
- *
- * Added wxSystemSettings static methods as functions with names like
- * wxSystemSettings_GetSystemColour.
- *
- * Removed wxPyMenu since using menu callbacks have been depreciated in
- * wxWindows. Use wxMenu and events instead.
- *
- * Added alternate wxBitmap constructor (for MSW only) as
- * wxBitmapFromData(data, type, width, height, depth = 1)
- *
- * Added a helper function named wxPyTypeCast that can convert shadow
- * objects of one type into shadow objects of another type. (Like doing
- * a down-cast.) See the implementation in wx.py for some docs.
+ * Revision 1.14 1999/08/05 05:06:38 RD
+ * Some minor tweaks
*
************************************************************************/
#----------------------------------------------------------------------
# This helper function will take a wxPython object and convert it to
# another wxPython object type. This will not be able to create objects
-# user that are derived from wxPython classes, only those that are
+# that are derived from wxPython classes by the user, only those that are
# actually part of wxPython and directly corespond to C++ objects.
#
# This is useful in situations where some method returns a generic
if filename:
sys.stdout = sys.stderr = open(filename, 'a')
else:
- #raise self.error, 'wxPyStdOutWindow not yet implemented.'
- self.stdioWin = sys.stdout = sys.stderr = wxPyStdOutWindow()
+ raise self.error, 'wxPyStdOutWindow not yet implemented.'
+ #self.stdioWin = sys.stdout = sys.stderr = wxPyStdOutWindow()
def RestoreStdio(self):
sys.stdout, sys.stderr = self.saveStdio
--- /dev/null
+from wxPython.wx import *
+
+class TestFrame(wxFrame):
+
+ def __init__(self):
+ wxFrame.__init__(self,NULL,-1,"Test Frame",wxPoint(200,200))
+ win = wxWindow(self, -1)
+ self.Show(true)
+ EVT_LEAVE_WINDOW(win, self.onLeave)
+ EVT_ENTER_WINDOW(win, self.onEnter)
+
+ def onLeave(self, event):
+ print("out")
+
+ def onEnter(self, event):
+ print('in')
+
+class MyApp(wxApp):
+
+ def OnInit(self):
+ self.mainFrame = TestFrame()
+ return true
+
+app = MyApp(0)
+app.MainLoop()
+
y_pos = y_pos + delta
wxStaticText(self, -1, "wxComboBox", wxPoint(5, y_pos), wxSize(75, 18))
- wxComboBox(self, 50, "default value", wxPoint(80, y_pos), wxSize(95, 20),
+ wxComboBox(self, 50, "default value", wxPoint(80, y_pos), wxSize(95, -1),
sampleList, wxCB_DROPDOWN)
EVT_COMBOBOX(self, 50, self.EvtComboBox)
y_pos = y_pos + delta
wxStaticText(self, -1, "wxListBox", wxPoint(5, y_pos), wxSize(75, 18))
- lb = wxListBox(self, 60, wxPoint(80, y_pos), wxDefaultSize,
+ lb = wxListBox(self, 60, wxPoint(80, y_pos), wxSize(95, 80),
sampleList, wxLB_SINGLE)
EVT_LISTBOX(self, 60, self.EvtListBox)
EVT_LISTBOX_DCLICK(self, 60, self.EvtListBoxDClick)
#----------------------------------------------------------------------------
#
# $Log$
+# Revision 1.17 1999/08/05 05:06:50 RD
+# Some minor tweaks
+#
# Revision 1.16 1999/04/30 03:29:54 RD
+#
# wxPython 2.0b9, first phase (win32)
# Added gobs of stuff, see wxPython/README.txt for details
#
--- /dev/null
+#!/usr/bin/env python
+
+from wxPython import wx
+import sys, os
+from stat import *
+
+GlobalObjList = []
+
+class Obj:
+ def __init__(self, obj):
+ self.obj = obj
+ # Uncomment next line to eliminate crash.
+ # GlobalObjList.append(self)
+
+ def Name(self):
+ head, tail = os.path.split(self.obj)
+ if tail:
+ return tail
+ else:
+ return head
+
+ def HasChildren(self):
+ return os.path.isdir(self.obj)
+
+ def Children(self):
+ objList = os.listdir(self.obj)
+ objList.sort()
+ objList = map(lambda obj,parent=self.obj: os.path.join(parent,obj),
+ objList)
+ objectList = map(Obj, objList)
+ return objectList
+
+ def __str__(self):
+ return self.obj
+
+ def __repr__(self):
+ return self.obj
+
+ def __del__(self):
+ print 'del', self.obj
+
+
+#----------------------------------------------------------------------
+
+class pyTree(wx.wxTreeCtrl):
+
+ def __init__(self, parent, id, obj):
+ wx.wxTreeCtrl.__init__(self, parent, id)
+ self.root = self.AddRoot(obj.Name(), -1, -1, wx.wxTreeItemData(''))
+ self.SetPyData(self.root, obj)
+ if obj.HasChildren():
+ self.SetItemHasChildren(self.root, wx.TRUE)
+ wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding)
+ wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed)
+ wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged)
+ self.output = None
+
+ def SetOutput(self, output):
+ self.output = output
+
+ def OnItemExpanding(self,event):
+ item = event.GetItem()
+ obj = self.GetPyData(item)
+ children = obj.Children()
+ for child in children:
+ new_item = self.AppendItem(item, child.Name(), -1, -1,
+ wx.wxTreeItemData(''))
+ self.SetPyData(new_item, child)
+ if child.HasChildren():
+ self.SetItemHasChildren(new_item, wx.TRUE)
+
+ def OnItemCollapsed(self, event):
+ item = event.GetItem()
+ self.DeleteChildren(item)
+
+ def OnSelChanged(self, event):
+ if not self.output:
+ return
+ obj = self.GetPyData( event.GetItem() )
+ apply(self.output, (`obj`,))
+
+
+
+#----------------------------------------------------------------------
+if __name__ == '__main__':
+
+ class MyFrame(wx.wxFrame):
+
+ def __init__(self):
+ wx.wxFrame.__init__(self, wx.NULL, -1, 'PyTreeItemData Test',
+ wx.wxDefaultPosition, wx.wxSize(600,500))
+ split = wx.wxSplitterWindow(self, -1)
+
+ if sys.platform == 'win32':
+ tree = pyTree(split, -1, Obj('C:\\'))
+ else:
+ tree = pyTree(split, -1, Obj('/'))
+
+ text = wx.wxTextCtrl(split, -1, '', wx.wxDefaultPosition,
+ wx.wxDefaultSize, wx.wxTE_MULTILINE)
+ split.SplitVertically(tree, text, 200)
+ tree.SetOutput(text.SetValue)
+ tree.SelectItem(tree.root)
+
+ class MyApp(wx.wxApp):
+
+ def OnInit(self):
+ frame = MyFrame()
+ frame.Show(wx.TRUE)
+ self.SetTopWindow(frame)
+ return wx.TRUE
+
+ app = MyApp(0)
+ app.MainLoop()
+
+