]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/aboutdlg.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAboutDialogInfo
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
9 @class wxAboutDialogInfo
11 wxAboutDialogInfo contains information shown in the standard @e About
12 dialog displayed by the wxAboutBox() function.
14 This class contains the general information about the program, such as its
15 name, version, copyright and so on, as well as lists of the program developers,
16 documentation writers, artists and translators. The simple properties from the
17 former group are represented as a string with the exception of the program icon
18 and the program web site, while the lists from the latter group are stored as
19 wxArrayString and can be either set entirely at once using
20 wxAboutDialogInfo::SetDevelopers and similar functions or built one by one using
21 wxAboutDialogInfo::AddDeveloper etc.
23 Please also notice that while all the main platforms have the native
24 implementation of the about dialog, they are often more limited than the
25 generic version provided by wxWidgets and so the generic version is used if
26 wxAboutDialogInfo has any fields not supported by the native version. Currently
27 GTK+ version supports all the possible fields natively but MSW and Mac versions
28 don't support URLs, licence text nor custom icons in the about dialog and if
29 either of those is used, wxAboutBox() will automatically use the generic version
30 so you should avoid specifying these fields to achieve more native look and feel.
34 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
36 wxAboutDialogInfo aboutInfo;
37 aboutInfo.SetName("MyApp");
38 aboutInfo.SetVersion(MY_APP_VERSION_STRING);
39 aboutInfo.SetDescription(_("My wxWidgets-based application!"));
40 aboutInfo.SetCopyright("(C) 1992-2010");
41 aboutInfo.SetWebSite("http://myapp.org");
42 aboutInfo.AddDeveloper("My Self");
44 wxAboutBox(aboutInfo);
49 @category{cmndlg,data}
51 @see wxAboutDialogInfo::SetArtists
53 class wxAboutDialogInfo
57 Default constructor leaves all fields are initially uninitialized, in general
58 you should call at least SetVersion(), SetCopyright() and SetDescription().
63 Adds an artist name to be shown in the program credits.
67 void AddArtist(const wxString
& artist
);
70 Adds a developer name to be shown in the program credits.
74 void AddDeveloper(const wxString
& developer
);
77 Adds a documentation writer name to be shown in the program credits.
81 void AddDocWriter(const wxString
& docwriter
);
84 Adds a translator name to be shown in the program credits. Notice that if no
85 translator names are specified explicitly, wxAboutBox() will try to use the
86 translation of the string @c translator-credits from the currently used message
87 catalog -- this can be used to show just the name of the translator of the
88 program in the current language.
92 void AddTranslator(const wxString
& translator
);
95 Get the name of the program.
97 @return Name of the program
100 wxString
GetName() const;
103 Returns @true if a description string has been specified.
105 @see GetDescription()
107 bool HasDescription() const;
110 Get the description string.
112 @return The description string, free-form.
114 const wxString
& GetDescription();
117 Returns @true if a copyright string has been specified.
121 bool HasCopyright() const;
124 Get the copyright string.
126 @return The copyright string
128 const wxString
& GetCopyright() const;
131 Sets the list of artists to be shown in the program credits.
135 void SetArtists(const wxArrayString
& artists
);
138 Set the short string containing the program copyright information. Notice that
139 any occurrences of @c "(C)" in @a copyright will be replaced by the
140 copyright symbol (circled C) automatically, which means that you can avoid
141 using this symbol in the program source code which can be problematic,
143 void SetCopyright(const wxString
& copyright
);
146 Set brief, but possibly multiline, description of the program.
148 void SetDescription(const wxString
& desc
);
151 Set the list of developers of the program.
155 void SetDevelopers(const wxArrayString
& developers
);
158 Set the list of documentation writers.
162 void SetDocWriters(const wxArrayString
& docwriters
);
165 Set the icon to be shown in the dialog. By default the icon of the main frame
166 will be shown if the native about dialog supports custom icons. If it doesn't
167 but a valid icon is specified using this method, the generic about dialog is
168 used instead so you should avoid calling this function for maximally native
171 void SetIcon(const wxIcon
& icon
);
174 Set the long, multiline string containing the text of the program licence.
176 Only GTK+ version supports showing the licence text in the native about dialog
177 currently so the generic version will be used under all the other platforms if
178 this method is called. To preserve the native look and feel it is advised that
179 you do not call this method but provide a separate menu item in the
180 @c "Help" menu for displaying the text of your program licence.
182 void SetLicence(const wxString
& licence
);
185 This is the same as SetLicence().
187 void SetLicense(const wxString
& licence
);
190 Set the name of the program. If this method is not called, the string returned
191 by wxApp::GetAppName will be shown in the dialog.
193 void SetName(const wxString
& name
);
196 Set the list of translators. Please see AddTranslator() for additional
199 void SetTranslators(const wxArrayString
& translators
);
202 Set the version of the program. The word "version" shouldn't be included
203 in @a version. Example @a version values: "1.2" and "RC2". In about dialogs
204 with more space set aside for version information, @a longVersion is used.
205 Example @a longVersion values: "Version 1.2" and "Release Candidate 2".
206 If @a version is non-empty but @a longVersion is empty, a long version
207 is constructed automatically, using @a version (by simply prepending
208 "Version " to @a version).
210 The generic about dialog and native GTK+ dialog use @a version only,
211 as a suffix to the program name. The native MSW and OS X about dialogs
212 use the long version.
214 void SetVersion(const wxString
& version
, const wxString
& longVersion
= wxString());
217 Set the web site for the program and its description (which defaults to @a url
220 Please notice that only GTK+ version currently supports showing the link in the
221 native about dialog so if this method is called, the generic version will be
222 used under all the other platforms.
224 void SetWebSite(const wxString
& url
,
225 const wxString
& desc
= wxEmptyString
);
229 // ============================================================================
230 // Global functions/macros
231 // ============================================================================
233 /** @addtogroup group_funcmacro_dialog */
237 This function shows the standard about dialog containing the information
238 specified in @a info. If the current platform has a native about dialog
239 which is capable of showing all the fields in @a info, the native dialog is
240 used, otherwise the function falls back to the generic wxWidgets version of
241 the dialog, i.e. does the same thing as wxGenericAboutBox.
243 Here is an example of how this function may be used:
246 void MyFrame::ShowSimpleAboutDialog(wxCommandEvent& WXUNUSED(event))
248 wxAboutDialogInfo info;
249 info.SetName(_("My Program"));
250 info.SetVersion(_("1.2.3 Beta"));
251 info.SetDescription(_("This program does something great."));
252 info.SetCopyright(wxT("(C) 2007 Me <my@email.addre.ss>"));
258 Please see the @ref page_samples_dialogs for more examples of using this
259 function and wxAboutDialogInfo for the description of the information which
260 can be shown in the about dialog.
262 @header{wx/aboutdlg.h}
264 void wxAboutBox(const wxAboutDialogInfo
& info
, wxWindow
* parent
= NULL
);
267 This function does the same thing as wxAboutBox() except that it always uses
268 the generic wxWidgets version of the dialog instead of the native one.
270 This is mainly useful if you need to customize the dialog by e.g. adding
271 custom controls to it (customizing the native dialog is not currently
274 See the @ref page_samples_dialogs for an example of about dialog
277 @see wxAboutDialogInfo
279 @header{wx/aboutdlg.h}
281 void wxGenericAboutBox(const wxAboutDialogInfo
& info
, wxWindow
* parent
= NULL
);