Start of main menu.
This commit is contained in:
parent
cddb5c27e1
commit
029a37d87d
7 changed files with 131 additions and 3 deletions
BIN
client/assets/door.png
(Stored with Git LFS)
Normal file
BIN
client/assets/door.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
client/assets/dos.png
(Stored with Git LFS)
Normal file
BIN
client/assets/dos.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
client/assets/if.png
(Stored with Git LFS)
Normal file
BIN
client/assets/if.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
client/assets/menu.xcf
(Stored with Git LFS)
Normal file
BIN
client/assets/menu.xcf
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -85,6 +85,8 @@ static void tagListWidgetAttributeHandle(void) {
|
||||||
char *title;
|
char *title;
|
||||||
char *filename;
|
char *filename;
|
||||||
RectT pos;
|
RectT pos;
|
||||||
|
uint8_t hasWidth;
|
||||||
|
uint8_t hasHeight;
|
||||||
widgetCallback click;
|
widgetCallback click;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
int32_t valueInt;
|
int32_t valueInt;
|
||||||
|
@ -120,6 +122,8 @@ static void tagListWidgetAttributeHandle(void) {
|
||||||
pos.y = 0;
|
pos.y = 0;
|
||||||
pos.w = 0;
|
pos.w = 0;
|
||||||
pos.h = 0;
|
pos.h = 0;
|
||||||
|
hasWidth = 0;
|
||||||
|
hasHeight = 0;
|
||||||
click = NULL;
|
click = NULL;
|
||||||
userdata = NULL;
|
userdata = NULL;
|
||||||
hasValue = 0;
|
hasValue = 0;
|
||||||
|
@ -184,7 +188,8 @@ static void tagListWidgetAttributeHandle(void) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_HEIGHT:
|
case T_HEIGHT:
|
||||||
pos.h = v;
|
pos.h = v;
|
||||||
|
hasHeight = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_INDEX:
|
case T_INDEX:
|
||||||
|
@ -239,7 +244,8 @@ static void tagListWidgetAttributeHandle(void) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_WIDTH:
|
case T_WIDTH:
|
||||||
pos.w = v;
|
pos.w = v;
|
||||||
|
hasWidth = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_X:
|
case T_X:
|
||||||
|
|
|
@ -292,6 +292,8 @@ static void tableSave(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void menuShow(void);
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
if (startup(argc, argv)) return 1;
|
if (startup(argc, argv)) return 1;
|
||||||
|
@ -299,7 +301,8 @@ int main(int argc, char *argv[]) {
|
||||||
// Perform "first run" setup tasks or start the client?
|
// Perform "first run" setup tasks or start the client?
|
||||||
if (hasValidSettings()) {
|
if (hasValidSettings()) {
|
||||||
// We have what we need, start the client.
|
// We have what we need, start the client.
|
||||||
welcomeShow();
|
//welcomeShow();
|
||||||
|
menuShow();
|
||||||
} else {
|
} else {
|
||||||
// Run the setup.
|
// Run the setup.
|
||||||
settingsShow(checkSettings);
|
settingsShow(checkSettings);
|
||||||
|
|
|
@ -18,9 +18,116 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "network.h"
|
||||||
|
#include "vesa.h"
|
||||||
|
|
||||||
|
#include "taglist.h"
|
||||||
|
#include "msgbox.h"
|
||||||
|
#include "window.h"
|
||||||
|
#include "picture.h"
|
||||||
|
#include "button.h"
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
#include "hangup.h"
|
||||||
|
#include "welcome.h"
|
||||||
|
|
||||||
|
|
||||||
|
static void btnLogoffClick(WidgetT *widget);
|
||||||
|
static void btnOptionsClick(WidgetT *widget);
|
||||||
|
static void btnMsgBoxLogoff(MsgBoxButtonT button);
|
||||||
|
static void picDoorClick(WidgetT *widget);
|
||||||
|
static void setButtons(uint8_t enabled);
|
||||||
|
|
||||||
|
|
||||||
|
static WindowT *_winMenu = NULL;
|
||||||
|
static PictureT *_picDoor = NULL;
|
||||||
|
static PictureT *_picDOS = NULL;
|
||||||
|
static PictureT *_picIF = NULL;
|
||||||
|
static ButtonT *_btnOptions = NULL;
|
||||||
|
static ButtonT *_btnLogoff = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
static void btnLogoffClick(WidgetT *widget) {
|
||||||
|
(void)widget;
|
||||||
|
|
||||||
|
setButtons(0);
|
||||||
|
msgBoxTwo("Cancel?", MSGBOX_ICON_QUESTION, "Cancel login?\n \nThis will disconnect you from the server.", "Okay", btnMsgBoxLogoff, "Cancel", btnMsgBoxLogoff);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void btnMsgBoxLogoff(MsgBoxButtonT button) {
|
||||||
|
|
||||||
|
if (button == MSGBOX_BUTTON_ONE) {
|
||||||
|
guiDelete(D(_winMenu));
|
||||||
|
// ***TODO*** Need a way to close all other windows.
|
||||||
|
hangupShow(welcomeShow);
|
||||||
|
} else {
|
||||||
|
setButtons(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void btnOptionsClick(WidgetT *widget) {
|
||||||
|
(void)widget;
|
||||||
|
// ***TODO***
|
||||||
|
msgBoxOne("Options", MSGBOX_ICON_MESSAGE, "Yeah, this doesn't do anything yet.", "Okay", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void menuShow(void) {
|
void menuShow(void) {
|
||||||
|
|
||||||
|
TagItemT uiMenu[] = {
|
||||||
|
T_START,
|
||||||
|
T_WINDOW, O(_winMenu),
|
||||||
|
T_TITLE, P("KangaWorld Main Menu"),
|
||||||
|
T_X, vbeDisplayWidthGet() - 360, T_Y, vbeDisplayHeightGet() - 285,
|
||||||
|
T_WIDTH, 350, T_HEIGHT, 275,
|
||||||
|
|
||||||
|
T_PICTURE, O(_picDOS),
|
||||||
|
T_FILENAME, P("dos.png"),
|
||||||
|
T_X, 18, T_Y, 18,
|
||||||
|
T_PICTURE, T_DONE,
|
||||||
|
|
||||||
|
T_PICTURE, O(_picDoor),
|
||||||
|
T_FILENAME, P("door.png"),
|
||||||
|
T_X, 18, T_Y, 77,
|
||||||
|
T_CLICK, P(picDoorClick),
|
||||||
|
T_PICTURE, T_DONE,
|
||||||
|
|
||||||
|
T_PICTURE, O(_picIF),
|
||||||
|
T_FILENAME, P("if.png"),
|
||||||
|
T_X, 18, T_Y, 136,
|
||||||
|
T_PICTURE, T_DONE,
|
||||||
|
|
||||||
|
T_BUTTON, O(_btnOptions),
|
||||||
|
T_TITLE, P("Options"),
|
||||||
|
T_X, 23, T_Y, 202,
|
||||||
|
T_CLICK, P(btnOptionsClick),
|
||||||
|
T_BUTTON, T_DONE,
|
||||||
|
|
||||||
|
T_BUTTON, O(_btnLogoff),
|
||||||
|
T_TITLE, P("Logoff"),
|
||||||
|
T_X, 245, T_Y, 202,
|
||||||
|
T_CLICK, P(btnLogoffClick),
|
||||||
|
T_BUTTON, T_DONE,
|
||||||
|
|
||||||
|
T_WINDOW, T_DONE,
|
||||||
|
T_END
|
||||||
|
};
|
||||||
|
|
||||||
|
tagListRun(uiMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void picDoorClick(WidgetT *widget) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void setButtons(uint8_t enabled) {
|
||||||
|
// ***TODO*** This should disable the entire dialog instead of just the buttons. Need to finish the Enable GUI code first.
|
||||||
|
widgetEnableSet(W(_btnOptions), enabled);
|
||||||
|
widgetEnableSet(W(_btnLogoff), enabled);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue