2 * Acess2 GUI v3 User Interface
3 * - By John Hodge (thePowersGang)
10 #include <axwin3/axwin.h>
11 #include <axwin3/widget.h>
12 #include <axwin3/menu.h>
14 #define SIDEBAR_WIDTH 36
17 void create_sidebar(void);
18 void create_mainmenu(void);
23 tAxWin3_Widget *gSidebarRoot;
28 int systembutton_fire(tAxWin3_Widget *Widget)
30 _SysDebug("SystemButton pressed");
31 AxWin3_Menu_ShowAt(gSystemMenu, SIDEBAR_WIDTH, 0);
35 int main(int argc, char *argv[])
37 // Connect to AxWin3 Server
49 void create_sidebar(void)
51 tAxWin3_Widget *btn, *txt, *ele;
53 // TODO: Register to be told when the display layout changes
54 AxWin3_GetDisplayDims(0, NULL, NULL, &giScreenWidth, &giScreenHeight);
57 gSidebar = AxWin3_Widget_CreateWindow(NULL, SIDEBAR_WIDTH, giScreenHeight, ELEFLAG_VERTICAL);
58 AxWin3_MoveWindow(gSidebar, 0, 0);
59 gSidebarRoot = AxWin3_Widget_GetRoot(gSidebar);
62 btn = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, "SystemButton");
63 AxWin3_Widget_SetSize(btn, SIDEBAR_WIDTH);
64 AxWin3_Widget_SetFireHandler(btn, systembutton_fire);
65 txt = AxWin3_Widget_AddWidget(btn, ELETYPE_IMAGE, 0, "SystemLogo");
66 AxWin3_Widget_SetText(txt, "file:///Acess/Apps/AxWin/3.0/AcessLogoSmall.sif");
68 // - Plain <hr/> style spacer
69 ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top");
70 AxWin3_Widget_SetSize(ele, 4);
73 ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList");
75 // - Plain <hr/> style spacer
76 ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top");
77 AxWin3_Widget_SetSize(ele, 4);
80 ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL|ELEFLAG_NOSTRETCH, "Version/Time");
81 txt = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String");
82 AxWin3_Widget_SetSize(txt, 20);
83 AxWin3_Widget_SetText(txt, "3.0");
86 AxWin3_ShowWindow(gSidebar, 1);
90 void mainmenu_app_textedit(void *unused)
92 _SysDebug("TODO: Launch text editor");
95 void mainmenu_run_dialog(void *unused)
97 _SysDebug("TODO: Show run dialog");
100 void create_mainmenu(void)
102 gSystemMenu = AxWin3_Menu_Create(gSidebar);
104 AxWin3_Menu_AddItem(gSystemMenu, "Text &Editor\tWin+E", mainmenu_app_textedit, NULL, 0, NULL);
105 AxWin3_Menu_AddItem(gSystemMenu, NULL, NULL, NULL, 0, NULL);
106 AxWin3_Menu_AddItem(gSystemMenu, "Run\tWin+R", mainmenu_run_dialog, NULL, 0, NULL);