Some minor tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c3d434725b
commit
f581a26df9
@ -109,6 +109,7 @@ in wx.cpp.
|
||||
|
||||
|
||||
|
||||
|
||||
What's new in 2.1b1
|
||||
--------------------
|
||||
Fixed wxComboBox.SetSelection so that it actually sets the selected
|
||||
|
@ -15,7 +15,7 @@ class TestComboBox(wxPanel):
|
||||
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)
|
||||
|
||||
|
@ -36,11 +36,11 @@
|
||||
|
||||
|
||||
%{
|
||||
//#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"
|
||||
@ -64,11 +64,13 @@ public:
|
||||
void SetColour(const char *colour);
|
||||
void SwapBuffers();
|
||||
|
||||
#ifdef __WXGTK__
|
||||
void SetupPixelFormat();
|
||||
void SetupPalette(const wxPalette& palette);
|
||||
wxPalette CreateDefaultPalette();
|
||||
|
||||
wxPalette* GetPalette();
|
||||
#endif
|
||||
|
||||
wxWindow* GetWindow();
|
||||
};
|
||||
|
||||
|
@ -115,7 +115,7 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
|
||||
|
||||
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);
|
||||
|
@ -33,50 +33,8 @@
|
||||
* 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
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
|
@ -1371,7 +1371,7 @@ class wxAcceleratorTable(wxAcceleratorTablePtr):
|
||||
#----------------------------------------------------------------------
|
||||
# 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
|
||||
@ -1458,8 +1458,8 @@ class wxApp(wxPyApp):
|
||||
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
|
||||
|
26
utils/wxPython/tests/leave.py
Normal file
26
utils/wxPython/tests/leave.py
Normal file
@ -0,0 +1,26 @@
|
||||
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()
|
||||
|
@ -53,13 +53,13 @@ class TestSimpleControlsDlg(wxDialog):
|
||||
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)
|
||||
@ -998,7 +998,11 @@ if __name__ == '__main__':
|
||||
#----------------------------------------------------------------------------
|
||||
#
|
||||
# $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
|
||||
#
|
||||
|
116
utils/wxPython/tests/testTree.py
Normal file
116
utils/wxPython/tests/testTree.py
Normal file
@ -0,0 +1,116 @@
|
||||
#!/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()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user