diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | ui/Makefile.am | 5 | ||||
-rw-r--r-- | ui/main.c | 14 | ||||
-rw-r--r-- | ui/ui-window-private.h | 15 | ||||
-rw-r--r-- | ui/ui-window.c | 38 | ||||
-rw-r--r-- | ui/ui-window.h | 42 | ||||
-rwxr-xr-x | ui/uitest | bin | 7633 -> 0 bytes |
8 files changed, 113 insertions, 4 deletions
@@ -16,5 +16,6 @@ config.status configure libtool src/gnurobots +ui/uitest stamp-h1 *~ @@ -2,6 +2,8 @@ * configure.ac Makefile.am ui/*: Add temporary uitest build. + * ui/ui-window.c ui/ui-window.h ui/ui-window-private.h: + Add initial empty window structure. 2008-05-14 Bradley Smith <brad@brad-smith.co.uk> diff --git a/ui/Makefile.am b/ui/Makefile.am index fd75fcb..dfb1931 100644 --- a/ui/Makefile.am +++ b/ui/Makefile.am @@ -18,8 +18,7 @@ bin_PROGRAMS = uitest -INCLUDES = $(GTK_CFLAGS) \ - -I$(top_builddir)/ui/include +INCLUDES = $(GTK_CFLAGS) -I$(top_builddir)/ui/ -uitest_SOURCES = main.c +uitest_SOURCES = main.c ui-window.c uitest_LDFLAGS = $(GTK_LIBS) @@ -1,6 +1,18 @@ -#include <gtk/gtk.h> +/* Copyright */ + +#include <gtk/gtkmain.h> + +#include "ui-window.h" int main(int argc, char* argv[]) { + GtkWidget* window; + + gtk_init(&argc, &argv); + + window = ui_window_new(); + + gtk_main(); + return 0; } diff --git a/ui/ui-window-private.h b/ui/ui-window-private.h new file mode 100644 index 0000000..4912c95 --- /dev/null +++ b/ui/ui-window-private.h @@ -0,0 +1,15 @@ +/* Copyright */ + +#ifndef __UI_WINDOW_PRIVATE_H__ +#define __UI_WINDOW_PRIVATE_H__ + +G_BEGIN_DECLS + +struct _UIWindowPrivate +{ + int dummy; +}; + +G_END_DECLS + +#endif /* __UI_WINDOW_PRIVATE_H__ */ diff --git a/ui/ui-window.c b/ui/ui-window.c new file mode 100644 index 0000000..a6abc1b --- /dev/null +++ b/ui/ui-window.c @@ -0,0 +1,38 @@ +/* Copyright */ + +#include "ui-window.h" +#include "ui-window-private.h" + +#include <gtk/gtkmain.h> + +#define UI_WINDOW_GET_PRIVATE(obj) \ + G_TYPE_INSTANCE_GET_PRIVATE(obj, UI_TYPE_WINDOW, UIWindowPrivate) + +G_DEFINE_TYPE(UIWindow, ui_window, GTK_TYPE_WINDOW) + +static void on_ui_window_destroy(GtkWidget *widget, gpointer data); + +GtkWidget *ui_window_new(void) +{ + return GTK_WIDGET(g_object_new(UI_TYPE_WINDOW, NULL)); +} + +static void on_ui_window_destroy(GtkWidget *widget, gpointer data) +{ + gtk_widget_hide(widget); + gtk_main_quit(); +} + +static void ui_window_init(UIWindow* window) +{ + g_signal_connect(G_OBJECT(window), "destroy", + G_CALLBACK(on_ui_window_destroy), NULL); + + gtk_window_set_title(GTK_WINDOW(window), "UI Test"); + gtk_widget_show(GTK_WIDGET(window)); +} + +static void ui_window_class_init(UIWindowClass* klass) +{ + g_type_class_add_private(G_OBJECT_CLASS(klass), sizeof(UIWindowPrivate)); +} diff --git a/ui/ui-window.h b/ui/ui-window.h new file mode 100644 index 0000000..008929c --- /dev/null +++ b/ui/ui-window.h @@ -0,0 +1,42 @@ +/* Copyright */ + +#ifndef __UI_WINDOW_H__ +#define __UI_WINDOW_H__ + +#include <gtk/gtkwindow.h> + +G_BEGIN_DECLS + +#define UI_TYPE_WINDOW \ + ui_window_get_type() +#define UI_WINDOW(obj) \ + G_TYPE_CHECK_INSTANCE_CAST(obj, UI_TYPE_WINDOW, UIWindow) +#define UI_WINDOW_CLASS(klass) \ + G_TYPE_CHECK_CLASS_CAST(klass, UI_WINDOW_TYPE, UIWindowClass) +#define IS_UI_WINDOW(obj) \ + G_TYPE_CHECK_INSTANCE_TYPE(obj, UI_TYPE_WINDOW) +#define IS_UI_WINDOW_CLASS(klass) \ + G_TYPE_CHECK_CLASS_TYPE(klass, UI_TYPE_WINDOW) + +typedef struct _UIWindow UIWindow; +typedef struct _UIWindowClass UIWindowClass; +typedef struct _UIWindowPrivate UIWindowPrivate; + +struct _UIWindow +{ + GtkWindow widget; + UIWindowPrivate* priv; +}; + +struct _UIWindowClass +{ + GtkWindowClass parent_class; +}; + +GType ui_window_get_type(void) G_GNUC_CONST; + +GtkWidget *ui_window_new(void); + +G_END_DECLS + +#endif /* __UI_WINDOW_H__ */ diff --git a/ui/uitest b/ui/uitest Binary files differdeleted file mode 100755 index dce4636..0000000 --- a/ui/uitest +++ /dev/null |