newtask.h

Go to the documentation of this file.
00001 //Name: newsess.h
00002 //Created: 2.6.2006.
00003 //Author: Danko Komlen
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 //BEGIN Class members
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 //containers setup
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 }//for
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 //END Class members
00146 
00147 BEGIN_EVENT_TABLE( newtaskFrame, wxDialog )
00148 
00149 //newtaskFrame
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 //_NEWSESS_H_
00156 
00157 

Generated on Mon Jul 24 19:19:27 2006 for TimeSaver by  doxygen 1.4.4