OSDN Git Service

Show Ignore Sub Menu
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Settings / Settings.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2008 - TortoiseSVN\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 #include "SettingsPropPage.h"\r
22 #include "SetMainPage.h"\r
23 #include "SetProxyPage.h"\r
24 #include "SetOverlayPage.h"\r
25 #include "SettingsProgsDiff.h"\r
26 #include "SettingsProgsMerge.h"\r
27 #include "SettingsProgsUniDiff.h"\r
28 #include "SetOverlayIcons.h"\r
29 #include "SetLookAndFeelPage.h"\r
30 #include "SetDialogs.h"\r
31 #include "SettingsColors.h"\r
32 #include "SetMisc.h"\r
33 #include "SetLogCache.h"\r
34 #include "SettingsLogCaches.h"\r
35 #include "SetSavedDataPage.h"\r
36 #include "SetHooks.h"\r
37 #include "SetBugTraq.h"\r
38 #include "SettingsTBlame.h"\r
39 #include "SettingsRevisionGraph.h"\r
40 #include "TreePropSheet/TreePropSheet.h"\r
41 \r
42 using namespace TreePropSheet;\r
43 \r
44 /**\r
45  * \ingroup TortoiseProc\r
46  * This is the container for all settings pages. A setting page is\r
47  * a class derived from CPropertyPage with an additional method called\r
48  * SaveData(). The SaveData() method is used by the dialog to save\r
49  * the settings the user has made - if that method is not called then\r
50  * it means that the changes are discarded! Each settings page has\r
51  * to make sure that no changes are saved outside that method.\r
52  */\r
53 class CSettings : public CTreePropSheet\r
54 {\r
55         DECLARE_DYNAMIC(CSettings)\r
56 private:\r
57         /**\r
58          * Adds all pages to this Settings-Dialog.\r
59          */\r
60         void AddPropPages();\r
61         /**\r
62          * Removes the pages and frees up memory.\r
63          */\r
64         void RemovePropPages();\r
65 \r
66 private:\r
67         CSetMainPage *                  m_pMainPage;\r
68         CSetProxyPage *                 m_pProxyPage;\r
69         CSetOverlayPage *               m_pOverlayPage;\r
70         CSetOverlayIcons *              m_pOverlaysPage;\r
71         CSettingsProgsDiff*             m_pProgsDiffPage;\r
72         CSettingsProgsMerge *   m_pProgsMergePage;\r
73         CSettingsProgsUniDiff * m_pProgsUniDiffPage;\r
74         CSetLookAndFeelPage *   m_pLookAndFeelPage;\r
75         CSetDialogs *                   m_pDialogsPage;\r
76     CSettingsRevisionGraph* m_pRevisionGraphPage;\r
77         CSettingsColors *               m_pColorsPage;\r
78         CSetMisc *                              m_pMiscPage;\r
79         CSetLogCache *                  m_pLogCachePage;\r
80     CSettingsLogCaches*     m_pLogCacheListPage;\r
81         CSetSavedDataPage *             m_pSavedPage;\r
82         CSetHooks *                             m_pHooksPage;\r
83         CSetBugTraq *                   m_pBugTraqPage;\r
84         CSettingsTBlame *               m_pTBlamePage;\r
85 \r
86         HICON                                   m_hIcon;\r
87 public:\r
88         CSettings(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);\r
89         virtual ~CSettings();\r
90 \r
91         /**\r
92          * Calls the SaveData()-methods of each of the settings pages.\r
93          */\r
94         void HandleRestart();\r
95 protected:\r
96         DECLARE_MESSAGE_MAP()\r
97         virtual BOOL OnInitDialog();\r
98         afx_msg void OnPaint();\r
99         afx_msg HCURSOR OnQueryDragIcon();\r
100 };\r
101 \r
102 \r