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:
90
utils/wxPython/demo/GenericButtons.py
Normal file
90
utils/wxPython/demo/GenericButtons.py
Normal 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__
|
@@ -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)
|
||||
|
BIN
utils/wxPython/demo/bitmaps/lb1.bmp
Normal file
BIN
utils/wxPython/demo/bitmaps/lb1.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
utils/wxPython/demo/bitmaps/lb2.bmp
Normal file
BIN
utils/wxPython/demo/bitmaps/lb2.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
@@ -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)
|
||||
|
@@ -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()
|
||||
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user