Various demo updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@18566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
*.pyc
|
||||
.DS_Store
|
||||
.emacs.desktop
|
||||
.setup.sh
|
||||
b.bat
|
||||
hangman_dict.txt
|
||||
mimetypes_wdr
|
||||
|
@@ -3,44 +3,40 @@ from wxPython.wx import *
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
## class MyFontEnumerator(wxFontEnumerator):
|
||||
## def __init__(self, list):
|
||||
## wxFontEnumerator.__init__(self)
|
||||
## self.list = list
|
||||
|
||||
## def OnFacename(self, face):
|
||||
## self.list.append(face)
|
||||
## return true
|
||||
|
||||
|
||||
|
||||
class TestPanel(wxPanel):
|
||||
def __init__(self, parent, log):
|
||||
wxPanel.__init__(self, parent, -1)
|
||||
|
||||
## list = []
|
||||
## e = MyFontEnumerator(list)
|
||||
## e.EnumerateFacenames()
|
||||
|
||||
e = wxFontEnumerator()
|
||||
e.EnumerateFacenames()
|
||||
list = e.GetFacenames()
|
||||
|
||||
list.sort()
|
||||
|
||||
wxStaticText(self, -1, "Face names:", (15, 50), (65, 18))
|
||||
self.lb1 = wxListBox(self, -1, (80, 50), (200, 250),
|
||||
s1 = wxStaticText(self, -1, "Face names:")
|
||||
self.lb1 = wxListBox(self, -1, wxDefaultPosition, (200, 250),
|
||||
list, wxLB_SINGLE)
|
||||
EVT_LISTBOX(self, self.lb1.GetId(), self.OnSelect)
|
||||
|
||||
self.txt = wxStaticText(self, -1, "Sample text...", (285, 50))
|
||||
|
||||
row = wxBoxSizer(wxHORIZONTAL)
|
||||
row.Add(s1, 0, wxALL, 5)
|
||||
row.Add(self.lb1, 0, wxALL, 5)
|
||||
row.Add(self.txt, 0, wxALL, 5)
|
||||
|
||||
sizer = wxBoxSizer(wxVERTICAL)
|
||||
sizer.Add(row, 0, wxALL, 30)
|
||||
self.SetSizer(sizer)
|
||||
self.Layout()
|
||||
|
||||
self.lb1.SetSelection(0)
|
||||
|
||||
|
||||
def OnSelect(self, evt):
|
||||
face = self.lb1.GetStringSelection()
|
||||
font = wxFont(28, wxDEFAULT, wxNORMAL, wxNORMAL, false, face)
|
||||
font = wxFont(28, wxDEFAULT, wxDEFAULT, wxDEFAULT, false, face)
|
||||
self.txt.SetFont(font)
|
||||
self.txt.SetSize(self.txt.GetBestSize())
|
||||
|
||||
@@ -64,9 +60,12 @@ def runTest(frame, nb, log):
|
||||
|
||||
|
||||
|
||||
overview = """\
|
||||
wxFontEnumerator enumerates either all available fonts on the system or only the ones with given attributes - either only fixed-width (suited for use in programs such as terminal emulators and the like) or the fonts available in the given encoding.
|
||||
|
||||
overview = """<html><body>
|
||||
wxFontEnumerator enumerates either all available fonts on the system or only
|
||||
the ones with given attributes - either only fixed-width (suited for use in
|
||||
programs such as terminal emulators and the like) or the fonts available in
|
||||
the given encoding.
|
||||
</body></html>
|
||||
"""
|
||||
|
||||
|
||||
|
@@ -382,12 +382,10 @@ class wxPythonDemo(wxFrame):
|
||||
|
||||
|
||||
# add the windows to the splitter and split it.
|
||||
splitter2.SplitHorizontally(self.nb, self.log)
|
||||
splitter.SplitVertically(self.tree, splitter2)
|
||||
splitter2.SplitHorizontally(self.nb, self.log, 450)
|
||||
splitter.SplitVertically(self.tree, splitter2, 180)
|
||||
|
||||
splitter.SetSashPosition(180, true)
|
||||
splitter.SetMinimumPaneSize(20)
|
||||
splitter2.SetSashPosition(450, true)
|
||||
splitter2.SetMinimumPaneSize(20)
|
||||
|
||||
|
||||
|
@@ -1,43 +1,129 @@
|
||||
|
||||
from wxPython.wx import *
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class TestPanel(wxPanel):
|
||||
def __init__(self, parent, log):
|
||||
wxPanel.__init__(self, parent, -1)
|
||||
self.log = log
|
||||
|
||||
btn = wxButton(self, -1, "Select Font")
|
||||
EVT_BUTTON(self, btn.GetId(), self.OnSelectFont)
|
||||
|
||||
self.sampleText = wxTextCtrl(self, -1, "Sample Text")
|
||||
#from wxPython.lib.stattext import wxGenStaticText
|
||||
#self.sampleText = wxGenStaticText(self, -1, "Sample Text")
|
||||
|
||||
self.curFont = self.sampleText.GetFont()
|
||||
self.curClr = wxBLACK
|
||||
|
||||
fgs = wxFlexGridSizer(cols=2, vgap=5, hgap=5)
|
||||
fgs.AddGrowableCol(1)
|
||||
fgs.AddGrowableRow(0)
|
||||
|
||||
fgs.Add(btn)
|
||||
fgs.Add(self.sampleText, 0, wxADJUST_MINSIZE|wxGROW)
|
||||
|
||||
fgs.Add(15,15); fgs.Add(15,15) # an empty row
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "PointSize:"))
|
||||
self.ps = wxStaticText(self, -1, "")
|
||||
font = self.ps.GetFont()
|
||||
font.SetWeight(wxBOLD)
|
||||
self.ps.SetFont(font)
|
||||
fgs.Add(self.ps, 0, wxADJUST_MINSIZE)
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "Family:"))
|
||||
self.family = wxStaticText(self, -1, "")
|
||||
self.family.SetFont(font)
|
||||
fgs.Add(self.family, 0, wxADJUST_MINSIZE)
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "Style:"))
|
||||
self.style = wxStaticText(self, -1, "")
|
||||
self.style.SetFont(font)
|
||||
fgs.Add(self.style, 0, wxADJUST_MINSIZE)
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "Weight:"))
|
||||
self.weight = wxStaticText(self, -1, "")
|
||||
self.weight.SetFont(font)
|
||||
fgs.Add(self.weight, 0, wxADJUST_MINSIZE)
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "Face:"))
|
||||
self.face = wxStaticText(self, -1, "")
|
||||
self.face.SetFont(font)
|
||||
fgs.Add(self.face, 0, wxADJUST_MINSIZE)
|
||||
|
||||
fgs.Add(15,15); fgs.Add(15,15) # an empty row
|
||||
|
||||
fgs.Add(wxStaticText(self, -1, "wxNativeFontInfo:"))
|
||||
self.nfi = wxStaticText(self, -1, "")
|
||||
self.nfi.SetFont(font)
|
||||
fgs.Add(self.nfi, 0, wxADJUST_MINSIZE)
|
||||
|
||||
# give it some border space
|
||||
sizer = wxBoxSizer(wxVERTICAL)
|
||||
sizer.Add(fgs, 0, wxGROW|wxADJUST_MINSIZE|wxALL, 25)
|
||||
|
||||
self.SetSizer(sizer)
|
||||
self.UpdateUI()
|
||||
|
||||
|
||||
def UpdateUI(self):
|
||||
self.sampleText.SetFont(self.curFont)
|
||||
self.ps.SetLabel(str(self.curFont.GetPointSize()))
|
||||
self.family.SetLabel(self.curFont.GetFamilyString())
|
||||
self.style.SetLabel(self.curFont.GetStyleString())
|
||||
self.weight.SetLabel(self.curFont.GetWeightString())
|
||||
self.face.SetLabel(self.curFont.GetFaceName())
|
||||
self.nfi.SetLabel(self.curFont.GetNativeFontInfo().ToString())
|
||||
self.Layout()
|
||||
|
||||
|
||||
def OnSelectFont(self, evt):
|
||||
data = wxFontData()
|
||||
data.EnableEffects(true)
|
||||
data.SetColour(self.curClr) # set colour
|
||||
data.SetInitialFont(self.curFont)
|
||||
|
||||
dlg = wxFontDialog(self, data)
|
||||
if dlg.ShowModal() == wxID_OK:
|
||||
data = dlg.GetFontData()
|
||||
font = data.GetChosenFont()
|
||||
colour = data.GetColour()
|
||||
self.log.WriteText('You selected: "%s", %d points, color %s\n' %
|
||||
(font.GetFaceName(), font.GetPointSize(),
|
||||
colour.Get()))
|
||||
self.curFont = font
|
||||
self.curClr = colour
|
||||
self.UpdateUI()
|
||||
dlg.Destroy()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
def runTest(frame, nb, log):
|
||||
data = wxFontData()
|
||||
data.EnableEffects(true)
|
||||
font_colour = wxColour(255, 0, 0) # colour of font (red)
|
||||
data.SetColour(font_colour) # set colour
|
||||
dlg = wxFontDialog(frame, data)
|
||||
if dlg.ShowModal() == wxID_OK:
|
||||
data = dlg.GetFontData()
|
||||
font = data.GetChosenFont()
|
||||
log.WriteText('You selected: "%s", %d points, color %s\n' %
|
||||
(font.GetFaceName(), font.GetPointSize(),
|
||||
data.GetColour().Get()))
|
||||
dlg.Destroy()
|
||||
win = TestPanel(nb, log)
|
||||
return win
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
overview = """\
|
||||
This class represents the font chooser dialog.
|
||||
This class allows you to use the system font chooser dialog.
|
||||
|
||||
wxFontDialog()
|
||||
----------------------------
|
||||
|
||||
wxFontDialog(wxWindow* parent, wxFontData* data)
|
||||
|
||||
Constructor. Pass a parent window and a font data object, which will be copied to the font dialog's font data.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys,os
|
||||
import run
|
||||
run.main(['', os.path.basename(sys.argv[0])])
|
||||
|
||||
|
@@ -5,6 +5,7 @@ import ColorPanel
|
||||
import GridSimple
|
||||
import wxListCtrl
|
||||
import wxScrolledWindow
|
||||
import images
|
||||
|
||||
import sys
|
||||
|
||||
@@ -15,7 +16,6 @@ class TestNB(wxNotebook):
|
||||
wxNotebook.__init__(self, parent, id, style=wxNB_BOTTOM)
|
||||
self.log = log
|
||||
|
||||
|
||||
win = self.makeColorPanel(wxBLUE)
|
||||
self.AddPage(win, "Blue")
|
||||
st = wxStaticText(win.win, -1,
|
||||
@@ -26,6 +26,16 @@ class TestNB(wxNotebook):
|
||||
st.SetForegroundColour(wxWHITE)
|
||||
st.SetBackgroundColour(wxBLUE)
|
||||
|
||||
# Show how to put an image on one of the notebook tabs,
|
||||
# first make the image list:
|
||||
il = wxImageList(16, 16)
|
||||
idx1 = il.Add(images.getSmilesBitmap())
|
||||
self.AssignImageList(il)
|
||||
|
||||
# now put an image on the first tab we just created:
|
||||
self.SetPageImage(0, idx1)
|
||||
|
||||
|
||||
win = self.makeColorPanel(wxRED)
|
||||
self.AddPage(win, "Red")
|
||||
|
||||
@@ -94,28 +104,27 @@ def runTest(frame, nb, log):
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
overview = """\
|
||||
This class represents a notebook control, which manages multiple windows with associated tabs.
|
||||
|
||||
To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook.
|
||||
<html><body>
|
||||
<h2>wxNotebook</h2>
|
||||
<p>
|
||||
This class represents a notebook control, which manages multiple
|
||||
windows with associated tabs.
|
||||
<p>
|
||||
To use the class, create a wxNotebook object and call AddPage or
|
||||
InsertPage, passing a window to be used as the page. Do not explicitly
|
||||
delete the window for a page that is currently managed by wxNotebook.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = wxPySimpleApp()
|
||||
frame = wxFrame(None, -1, "Test Notebook", size=(600, 400))
|
||||
win = TestNB(frame, -1, sys.stdout)
|
||||
frame.Show(true)
|
||||
app.MainLoop()
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys,os
|
||||
import run
|
||||
run.main(['', os.path.basename(sys.argv[0])])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user