X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fgui_ate_src%2Fmain.c;h=a6bbee64c805f1322e2cf330da7450fc20f605f0;hb=6457e97e47fa29a23975daf853a3c032ce6650ef;hp=a6ed8aa7ade8dfd92122782bc74494e65287af61;hpb=40eab42d76a80629327ecc34a936b6bce4228d24;p=tpg%2Facess2.git diff --git a/Usermode/Applications/gui_ate_src/main.c b/Usermode/Applications/gui_ate_src/main.c index a6ed8aa7..a6bbee64 100644 --- a/Usermode/Applications/gui_ate_src/main.c +++ b/Usermode/Applications/gui_ate_src/main.c @@ -10,6 +10,7 @@ #include #include #include +#include "strings.h" // === PROTOTYPES === int main(int argc, char *argv[]); @@ -19,6 +20,7 @@ void add_toolbar_button(tAxWin3_Widget *Toolbar, const char *Ident, tAxWin3_Widg int Toolbar_New(tAxWin3_Widget *Widget); int Toolbar_Open(tAxWin3_Widget *Widget); int Toolbar_Save(tAxWin3_Widget *Widget); + int Toolbar_Close(tAxWin3_Widget *Widget); // === GLOBALS === tHWND gMainWindow; @@ -33,7 +35,7 @@ int main(int argc, char *argv[]) AxWin3_Connect(NULL); // --- Build up window - gMainWindow = AxWin3_Widget_CreateWindow(NULL, 700, 400, ELEFLAG_VERTICAL); + gMainWindow = AxWin3_Widget_CreateWindow(NULL, 500, 400, ELEFLAG_VERTICAL); AxWin3_SetWindowTitle(gMainWindow, "Acess Text Editor"); // TODO: Update title with other info gMainWindow_Root = AxWin3_Widget_GetRoot(gMainWindow); @@ -42,18 +44,20 @@ int main(int argc, char *argv[]) // TODO: Populate menu // Create toolbar - gMainWindow_Toolbar = AxWin3_Widget_AddWidget(gMainWindow_Root, ELETYPE_TOOLBAR, ELEFLAG_NOSTRETCH, "Toolbar"); + gMainWindow_Toolbar = AxWin3_Widget_AddWidget(gMainWindow_Root, + ELETYPE_TOOLBAR, ELEFLAG_NOSTRETCH, "Toolbar"); add_toolbar_button(gMainWindow_Toolbar, "BtnNew", Toolbar_New); add_toolbar_button(gMainWindow_Toolbar, "BtnOpen", Toolbar_Open); add_toolbar_button(gMainWindow_Toolbar, "BtnSave", Toolbar_Save); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); + add_toolbar_button(gMainWindow_Toolbar, "BtnClose", Toolbar_Close); + AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, ""); add_toolbar_button(gMainWindow_Toolbar, "BtnUndo", NULL); add_toolbar_button(gMainWindow_Toolbar, "BtnRedo", NULL); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); + AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, ""); add_toolbar_button(gMainWindow_Toolbar, "BtnCut", NULL); add_toolbar_button(gMainWindow_Toolbar, "BtnCopy", NULL); add_toolbar_button(gMainWindow_Toolbar, "BtnPaste", NULL); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); + AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, ""); add_toolbar_button(gMainWindow_Toolbar, "BtnSearch", NULL); add_toolbar_button(gMainWindow_Toolbar, "BtnReplace", NULL); @@ -86,6 +90,8 @@ int main(int argc, char *argv[]) // Main loop AxWin3_MainLoop(); + AxWin3_DestroyWindow(gMainWindow); + return 0; } @@ -102,9 +108,18 @@ int TextArea_MouseHandler(tHWND Window, int bPress, int Button, int Row, int Col void add_toolbar_button(tAxWin3_Widget *Toolbar, const char *Ident, tAxWin3_Widget_FireCb Callback) { tAxWin3_Widget *btn = AxWin3_Widget_AddWidget(Toolbar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, Ident); - tAxWin3_Widget *txt = AxWin3_Widget_AddWidget(btn, ELETYPE_TEXT, 0, Ident); - // TODO: Get image / text using `Ident` as a lookup key - AxWin3_Widget_SetText(txt, Ident); + const char *img = getimg(Ident); + if( img ) + { + tAxWin3_Widget *txt = AxWin3_Widget_AddWidget(btn, ELETYPE_IMAGE, 0, Ident); + AxWin3_Widget_SetText(txt, img); + // TODO: tooltip? + } + else + { + tAxWin3_Widget *txt = AxWin3_Widget_AddWidget(btn, ELETYPE_TEXT, 0, Ident); + AxWin3_Widget_SetText(txt, getstr(Ident)); + } AxWin3_Widget_SetFireHandler(btn, Callback); } @@ -120,4 +135,9 @@ int Toolbar_Save(tAxWin3_Widget *Widget) { return 0; } +int Toolbar_Close(tAxWin3_Widget *Widget) +{ + AxWin3_StopMainLoop(1); + return 0; +}