comparison src/adddialog.cpp @ 1:e4aa0e7a07ad

Second release.
author pyon@macmini
date Sun, 13 Sep 2015 14:56:42 +0900
parents cb3403ca39b1
children fd4361d2cbbd
comparison
equal deleted inserted replaced
0:cb3403ca39b1 1:e4aa0e7a07ad
1 // Filename: adddialog.cpp 1 // Filename: adddialog.cpp
2 // Last Change: 2015-08-30 Sun 16:02:17. 2 // Last Change: 2015-09-13 Sun 14:34:28.
3 // 3 //
4 #include <wx/valgen.h>
5 #include <wx/valtext.h>
4 6
5 #include "adddialog.h" 7 #include "adddialog.h"
6 8
7 AddDialog::AddDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) 9 AddDialog::AddDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
8 : wxDialog( parent, id, title, pos, size, style ) 10 : wxDialog( parent, id, title, pos, size, style )
9 { 11 {
10 this->SetSizeHints( wxDefaultSize, wxDefaultSize ); 12 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
11 13
12 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); 14 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL );
13 15
14 m_staticText = new wxStaticText( this, wxID_ANY, wxT("Specify Empty text to use User input(Ctrl-c).\nDescription is option."), wxDefaultPosition, wxDefaultSize, 0 ); 16 m_staticText = new wxStaticText( this, wxID_ANY, wxT("Specify Empty text to Use user input(Ctrl-c).\nDescription is option."), wxDefaultPosition, wxDefaultSize, 0 );
15 bSizerTop->Add( m_staticText, 0, wxALL|wxEXPAND, 10 ); 17 bSizerTop->Add( m_staticText, 0, wxALL|wxEXPAND, 5 );
16 18
17 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 3, 0, 0 ); 19 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 3, 0, 0 );
18 fgSizer->SetFlexibleDirection( wxBOTH ); 20 fgSizer->SetFlexibleDirection( wxBOTH );
19 fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); 21 fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
20 22
21 // text
22 m_staticTextText = new wxStaticText( this, wxID_ANY, wxT("Text"), wxDefaultPosition, wxDefaultSize, 0 ); 23 m_staticTextText = new wxStaticText( this, wxID_ANY, wxT("Text"), wxDefaultPosition, wxDefaultSize, 0 );
23 fgSizer->Add( m_staticTextText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); 24 fgSizer->Add( m_staticTextText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
24 25
25 m_textCtrlText = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 26 m_textCtrlText = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
26 fgSizer->Add( m_textCtrlText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 27 fgSizer->Add( m_textCtrlText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
27 28
28 m_staticTextText2 = new wxStaticText( this, wxID_ANY, wxT("Strings to paste"), wxDefaultPosition, wxDefaultSize, 0 ); 29 m_staticTextText2 = new wxStaticText( this, wxID_ANY, wxT("Strings to paste"), wxDefaultPosition, wxDefaultSize, 0 );
29 fgSizer->Add( m_staticTextText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 30 fgSizer->Add( m_staticTextText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
30 31
31 // type 32 m_staticTextOverwrite = new wxStaticText( this, wxID_ANY, wxT("Overwrite"), wxDefaultPosition, wxDefaultSize, 0 );
32 m_staticTextType = new wxStaticText( this, wxID_ANY, wxT("Type"), wxDefaultPosition, wxDefaultSize, 0 ); 33 fgSizer->Add( m_staticTextOverwrite, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
33 fgSizer->Add( m_staticTextType, 0, wxALL|wxALIGN_RIGHT, 5 ); 34
35 m_checkBoxOverwrite = new wxCheckBox( this, ID_CKOW, wxT("allow change"), wxDefaultPosition, wxDefaultSize, 0 );
36 fgSizer->Add( m_checkBoxOverwrite, 0, wxALL, 5 );
34 37
35 wxString m_choiceTypeChoices[] = { wxT("a"), wxT("ab"), wxT("cc"), }; 38 m_staticTextOverwrite2 = new wxStaticText( this, wxID_ANY, wxT("Check if allow change by user"), wxDefaultPosition, wxDefaultSize, 0 );
36 int m_choiceTypeNChoices = sizeof( m_choiceTypeChoices ) / sizeof( wxString ); 39 fgSizer->Add( m_staticTextOverwrite2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
37 m_choiceType = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceTypeNChoices, m_choiceTypeChoices, 0 );
38 fgSizer->Add( m_choiceType, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
39 40
40 m_staticTextType2 = new wxStaticText( this, wxID_ANY, wxT("Ring / Queue / Stack"), wxDefaultPosition, wxDefaultSize, 0 ); 41 m_staticTextMaxLive = new wxStaticText( this, wxID_ANY, wxT("Max LT"), wxDefaultPosition, wxDefaultSize, 0 );
41 fgSizer->Add( m_staticTextType2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 42 fgSizer->Add( m_staticTextMaxLive, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
42 43
43 // time 44 m_spinCtrlMaxLive = new wxSpinCtrl( this, ID_SPNML, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 28800, 0 );
44 m_staticTextTime = new wxStaticText( this, wxID_ANY, wxT("Time"), wxDefaultPosition, wxDefaultSize, 0 ); 45 fgSizer->Add( m_spinCtrlMaxLive, 0, wxALL, 5 );
45 fgSizer->Add( m_staticTextTime, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
46 46
47 m_textCtrlTime = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 47 m_staticTextMaxLive2 = new wxStaticText( this, wxID_ANY, wxT("Maximum live time"), wxDefaultPosition, wxDefaultSize, 0 );
48 fgSizer->Add( m_textCtrlTime, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 48 fgSizer->Add( m_staticTextMaxLive2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
49 49
50 m_staticTextTime2 = new wxStaticText( this, wxID_ANY, wxT("interval"), wxDefaultPosition, wxDefaultSize, 0 ); 50 m_staticTextMaxActive = new wxStaticText( this, wxID_ANY, wxT("Max AT"), wxDefaultPosition, wxDefaultSize, 0 );
51 fgSizer->Add( m_staticTextTime2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 51 fgSizer->Add( m_staticTextMaxActive, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
52 52
53 // desc 53 m_spinCtrlMaxActive = new wxSpinCtrl( this, ID_SPNMA, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 28800, 0 );
54 fgSizer->Add( m_spinCtrlMaxActive, 0, wxALL, 5 );
55
56 m_staticTextMaxActive2 = new wxStaticText( this, wxID_ANY, wxT("Maximum active time"), wxDefaultPosition, wxDefaultSize, 0 );
57 fgSizer->Add( m_staticTextMaxActive2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
58
54 m_staticTextDesc = new wxStaticText( this, wxID_ANY, wxT("Desc"), wxDefaultPosition, wxDefaultSize, 0 ); 59 m_staticTextDesc = new wxStaticText( this, wxID_ANY, wxT("Desc"), wxDefaultPosition, wxDefaultSize, 0 );
55 fgSizer->Add( m_staticTextDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); 60 fgSizer->Add( m_staticTextDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
56 61
57 m_textCtrlDesc = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 62 m_textCtrlDesc = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
58 fgSizer->Add( m_textCtrlDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 63 fgSizer->Add( m_textCtrlDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
59 64
60 m_staticTextDesc2 = new wxStaticText( this, wxID_ANY, wxT("Description"), wxDefaultPosition, wxDefaultSize, 0 ); 65 m_staticTextDesc2 = new wxStaticText( this, wxID_ANY, wxT("Description"), wxDefaultPosition, wxDefaultSize, 0 );
61 fgSizer->Add( m_staticTextDesc2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 66 fgSizer->Add( m_staticTextDesc2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
62 67
63 bSizerTop->Add( fgSizer, 1, wxEXPAND, 5 ); 68 bSizerTop->Add( fgSizer, 1, wxEXPAND, 5 );
64 69
65 wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL ); 70 wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL );
66 71
72 bSizerBtn->Add( m_buttonCancel, 0, wxALL, 5 ); 77 bSizerBtn->Add( m_buttonCancel, 0, wxALL, 5 );
73 78
74 bSizerTop->Add( bSizerBtn, 0, wxALIGN_RIGHT, 5 ); 79 bSizerTop->Add( bSizerBtn, 0, wxALIGN_RIGHT, 5 );
75 80
76 this->SetSizer( bSizerTop ); 81 this->SetSizer( bSizerTop );
82
77 this->Layout(); 83 this->Layout();
78 bSizerTop->Fit( this ); 84 bSizerTop->Fit( this );
79 85
80 this->Centre( wxBOTH ); 86 this->Centre( wxBOTH );
87
88 Init();
89 SetValidators();
81 } 90 }
82 91
83 AddDialog::~AddDialog() 92 AddDialog::~AddDialog()
84 { 93 {
85 } 94 }
86 95
96 // Event Table
97 BEGIN_EVENT_TABLE( AddDialog, wxDialog )
98 EVT_CHECKBOX( ID_CKOW, AddDialog::OnCheckOverwrite )
99 END_EVENT_TABLE()
100
101 /* Event Handlers & Functions */
102 // Event Handlers
103 void AddDialog::OnCheckOverwrite( wxCommandEvent& event )
104 {
105 if ( event.IsChecked() ) {
106 m_textCtrlText->Enable( false );
107 m_textCtrlText->SetValue( wxEmptyString );
108 m_spinCtrlMaxLive->Enable( true );
109 }
110 else {
111 m_textCtrlText->Enable( true );
112 m_textCtrlText->SetValue( wxT("Something") );
113 m_spinCtrlMaxLive->Enable( false );
114 }
115 }
116
117 // Functions
118 void AddDialog::Init()
119 {
120 m_text = wxT("Something");
121 m_owrite = false;
122 m_maxat = 5;
123 m_maxlt = 20;
124 m_desc = wxEmptyString;
125 m_spinCtrlMaxLive->Enable( false );
126 }
127
128 void AddDialog::SetValidators()
129 {
130 m_textCtrlText->SetValidator( wxTextValidator( wxFILTER_NONE, &m_text ) );
131 m_checkBoxOverwrite->SetValidator( wxGenericValidator( &m_owrite ) );
132 m_spinCtrlMaxLive->SetValidator( wxGenericValidator( &m_maxlt ) );
133 m_spinCtrlMaxActive->SetValidator( wxGenericValidator( &m_maxat ) );
134 m_textCtrlDesc->SetValidator( wxTextValidator( wxFILTER_NONE, &m_desc ) );
135 }
136