annotate src/myframe.cpp @ 2:deaf3f2d54b2

more parameters.
author pyon@macmini
date Thu, 08 Nov 2012 20:17:12 +0900
parents 20018a6f69a9
children eea479fc2a28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
pyon@macmini
parents:
diff changeset
1 // Filename : myframe.cpp
pyon@macmini
parents:
diff changeset
2 // Last Change: 20-Oct-2012.
pyon@macmini
parents:
diff changeset
3 //
pyon@macmini
parents:
diff changeset
4
pyon@macmini
parents:
diff changeset
5 #include "main.h"
pyon@macmini
parents:
diff changeset
6 #include "myframe.h"
pyon@macmini
parents:
diff changeset
7 #include "about.h"
pyon@macmini
parents:
diff changeset
8
pyon@macmini
parents:
diff changeset
9 // resources
pyon@macmini
parents:
diff changeset
10 #if !defined(__WXMSW__) && !defined(__WXPM__)
pyon@macmini
parents:
diff changeset
11 #include "sample.xpm"
pyon@macmini
parents:
diff changeset
12 #endif
pyon@macmini
parents:
diff changeset
13
pyon@macmini
parents:
diff changeset
14 MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
pyon@macmini
parents:
diff changeset
15 : wxFrame( parent, id, title, pos, size, style )
pyon@macmini
parents:
diff changeset
16 {
pyon@macmini
parents:
diff changeset
17 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
pyon@macmini
parents:
diff changeset
18 this->SetBackgroundColour( wxColour(wxT("WHEAT")) );
pyon@macmini
parents:
diff changeset
19 // set the frame icon
pyon@macmini
parents:
diff changeset
20 SetIcon(wxICON(sample));
pyon@macmini
parents:
diff changeset
21
pyon@macmini
parents:
diff changeset
22 // メニューバー Menu
pyon@macmini
parents:
diff changeset
23 m_menubar = new wxMenuBar();
pyon@macmini
parents:
diff changeset
24 m_menuFile = new wxMenu();
pyon@macmini
parents:
diff changeset
25
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
26 wxMenuItem* m_menuItemSetup = new wxMenuItem( m_menuFile, ID_MNSETUP, wxString( wxT("&Setup...") ) , wxT("Setup parameters"), wxITEM_NORMAL );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
27 m_menuFile->Append( m_menuItemSetup );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
28
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
29 wxMenuItem* m_menuItemSave = new wxMenuItem( m_menuFile, ID_MNSAVE, wxString( wxT("Save setting...") ) , wxT("Save parameters"), wxITEM_NORMAL );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
30 m_menuFile->Append( m_menuItemSave );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
31
0
pyon@macmini
parents:
diff changeset
32 wxMenuItem* m_menuItemAbout = new wxMenuItem( m_menuFile, ID_MNABOUT, wxString( wxT("&About...\tF1") ) , wxT("Show about dialog"), wxITEM_NORMAL );
pyon@macmini
parents:
diff changeset
33 m_menuFile->Append( m_menuItemAbout );
pyon@macmini
parents:
diff changeset
34
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
35 m_menubar->Append( m_menuFile, wxT("File(&F)") );
0
pyon@macmini
parents:
diff changeset
36
pyon@macmini
parents:
diff changeset
37 this->SetMenuBar( m_menubar );
pyon@macmini
parents:
diff changeset
38
pyon@macmini
parents:
diff changeset
39 //
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
40 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 4, 0, 0 );
0
pyon@macmini
parents:
diff changeset
41 fgSizer->SetFlexibleDirection( wxBOTH );
pyon@macmini
parents:
diff changeset
42 fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
pyon@macmini
parents:
diff changeset
43
pyon@macmini
parents:
diff changeset
44 m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("Folder"), wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
45 fgSizer->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
pyon@macmini
parents:
diff changeset
46
pyon@macmini
parents:
diff changeset
47 m_dirPickerWatch = new wxDirPickerCtrl( this, ID_WATCHDIR, wxEmptyString, wxT("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE );
pyon@macmini
parents:
diff changeset
48 fgSizer->Add( m_dirPickerWatch, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
pyon@macmini
parents:
diff changeset
49
pyon@macmini
parents:
diff changeset
50 m_staticText2 = new wxStaticText( this, wxID_ANY, wxT("Filename"), wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
51 fgSizer->Add( m_staticText2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
pyon@macmini
parents:
diff changeset
52
pyon@macmini
parents:
diff changeset
53 m_textCtrlFile = new wxTextCtrl( this, ID_FILENAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
54 fgSizer->Add( m_textCtrlFile, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
pyon@macmini
parents:
diff changeset
55
pyon@macmini
parents:
diff changeset
56 m_staticText3 = new wxStaticText( this, wxID_ANY, wxT("Command"), wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
57 fgSizer->Add( m_staticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
pyon@macmini
parents:
diff changeset
58
pyon@macmini
parents:
diff changeset
59 m_textCtrlCommand = new wxTextCtrl( this, ID_COMMAND, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
60 fgSizer->Add( m_textCtrlCommand, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
pyon@macmini
parents:
diff changeset
61
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
62 m_staticText4 = new wxStaticText( this, wxID_ANY, wxT("wait [sec]"), wxDefaultPosition, wxDefaultSize, 0 );
0
pyon@macmini
parents:
diff changeset
63 fgSizer->Add( m_staticText4, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
64
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
65 m_textCtrlWait = new wxTextCtrl( this, ID_WAIT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
66 fgSizer->Add( m_textCtrlWait, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
67
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
68 m_staticText5 = new wxStaticText( this, wxID_ANY, wxT("MoveTo"), wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
69 fgSizer->Add( m_staticText5, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
0
pyon@macmini
parents:
diff changeset
70
pyon@macmini
parents:
diff changeset
71 m_dirPickerMove = new wxDirPickerCtrl( this, ID_MOVEDIR, wxEmptyString, wxT("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE );
pyon@macmini
parents:
diff changeset
72 fgSizer->Add( m_dirPickerMove, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
pyon@macmini
parents:
diff changeset
73
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
74 m_staticText6 = new wxStaticText( this, wxID_ANY, wxT("copy"), wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
75 fgSizer->Add( m_staticText6, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
76
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
77 m_checkBoxCopy = new wxCheckBox( this, ID_COPY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
78 fgSizer->Add( m_checkBoxCopy, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
79
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
80 m_staticText7 = new wxStaticText( this, wxID_ANY, wxT("suffix"), wxDefaultPosition, wxDefaultSize, 0 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
81 fgSizer->Add( m_staticText7, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
82
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
83 wxArrayString suffix;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
84 suffix.Add( wxT("Date & Time") );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
85 m_comboSuffix = new wxComboBox( this, ID_SUFFIX, wxEmptyString, wxDefaultPosition, wxDefaultSize, suffix, 0 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
86 fgSizer->Add( m_comboSuffix, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
87
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
88 m_staticTextDummy1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
89 fgSizer->Add( m_staticTextDummy1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
90
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
91 m_staticTextDummy2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
92 fgSizer->Add( m_staticTextDummy2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
93
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
94 m_staticText8 = new wxStaticText( this, wxID_ANY, wxT("Exit"), wxDefaultPosition, wxDefaultSize, 0 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
95 fgSizer->Add( m_staticText8, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
96
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
97 m_checkBoxExit = new wxCheckBox( this, ID_EXIT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
98 fgSizer->Add( m_checkBoxExit, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
99
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
100 m_staticTextDummy3 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
101 fgSizer->Add( m_staticTextDummy3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
0
pyon@macmini
parents:
diff changeset
102
pyon@macmini
parents:
diff changeset
103 m_toggleBtn = new wxToggleButton( this, ID_TOGGLEWATCH, wxT("Start Watching"), wxDefaultPosition, wxDefaultSize, 0 );
pyon@macmini
parents:
diff changeset
104 fgSizer->Add( m_toggleBtn, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
pyon@macmini
parents:
diff changeset
105
pyon@macmini
parents:
diff changeset
106 this->SetSizer( fgSizer );
pyon@macmini
parents:
diff changeset
107 this->Layout();
pyon@macmini
parents:
diff changeset
108
pyon@macmini
parents:
diff changeset
109 this->Centre( wxBOTH );
pyon@macmini
parents:
diff changeset
110 }
pyon@macmini
parents:
diff changeset
111
pyon@macmini
parents:
diff changeset
112 MyFrame::~MyFrame()
pyon@macmini
parents:
diff changeset
113 {
pyon@macmini
parents:
diff changeset
114 delete m_watcher;
pyon@macmini
parents:
diff changeset
115 }
pyon@macmini
parents:
diff changeset
116
pyon@macmini
parents:
diff changeset
117 // Event Table
pyon@macmini
parents:
diff changeset
118 BEGIN_EVENT_TABLE( MyFrame, wxFrame )
pyon@macmini
parents:
diff changeset
119 EVT_SIZE( MyFrame::OnWinSize )
pyon@macmini
parents:
diff changeset
120 EVT_MOVE( MyFrame::OnWinMove )
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
121 EVT_MENU( ID_MNSETUP, MyFrame::OnSetup )
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
122 EVT_MENU( ID_MNSAVE, MyFrame::OnSaveParams )
0
pyon@macmini
parents:
diff changeset
123 EVT_MENU( ID_MNABOUT, MyFrame::OnAbout )
pyon@macmini
parents:
diff changeset
124 //EVT_MENU( wxID_EXIT, MyFrame::OnQuit )
pyon@macmini
parents:
diff changeset
125 EVT_TOGGLEBUTTON( ID_TOGGLEWATCH, MyFrame::OnWatch )
pyon@macmini
parents:
diff changeset
126 EVT_CLOSE( MyFrame::SaveConfig )
pyon@macmini
parents:
diff changeset
127 END_EVENT_TABLE()
pyon@macmini
parents:
diff changeset
128
pyon@macmini
parents:
diff changeset
129 // Event Handlers & Functions
pyon@macmini
parents:
diff changeset
130 /* フォルダ監視開始/停止スイッチ */
pyon@macmini
parents:
diff changeset
131 void MyFrame::OnWatch( wxCommandEvent& WXUNUSED(event) )
pyon@macmini
parents:
diff changeset
132 {
pyon@macmini
parents:
diff changeset
133 Connect( wxEVT_FSWATCHER, wxFileSystemWatcherEventHandler( MyFrame::OnFileSystemEvent ) );
pyon@macmini
parents:
diff changeset
134
pyon@macmini
parents:
diff changeset
135 static bool enabled = false;
pyon@macmini
parents:
diff changeset
136 enabled = !enabled;
pyon@macmini
parents:
diff changeset
137
pyon@macmini
parents:
diff changeset
138 if ( enabled ) {
pyon@macmini
parents:
diff changeset
139 m_toggleBtn->SetLabelText( wxT("Stop Watching") );
pyon@macmini
parents:
diff changeset
140 m_watcher = new wxFileSystemWatcher();
pyon@macmini
parents:
diff changeset
141 m_watcher->SetOwner( this );
pyon@macmini
parents:
diff changeset
142
pyon@macmini
parents:
diff changeset
143 m_watcher->Add( m_dirPickerWatch->GetPath(), wxFSW_EVENT_CREATE );
pyon@macmini
parents:
diff changeset
144 }
pyon@macmini
parents:
diff changeset
145 else {
pyon@macmini
parents:
diff changeset
146 m_toggleBtn->SetLabelText( wxT("Start Watching") );
pyon@macmini
parents:
diff changeset
147 wxDELETE( m_watcher );
pyon@macmini
parents:
diff changeset
148 }
pyon@macmini
parents:
diff changeset
149 }
pyon@macmini
parents:
diff changeset
150
pyon@macmini
parents:
diff changeset
151 /* フォルダ監視 */
pyon@macmini
parents:
diff changeset
152 void MyFrame::OnFileSystemEvent( wxFileSystemWatcherEvent& event )
pyon@macmini
parents:
diff changeset
153 {
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
154 wxMilliSleep( 1500 );
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
155
0
pyon@macmini
parents:
diff changeset
156 wxString watchdir = m_dirPickerWatch->GetPath();
pyon@macmini
parents:
diff changeset
157 wxString filename = m_textCtrlFile->GetValue();
pyon@macmini
parents:
diff changeset
158 wxString command = m_textCtrlCommand->GetValue();
pyon@macmini
parents:
diff changeset
159 wxString movedir = m_dirPickerMove->GetPath();
pyon@macmini
parents:
diff changeset
160
pyon@macmini
parents:
diff changeset
161 wxString from;
pyon@macmini
parents:
diff changeset
162 wxString to;
pyon@macmini
parents:
diff changeset
163
pyon@macmini
parents:
diff changeset
164 wxString file;
pyon@macmini
parents:
diff changeset
165 wxDir dir( watchdir );
pyon@macmini
parents:
diff changeset
166 bool cont = dir.GetFirst( &file, filename, wxDIR_FILES );
pyon@macmini
parents:
diff changeset
167 while ( cont ) {
pyon@macmini
parents:
diff changeset
168
pyon@macmini
parents:
diff changeset
169 if ( !command.IsEmpty() ) {
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
170 wxExecute( command );
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
171 wxSleep( 2 );
0
pyon@macmini
parents:
diff changeset
172 }
pyon@macmini
parents:
diff changeset
173
pyon@macmini
parents:
diff changeset
174 if ( !movedir.IsEmpty() ) {
pyon@macmini
parents:
diff changeset
175 from = watchdir + wxFILE_SEP_PATH + filename;
pyon@macmini
parents:
diff changeset
176 wxFileName f( from );
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
177
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
178 // ファイル名をどうするか
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
179 if ( m_comboSuffix->GetCurrentSelection() == 0 ) {
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
180 wxDateTime now = wxDateTime::Now();
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
181 to = movedir + wxFILE_SEP_PATH + f.GetName() + wxT("_") + now.Format(wxT("%Y%m%d%H%M%S")) + wxT(".") + f.GetExt();
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
182 }
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
183 else {
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
184 to = movedir + wxFILE_SEP_PATH + filename;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
185 }
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
186
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
187 // オリジナルを残すか
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
188 if ( m_checkBoxCopy->IsChecked() )
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
189 wxCopyFile( from, to, false );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
190 else
1
20018a6f69a9 implement copy.
pyon@macmini
parents: 0
diff changeset
191 wxRenameFile( from, to, false );
0
pyon@macmini
parents:
diff changeset
192 }
pyon@macmini
parents:
diff changeset
193
pyon@macmini
parents:
diff changeset
194 cont = dir.GetNext( &file );
pyon@macmini
parents:
diff changeset
195 }
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
196 if ( m_checkBoxExit->IsChecked() ) Close( true );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
197 }
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
198
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
199 /* セットアップ */
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
200 void MyFrame::OnSetup( wxCommandEvent& WXUNUSED(event) )
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
201 {
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
202 wxString dws_dir = wxGetCwd() + wxFILE_SEP_PATH + wxT("dws");
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
203 wxFileDialog fd( this, wxT("Open Setup file"), dws_dir , wxEmptyString, wxT("Setup files (*.dws)|*.dws"), wxFD_OPEN|wxFD_FILE_MUST_EXIST );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
204 if ( fd.ShowModal() == wxID_CANCEL ) return; // the user changed idea...
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
205
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
206 wxFileConfig* config = new wxFileConfig( wxT("MyApp"), wxT("T.Mutoh"), fd.GetPath(), wxEmptyString, wxCONFIG_USE_LOCAL_FILE );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
207
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
208 wxString p_folder, p_filename, p_command, p_wait, p_moveto;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
209 bool p_copy, p_exit;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
210 long p_suffix;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
211 config->SetPath( wxT("/Parameter") );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
212 config->Read( wxT("Folder"), &p_folder );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
213 config->Read( wxT("Filename"), &p_filename );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
214 config->Read( wxT("Command"), &p_command );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
215 config->Read( wxT("Wait"), &p_wait );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
216 config->Read( wxT("MoveTo"), &p_moveto );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
217 config->Read( wxT("Copy"), p_copy );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
218 config->Read( wxT("Suffix"), &p_suffix );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
219 config->Read( wxT("Exit"), p_exit );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
220
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
221 m_dirPickerWatch->SetPath( p_folder );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
222 m_textCtrlFile->SetValue( p_filename );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
223 m_textCtrlCommand->SetValue( p_command );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
224 m_textCtrlWait->SetValue( p_wait );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
225 m_dirPickerMove->SetPath( p_moveto );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
226 m_checkBoxCopy->SetValue( p_copy );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
227 m_comboSuffix->SetSelection( (int)p_suffix );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
228 m_checkBoxExit->SetValue( p_exit );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
229
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
230 delete config;
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
231 }
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
232 /* パラーメータを保存 */
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
233 void MyFrame::OnSaveParams( wxCommandEvent& WXUNUSED(event) )
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
234 {
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
235 wxString dws_dir = wxGetCwd() + wxFILE_SEP_PATH + wxT("dws");
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
236 wxFileDialog fd( this, wxT("Save Setup file"), dws_dir , wxEmptyString, wxT("Setup files (*.dws)|*.dws"), wxFD_SAVE|wxFD_OVERWRITE_PROMPT );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
237 if ( fd.ShowModal() == wxID_CANCEL ) return; // the user changed idea...
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
238
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
239 wxFileConfig* config = new wxFileConfig( wxT("MyApp"), wxT("T.Mutoh"), fd.GetPath(), wxEmptyString, wxCONFIG_USE_LOCAL_FILE );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
240
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
241 config->SetPath( wxT("/Parameter") );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
242 config->Write( wxT("Folder"), m_dirPickerWatch->GetPath() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
243 config->Write( wxT("Filename"), m_textCtrlFile->GetValue() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
244 config->Write( wxT("Command"), m_textCtrlCommand->GetValue() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
245 config->Write( wxT("Wait"), m_textCtrlWait->GetValue() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
246 config->Write( wxT("MoveTo"), m_dirPickerMove->GetPath() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
247 config->Write( wxT("Copy"), m_checkBoxCopy->GetValue() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
248 config->Write( wxT("Suffix"), m_comboSuffix->GetSelection() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
249 config->Write( wxT("Exit"), m_checkBoxExit->GetValue() );
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
250
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
251 delete config;
0
pyon@macmini
parents:
diff changeset
252 }
pyon@macmini
parents:
diff changeset
253
pyon@macmini
parents:
diff changeset
254 /* サイズ変更 */
pyon@macmini
parents:
diff changeset
255 void MyFrame::OnWinSize( wxSizeEvent& event )
pyon@macmini
parents:
diff changeset
256 {
pyon@macmini
parents:
diff changeset
257 this->Refresh( true, NULL );
pyon@macmini
parents:
diff changeset
258 TellLocation();
pyon@macmini
parents:
diff changeset
259 event.Skip();
pyon@macmini
parents:
diff changeset
260 }
pyon@macmini
parents:
diff changeset
261 /* ウィンドウ移動 */
pyon@macmini
parents:
diff changeset
262 void MyFrame::OnWinMove( wxMoveEvent& WXUNUSED(event) )
pyon@macmini
parents:
diff changeset
263 {
pyon@macmini
parents:
diff changeset
264 TellLocation();
pyon@macmini
parents:
diff changeset
265 return;
pyon@macmini
parents:
diff changeset
266 }
pyon@macmini
parents:
diff changeset
267 /* ウィンドウ位置とサイズを表示 */
pyon@macmini
parents:
diff changeset
268 void MyFrame::TellLocation( void )
pyon@macmini
parents:
diff changeset
269 {
pyon@macmini
parents:
diff changeset
270 wxRect r = this->GetRect();
pyon@macmini
parents:
diff changeset
271 int x = r.GetX();
pyon@macmini
parents:
diff changeset
272 int y = r.GetY();
pyon@macmini
parents:
diff changeset
273 int w = r.GetWidth();
pyon@macmini
parents:
diff changeset
274 int h = r.GetHeight();
pyon@macmini
parents:
diff changeset
275 //SetStatusText( wxString::Format(wxT("(%d,%d) %dx%d"),x,y,w,h), 3 );
pyon@macmini
parents:
diff changeset
276 }
pyon@macmini
parents:
diff changeset
277 /* 終了 */
pyon@macmini
parents:
diff changeset
278 void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) )
pyon@macmini
parents:
diff changeset
279 {
2
deaf3f2d54b2 more parameters.
pyon@macmini
parents: 1
diff changeset
280 Close( true );
0
pyon@macmini
parents:
diff changeset
281 }
pyon@macmini
parents:
diff changeset
282 /* 設定を保存 */
pyon@macmini
parents:
diff changeset
283 void MyFrame::SaveConfig( wxCloseEvent& WXUNUSED(event) )
pyon@macmini
parents:
diff changeset
284 {
pyon@macmini
parents:
diff changeset
285 if ( !IsIconized() && !IsMaximized() ) {
pyon@macmini
parents:
diff changeset
286 wxGetApp().rect = this->GetRect();
pyon@macmini
parents:
diff changeset
287 }
pyon@macmini
parents:
diff changeset
288 Destroy();
pyon@macmini
parents:
diff changeset
289 }
pyon@macmini
parents:
diff changeset
290 /* アバウトダイアログ */
pyon@macmini
parents:
diff changeset
291 void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
pyon@macmini
parents:
diff changeset
292 {
pyon@macmini
parents:
diff changeset
293 AboutDialog* aboutDlg = new AboutDialog( this, wxID_ANY, wxT("About this Software"), wxDefaultPosition, wxSize(320,280), wxDEFAULT_DIALOG_STYLE|wxSTAY_ON_TOP );
pyon@macmini
parents:
diff changeset
294 aboutDlg->ShowModal();
pyon@macmini
parents:
diff changeset
295 }
pyon@macmini
parents:
diff changeset
296