/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Gem-graph client * * * * Widgets header * * * * Copyright © 2021 Libre en Communs * * Copyright © 2021 Adrien Bourmault * * Copyright © 2021 Jean Sirmai * * * * This file is part of Gem-graph. * * * * This program is free software: you can redistribute it and/or modify it * * under the terms of the GNU Affero General Public License * * as published by the Free Software Foundation, * * either version 3 of the License, * * or (at your option) any later version. * * * * This program 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 Affero General Public License for more details. * * * * You should have received a copy of the GNU Affero General Public License * * along with this program. If not, see . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #pragma once #include /******************************************************************************/ /* W I N D O W S */ /******************************************************************************/ void widget_head_fix_MAIN_WINDOW (GtkApplication *app); void widget_head_fix_DIALOG_WINDOW (GtkApplication *app); void widget_head_fix_TEXT_WINDOW (GtkApplication *app); void widget_head_MAIN_WINDOW_design (GtkWindow *main_window); void widget_head_DIALOG_WINDOW_design (GtkWindow *main_window, GtkWindow *dialog_window); void widget_head_TEXT_WINDOW_design (GtkWindow *main_window, GtkWindow *text_window); GtkWindow *widget_head_rec_MAIN_WINDOW(); GtkWindow *widget_head_rec_DIALOG_WINDOW(); GtkWindow *widget_head_rec_TEXT_WINDOW(); /******************************************************************************/ /* W I D G E T S */ /******************************************************************************/ GtkWidget *widget_rec_STATE_page(); GtkWidget *widget_rec_RULES_page(); GtkWidget *widget_rec_STOCK_page(); GtkWidget *widget_rec_STOCK_text (gchar *text_name); /******************************************************************************/ /* M E N U */ /******************************************************************************/ struct MenuNode_t {gchar *text; struct MenuNode_t *child, *next;}; struct MenuNode_t *widget_create_user_menu_node (const gchar* text); GtkWidget *widget_rec_menu_anchor(); /******************************************************************************/ /* T R E E */ /******************************************************************************/ struct TreeNode_t {gchar *text; struct TreeNode_t *child, *next;}; struct TreeNode_t *widget_create_user_tree_node (const gchar* text); void widget_add_child_node (struct TreeNode_t *parent, struct TreeNode_t *child); void labo_let_us_create_a_complex_useless_and_expensive_tree (struct TreeNode_t *tree_root); GtkScrolledWindow *widget_rec_user_rules_tree (); /******************************************************************************/ /* I M A G E S */ /******************************************************************************/ // images are in : data / image / GtkWidget *widget_rec_image_E_coli(); GtkWidget *widget_rec_image_GLUTAMATE(); GtkWidget *widget_rec_image_GLUTAMINE(); GtkWidget *widget_rec_image_ATP(); GtkWidget *widget_rec_image_AMP(); /******************************************************************************/ /* T E X T S */ /******************************************************************************/ // texts are in : data / text / gchar *widget_rec_text_address_THEORY (); gchar *widget_rec_text_address_ABOUT_COMMANDS (); gchar *widget_rec_text_address_ANY (); /******************************************************************************/ /* L A B O */ /******************************************************************************/ void learning_how_to_create_a_menu (GtkMenuButton* menu_button); void labo_create_a_simple_gtk_string_list ();