X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fgui_ate_src%2Fmain.c;h=a3c452b4d3eb156145a40a835c34d630e6b62839;hb=536d7d5d3374c4d13afe7d5d099fd15a526d63fd;hp=77800752bc3f3cf49cc7f870d8c9b43234ed56eb;hpb=507f19941f45bca7c1de783a394f56b15f10be4d;p=tpg%2Facess2.git diff --git a/Usermode/Applications/gui_ate_src/main.c b/Usermode/Applications/gui_ate_src/main.c index 77800752..a3c452b4 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, 400, 600, 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); @@ -69,13 +73,25 @@ int main(int argc, char *argv[]) AxWin3_RichText_SetCursorPos (gMainWindow_TextArea, 0, 0); AxWin3_RichText_SetCursorType (gMainWindow_TextArea, AXWIN3_RICHTEXT_CURSOR_VLINE); AxWin3_RichText_SetCursorBlink (gMainWindow_TextArea, 1); + + // + AxWin3_RichText_SetLineCount(gMainWindow_TextArea, 3); + AxWin3_RichText_SendLine(gMainWindow_TextArea, 0, "First line!"); + AxWin3_RichText_SendLine(gMainWindow_TextArea, 2, "Third line! \x01""ff0000red\x01""00ff00green"); + // + + AxWin3_ShowWindow(gMainWindow_TextArea, 1); // TODO: Status Bar? + AxWin3_MoveWindow(gMainWindow, 50, 50); AxWin3_ShowWindow(gMainWindow, 1); + AxWin3_FocusWindow(gMainWindow); // Main loop AxWin3_MainLoop(); + AxWin3_DestroyWindow(gMainWindow); + return 0; } @@ -92,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); } @@ -110,4 +135,9 @@ int Toolbar_Save(tAxWin3_Widget *Widget) { return 0; } +int Toolbar_Close(tAxWin3_Widget *Widget) +{ + AxWin3_StopMainLoop(1); + return 0; +}