OSDN Git Service

TortoiseMerge Basic Support Git patch created by format patch
[tortoisegit/TortoiseGitJp.git] / src / TortoiseMerge / Settings.h
1 // TortoiseMerge - a Diff/Patch program\r
2 \r
3 // Copyright (C) 2006 - Stefan Kueng\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 \r
21 class CSetMainPage;\r
22 class CSetColorPage;\r
23 \r
24 /**\r
25  * \ingroup TortoiseMerge\r
26  * This is the container for all settings pages. A setting page is\r
27  * a class derived from CPropertyPage with an additional method called\r
28  * SaveData(). The SaveData() method is used by the dialog to save\r
29  * the settings the user has made - if that method is not called then\r
30  * it means that the changes are discarded! Each settings page has\r
31  * to make sure that no changes are saved outside that method.\r
32  *\r
33  */\r
34 class CSettings : public CPropertySheet\r
35 {\r
36         DECLARE_DYNAMIC(CSettings)\r
37 private:\r
38         /**\r
39          * Adds all pages to this Settings-Dialog.\r
40          */\r
41         void AddPropPages();\r
42         /**\r
43          * Removes the pages and frees up memory.\r
44          */\r
45         void RemovePropPages();\r
46 \r
47 private:\r
48         CSetMainPage *          m_pMainPage;\r
49         CSetColorPage *         m_pColorPage;\r
50 \r
51 public:\r
52         CSettings(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);\r
53         CSettings(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);\r
54         virtual ~CSettings();\r
55 \r
56         /**\r
57          * Calls the SaveData()-methods of each of the settings pages.\r
58          */\r
59         void SaveData();\r
60 \r
61         BOOL IsReloadNeeded() const;\r
62 protected:\r
63         DECLARE_MESSAGE_MAP()\r
64         virtual BOOL OnInitDialog();\r
65 };\r
66 \r
67 \r