Added rotated text support

Added Some generic button and toggle button classes
Lots of little fixes, additions, etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
1999-12-11 07:59:23 +00:00
parent 4afd752902
commit 6999b0d8e9
35 changed files with 1551 additions and 673 deletions

View File

@@ -0,0 +1,90 @@
from wxPython.wx import *
from wxPython.lib.buttons import wxGenButton, wxGenBitmapButton, \
wxGenToggleButton, wxGenBitmapToggleButton
#----------------------------------------------------------------------
class TestPanel(wxPanel):
def __init__(self, parent, log):
wxPanel.__init__(self, parent, -1)
self.log = log
b = wxButton(self, -1, "A real button", (10,10))
b.SetDefault()
EVT_BUTTON(self, b.GetId(), self.OnButton)
b = wxButton(self, -1, "non-default", (100, 10))
EVT_BUTTON(self, b.GetId(), self.OnButton)
#wxTextCtrl(self, -1, "", (10,40))
b = wxGenButton(self, -1, 'Hello', (10,65))
EVT_BUTTON(self, b.GetId(), self.OnButton)
b = wxGenButton(self, -1, 'disabled', (100,65))
EVT_BUTTON(self, b.GetId(), self.OnButton)
b.Enable(false)
b = wxGenButton(self, -1, 'bigger', (195,50), (120, 55))
EVT_BUTTON(self, b.GetId(), self.OnButton)
b.SetFont(wxFont(20, wxSWISS, wxNORMAL, wxBOLD, false))
b.SetBezelWidth(5)
b.SetBackgroundColour(wxBLUE)
b.SetForegroundColour(wxWHITE)
#b.SetUseFocusIndicator(false)
bmp = wxBitmap('bitmaps/test2.bmp', wxBITMAP_TYPE_BMP)
b = wxGenBitmapButton(self, -1, bmp, (10, 130),
(bmp.GetWidth()+16, bmp.GetHeight()+16))
EVT_BUTTON(self, b.GetId(), self.OnButton)
b = wxGenBitmapButton(self, -1, None, (100, 130), (48,48))
EVT_BUTTON(self, b.GetId(), self.OnButton)
bmp = wxBitmap('bitmaps/lb1.bmp', wxBITMAP_TYPE_BMP)
mask = wxMaskColour(bmp, wxBLUE)
bmp.SetMask(mask)
b.SetBitmapLabel(bmp)
bmp = wxBitmap('bitmaps/lb2.bmp', wxBITMAP_TYPE_BMP)
mask = wxMaskColour(bmp, wxBLUE)
bmp.SetMask(mask)
b.SetBitmapSelected(bmp)
b = wxGenToggleButton(self, -1, "Toggle Button", (10, 230), (85, 26))
EVT_BUTTON(self, b.GetId(), self.OnToggleButton)
b = wxGenBitmapToggleButton(self, -1, None, (100, 230), (48,48))
EVT_BUTTON(self, b.GetId(), self.OnToggleButton)
bmp = wxBitmap('bitmaps/lb1.bmp', wxBITMAP_TYPE_BMP)
mask = wxMaskColour(bmp, wxBLUE)
bmp.SetMask(mask)
b.SetBitmapLabel(bmp)
bmp = wxBitmap('bitmaps/lb2.bmp', wxBITMAP_TYPE_BMP)
mask = wxMaskColour(bmp, wxBLUE)
bmp.SetMask(mask)
b.SetBitmapSelected(bmp)
def OnButton(self, event):
self.log.WriteText("Button Clicked: %d\n" % event.GetId())
def OnToggleButton(self, event):
msg = (event.GetIsDown() and "on") or "off"
self.log.WriteText("Button %d Toggled: %s\n" % (event.GetId(), msg))
#----------------------------------------------------------------------
def runTest(frame, nb, log):
win = TestPanel(nb, log)
return win
#----------------------------------------------------------------------
import wxPython.lib.buttons
overview = wxPython.lib.buttons.__doc__

View File

@@ -22,7 +22,8 @@ _useNestedSplitter = true
_treeList = [
('New since last release', ['wxMVCTree', 'wxVTKRenderWindow',
'FileBrowseButton']),
'FileBrowseButton', #'wxToggleButton',
'GenericButtons']),
('Managed Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame']),
@@ -39,7 +40,8 @@ _treeList = [
('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'wxTextCtrl',
'wxTreeCtrl', 'wxSpinButton', 'wxStaticText', 'wxStaticBitmap',
'wxRadioBox', 'wxSlider']),
'wxRadioBox', 'wxSlider', #'wxToggleButton'
]),
('Window Layout', ['wxLayoutConstraints', 'Sizers', 'OldSizers']),
@@ -51,7 +53,7 @@ _treeList = [
('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
'wxMultipleChoiceDialog', 'wxPlotCanvas', 'wxFloatBar',
'PyShell', 'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow',
'FileBrowseButton',]),
'FileBrowseButton', 'GenericButtons']),
('Cool Contribs', ['pyTree', 'hangman', 'SlashDot', 'XMLtreeview']),
@@ -136,13 +138,16 @@ class wxPythonDemo(wxFrame):
self.treeMap = {}
self.tree = wxTreeCtrl(splitter, tID)
root = self.tree.AddRoot("Overview")
firstChild = None
for item in _treeList:
child = self.tree.AppendItem(root, item[0])
if not firstChild: firstChild = child
for childItem in item[1]:
theDemo = self.tree.AppendItem(child, childItem)
self.treeMap[childItem] = theDemo
self.tree.Expand(root)
self.tree.Expand(firstChild)
EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded)
EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed)
EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -18,8 +18,8 @@ class TestPanel(wxPanel):
EVT_BUTTON(self, 20, self.OnClick)
bmp = wxBitmap('bitmaps/test2.bmp', wxBITMAP_TYPE_BMP)
mask = wxMaskColour(bmp, wxBLUE)
bmp.SetMask(mask)
#mask = wxMaskColour(bmp, wxBLUE)
#bmp.SetMask(mask)
wxBitmapButton(self, 30, bmp, wxPoint(140, 20),
wxSize(bmp.GetWidth()+10, bmp.GetHeight()+10))
EVT_BUTTON(self, 30, self.OnClick)

View File

@@ -67,6 +67,12 @@ class MyCanvas(wxScrolledWindow):
dc.SetTextForeground(wxColour(0, 0xFF, 0x80))
dc.DrawText("a bitmap", 200, 85)
font = wxFont(20, wxSWISS, wxNORMAL, wxNORMAL)
dc.SetFont(font)
dc.SetTextForeground(wxBLACK)
for a in range(0, 360, 45):
dc.DrawRotatedText("Rotated text...", 300, 300, a)
self.DrawSavedLines(dc)
dc.EndDrawing()

View File

@@ -2,10 +2,21 @@
from wxPython.wx import *
#---------------------------------------------------------------------------
class MySplitter(wxSplitterWindow):
def __init__(self, parent, ID, log):
wxSplitterWindow.__init__(self, parent, ID)
self.log = log
EVT_SPLITTER_SASH_POS_CHANGED(self, self.GetId(), self.OnSashChanged)
def OnSashChanged(self, evt):
self.log.WriteText("sash changed to " + str(evt.GetSashPosition()))
#---------------------------------------------------------------------------
def runTest(frame, nb, log):
splitter = wxSplitterWindow(nb, -1)
splitter = MySplitter(nb, -1, log)
p1 = wxWindow(splitter, -1)
p1.SetBackgroundColour(wxRED)