X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FInterface%2Fmain.c;h=e39d9050f663d98a45325c7c4e3fb7d92fb7dadc;hb=8c20de5e4ec260d9a7ee6d737b7601fba1c871c0;hp=5a8fe08ef5255eaff84c25a6f214ff252ccdf133;hpb=58716e08fd3ce62861636a300879e10e930b177b;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/Interface/main.c b/Usermode/Applications/axwin3_src/Interface/main.c index 5a8fe08e..e39d9050 100644 --- a/Usermode/Applications/axwin3_src/Interface/main.c +++ b/Usermode/Applications/axwin3_src/Interface/main.c @@ -20,6 +20,9 @@ void create_sidebar(void); void create_mainmenu(void); void create_run_dialog(void); void mainmenu_run_dialog(void *unused); +void mainmenu_app_terminal(void *unused); +void mainmenu_app_textedit(void *unused); +void update_time(void); // === GLOBALS === tHWND gSidebar; @@ -27,8 +30,12 @@ tAxWin3_Widget *gSidebarRoot; tHWND gSystemMenu; tHWND gRunDialog; tAxWin3_Widget *gRunInput; + +tAxWin3_Widget *gWindowList; +tAxWin3_Widget *gTimeDisplay; int giScreenWidth; int giScreenHeight; +char **gEnvion; // === CODE === int systembutton_fire(tAxWin3_Widget *Widget) @@ -38,8 +45,9 @@ int systembutton_fire(tAxWin3_Widget *Widget) return 0; } -int main(int argc, char *argv[]) +int main(int argc, char *argv[], char **envp) { + gEnvion = envp; // Connect to AxWin3 Server AxWin3_Connect(NULL); @@ -81,7 +89,7 @@ void create_sidebar(void) AxWin3_Widget_SetSize(ele, 4); // TODO: Program list - ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList"); + gWindowList = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList"); // - Plain
style spacer ele = AxWin3_Widget_AddWidget(gSidebarRoot, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top"); @@ -93,9 +101,10 @@ void create_sidebar(void) ELEFLAG_VERTICAL|ELEFLAG_ALIGN_CENTER|ELEFLAG_NOSTRETCH, "Version/Time" ); - txt = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String"); - AxWin3_Widget_SetSize(txt, 20); - AxWin3_Widget_SetText(txt, "3.0"); + gTimeDisplay = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Time"); + AxWin3_Widget_SetSize(gTimeDisplay, 20); + //AxWin3_Widget_SetText(gTimeDisplay, "--:--"); + update_time(); // Turn off decorations AxWin3_DecorateWindow(gSidebar, 0); @@ -105,15 +114,25 @@ void create_sidebar(void) } +void update_time(void) +{ + char tmpbuf[2+1+2+1] = "--:--"; + //strftime(tmpbuf, sizeof(tmpbuf), "%H:%M", NULL); + AxWin3_Widget_SetText(gTimeDisplay, tmpbuf); +} + void mainmenu_app_textedit(void *unused) { - _SysDebug("TODO: Launch text editor"); -// spawn("/Acess/Apps/AxWin/3.0/ate"); +// _SysDebug("TODO: Launch text editor"); + const char *args[] = {"ate",NULL}; + _SysSpawn("/Acess/Apps/AxWin/3.0/ate", args, (const char **)gEnvion, 0, NULL, NULL); } void mainmenu_app_terminal(void *unused) { - _SysDebug("TODO: Launch terminal emulator"); + _SysDebug("Launch terminal emulator"); + const char *args[] = {"terminal",NULL}; + _SysSpawn("/Acess/Apps/AxWin/3.0/terminal", args, (const char **)gEnvion, 0, NULL, NULL); } void mainmenu_run_dialog(void *unused) @@ -140,6 +159,10 @@ int run_dorun(tAxWin3_Widget *unused) _SysDebug("DoRun pressed"); char *cmd = AxWin3_Widget_GetText(gRunInput); _SysDebug("Command string '%s'", cmd); + + // TODO: Parse the command string into components + // TODO: Call _SysSpawn + AxWin3_ShowWindow(gRunDialog, 0); return 0; }