OSDN Git Service

設定ファイルの読み書きをmyConfigで行うよう変更し、履歴機能を強化。設定項目の名前を多数変更。
[tpi/lychee.git] / src / lychee / cls_config.h
1 /*******************************************************************************\r
2   TPI - flexible but useless plug-in framework.\r
3   Copyright (C) 2002-2009 Silky\r
4 \r
5   This library is free software; you can redistribute it and/or modify it under\r
6   the terms of the GNU Lesser General Public License as published by the Free\r
7   Software Foundation; either version 2.1 of the License, or (at your option)\r
8   any later version.\r
9 \r
10   This library is distributed in the hope that it will be useful, but WITHOUT\r
11   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
12   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License\r
13   for more details.\r
14 \r
15   You should have received a copy of the GNU Lesser General Public License along\r
16   with this library; if not, write to the Free Software Foundation, Inc.,\r
17   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
18 \r
19   $Id$\r
20 *******************************************************************************/\r
21 \r
22 #include <wx/fileconf.h>\r
23 \r
24 #ifndef H_LOADED_CLS_CONF\r
25 #define H_LOADED_CLS_CONF\r
26 \r
27 // Config ID.\r
28 enum myConfigID\r
29 {\r
30         CONF_WINDOW_HEIGHT,\r
31         CONF_WINDOW_WIDTH,\r
32         CONF_WINDOW_X,\r
33         CONF_WINDOW_Y,\r
34         CONF_WINDOW_SPLITTER_POS,\r
35         CONF_WINDOW_STATUSBAR,\r
36         CONF_WINDOW_TOOLBAR,\r
37         CONF_LISTVIEW_SHOWMODE,\r
38         CONF_LISTVIEW_C_FILENAME,\r
39         CONF_LISTVIEW_C_UNPACKED,\r
40         CONF_LISTVIEW_C_PACKED,\r
41         CONF_LISTVIEW_C_RATIO,\r
42         CONF_LISTVIEW_C_METHOD,\r
43         CONF_LISTVIEW_C_ATTR,\r
44         CONF_LISTVIEW_C_LASTMOD,\r
45         CONF_LISTVIEW_C_PATH,\r
46         CONF_LISTVIEW_C_TYPE,\r
47         CONF_LISTVIEW_C_NO,\r
48         CONF_LISTVIEW_S_COLUMN,\r
49         CONF_LISTVIEW_S_ASCEND,\r
50 \r
51         CONF_DEFAULT_EXT,\r
52         CONF_DEFAULT_PATH,\r
53 \r
54         CONF_HISTORY_PATH,\r
55         CONF_HISTORY_NAME,\r
56         CONF_HISTORY_FULL,\r
57         CONF_HISTORY_COUNT,\r
58 \r
59         CONF_LAST\r
60 };\r
61 \r
62 class myConfig : public wxFileConfig\r
63 {\r
64 public:\r
65         myConfig();\r
66         ~myConfig();\r
67 \r
68         // General\r
69         wxString ReadID(myConfigID confId, const wxString & defaultVal);\r
70         long ReadID(myConfigID confId, long defaultVal);\r
71         bool ReadID(myConfigID confId, bool defaultVal);\r
72 \r
73         bool WriteID(myConfigID confId, const wxString & value);\r
74         bool WriteID(myConfigID confId, long value);\r
75         bool WriteID(myConfigID confId, bool value);\r
76 \r
77         // History\r
78         size_t GetHistoryCount(myConfigID confId);\r
79         wxString ReadHistory(myConfigID confId, size_t i);\r
80         void WriteHistory(myConfigID confId, wxString sz);\r
81 \r
82 private:\r
83         wxString label[CONF_LAST];\r
84         wxArrayString asHistory[CONF_HISTORY_COUNT - CONF_HISTORY_PATH];\r
85         bool bWriteHistory;\r
86 \r
87         void myReadHistory(myConfigID confId, size_t i);\r
88         void myWriteHistory(myConfigID confId, size_t i);\r
89 };\r
90 \r
91 #endif\r