Kernel/VTerm - "Fix" wrapping issue in VTerm (why was old behavior there?)
[tpg/acess2.git] / Usermode / Applications / gui_ate_src / toolbar.c
1 /*
2  * Acess Text Editor (ATE)
3  * - By John Hodge (thePowersGang)
4  *
5  * toolbar.c
6  * - Main toolbar code
7  */
8 #include <axwin3/axwin.h>
9 #include <axwin3/widget.h>
10 #include "include/common.h"
11 #include "strings.h"
12
13 // === PROTOTYPES ===
14 void    add_toolbar_button(tAxWin3_Widget *Toolbar, const char *Ident, tAxWin3_Widget_FireCb Callback);
15  int    Toolbar_Cb_New(tAxWin3_Widget *Widget);
16  int    Toolbar_Cb_Open(tAxWin3_Widget *Widget);
17  int    Toolbar_Cb_Save(tAxWin3_Widget *Widget);
18  int    Toolbar_Cb_Close(tAxWin3_Widget *Widget);
19
20 // === CODE ===
21 void Toolbar_Init(tAxWin3_Widget *Toolbar)
22 {
23         add_toolbar_button(Toolbar, "BtnNew", Toolbar_Cb_New);
24         add_toolbar_button(Toolbar, "BtnOpen", Toolbar_Cb_Open);
25         add_toolbar_button(Toolbar, "BtnSave", Toolbar_Cb_Save);
26         add_toolbar_button(Toolbar, "BtnClose", Toolbar_Cb_Close);
27         AxWin3_Widget_AddWidget(Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "");
28         add_toolbar_button(Toolbar, "BtnUndo", NULL);
29         add_toolbar_button(Toolbar, "BtnRedo", NULL);
30         AxWin3_Widget_AddWidget(Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "");
31         add_toolbar_button(Toolbar, "BtnCut", NULL);
32         add_toolbar_button(Toolbar, "BtnCopy", NULL);
33         add_toolbar_button(Toolbar, "BtnPaste", NULL);
34         AxWin3_Widget_AddWidget(Toolbar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "");
35         add_toolbar_button(Toolbar, "BtnSearch", NULL);
36         add_toolbar_button(Toolbar, "BtnReplace", NULL);
37 }
38
39 void add_toolbar_button(tAxWin3_Widget *Toolbar, const char *Ident, tAxWin3_Widget_FireCb Callback)
40 {
41         tAxWin3_Widget *btn = AxWin3_Widget_AddWidget(Toolbar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, Ident);
42         const char *img = getimg(Ident);
43         if( img )
44         {
45                 tAxWin3_Widget *txt = AxWin3_Widget_AddWidget(btn, ELETYPE_IMAGE, 0, Ident);
46                 AxWin3_Widget_SetText(txt, img);
47                 // TODO: tooltip?
48         }
49         else
50         {
51                 tAxWin3_Widget *txt = AxWin3_Widget_AddWidget(btn, ELETYPE_TEXT, 0, Ident);
52                 AxWin3_Widget_SetText(txt, getstr(Ident));
53         }
54         AxWin3_Widget_SetFireHandler(btn, Callback);
55 }
56
57 int Toolbar_Cb_New(tAxWin3_Widget *Widget)
58 {
59         return 0;
60 }
61 int Toolbar_Cb_Open(tAxWin3_Widget *Widget)
62 {
63         return 0;
64 }
65 int Toolbar_Cb_Save(tAxWin3_Widget *Widget)
66 {
67         return 0;
68 }
69 int Toolbar_Cb_Close(tAxWin3_Widget *Widget)
70 {
71         AxWin3_StopMainLoop(1);
72         return 0;
73 }
74

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