Files
wxWidgets/utils/configtool/src/appsettings.h
2004-06-04 17:58:56 +00:00

131 lines
4.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: appsettings.h
// Purpose: Settings-related classes
// Author: Julian Smart
// Modified by:
// Created: 2002-09-04
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence:
/////////////////////////////////////////////////////////////////////////////
#ifndef _AP_APPSETTINGS_H_
#define _AP_APPSETTINGS_H_
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "appsettings.cpp"
#endif
#include "wx/notebook.h"
#include "wx/dialog.h"
#include "wx/datetime.h"
#include "wxconfigtool.h"
// Frame status
#define ctSHOW_STATUS_NORMAL 0x01
#define ctSHOW_STATUS_MINIMIZED 0x02
#define ctSHOW_STATUS_MAXIMIZED 0x03
/*!
* \brief ctSettings holds all the settings that can be altered
* by the user (and probably some that can't).
*/
class ctSettings: public wxObject
{
DECLARE_DYNAMIC_CLASS(ctSettings)
public:
/// Default constructor.
ctSettings();
/// Copy constructor.
ctSettings(const ctSettings& settings);
/// Destructor.
~ctSettings();
// Operations
/// Assignment operator.
void operator = (const ctSettings& settings);
/// Copy function.
void Copy (const ctSettings& settings);
/// Loads configuration information from the registry or a file.
bool LoadConfig();
/// Saves configuration information to the registry or a file.
bool SaveConfig();
/// Initialisation before LoadConfig is called.
bool Init();
/// Shows the settings dialog.
void ShowSettingsDialog(const wxString& page = wxEmptyString);
/// Generates a new document filename.
wxString GenerateFilename(const wxString& rootName);
// Accessors
/// Returns the long application name. This name is used
/// for the registry key and main frame titlebar.
wxString GetAppName() const { return m_appName; }
/// Returns the short application name.
wxString GetShortAppName() const { return m_appNameShort; }
/// Gets the name of the last filename to be loaded.
/// May not be needed in this application.
wxString& GetLastFilename() { return m_lastFilename; }
/// Returns true if this is the first time the application
/// has been run.
bool GetFirstTimeRun() const { return m_firstTimeRun; }
public:
wxString m_lastSetupSaveDir; // Not yet used
wxString m_lastDocument; // Last document
bool m_showToolBar;
bool m_smallToolbar;
wxRect m_frameSize;
// wxColour m_backgroundColour; // background colour
wxFont m_editWindowFont;
int m_noUses; // Number of times the app was invoked
wxString m_appName; // The current name of the app...
wxString m_appNameShort; // The short name of the app...
bool m_showSplashScreen; // Show the splash screen
wxString m_userName;
wxString m_lastFilename; // So we can auto-generate sensible filenames
bool m_loadLastDocument;
bool m_useToolTips; // Use tooltips on dialogs
int m_frameStatus;
wxString m_exportDir; // Where files are exported to
wxString m_frameworkDir; // Where the wxWin hierarchy is
bool m_useEnvironmentVariable; // Use WXWIN
/// This isn't explicitly held in the registry
/// but deduced from whether there are values there
bool m_firstTimeRun;
bool m_showWelcomeDialog; // Show opening helpful dialog
int m_mainSashSize;
bool m_showTrayIcon;
bool m_trayIconIsShown;
// "Setup file" or "Configure script"
wxString m_defaultFileKind;
// Search settings
bool m_matchCase;
bool m_matchWholeWord;
};
#endif
// _AP_APPSETTINGS_H_