mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
Add wx.GenericMessageDialog and wx.RichMessageDialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@73031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
1
TODO.txt
1
TODO.txt
@@ -120,7 +120,6 @@ other dev stuff
|
||||
* PseudoDC
|
||||
* msgout
|
||||
* quantize
|
||||
* richmsgdlg (requires wrappers for wxGenericMessageDialog first)
|
||||
* dialup ??
|
||||
* docmdi ??
|
||||
* docview ??
|
||||
|
||||
@@ -180,6 +180,7 @@ INCLUDES = [ # base and core stuff
|
||||
'filedlg',
|
||||
'frame',
|
||||
'msgdlg',
|
||||
'richmsgdlg',
|
||||
'progdlg',
|
||||
'popupwin',
|
||||
'tipwin',
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
import etgtools
|
||||
import etgtools.tweaker_tools as tools
|
||||
import copy
|
||||
|
||||
PACKAGE = "wx"
|
||||
MODULE = "_core"
|
||||
@@ -55,6 +56,30 @@ def run():
|
||||
c.find('SetYesNoLabels.no').type = 'const wxString&'
|
||||
|
||||
tools.fixTopLevelWindowClass(c)
|
||||
|
||||
|
||||
|
||||
# Make a copy of wxMessageDialog so we can generate code for
|
||||
# wxGenericMessageDialog too.
|
||||
gmd = copy.deepcopy(c)
|
||||
assert isinstance(gmd, etgtools.ClassDef)
|
||||
gmd.name = 'wxGenericMessageDialog'
|
||||
gmd.find('wxMessageDialog').name = 'wxGenericMessageDialog' # the ctor
|
||||
|
||||
m = gmd.addItem(etgtools.MethodDef(
|
||||
protection='protected', type='void', name='AddMessageDialogCheckBox',
|
||||
briefDoc="Can be overridden to provide more contents for the dialog",
|
||||
className=gmd.name))
|
||||
m.addItem(etgtools.ParamDef(type='wxSizer*', name='sizer'))
|
||||
|
||||
m = gmd.addItem(etgtools.MethodDef(
|
||||
protection='protected', type='void', name='AddMessageDialogDetails',
|
||||
briefDoc="Can be overridden to provide more contents for the dialog",
|
||||
className=gmd.name))
|
||||
m.addItem(etgtools.ParamDef(type='wxSizer*', name='sizer'))
|
||||
|
||||
module.addItem(gmd)
|
||||
|
||||
|
||||
module.find('wxMessageBox').releaseGIL()
|
||||
|
||||
|
||||
48
etg/richmsgdlg.py
Normal file
48
etg/richmsgdlg.py
Normal file
@@ -0,0 +1,48 @@
|
||||
#---------------------------------------------------------------------------
|
||||
# Name: etg/richmsgdlg.py
|
||||
# Author: Robin Dunn
|
||||
#
|
||||
# Created: 19-Nov-2012
|
||||
# Copyright: (c) 2012 by Total Control Software
|
||||
# License: wxWindows License
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
import etgtools
|
||||
import etgtools.tweaker_tools as tools
|
||||
|
||||
PACKAGE = "wx"
|
||||
MODULE = "_core"
|
||||
NAME = "richmsgdlg" # Base name of the file to generate to for this script
|
||||
DOCSTRING = ""
|
||||
|
||||
# The classes and/or the basename of the Doxygen XML files to be processed by
|
||||
# this script.
|
||||
ITEMS = [ "wxRichMessageDialog",
|
||||
]
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
def run():
|
||||
# Parse the XML file(s) building a collection of Extractor objects
|
||||
module = etgtools.ModuleDef(PACKAGE, MODULE, NAME, DOCSTRING)
|
||||
etgtools.parseDoxyXML(module, ITEMS)
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Tweak the parsed meta objects in the module object as needed for
|
||||
# customizing the generated code and docstrings.
|
||||
|
||||
c = module.find('wxRichMessageDialog')
|
||||
assert isinstance(c, etgtools.ClassDef)
|
||||
tools.fixTopLevelWindowClass(c)
|
||||
c.bases = ['wxGenericMessageDialog']
|
||||
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
tools.doCommonTweaks(module)
|
||||
tools.runGenerators(module)
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
if __name__ == '__main__':
|
||||
run()
|
||||
|
||||
@@ -107,9 +107,11 @@ class BaseDef(object):
|
||||
|
||||
def addItem(self, item):
|
||||
self.items.append(item)
|
||||
return item
|
||||
|
||||
def insertItem(self, index, item):
|
||||
self.items.insert(index, item)
|
||||
return item
|
||||
|
||||
def insertItemAfter(self, after, item):
|
||||
try:
|
||||
@@ -117,6 +119,7 @@ class BaseDef(object):
|
||||
self.items.insert(idx+1, item)
|
||||
except ValueError:
|
||||
self.items.append(item)
|
||||
return item
|
||||
|
||||
def insertItemBefore(self, before, item):
|
||||
try:
|
||||
@@ -124,6 +127,7 @@ class BaseDef(object):
|
||||
self.items.insert(idx, item)
|
||||
except ValueError:
|
||||
self.items.insert(0, item)
|
||||
return item
|
||||
|
||||
|
||||
def allItems(self):
|
||||
|
||||
@@ -50,6 +50,26 @@ class msgdlg_Tests(wtc.WidgetTestCase):
|
||||
wx.ICON_QUESTION
|
||||
wx.ICON_INFORMATION
|
||||
wx.STAY_ON_TOP
|
||||
|
||||
|
||||
def test_gmsgdlg1(self):
|
||||
dlg = wx.GenericMessageDialog(None, 'Message', 'Caption')
|
||||
dlg.Destroy()
|
||||
|
||||
def test_gmsgdlg2(self):
|
||||
dlg = wx.GenericMessageDialog(self.frame, 'Message', 'Caption')
|
||||
dlg.Destroy()
|
||||
|
||||
def test_gmsgdlg3(self):
|
||||
dlg = wx.GenericMessageDialog(None, 'Message', 'Caption')
|
||||
dlg.SetExtendedMessage('extended')
|
||||
dlg.SetMessage('message')
|
||||
dlg.SetOKCancelLabels('okidoky', 'bye-bye')
|
||||
self.assertEqual(dlg.GetExtendedMessage(), 'extended')
|
||||
self.assertEqual(dlg.GetMessage(), 'message')
|
||||
self.assertEqual(dlg.GetOKLabel(), 'okidoky')
|
||||
self.assertEqual(dlg.GetCancelLabel(), 'bye-bye')
|
||||
dlg.Destroy()
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
39
unittests/test_richmsgdlg.py
Normal file
39
unittests/test_richmsgdlg.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import imp_unittest, unittest
|
||||
import wtc
|
||||
import wx
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class richmsgdlg_Tests(wtc.WidgetTestCase):
|
||||
|
||||
def test_richmsgdlg1(self):
|
||||
dlg = wx.RichMessageDialog(None, 'Message', 'Caption')
|
||||
dlg.Destroy()
|
||||
|
||||
def test_richmsgdlg2(self):
|
||||
dlg = wx.RichMessageDialog(self.frame, 'Message', 'Caption')
|
||||
dlg.Destroy()
|
||||
|
||||
def test_richmsgdlg3(self):
|
||||
dlg = wx.RichMessageDialog(None, 'Message', 'Caption')
|
||||
dlg.SetExtendedMessage('extended')
|
||||
dlg.SetMessage('message')
|
||||
dlg.SetOKCancelLabels('okidoky', 'bye-bye')
|
||||
self.assertEqual(dlg.GetExtendedMessage(), 'extended')
|
||||
self.assertEqual(dlg.GetMessage(), 'message')
|
||||
self.assertEqual(dlg.GetOKLabel(), 'okidoky')
|
||||
self.assertEqual(dlg.GetCancelLabel(), 'bye-bye')
|
||||
|
||||
dlg.ShowCheckBox("Checkbox")
|
||||
dlg.ShowDetailedText("Detailed Text")
|
||||
self.assertEqual(dlg.GetCheckBoxText(), "Checkbox")
|
||||
self.assertEqual(dlg.GetDetailedText(), "Detailed Text")
|
||||
self.assertEqual(dlg.CheckBoxText, "Checkbox")
|
||||
self.assertEqual(dlg.DetailedText, "Detailed Text")
|
||||
|
||||
dlg.Destroy()
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user