X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fgui_ate_src%2Fmain.c;h=a3c452b4d3eb156145a40a835c34d630e6b62839;hb=8cf9dc88c488ba959a211f1ec653a366d16e1531;hp=cf2662d87cbfa4e315b514a0f78df52b9a50a83c;hpb=e860a4f0bfc5843258f6ad89a5e8cebbf8816458;p=tpg%2Facess2.git diff --git a/Usermode/Applications/gui_ate_src/main.c b/Usermode/Applications/gui_ate_src/main.c index cf2662d8..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,8 @@ int main(int argc, char *argv[]) AxWin3_Connect(NULL); // --- Build up window - gMainWindow = AxWin3_Widget_CreateWindow(NULL, 320, 200, 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); //gMainWindow_MenuBar = AxWin3_Menu_Create(gMainWindow); @@ -41,25 +44,27 @@ int main(int argc, char *argv[]) // TODO: Populate menu // Create toolbar - gMainWindow_Toolbar = AxWin3_Widget_AddWidget(gMainWindow_Root, ELETYPE_TOOLBAR, 0, "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, "BtnOpen", Toolbar_Save); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnUndo"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnRedo"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnCut"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnCopy"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnPaste"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_SPACER, 0, ""); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnSearch"); - AxWin3_Widget_AddWidget(gMainWindow_Toolbar, ELETYPE_BUTTON, 0, "BtnReplace"); + add_toolbar_button(gMainWindow_Toolbar, "BtnSave", Toolbar_Save); + 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, 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, ELEFLAG_NOSTRETCH, ""); + add_toolbar_button(gMainWindow_Toolbar, "BtnSearch", NULL); + add_toolbar_button(gMainWindow_Toolbar, "BtnReplace", NULL); // TODO: Tab control? gMainWindow_TextArea = AxWin3_RichText_CreateWindow(gMainWindow, 0); - AxWin3_Widget_AddWidget_SubWindow(gMainWindow_Root, gMainWindow_TextArea, "TextArea"); + AxWin3_Widget_AddWidget_SubWindow(gMainWindow_Root, gMainWindow_TextArea, 0, "TextArea"); AxWin3_RichText_SetKeyHandler (gMainWindow_TextArea, TextArea_KeyHandler); AxWin3_RichText_SetMouseHandler (gMainWindow_TextArea, TextArea_MouseHandler); AxWin3_RichText_SetBackground (gMainWindow_TextArea, 0xFFFFFF); @@ -68,19 +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? - - // Load a file - FILE *fp = fopen("", "r"); - if( !fp ) { - perror("fopen"); - return -1; - } - fclose(fp); + AxWin3_MoveWindow(gMainWindow, 50, 50); + AxWin3_ShowWindow(gMainWindow, 1); + AxWin3_FocusWindow(gMainWindow); + // Main loop AxWin3_MainLoop(); + AxWin3_DestroyWindow(gMainWindow); + return 0; } @@ -96,6 +107,37 @@ 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, 0, Ident); - AxWin3_Widget_SetText(btn, Ident); + tAxWin3_Widget *btn = AxWin3_Widget_AddWidget(Toolbar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, 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); +} + +int Toolbar_New(tAxWin3_Widget *Widget) +{ + return 0; +} +int Toolbar_Open(tAxWin3_Widget *Widget) +{ + return 0; } +int Toolbar_Save(tAxWin3_Widget *Widget) +{ + return 0; +} +int Toolbar_Close(tAxWin3_Widget *Widget) +{ + AxWin3_StopMainLoop(1); + return 0; +} +