- Added wxTextWrapper helper class useful for wrapping lines of text.
- Added EVT_DATAVIEW_CACHE_HINT() event (Trigve).
- Added wxLB_NO_SB style (implemented for MSW only; Dario Senic).
+- Added long version field to wxAboutDialogInfo (Jeff Tupper).
GTK:
wxString GetName() const
{ return m_name.empty() ? wxTheApp->GetAppDisplayName() : m_name; }
- // version of the program, in free format (but without "version" word)
- void SetVersion(const wxString& version) { m_version = version; }
+ // version should contain program version without "version" word (e.g.,
+ // "1.2" or "RC2") while longVersion may contain the full version including
+ // "version" word (e.g., "Version 1.2" or "Release Candidate 2")
+ //
+ // if longVersion is empty, it is automatically constructed from version
+ //
+ // generic and gtk native: use short version only, as a suffix to the
+ // program name msw and osx native: use long version
+ void SetVersion(const wxString& version,
+ const wxString& longVersion = wxString());
+
bool HasVersion() const { return !m_version.empty(); }
const wxString& GetVersion() const { return m_version; }
+ const wxString& GetLongVersion() const { return m_longVersion; }
// brief, but possibly multiline, description of the program
void SetDescription(const wxString& desc) { m_description = desc; }
private:
wxString m_name,
m_version,
+ m_longVersion,
m_description,
m_copyright,
m_licence;
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.
- */
- void SetVersion(const wxString& version);
+ 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, const wxString& longVersion = wxString());
/**
Set the web site for the program and its description (which defaults to @a url
static void InitAboutInfoMinimal(wxAboutDialogInfo& info)
{
info.SetName(wxT("Dialogs Sample"));
- info.SetVersion(wxVERSION_NUM_DOT_STRING_T);
+ info.SetVersion(wxVERSION_NUM_DOT_STRING,
+ wxString::Format
+ (
+ "%s version %s",
+ wxMINOR_VERSION % 2 ? "Development" : "Stable",
+ wxVERSION_NUM_DOT_STRING
+ ));
info.SetDescription(wxT("This sample shows different wxWidgets dialogs"));
info.SetCopyright(wxT("(C) 1998-2006 wxWidgets dev team"));
info.AddDeveloper(wxT("Vadim Zeitlin"));
return ret;
}
+void wxAboutDialogInfo::SetVersion(const wxString& version,
+ const wxString& longVersion)
+{
+ if ( version.empty() )
+ {
+ m_version.clear();
+
+ wxASSERT_MSG( longVersion.empty(),
+ "long version should be empty if version is");
+
+ m_longVersion.clear();
+ }
+ else // setting valid version
+ {
+ m_version = version;
+
+ if ( longVersion.empty() )
+ m_longVersion = _("Version ") + m_version;
+ else
+ m_longVersion = longVersion;
+ }
+}
+
// ----------------------------------------------------------------------------
// wxGenericAboutDialog
// ----------------------------------------------------------------------------
if ( info.HasVersion() )
{
msg << wxT('\n');
- msg << wxString::Format(_("Version %s"), info.GetVersion());
+ msg << info.GetLongVersion();
}
msg << wxT("\n\n");
opts.Set(kHIAboutBoxNameKey, info.GetName());
if ( info.HasVersion() )
- {
- opts.Set(kHIAboutBoxVersionKey,
- wxString::Format(_("Version %s"), info.GetVersion()));
- }
+ opts.Set(kHIAboutBoxVersionKey,info.GetLongVersion());
if ( info.HasCopyright() )
opts.Set(kHIAboutBoxCopyrightKey, info.GetCopyrightToDisplay());
if ( info.HasVersion() )
{
opts.Set(CFSTR("Version"),info.GetVersion());
- opts.Set(CFSTR("ApplicationVersion"),
- wxString::Format(_("Version %s"), info.GetVersion()));
+ opts.Set(CFSTR("ApplicationVersion"),info.GetLongVersion());
}
if ( info.HasCopyright() )