Merge branch 'master' of github.com:thepowersgang/acess2
[tpg/acess2.git] / Usermode / Applications / axwin3_src / Interface / main.c
index fd4ff3f..5f323e4 100644 (file)
@@ -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,10 @@ tAxWin3_Widget       *gSidebarRoot;
 tHWND  gSystemMenu;
 tHWND  gRunDialog;
 tAxWin3_Widget *gRunInput;
+tAxWin3_Widget *gTimeDisplay;
  int   giScreenWidth;
  int   giScreenHeight;
+char   **gEnvion;
 
 // === CODE ===
 int systembutton_fire(tAxWin3_Widget *Widget)
@@ -38,8 +43,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);
 
@@ -51,8 +57,8 @@ int main(int argc, char *argv[])
        create_run_dialog();
        
        AxWin3_RegisterAction(gSidebar, "Interface>Run", (tAxWin3_HotkeyCallback)mainmenu_run_dialog);
-//     AxWin3_RegisterAction(gSidebar, "Interface>Terminal", mainmenu_app_terminal);
-//     AxWin3_RegisterAction(gSidebar, "Interface>TextEdit", mainmenu_app_textedit);
+       AxWin3_RegisterAction(gSidebar, "Interface>Terminal", (tAxWin3_HotkeyCallback)mainmenu_app_terminal);
+       AxWin3_RegisterAction(gSidebar, "Interface>TextEdit", (tAxWin3_HotkeyCallback)mainmenu_app_textedit);
 
        // Idle loop
        AxWin3_MainLoop();
@@ -93,9 +99,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,19 +112,31 @@ 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");
+//     _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)

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