xref: /haiku/src/tests/kits/interface/MenuBeginningTest.cpp (revision 1e36cfc2721ef13a187c6f7354dc9cbc485e89d3)
1 // Test works like this:
2 // Start the app from the terminal
3 // 1. Click on "menu ONE"
4 // 2. Click on "menu TWO".
5 // Examine the output.
6 
7 #include <Application.h>
8 #include <Menu.h>
9 #include <MenuBar.h>
10 #include <MenuItem.h>
11 #include <Window.h>
12 
13 #include <cstdio>
14 
15 
16 class TestWindow : public BWindow {
17 public:
18 	TestWindow();
19 	virtual void MenusBeginning();
20 	virtual void MenusEnded();
21 };
22 
23 
24 void
25 show_window(BWindow *window)
26 {
27 	BMenuBar *bar = new BMenuBar(BRect(0, 0, 10, 10), "menuBar");
28 
29 	BMenu *menu = new BMenu("menu ONE");
30 
31 	menu->AddItem(new BMenuItem("ONE", new BMessage('1ONE')));
32 	menu->AddItem(new BMenuItem("TWO", new BMessage('2TWO')));
33 	bar->AddItem(menu);
34 
35 	menu = new BMenu("menu TWO");
36 	menu->AddItem(new BMenuItem("ONE", new BMessage('1ONE')));
37 	menu->AddItem(new BMenuItem("TWO", new BMessage('2TWO')));
38 	bar->AddItem(menu);
39 
40 	window->AddChild(bar);
41 	window->Show();
42 }
43 
44 
45 int main()
46 {
47 	BApplication app("application/x-vnd.menu-test");
48 	BWindow *window = new TestWindow();
49 	show_window(window);
50 	app.Run();
51 }
52 
53 
54 TestWindow::TestWindow()
55 	:BWindow(BRect(100, 100, 400, 300), "menu test", B_DOCUMENT_WINDOW, B_ASYNCHRONOUS_CONTROLS)
56 {
57 
58 }
59 
60 
61 void
62 TestWindow::MenusBeginning()
63 {
64 	printf("MenusBeginning()\n");
65 }
66 
67 
68 void
69 TestWindow::MenusEnded()
70 {
71 	printf("MenusEnded()\n");
72 }
73