git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
131 lines
4.1 KiB
C++
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_
|
|
|