]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/aboutdlg.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / aboutdlg.h
index 44cd0df753407d8825b317ad646f1b93039be185..23ffb172a049415be19174dc078236a671828e84 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        aboutdlg.h
 // Purpose:     interface of wxAboutDialogInfo
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     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.
+    
+    Example of usage:
+    @code
+    void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
+    {
+        wxAboutDialogInfo aboutInfo;
+        aboutInfo.SetName("MyApp");
+        aboutInfo.SetVersion(MY_APP_VERSION_STRING);
+        aboutInfo.SetDescription(_("My wxWidgets-based application!"));
+        aboutInfo.SetCopyright("(C) 1992-2010");
+        aboutInfo.SetWebSite("http://myapp.org");
+        aboutInfo.AddDeveloper("My Self");
+
+        wxAboutBox(aboutInfo);
+    }
+    @endcode
 
     @library{wxadv}
     @category{cmndlg,data}
@@ -67,7 +82,7 @@ public:
 
     /**
         Adds a translator name to be shown in the program credits. Notice that if no
-        translator names are specified explicitely, wxAboutBox() will try to use the
+        translator names are specified explicitly, wxAboutBox() will try to use the
         translation of the string @c translator-credits from the currently used message
         catalog -- this can be used to show just the name of the translator of the
         program in the current language.
@@ -77,7 +92,43 @@ public:
     void AddTranslator(const wxString& translator);
 
     /**
-        Sets the the list of artists to be shown in the program credits.
+        Get the name of the program.
+
+        @return Name of the program
+        @see SetName()
+    */
+    wxString GetName() const;
+
+    /**
+        Returns @true if a description string has been specified.
+
+        @see GetDescription()
+    */
+    bool HasDescription() const;
+
+    /**
+        Get the description string.
+
+        @return The description string, free-form.
+    */
+    const wxString& GetDescription();
+
+    /**
+        Returns @true if a copyright string has been specified.
+
+        @see GetCopyright()
+    */
+    bool HasCopyright() const;
+
+    /**
+        Get the copyright string.
+
+        @return The copyright string
+    */
+    const wxString& GetCopyright() const;
+
+    /**
+        Sets the list of artists to be shown in the program credits.
 
         @see AddArtist()
     */
@@ -148,10 +199,19 @@ public:
     void SetTranslators(const wxArrayString& translators);
 
     /**
-        Set the version of the program. The version is in free format, i.e. not
-        necessarily in the @c x.y.z form but it shouldn't contain the "version" word.
+        Set the version of the program. The word "version" shouldn't be included
+        in @a version. Example @a version values: "1.2" and "RC2". In about dialogs
+        with more space set aside for version information, @a longVersion is used.
+        Example @a longVersion values: "Version 1.2" and "Release Candidate 2".
+        If @a version is non-empty but @a longVersion is empty, a long version
+        is constructed automatically, using @a version (by simply prepending
+        "Version " to @a version).
+
+        The generic about dialog and native GTK+ dialog use @a version only,
+        as a suffix to the program name. The native MSW and OS X about dialogs
+        use the long version.
     */
-    void SetVersion(const wxString& version);
+    void SetVersion(const wxString& version, const wxString& longVersion = wxString());
 
     /**
         Set the web site for the program and its description (which defaults to @a url