23#ifndef M4_GUI_GUI_DIALOG_H
24#define M4_GUI_GUI_DIALOG_H
26#include "m4/m4_types.h"
27#include "m4/graphics/gr_buff.h"
28#include "m4/gui/gui.h"
29#include "m4/gui/gui_item.h"
30#include "m4/gui/gui_univ.h"
35 TS_GIVEN = 0, TS_JUST_LEFT, TS_JUST_RIGHT, TS_CENTRE
43 Item *cancel_item, *return_item, *default_item;
48 void configure(int32 defaultTag, int32 returnTag, int32 cancelTag);
52 bool addMessage(int32 x, int32 y,
const char *prompt, int32 tag);
53 bool addButton(int32 x, int32 y,
const char *prompt, M4CALLBACK cb, int32 tag);
56 Item *getItem(int32 tag);
59 bool addTextField(int32 x1, int32 y1, int32 x2,
const char *defaultPrompt, M4CALLBACK cb, int32 tag, int32 fieldLength);
68 int32 hiliteColor_alt1;
69 int32 hiliteColor_alt2;
78 bool okButton =
false;
80 bool movingScreen =
false;
81 Item *clickItem =
nullptr;
82 Item *doubleClickItem =
nullptr;
83 char listboxSearchStr[80] = { 0 };
86bool gui_dialog_init();
87void gui_dialog_shutdown();
90Dialog *DialogCreateAbsolute(int32 x1, int32 y1, int32 x2, int32 y2, uint32 scrnFlags);
91void vmng_Dialog_Destroy(
Dialog *d);
93void Dialog_Refresh(
Dialog *d);
94void Dialog_Refresh_All();
95void Dialog_Configure(
Dialog *d, int32 defaultTag, int32 returnTag, int32 cancelTag);
96void Dialog_SetDefault(
Dialog *d, int32 tag);
97bool Dialog_SetPressed(
Dialog *d, int32 tag);
100bool Dialog_Add_Message(
Dialog *d, int32 x, int32 y,
const char *prompt, int32 tag);
103bool Dialog_Add_Button(
Dialog *d, int32 x, int32 y,
const char *prompt, M4CALLBACK cb, int32 tag);
106void Dialog_GetPrevListItem(
Dialog *d);
107void Dialog_GetNextListItem(
Dialog *d);
110bool Dialog_Add_TextField(
Dialog *d, int32 x1, int32 y1, int32 x2,
const char *defaultPrompt, M4CALLBACK cb, int32 tag, int32 fieldLength);
114void Dialog_Change_Item_Prompt(
Dialog *d,
const char *newPrompt,
Item *myItem, int32 tag);
115void Dialog_Refresh_Item(
Dialog *d,
Item *myItem, int32 tag);
116void Dialog_KeyMouseCollision();
118bool sizeofGUIelement_border(int16 el_type, int32 *w, int32 *h);
124TextScrn *TextScrn_Create(int32 x1, int32 y1, int32 x2, int32 y2, int32 luminance, uint32 scrnFlags,
125 int32 textColor, int32 hiliteColor,
126 int32 textColor_alt1 = 0, int32 hiliteColor_alt1 = 0,
127 int32 textColor_alt2 = 0, int32 hiliteColor_alt2 = 0);
128void vmng_TextScrn_Destroy(
TextScrn *myTextScrn);
129void TextScrn_Destroy(
TextScrn *myTextScrn);
130void TextScrn_Activate(
TextScrn *myTextScrn);
131bool TextScrn_Add_TextItem(
TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
132 int32 justification,
const char *prompt, M4CALLBACK callback);
133bool TextScrn_Add_Message(
TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
134 int32 justification,
const char *prompt);
Definition: database.h:28
Definition: gui_dialog.h:77
Definition: gui_dialog.h:38
Definition: gui_item.h:82
Definition: gui_item.h:69
Definition: gui_dialog.h:62