990489ed99ea3e9552f70bdd3940a4c555063d0c
[tpg/acess2.git] / Usermode / Applications / axwin3_src / Interface / main.c
1 /*
2  * Acess2 GUI v3 User Interface
3  * - By John Hodge (thePowersGang)
4  *
5  * main.c
6  * - Interface core
7  */
8 #include <acess/sys.h>
9 #include <stdlib.h>
10 #include <axwin3/axwin.h>
11 #include <axwin3/widget.h>
12
13 #define SIDEBAR_WIDTH   36
14
15 // === PROTOTYPES ===
16 void    create_sidebar(void);
17
18 // === GLOBALS ===
19 tHWND   gSidebar;
20 tAxWin3_Widget  *gSidebarRoot;
21  int    giScreenWidth;
22  int    giScreenHeight;
23
24 // === CODE ===
25 int systembutton_fire(tAxWin3_Widget *Widget)
26 {
27         _SysDebug("SystemButton pressed");
28         return 0;
29 }
30
31 int main(int argc, char *argv[])
32 {
33         // Connect to AxWin3 Server
34         AxWin3_Connect(NULL);
35         
36         create_sidebar();
37         
38         // Idle loop
39         AxWin3_MainLoop();
40         
41         return 0;
42 }
43
44 void create_sidebar(void)
45 {
46         tAxWin3_Widget  *btn, *txt, *ele;
47
48         // TODO: Register to be told when the display layout changes
49         AxWin3_GetDisplayDims(0, NULL, NULL, &giScreenWidth, &giScreenHeight);
50
51         // Create sidebar
52         gSidebar = AxWin3_Widget_CreateWindow(NULL, SIDEBAR_WIDTH, giScreenHeight, ELEFLAG_VERTICAL);
53         AxWin3_MoveWindow(gSidebar, 0, 0);
54         gSidebarRoot = AxWin3_Widget_GetRoot(gSidebar); 
55
56         // - Main menu
57         btn = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, "SystemButton");
58         AxWin3_Widget_SetSize(btn, SIDEBAR_WIDTH);
59         AxWin3_Widget_SetFireHandler(btn, systembutton_fire);
60         txt = AxWin3_Widget_AddWidget(btn, ELETYPE_IMAGE, 0, "SystemLogo");
61         AxWin3_Widget_SetText(txt, "file:///Acess/Apps/AxWin/3.0/AcessLogoSmall.sif");
62         
63         // - Plain <hr/> style spacer
64         ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top");
65         AxWin3_Widget_SetSize(ele, 4);
66
67         // TODO: Program list
68         ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList");
69
70         // - Plain <hr/> style spacer
71         ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top");
72         AxWin3_Widget_SetSize(ele, 4);
73
74         // > Version/Time
75         ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL|ELEFLAG_NOSTRETCH, "Version/Time");
76         txt = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String");
77         AxWin3_Widget_SetSize(txt, 20);
78         AxWin3_Widget_SetText(txt, "3.0");
79
80         // Show!
81         AxWin3_ShowWindow(gSidebar, 1); 
82         
83 }
84
85 void create_mainmenu(void)
86 {
87 }
88

UCC git Repository :: git.ucc.asn.au