Add ui_browser_window

This commit is contained in:
twinaphex 2016-06-08 15:47:00 +02:00
parent d63442ca3b
commit 0e01a3c84b
8 changed files with 27 additions and 3 deletions

View File

@ -117,6 +117,7 @@ OBJ += frontend/frontend.o \
ui/ui_companion_driver.o \
ui/drivers/ui_null.o \
ui/drivers/null/ui_null_window.o \
ui/drivers/null/ui_null_browser_window.o \
ui/drivers/null/ui_null_msg_window.o \
ui/drivers/null/ui_null_application.o \
core_impl.o \

View File

@ -723,6 +723,7 @@ UI
#include "../ui/drivers/ui_null.c"
#include "../ui/drivers/null/ui_null_window.c"
#include "../ui/drivers/null/ui_null_browser_window.c"
#include "../ui/drivers/null/ui_null_msg_window.c"
#include "../ui/drivers/null/ui_null_application.c"

View File

@ -581,6 +581,7 @@ const ui_companion_driver_t ui_companion_cocoa = {
NULL,
NULL,
NULL,
&ui_browser_window_null,
&ui_msg_window_cocoa,
&ui_window_cocoa,
&ui_application_cocoa,

View File

@ -689,6 +689,7 @@ const ui_companion_driver_t ui_companion_cocoatouch = {
ui_companion_cocoatouch_notify_refresh,
ui_companion_cocoatouch_msg_queue_push,
ui_companion_cocoatouch_render_messagebox,
&ui_browser_window_null,
&ui_msg_window_null,
&ui_window_null,
&ui_application_null,

View File

@ -88,6 +88,7 @@ const ui_companion_driver_t ui_companion_null = {
NULL,
NULL,
NULL,
&ui_browser_window_null,
&ui_msg_window_null,
&ui_window_null,
&ui_application_null,

View File

@ -132,6 +132,7 @@ const ui_companion_driver_t ui_companion_qt = {
NULL,
NULL,
NULL,
&ui_browser_window_null,
&ui_msg_window_null,
&ui_window_null,
&ui_application_null,

View File

@ -729,6 +729,7 @@ const ui_companion_driver_t ui_companion_win32 = {
NULL,
NULL,
NULL,
&ui_browser_window_null,
&ui_msg_window_win32,
&ui_window_win32,
&ui_application_win32,

View File

@ -63,6 +63,20 @@ typedef struct ui_msg_window_state
char *title;
} ui_msg_window_state;
typedef struct ui_browser_window_state
{
char *filters;
char *path;
char *title;
} ui_browser_window_state_t;
typedef struct ui_browser_window
{
bool (*open)(ui_browser_window_state_t *state);
bool (*save)(ui_browser_window_state_t *state);
const char *ident;
} ui_browser_window_t;
typedef struct ui_msg_window
{
enum ui_msg_window_response (*error )(ui_msg_window_state *state);
@ -102,12 +116,15 @@ typedef struct ui_companion_driver
void (*notify_refresh)(void *data);
void (*msg_queue_push)(const char *msg, unsigned priority, unsigned duration, bool flush);
void (*render_messagebox)(const char *msg);
const ui_msg_window_t *msg_window;
const ui_window_t *window;
const ui_application_t *application;
const ui_browser_window_t *browser_window;
const ui_msg_window_t *msg_window;
const ui_window_t *window;
const ui_application_t *application;
const char *ident;
} ui_companion_driver_t;
extern const ui_browser_window_t ui_browser_window_null;
extern const ui_window_t ui_window_null;
extern const ui_window_t ui_window_cocoa;
extern const ui_window_t ui_window_win32;