00001
00002
00003
00004
00005 #ifndef _NEWSESS_H_
00006 #define _NEWSESS_H_
00007
00008 class newtaskFrame : public wxDialog{
00009 public:
00010 newtaskFrame( tsaverFrame* parent,const wxString& title, const wxPoint& pos, const wxSize& pos );
00011 void insert ( wxCommandEvent& event );
00012 void cancel ( wxCommandEvent& event );
00013 void OnCheck (wxCommandEvent &event);
00014
00015 protected:
00016 c_session *session;
00017 tsaverFrame *tsaver;
00018 wxBoxSizer *mainSizer;
00019 wxBoxSizer *subSizer[6];
00020 wxTextCtrl *txtName;
00021 wxTextCtrl *txtCommand;
00022 wxTextCtrl *txtComment;
00023 wxComboBox *cmbType;
00024 wxSpinCtrl *spnHours;
00025 wxSpinCtrl *spnMinutes;
00026 wxCheckBox *chkCommand;
00027 wxStaticText *label[3];
00028 wxButton *btnInsert;
00029 wxButton *btnCancel;
00030 wxSpinCtrl *hours,*mins;
00031
00032 private:
00033 void DoLayout();
00034 DECLARE_EVENT_TABLE()
00035 };
00036
00037
00038
00039 void newtaskFrame::DoLayout(){
00040 mainSizer = new wxBoxSizer (wxVERTICAL);
00041
00042 SetIcon (wxICON(clock));
00043
00044 for (int i=0;i<=5;i++) {
00045 subSizer[i] = new wxBoxSizer(wxHORIZONTAL);
00046 }
00047
00048 hours = new wxSpinCtrl(this,-1,_T("0"),wxDefaultPosition,wxDefaultSize, wxSP_ARROW_KEYS, 0, 99, 0);
00049 mins = new wxSpinCtrl(this,-1,_T("10"),wxDefaultPosition,wxDefaultSize, wxSP_ARROW_KEYS, 1, 99, 10);
00050
00051 txtName = new wxTextCtrl (this, -1,_T(""),wxDefaultPosition, wxDefaultSize);
00052 txtCommand = new wxTextCtrl(this, -1,_T(""),wxDefaultPosition, wxDefaultSize);
00053 txtCommand->Disable();
00054
00055 txtComment = new wxTextCtrl(this, -1,_T(""),wxDefaultPosition, wxDefaultSize,wxTE_MULTILINE);
00056
00057 label[0] = new wxStaticText (this,-1,wxT("Name: "));
00058 label[1] = new wxStaticText (this,-1,wxT("Type: "));
00059 label[2] = new wxStaticText (this,-1,wxT("Duration: "));
00060
00061 wxArrayString types;
00062
00063 types.Add (_T("Generic"));
00064 types.Add (_T("Document"));
00065 types.Add ( _T("Meeting"));
00066 types.Add ( _T("Design"));
00067 types.Add (_T("Presentation"));
00068 types.Add (_T("Travel"));
00069 types.Add (_T("Fun"));
00070
00071 cmbType = new wxComboBox (this,-1,_T("Generic"),wxDefaultPosition, wxDefaultSize,types);
00072 chkCommand = new wxCheckBox (this,CHK_COMMAND,_T("Command"));
00073
00074 btnInsert = new wxButton (this,INSERT,_T("Insert"),wxDefaultPosition, wxDefaultSize);
00075 btnCancel = new wxButton (this,CANCEL,_T("Cancel"),wxDefaultPosition, wxDefaultSize);
00076
00077
00078
00079 subSizer[0]->Add (label[0],0,wxEXPAND);
00080 subSizer[0]->Add (txtName,1,wxEXPAND);
00081
00082 subSizer[1]->Add (label[1],0,wxEXPAND);
00083 subSizer[1]->Add (cmbType,1,wxEXPAND);
00084
00085 subSizer[2]->Add (txtComment,1,wxEXPAND);
00086
00087 subSizer[3]->Add (chkCommand,0,wxEXPAND);
00088 subSizer[3]->Add (txtCommand,1,wxEXPAND);
00089
00090 subSizer[4]->Add (label[2],0,wxEXPAND);
00091 subSizer[4]->Add (hours,0,wxEXPAND);
00092 subSizer[4]->Add (mins,0,wxEXPAND);
00093
00094 subSizer[5]->Add (btnInsert,1,wxEXPAND);
00095 subSizer[5]->Add (btnCancel,1,wxEXPAND);
00096
00097
00098 for (int i=0;i<=5;i++) {
00099 mainSizer->Add (subSizer[i],0,wxEXPAND);
00100 }
00101
00102 SetSizer(mainSizer);
00103
00104 mainSizer->Fit(this);
00105 mainSizer->SetSizeHints(this);
00106 Layout();
00107
00108 }
00109
00110 newtaskFrame::newtaskFrame( tsaverFrame* parent,const wxString& title, const wxPoint& pos, const wxSize& size)
00111 : wxDialog(parent, -1, title, pos, size){
00112
00113
00114 tsaver = parent;
00115 session = tsaver->session;
00116 DoLayout();
00117
00118 }
00119
00120 void newtaskFrame::cancel(wxCommandEvent &event) {
00121 Close(TRUE);
00122 }
00123
00124 void newtaskFrame::insert(wxCommandEvent &event) {
00125 task_type type = ttGENERIC;
00126
00127 if (cmbType->GetValue() == _T("Generic")) { type = ttGENERIC;}
00128 if (cmbType->GetValue() == _T("Document")) { type = ttDOCUMENT; }
00129 if (cmbType->GetValue() == _T("Meeting")) { type = ttMEETING; }
00130 if (cmbType->GetValue() == _T("Design")) { type = ttDESIGN; }
00131 if (cmbType->GetValue() == _T("Presentation")) { type = ttPRESENTATION; }
00132 if (cmbType->GetValue() == _T("Travel")) { type = ttTRAVEL; }
00133 if (cmbType->GetValue() == _T("Fun")) { type = ttFUN; }
00134
00135
00136 session->new_task(txtName->GetValue(), type, txtComment->GetValue(), chkCommand->GetValue() ? txtCommand->GetValue() : wxT(""), (hours->GetValue()*60 + mins->GetValue()));
00137 tsaver->addtolist();
00138
00139 Close(TRUE);
00140
00141 }
00142 void newtaskFrame::OnCheck (wxCommandEvent &event) {
00143 chkCommand->GetValue() ? txtCommand->Enable() : txtCommand->Disable();
00144 }
00145
00146
00147 BEGIN_EVENT_TABLE( newtaskFrame, wxDialog )
00148
00149
00150 EVT_BUTTON (INSERT,newtaskFrame::insert)
00151 EVT_BUTTON (CANCEL,newtaskFrame::cancel)
00152 EVT_CHECKBOX (CHK_COMMAND,newtaskFrame::OnCheck)
00153
00154 END_EVENT_TABLE()
00155 #endif
00156
00157