From 2ce7f85a91a5fa98d78d4126124d207b6ed250c8 Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Fri, 30 Dec 2022 16:13:44 +0100 Subject: Add ui/ --- ui/menubar.c | 25 ++++++++++++++++++++++++ ui/menubar.h | 24 +++++++++++++++++++++++ ui/window.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ui/window.h | 26 ++++++++++++++++++++++++ 4 files changed, 139 insertions(+) create mode 100644 ui/menubar.c create mode 100644 ui/menubar.h create mode 100644 ui/window.c create mode 100644 ui/window.h diff --git a/ui/menubar.c b/ui/menubar.c new file mode 100644 index 0000000..17cc218 --- /dev/null +++ b/ui/menubar.c @@ -0,0 +1,25 @@ +/* + qureje is a database managment tool. + Copyright (C) 2021-2022 Alessandro Iezzi + + qureje is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qureje is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qureje. If not, see . +*/ + +#include + +void +qureje_menubar_new(void) +{ + GtkWidget *menubar; +} \ No newline at end of file diff --git a/ui/menubar.h b/ui/menubar.h new file mode 100644 index 0000000..e46c65b --- /dev/null +++ b/ui/menubar.h @@ -0,0 +1,24 @@ +/* + qureje is a database managment tool. + Copyright (C) 2021-2022 Alessandro Iezzi + + qureje is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qureje is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qureje. If not, see . +*/ + +#ifndef __MENUBAR_H__ +#define __MENUBAR_H__ + +void qureje_menubar_new(void); + +#endif /* __MENUBAR_H__ */ diff --git a/ui/window.c b/ui/window.c new file mode 100644 index 0000000..971cac3 --- /dev/null +++ b/ui/window.c @@ -0,0 +1,64 @@ +/* + qureje is a database managment tool. + Copyright (C) 2021 Alessandro Iezzi + + qureje is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qureje is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qureje. If not, see . +*/ + +#include +#include "../qureje.h" +#include "menubar.h" + +static void +print_hello (GtkWidget *widget, + gpointer data) +{ + g_print ("Hello World\n"); +} + +static void +activate (GtkApplication *app, + gpointer user_data) +{ + GtkWidget *button; + QurejeApplication *qapp = (QurejeApplication *) user_data; + + /* configures the main window */ + QWINDOW(qapp) = gtk_application_window_new(app); + gtk_window_set_title(GTK_WINDOW(QWINDOW(qapp)), "Qureje"); + gtk_window_set_default_size(GTK_WINDOW(QWINDOW(qapp)), 200, 200); + + /* defines the menubar */ + /* defines the nested panel */ + /* defines the status bar */ + + button = gtk_button_new_with_label ("Hello World"); + g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); + gtk_window_set_child (GTK_WINDOW (QWINDOW(qapp)), button); + + gtk_window_present (GTK_WINDOW (QWINDOW(qapp))); +} + +void +qureje_window_main(QurejeApplication *qapp, int argc, char **argv) +{ + GtkApplication *app; + + app = gtk_application_new("it.alessandroiezzi.qureje", G_APPLICATION_FLAGS_NONE); + g_signal_connect(app, "activate", G_CALLBACK(activate), qapp); + + qapp->status = g_application_run (G_APPLICATION (app), argc, argv); + + g_object_unref (app); +} diff --git a/ui/window.h b/ui/window.h new file mode 100644 index 0000000..469dcac --- /dev/null +++ b/ui/window.h @@ -0,0 +1,26 @@ +/* + qureje is a database managment tool. + Copyright (C) 2021 Alessandro Iezzi + + qureje is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qureje is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qureje. If not, see . +*/ + +#ifndef __WINDOW_H__ +#define __WINDOW_H__ + +#include "../qureje.h" + +void qureje_window_main(QurejeApplication *, int, char **); + +#endif /* __WINDOW_H__ */ -- cgit v1.2.3