-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
95 lines (75 loc) · 2.75 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <wx/wx.h>
#include <wx/textfile.h>
wxPanel* MainPanel = nullptr;
int y = 0;//y of tasks they don't combine together
bool isCheckedTask = false;
wxCheckBox* CheckedTask = nullptr;
wxString TaskTextStore = "";
wxButton* BtnApply = nullptr;
wxButton* BtnRemove = nullptr;
wxListBox* mainlistbox = nullptr;
class TheApp : public wxApp
{
public:
bool OnInit() override;
};
wxIMPLEMENT_APP(TheApp);
class TheFrame : public wxFrame
{
public:
TheFrame();
private:
void ToDoAdd(wxCommandEvent& event);
};
bool TheApp::OnInit()
{
TheFrame* frame = new TheFrame();
frame->Show(true);
frame->Center();
return true;
}
class EnterTaskName : public wxDialog
{
public:
EnterTaskName(const wxString& WindowTitle);
private:
void SetString(wxCommandEvent& event);
};
TheFrame::TheFrame() : wxFrame(nullptr, wxID_ANY, "0xJ's ToDo App", wxDefaultPosition, wxSize(500, 400), wxDEFAULT_FRAME_STYLE & ~(wxMAXIMIZE_BOX))
{
y = 80;// wxPoint(x = default,y = 80)
MainPanel = new wxPanel(this);
MainPanel->SetBackgroundColour(*wxWHITE);
mainlistbox = new wxListBox(MainPanel,wxID_ANY,wxPoint(0,y), GetSize());
wxButton* AddList = new wxButton(MainPanel,wxID_ADD,"Add to list",wxPoint(5,5),wxSize(80,70));
wxButton* RemoveList = new wxButton(MainPanel,wxID_REMOVE,"Remove From list",wxPoint(390,5),wxSize(90,70));
AddList->Bind(wxEVT_BUTTON, &TheFrame::ToDoAdd,this);
//RemoveList->Bind(wxEVT_BUTTON,&TheFrame::DelString,this);
}
EnterTaskName::EnterTaskName(const wxString& WindowTitle) : wxDialog(NULL, wxID_HELP, WindowTitle, wxDefaultPosition, wxSize(500, 180), wxDEFAULT_DIALOG_STYLE & ~(/*wxRESIZE_BORDER |*/ wxMAXIMIZE_BOX))
{
wxPanel* subPanel = new wxPanel(this);
subPanel->SetBackgroundColour(*wxWHITE);
BtnApply = new wxButton(subPanel, wxID_EDIT, "Enter Task Name", wxDefaultPosition, wxDefaultSize);
BtnApply->Bind(wxEVT_BUTTON, &EnterTaskName::SetString,this);
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
sizer->AddStretchSpacer();
sizer->Add(taskName,0,wxALIGN_CENTER_VERTICAL);
sizer->AddStretchSpacer();
sizer->Add(BtnApply,0,wxALIGN_CENTER_VERTICAL);
sizer->AddStretchSpacer();
subPanel->SetSizer(sizer);
}
EnterTaskName* taskNameWindow = nullptr;
void TheFrame::ToDoAdd(wxCommandEvent& event)
{
taskNameWindow = new EnterTaskName("EnterTaskName");
taskNameWindow->Show(true);
taskNameWindow->Center();
}
void EnterTaskName::SetString(wxCommandEvent& event)
{
y += 20;//wxpoint(x,y += 20, 80 + 20 = 100 + 20 = 120)
CheckedTask = new wxCheckBox(MainPanel,wxID_ADD, taskName->GetValue(),wxPoint(0,y),wxDefaultSize);
taskNameWindow->Close(true);
}