X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FInterface%2Fmain.c;h=a098614712f79d4b09a21c66d49e3b404d252f66;hb=b0da731b2d89b9dd58de2c98eaf6218a41a21920;hp=e34968c9df509d1efa822002ce669b4d553f48d3;hpb=8c12dd82f2a4e01d8de5d29db6d4fdd0802c7e83;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/Interface/main.c b/Usermode/Applications/axwin3_src/Interface/main.c index e34968c9..a0986147 100644 --- a/Usermode/Applications/axwin3_src/Interface/main.c +++ b/Usermode/Applications/axwin3_src/Interface/main.c @@ -19,6 +19,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); // === GLOBALS === tHWND gSidebar; @@ -28,6 +31,7 @@ tHWND gRunDialog; tAxWin3_Widget *gRunInput; int giScreenWidth; int giScreenHeight; +char **gEnvion; // === CODE === int systembutton_fire(tAxWin3_Widget *Widget) @@ -37,8 +41,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); @@ -49,6 +54,10 @@ int main(int argc, char *argv[]) create_mainmenu(); create_run_dialog(); + AxWin3_RegisterAction(gSidebar, "Interface>Run", (tAxWin3_HotkeyCallback)mainmenu_run_dialog); + AxWin3_RegisterAction(gSidebar, "Interface>Terminal", (tAxWin3_HotkeyCallback)mainmenu_app_terminal); + AxWin3_RegisterAction(gSidebar, "Interface>TextEdit", (tAxWin3_HotkeyCallback)mainmenu_app_textedit); + // Idle loop AxWin3_MainLoop(); @@ -102,17 +111,22 @@ void create_sidebar(void) void mainmenu_app_textedit(void *unused) { - _SysDebug("TODO: Launch text editor"); +// _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) { AxWin3_ShowWindow(gRunDialog, 1); + AxWin3_FocusWindow(gRunDialog); } void create_mainmenu(void) @@ -130,6 +144,7 @@ void create_mainmenu(void) // -------------------------------------------------------------------- int run_dorun(tAxWin3_Widget *unused) { + _SysDebug("DoRun pressed"); char *cmd = AxWin3_Widget_GetText(gRunInput); _SysDebug("Command string '%s'", cmd); AxWin3_ShowWindow(gRunDialog, 0);