Port some fixes from Git for Windows
[TortoiseGit.git] / ext / ResizableLib / ResizableState.h
blob161a17a6301e99c0dfe10e4d67d21f67a131cc85
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 // This file is part of ResizableLib
4 // http://sourceforge.net/projects/resizablelib
5 //
6 // Copyright (C) 2000-2004 by Paolo Messina
7 // http://www.geocities.com/ppescher - mailto:ppescher@hotmail.com
8 //
9 // The contents of this file are subject to the Artistic License (the "License").
10 // You may not use this file except in compliance with the License.
11 // You may obtain a copy of the License at:
12 // http://www.opensource.org/licenses/artistic-license.html
14 // If you find this code useful, credits would be nice!
16 /////////////////////////////////////////////////////////////////////////////
18 /*!
19 * @file
20 * @brief Interface for the CResizableState class.
23 #if !defined(AFX_RESIZABLESTATE_H__INCLUDED_)
24 #define AFX_RESIZABLESTATE_H__INCLUDED_
26 #if _MSC_VER > 1000
27 #pragma once
28 #endif // _MSC_VER > 1000
30 /*! @addtogroup CoreComponents
31 * @{
34 //! @brief Provides basic persisting capabilities
35 /*!
36 * Derive from this class to persist user interface settings, or anything
37 * suitable. The base implementation uses the application profile, which can
38 * be set to either the Registry or an INI File. Other storing methods
39 * can be implemented in derived classes.
41 class CResizableState
43 static CString m_sDefaultStorePath;
44 CString m_sStorePath;
46 protected:
48 //! @brief Get default path where state is stored
49 static LPCTSTR GetDefaultStateStore();
51 //! @brief Set default path where state is stored
52 static void SetDefaultStateStore(LPCTSTR szPath);
54 //! @brief Get current path where state is stored
55 LPCTSTR GetStateStore();
57 //! @brief Set current path where state is stored
58 void SetStateStore(LPCTSTR szPath);
60 //! @name Overridables
61 //@{
63 //! @brief Read state information
64 virtual BOOL ReadState(LPCTSTR szId, CString& rsState);
66 //! @brief Write state information
67 virtual BOOL WriteState(LPCTSTR szId, LPCTSTR szState);
69 //@}
71 public:
72 CResizableState();
73 virtual ~CResizableState();
76 // @}
77 #endif // !defined(AFX_RESIZABLESTATE_H__INCLUDED_)