Added wx.AboutBox()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
66
wxPython/demo/AboutBox.py
Normal file
66
wxPython/demo/AboutBox.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
import wx
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
class TestPanel(wx.Panel):
|
||||||
|
def __init__(self, parent, log):
|
||||||
|
self.log = log
|
||||||
|
wx.Panel.__init__(self, parent, -1)
|
||||||
|
|
||||||
|
b = wx.Button(self, -1, "Show a wx.AboutBox", (50,50))
|
||||||
|
self.Bind(wx.EVT_BUTTON, self.OnButton, b)
|
||||||
|
|
||||||
|
|
||||||
|
def OnButton(self, evt):
|
||||||
|
# First we create and fill the info object
|
||||||
|
info = wx.AboutDialogInfo()
|
||||||
|
info.Name = "Hello World"
|
||||||
|
info.Version = "1.2.3"
|
||||||
|
info.Copyright = "(C) 2006 Programmers and Coders Everywhere"
|
||||||
|
info.Description = \
|
||||||
|
"A \"hello world\" program is a software program that prints out "\
|
||||||
|
"\"Hello world!\" on a display device. It is used in many introductory "\
|
||||||
|
"tutorials for teaching a programming language. Such a program is "\
|
||||||
|
"typically one of the simplest programs possible in a computer language. "\
|
||||||
|
"A \"hello world\" program can be a useful sanity test to make sure that "\
|
||||||
|
"a language's compiler, development environment, and run-time environment "\
|
||||||
|
"are correctly installed."
|
||||||
|
info.WebSite = ("http://en.wikipedia.org/wiki/Hello_world", "Hello World home page")
|
||||||
|
info.Developers = [ "Joe Programmer",
|
||||||
|
"Jane Coder",
|
||||||
|
"Vippy the Mascot" ]
|
||||||
|
|
||||||
|
# Then we call wx.AboutBox giving it that info object
|
||||||
|
wx.AboutBox(info)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
def runTest(frame, nb, log):
|
||||||
|
win = TestPanel(nb, log)
|
||||||
|
return win
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
overview = """<html><body>
|
||||||
|
<h2><center>wx.AboutBox</center></h2>
|
||||||
|
|
||||||
|
This function shows the native standard about dialog containing the
|
||||||
|
information specified in info. If the current platform has a native
|
||||||
|
about dialog which is capable of showing all the fields in info, the
|
||||||
|
native dialog is used, otherwise the function falls back to the
|
||||||
|
generic wxWidgets version of the dialog.
|
||||||
|
|
||||||
|
</body></html>
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys,os
|
||||||
|
import run
|
||||||
|
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
|
||||||
|
|
@@ -66,6 +66,7 @@ _treeList = [
|
|||||||
'ButtonPanel',
|
'ButtonPanel',
|
||||||
'FlatNotebook',
|
'FlatNotebook',
|
||||||
'CustomTreeCtrl',
|
'CustomTreeCtrl',
|
||||||
|
'AboutBox',
|
||||||
]),
|
]),
|
||||||
|
|
||||||
# managed windows == things with a (optional) caption you can close
|
# managed windows == things with a (optional) caption you can close
|
||||||
@@ -80,6 +81,7 @@ _treeList = [
|
|||||||
|
|
||||||
# the common dialogs
|
# the common dialogs
|
||||||
('Common Dialogs', [
|
('Common Dialogs', [
|
||||||
|
'AboutBox',
|
||||||
'ColourDialog',
|
'ColourDialog',
|
||||||
'DirDialog',
|
'DirDialog',
|
||||||
'FileDialog',
|
'FileDialog',
|
||||||
|
@@ -280,6 +280,17 @@ For consistency, all classes having an Ok() method now also have
|
|||||||
IsOk(), use of the latter form is preferred although the former hasn't
|
IsOk(), use of the latter form is preferred although the former hasn't
|
||||||
been deprecated yet
|
been deprecated yet
|
||||||
|
|
||||||
|
wx.BufferedDC and wx.BufferedPaintDC, if created with a reference to a
|
||||||
|
window and no program supplied buffer bitmap, will not do its own
|
||||||
|
buffering if the window is already double buffered by the system.
|
||||||
|
Also added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC
|
||||||
|
on platforms that do double buffering by default, and a subclass of
|
||||||
|
wx.BufferedPaintDC on the platforms that don't.
|
||||||
|
|
||||||
|
Added the wx.AboutBox() function and wx.AboutDialogInfo class. They
|
||||||
|
provide a way to show a standard About box for the application, which
|
||||||
|
will either be a native dialog or a generic one depending on what info
|
||||||
|
is provided and if it can all be shown with the native dialog.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -332,6 +332,7 @@ swig_sources = run_swig(['misc.i'], 'src', GENDIR, PKGDIR,
|
|||||||
'src/_clipbrd.i',
|
'src/_clipbrd.i',
|
||||||
'src/_stdpaths.i',
|
'src/_stdpaths.i',
|
||||||
'src/_power.i',
|
'src/_power.i',
|
||||||
|
'src/_about.i',
|
||||||
],
|
],
|
||||||
True)
|
True)
|
||||||
ext = Extension('_misc_', swig_sources,
|
ext = Extension('_misc_', swig_sources,
|
||||||
|
302
wxPython/src/_about.i
Normal file
302
wxPython/src/_about.i
Normal file
@@ -0,0 +1,302 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: _about.i
|
||||||
|
// Purpose: SWIG interface for wxAboutDialog
|
||||||
|
//
|
||||||
|
// Author: Robin Dunn
|
||||||
|
//
|
||||||
|
// Created: 08-Oct-2006
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2006 by Total Control Software
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Not a %module
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include <wx/aboutdlg.h>
|
||||||
|
%}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
%newgroup
|
||||||
|
|
||||||
|
|
||||||
|
DocStr(wxAboutDialogInfo,
|
||||||
|
"`wx.AboutDialogInfo contains information shown in the standard About
|
||||||
|
dialog displayed by the `wx.AboutBox` function. This class contains
|
||||||
|
the general information about the program, such as its name, version,
|
||||||
|
copyright and so on, as well as lists of the program developers,
|
||||||
|
documentation writers, artists and translators.
|
||||||
|
|
||||||
|
While all the main platforms have a native implementation of the about
|
||||||
|
dialog, they are often more limited than the generic version provided
|
||||||
|
by wxWidgets and so the generic version is used if
|
||||||
|
`wx.AboutDialogInfo` has any fields not supported by the native
|
||||||
|
version. Currently GTK+ version supports all the possible fields
|
||||||
|
natively but MSW and Mac versions don't support URLs, licence text nor
|
||||||
|
custom icons in the about dialog and if either of those is used,
|
||||||
|
wxAboutBox() will automatically use the generic version so you should
|
||||||
|
avoid specifying these fields to achieve more native look and feel.
|
||||||
|
", "");
|
||||||
|
|
||||||
|
class wxAboutDialogInfo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxAboutDialogInfo();
|
||||||
|
~wxAboutDialogInfo();
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetName(const wxString& name),
|
||||||
|
"Set the name of the program. If this method is not called, the string
|
||||||
|
returned by `wx.App.GetAppName` will be shown in the dialog.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxString , GetName() const,
|
||||||
|
"Returns the program name.", "");
|
||||||
|
|
||||||
|
%property(Name, GetName, SetName);
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetVersion(const wxString& version),
|
||||||
|
"Set the version of the program. The version is in free format,
|
||||||
|
i.e. not necessarily in the x.y.z form but it shouldn't contain the
|
||||||
|
\"version\" word.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasVersion() const,
|
||||||
|
"Returns ``True`` if the version property has been set.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxString , GetVersion() const,
|
||||||
|
"Returns the version value.", "");
|
||||||
|
|
||||||
|
%property(Version, GetVersion, SetVersion);
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetDescription(const wxString& desc),
|
||||||
|
"Set brief, but possibly multiline, description of the program.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasDescription() const,
|
||||||
|
"Returns ``True`` if the description property has been set.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxString , GetDescription() const,
|
||||||
|
"Returns the description value.", "");
|
||||||
|
|
||||||
|
%property(Description, GetDescription, SetDescription);
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetCopyright(const wxString& copyright),
|
||||||
|
"Set the short string containing the program copyright
|
||||||
|
information. Notice that any occurrences of \"(C)\" in ``copyright``
|
||||||
|
will be replaced by the copyright symbol (circled C) automatically,
|
||||||
|
which means that you can avoid using this symbol in the program source
|
||||||
|
code which can be problematic.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasCopyright() const,
|
||||||
|
"Returns ``True`` if the copyright property has been set.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxString , GetCopyright() const,
|
||||||
|
"Returns the copyright value.", "");
|
||||||
|
|
||||||
|
%property(Copyright, GetCopyright, SetCopyright);
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetLicence(const wxString& licence),
|
||||||
|
"Set the long, multiline string containing the text of the program
|
||||||
|
licence.
|
||||||
|
|
||||||
|
Only GTK+ version supports showing the licence text in the native
|
||||||
|
about dialog currently so the generic version will be used under all
|
||||||
|
the other platforms if this method is called. To preserve the native
|
||||||
|
look and feel it is advised that you do not call this method but
|
||||||
|
provide a separate menu item in the \"Help\" menu for displaying the
|
||||||
|
text of your program licence.
|
||||||
|
", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetLicense(const wxString& licence),
|
||||||
|
"This is the same as `SetLicence`.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasLicence() const,
|
||||||
|
"Returns ``True`` if the licence property has been set.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxString , GetLicence() const,
|
||||||
|
"Returns the licence value.", "");
|
||||||
|
|
||||||
|
%property(Licence, GetLicence, SetLicence);
|
||||||
|
%pythoncode { License = Licence }
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , SetIcon(const wxIcon& icon),
|
||||||
|
"Set the icon to be shown in the dialog. By default the icon of the
|
||||||
|
main frame will be shown if the native about dialog supports custom
|
||||||
|
icons. If it doesn't but a valid icon is specified using this method,
|
||||||
|
the generic about dialog is used instead so you should avoid calling
|
||||||
|
this function for maximally native look and feel.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasIcon() const,
|
||||||
|
"Returns ``True`` if the icon property has been set.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
wxIcon , GetIcon() const,
|
||||||
|
"Return the current icon value.", "");
|
||||||
|
|
||||||
|
%property(Icon, GetIcon, SetIcon);
|
||||||
|
|
||||||
|
|
||||||
|
// web site for the program and its description (defaults to URL itself if
|
||||||
|
// empty)
|
||||||
|
%Rename(_SetWebSite,
|
||||||
|
void , SetWebSite(const wxString& url, const wxString& desc = wxEmptyString));
|
||||||
|
%Rename(_GetWebSiteURL,
|
||||||
|
wxString , GetWebSiteURL() const);
|
||||||
|
%Rename(_GetWebSiteDescription,
|
||||||
|
wxString , GetWebSiteDescription() const);
|
||||||
|
bool HasWebSite() const;
|
||||||
|
|
||||||
|
%pythoncode {
|
||||||
|
def SetWebSite(self, args):
|
||||||
|
"""
|
||||||
|
SetWebSite(self, URL, [Description])
|
||||||
|
|
||||||
|
Set the web site property. The ``args`` parameter can
|
||||||
|
either be a single string for the URL, to a 2-tuple of
|
||||||
|
(URL, Description) strings.
|
||||||
|
"""
|
||||||
|
if type(args) in [str, unicode]:
|
||||||
|
self._SetWebSite(args)
|
||||||
|
else:
|
||||||
|
self._SetWebSite(args[0], args[1])
|
||||||
|
|
||||||
|
def GetWebSite(self):
|
||||||
|
"""
|
||||||
|
GetWebSite(self) --> (URL, Description)
|
||||||
|
"""
|
||||||
|
return (self._GetWebSiteURL(), self._GetWebSiteDescription())
|
||||||
|
}
|
||||||
|
%property(WebSite, GetWebSite, SetWebSite)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
void , SetDevelopers(const wxArrayString& developers),
|
||||||
|
"SetDevelopers(self, list developers)",
|
||||||
|
"Set the list of the developers of the program.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , AddDeveloper(const wxString& developer),
|
||||||
|
"Add a string to the list of developers.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasDevelopers() const,
|
||||||
|
"Returns ``True if any developers have been set.", "");
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
const wxArrayString& , GetDevelopers() const,
|
||||||
|
"GetDevelopers(self) --> list",
|
||||||
|
"Returns the list of developers.", "");
|
||||||
|
|
||||||
|
%property(Developers, GetDevelopers, SetDevelopers);
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
void , SetDocWriters(const wxArrayString& docwriters),
|
||||||
|
"SetDocWriters(self, list docwriters)",
|
||||||
|
"Set the list of the documentation writers.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , AddDocWriter(const wxString& docwriter),
|
||||||
|
"Add a string to the list of documentation writers.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasDocWriters() const,
|
||||||
|
"Returns ``True if any documentation writers have been set.", "");
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
const wxArrayString& , GetDocWriters() const,
|
||||||
|
"GetDocWriters(self) --> list",
|
||||||
|
"Returns the list of documentation writers.", "");
|
||||||
|
|
||||||
|
%property(DocWriters, GetDocWriters, SetDocWriters);
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
void , SetArtists(const wxArrayString& artists),
|
||||||
|
"SetArtists(self, list artists)",
|
||||||
|
"Set the list of artists for the program.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , AddArtist(const wxString& artist),
|
||||||
|
"Add a string to the list of artists.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasArtists() const,
|
||||||
|
"Returns ``True`` if any artists have been set.", "");
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
const wxArrayString& , GetArtists() const,
|
||||||
|
"GetArtists(self) --> list",
|
||||||
|
"Returns the list od artists.", "");
|
||||||
|
|
||||||
|
%property(Artists, GetArtists, SetArtists);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
void , SetTranslators(const wxArrayString& translators),
|
||||||
|
"SetTranslators(self, list translators)",
|
||||||
|
"Sets the list of program translators.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
void , AddTranslator(const wxString& translator),
|
||||||
|
"Add a string to the list of translators.", "");
|
||||||
|
|
||||||
|
DocDeclStr(
|
||||||
|
bool , HasTranslators() const,
|
||||||
|
"Returns ``True`` if any translators have been set.", "");
|
||||||
|
|
||||||
|
DocDeclAStr(
|
||||||
|
const wxArrayString& , GetTranslators() const,
|
||||||
|
"GetTranslators(self) --> list",
|
||||||
|
"Returns the list of program translators.", "");
|
||||||
|
|
||||||
|
%property(Translators, GetTranslators, SetTranslators);
|
||||||
|
|
||||||
|
|
||||||
|
// implementation only
|
||||||
|
// -------------------
|
||||||
|
|
||||||
|
// "simple" about dialog shows only textual information (with possibly
|
||||||
|
// default icon but without hyperlink nor any long texts such as the
|
||||||
|
// licence text)
|
||||||
|
bool IsSimple() const;
|
||||||
|
|
||||||
|
// get the description and credits (i.e. all of developers, doc writers,
|
||||||
|
// artists and translators) as a one long multiline string
|
||||||
|
wxString GetDescriptionAndCredits() const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DocStr(wxAboutBox,
|
||||||
|
"This function shows the standard about dialog containing the
|
||||||
|
information specified in ``info``. If the current platform has a
|
||||||
|
native about dialog which is capable of showing all the fields in
|
||||||
|
``info``, the native dialog is used, otherwise the function falls back
|
||||||
|
to the generic wxWidgets version of the dialog.", "");
|
||||||
|
|
||||||
|
void wxAboutBox(const wxAboutDialogInfo& info);
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
@@ -49,5 +49,6 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
|
|||||||
%include _display.i
|
%include _display.i
|
||||||
%include _stdpaths.i
|
%include _stdpaths.i
|
||||||
%include _power.i
|
%include _power.i
|
||||||
|
%include _about.i
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user