#include <axwin3/menu.h>
#include <axwin3/richtext.h>
#include <stdio.h>
+#include "include/common.h"
+#include "strings.h"
// === PROTOTYPES ===
int main(int argc, char *argv[]);
int TextArea_KeyHandler(tHWND Window, int bPress, uint32_t KeySym, uint32_t Translated);
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);
- int Toolbar_New(tAxWin3_Widget *Widget);
- int Toolbar_Open(tAxWin3_Widget *Widget);
- int Toolbar_Save(tAxWin3_Widget *Widget);
// === GLOBALS ===
tHWND gMainWindow;
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);
// TODO: Populate menu
// Create toolbar
- gMainWindow_Toolbar = AxWin3_Widget_AddWidget(gMainWindow_Root, ELETYPE_TOOLBAR, 0, "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");
+ gMainWindow_Toolbar = AxWin3_Widget_AddWidget(gMainWindow_Root,
+ ELETYPE_TOOLBAR, ELEFLAG_NOSTRETCH, "Toolbar");
+ Toolbar_Init(gMainWindow_Toolbar);
// TODO: Tab control?
gMainWindow_TextArea = AxWin3_RichText_CreateWindow(gMainWindow, 0);
- AxWin3_Widget_AddWidget_SubWindow(gMainWindow_Root, gMainWindow_TextArea, "TextArea");
AxWin3_RichText_SetKeyHandler (gMainWindow_TextArea, TextArea_KeyHandler);
AxWin3_RichText_SetMouseHandler (gMainWindow_TextArea, TextArea_MouseHandler);
AxWin3_RichText_SetBackground (gMainWindow_TextArea, 0xFFFFFF);
AxWin3_RichText_SetCursorPos (gMainWindow_TextArea, 0, 0);
AxWin3_RichText_SetCursorType (gMainWindow_TextArea, AXWIN3_RICHTEXT_CURSOR_VLINE);
AxWin3_RichText_SetCursorBlink (gMainWindow_TextArea, 1);
+
+ // <testing>
+ AxWin3_RichText_SetLineCount(gMainWindow_TextArea, 3);
+ AxWin3_RichText_SendLine(gMainWindow_TextArea, 0, "First line!");
+ AxWin3_RichText_SendLine(gMainWindow_TextArea, 2, "Third line! \001ff0000red\00100ff00green");
+ // </testing>
+
+ AxWin3_Widget_AddWidget_SubWindow(gMainWindow_Root, gMainWindow_TextArea, 0, "TextArea");
+ 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);
+ AxWin3_FocusWindow(gMainWindow_TextArea);
+
// Main loop
AxWin3_MainLoop();
+ AxWin3_DestroyWindow(gMainWindow);
+
return 0;
}
return 0;
}
-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);
-}