1 | // EmptyMenuApplication.cpp
|
---|
2 |
|
---|
3 |
|
---|
4 | #include <Application.h>
|
---|
5 | #include <Window.h>
|
---|
6 | #include <MenuBar.h>
|
---|
7 | #include <Menu.h>
|
---|
8 | #include <MenuItem.h>
|
---|
9 | #include <View.h>
|
---|
10 | #include <StringView.h>
|
---|
11 |
|
---|
12 | #include <unistd.h>
|
---|
13 |
|
---|
14 | #define QUIT 'quit'
|
---|
15 | #define ITE1 'ite1'
|
---|
16 | #define ITE2 'ite2'
|
---|
17 | #define ITE4 'ite4'
|
---|
18 | #define ITE5 'ite5'
|
---|
19 | #define ITE6 'ite6'
|
---|
20 | #define ITE7 'ite7'
|
---|
21 |
|
---|
22 | class StringView1 : public BStringView
|
---|
23 | {
|
---|
24 | public:
|
---|
25 | // publics functions
|
---|
26 | StringView1(BRect bounds,const char * name,
|
---|
27 | const char * text,
|
---|
28 | uint32 resizeFlags = B_FOLLOW_LEFT|B_FOLLOW_TOP,
|
---|
29 | uint32 flags = B_WILL_DRAW);
|
---|
30 | //virtual void MessageReceived(BMessage * msg);
|
---|
31 |
|
---|
32 | protected:
|
---|
33 | // protected members
|
---|
34 |
|
---|
35 | };
|
---|
36 |
|
---|
37 | StringView1::StringView1(BRect bounds,const char *name,
|
---|
38 | const char *text,
|
---|
39 | uint32 resizeFlags,
|
---|
40 | uint32 flags)
|
---|
41 | : BStringView(bounds,name,text,resizeFlags,flags)
|
---|
42 | {
|
---|
43 | // Allocate object
|
---|
44 |
|
---|
45 | // Adding object
|
---|
46 | }
|
---|
47 |
|
---|
48 | /***** MessageReceived ****/
|
---|
49 | /* void StringView1::MessageReceived(BMessage *msg)
|
---|
50 | {
|
---|
51 | static int numPresses = 0;
|
---|
52 | switch (message->what))
|
---|
53 | {
|
---|
54 | case INC:
|
---|
55 | ++numPresses;
|
---|
56 | //char title[100];
|
---|
57 | //sprintf(title, "Setting font size %d", ++numPresses);
|
---|
58 | //SetTitle(title);
|
---|
59 | SetFontSize(23+numPresses);
|
---|
60 | break;
|
---|
61 | default:
|
---|
62 | StringView1::MessageReceived(message);
|
---|
63 | }
|
---|
64 | switch(message->what)
|
---|
65 | {
|
---|
66 | case DEC:
|
---|
67 | //char title[100];
|
---|
68 | //sprintf(title, "Setting font size %d", --numPresses);
|
---|
69 | //SetTitle(title);
|
---|
70 | SetFontSize(23--numPresses);
|
---|
71 | break;
|
---|
72 | }
|
---|
73 | } */
|
---|
74 |
|
---|
75 |
|
---|
76 |
|
---|
77 | class Window1 : public BWindow
|
---|
78 | {
|
---|
79 | public:
|
---|
80 | // publics functions
|
---|
81 | Window1(BRect frame,const char* title,window_look look,
|
---|
82 | window_feel feel,
|
---|
83 | uint32 flags,
|
---|
84 | uint32 workspace = B_CURRENT_WORKSPACE);
|
---|
85 | virtual void MessageReceived(BMessage* message);
|
---|
86 | virtual bool QuitRequested();
|
---|
87 |
|
---|
88 | protected:
|
---|
89 | // protected members
|
---|
90 | BMenuBar *_menubar1;
|
---|
91 | BMenu *_menu1;
|
---|
92 | BMenuItem *_menuitem1;
|
---|
93 | BMenuItem *_menuitem2;
|
---|
94 | BMenuItem *_menuitem3Quit;
|
---|
95 | BMenu *_menu2;
|
---|
96 | BMenuItem *_menuitem4;
|
---|
97 | BMenuItem *_menuitem5;
|
---|
98 | BMenuItem *_menuitem6;
|
---|
99 | BMenuItem *_menuitem7;
|
---|
100 | BView* _viewMain;
|
---|
101 | BStringView* _stringViewMain;
|
---|
102 |
|
---|
103 | };
|
---|
104 |
|
---|
105 | /***** Constructor ****/
|
---|
106 | Window1::Window1(BRect frame,const char *title,window_look look,
|
---|
107 | window_feel feel,
|
---|
108 | uint32 flags,
|
---|
109 | uint32 workspace)
|
---|
110 | : BWindow(frame,title,look,feel,flags,workspace)
|
---|
111 | {
|
---|
112 | // Allocate object
|
---|
113 | _menuitem1 = new BMenuItem("MenuItem1",new BMessage('ite1'),0,2);
|
---|
114 | _menuitem2 = new BMenuItem("MenuItem2",new BMessage('ite2'),0,2);
|
---|
115 | _menuitem3Quit = new BMenuItem("Quit", new BMessage('quit'),0,2);
|
---|
116 | _menuitem4 = new BMenuItem("MenuItem4",new BMessage('ite4'),0,2);
|
---|
117 | _menu2 = new BMenu("Menu2",B_ITEMS_IN_COLUMN);
|
---|
118 | _menuitem5 = new BMenuItem("MenuItem5",new BMessage('ite5'),0,2);
|
---|
119 | _menuitem6 = new BMenuItem("MenuItem6",new BMessage('ite6'),0,2);
|
---|
120 | _menuitem7 = new BMenuItem("MenuItem7",new BMessage('ite7'),0,2);
|
---|
121 | _menu1 = new BMenu("File",B_ITEMS_IN_COLUMN);
|
---|
122 | _menubar1 = new BMenuBar(BRect(0.00,0.00,331.00,20.00),"MenuBar1",
|
---|
123 | B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP,B_ITEMS_IN_ROW,true);
|
---|
124 |
|
---|
125 | _stringViewMain = new BStringView(BRect(29.00,23.00,158.00,60.00),
|
---|
126 | "StringView1","Hello World",
|
---|
127 | B_FOLLOW_LEFT | B_FOLLOW_TOP,B_WILL_DRAW);
|
---|
128 | _viewMain = new BView(BRect(26.00,28.00,206.00,110.00),
|
---|
129 | "View1",B_FOLLOW_NONE,B_WILL_DRAW);
|
---|
130 |
|
---|
131 | // Adding object
|
---|
132 | AddChild(_menubar1);
|
---|
133 | _menubar1->AddItem(_menu1);
|
---|
134 | _menu1->AddItem(_menuitem1);
|
---|
135 | _menu1->AddItem(_menuitem2);
|
---|
136 | _menu1->AddItem(_menuitem3Quit);
|
---|
137 | _menubar1->AddItem(_menu2);
|
---|
138 | _menu2->AddItem(_menuitem4);
|
---|
139 | _menu2->AddItem(_menuitem5);
|
---|
140 | _menu2->AddItem(_menuitem6);
|
---|
141 | _menu2->AddItem(_menuitem7);
|
---|
142 |
|
---|
143 | AddChild(_viewMain);
|
---|
144 | _viewMain->AddChild(_stringViewMain);
|
---|
145 | _viewMain->SetViewColor(134,43,22);
|
---|
146 | // _stringViewMain->SetViewColor(133,163,133);
|
---|
147 | _stringViewMain->SetFontSize(11);
|
---|
148 |
|
---|
149 | //_stringViewMain->SetText("Hell");
|
---|
150 |
|
---|
151 | }
|
---|
152 |
|
---|
153 | /***** MessageReceived ****/
|
---|
154 | void Window1::MessageReceived(BMessage *message)
|
---|
155 | {
|
---|
156 |
|
---|
157 | switch(message->what)
|
---|
158 | {
|
---|
159 | case QUIT:
|
---|
160 | be_app->PostMessage(B_QUIT_REQUESTED);
|
---|
161 |
|
---|
162 | break;
|
---|
163 |
|
---|
164 | case ITE1:
|
---|
165 | _stringViewMain->SetText("Clicked menuItem1");
|
---|
166 | break;
|
---|
167 |
|
---|
168 | case ITE2:
|
---|
169 | _stringViewMain->SetText("Clicked menuItem2");
|
---|
170 | break;
|
---|
171 |
|
---|
172 | case ITE4:
|
---|
173 | _stringViewMain->SetText("Clicked menuItem4");
|
---|
174 | break;
|
---|
175 |
|
---|
176 | case ITE5:
|
---|
177 | _stringViewMain->SetText("Clicked menuItem5");
|
---|
178 | break;
|
---|
179 |
|
---|
180 | case ITE6:
|
---|
181 | _stringViewMain->SetText("Clicked menuItem6");
|
---|
182 | break;
|
---|
183 |
|
---|
184 | case ITE7:
|
---|
185 | _stringViewMain->SetText("Clicked menuItem7");
|
---|
186 | break;
|
---|
187 |
|
---|
188 | default:
|
---|
189 | BWindow::MessageReceived(message);
|
---|
190 | }
|
---|
191 | }
|
---|
192 |
|
---|
193 | /***** QuitRequested ****/
|
---|
194 | bool Window1::QuitRequested()
|
---|
195 | {
|
---|
196 | be_app->PostMessage(B_QUIT_REQUESTED);
|
---|
197 | return BWindow::QuitRequested();
|
---|
198 | }
|
---|
199 |
|
---|
200 |
|
---|
201 |
|
---|
202 | class Application1 : public BApplication
|
---|
203 | {
|
---|
204 | public:
|
---|
205 | // publics functions
|
---|
206 | Application1(const char * signature);
|
---|
207 |
|
---|
208 | protected:
|
---|
209 | // protected members
|
---|
210 | Window1 *_window1;
|
---|
211 |
|
---|
212 | };
|
---|
213 |
|
---|
214 | Application1::Application1(const char *signature)
|
---|
215 | : BApplication(signature)
|
---|
216 | {
|
---|
217 | // Allocate object x y x+w y+h
|
---|
218 | _window1 = new Window1(BRect(300.00,244.00,522.00,370.00),
|
---|
219 | "EmptyMenuApplication", B_DOCUMENT_WINDOW_LOOK,
|
---|
220 | B_NORMAL_WINDOW_FEEL,B_NOT_ZOOMABLE,0);
|
---|
221 |
|
---|
222 | // Adding object
|
---|
223 | _window1->Show();
|
---|
224 | }
|
---|
225 |
|
---|
226 |
|
---|
227 | int main(void)
|
---|
228 | {
|
---|
229 | Application1 application("application/x-vnd.MeTOS.Application");
|
---|
230 |
|
---|
231 | // Start Application
|
---|
232 | application.Run();
|
---|
233 |
|
---|
234 | return 0;
|
---|
235 | }
|
---|
236 |
|
---|
237 |
|
---|
238 |
|
---|
239 |
|
---|
240 |
|
---|
241 |
|
---|