/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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 #define n_objects 32 #define n_situations 128 /******************************************************************************/ /* W I N D O W S */ /******************************************************************************/ void widget_create_windows (GtkApplication *app); void widget_design_main_window (GtkWindow *main_window); void widget_design_dialog_window (GtkWindow *main_window, GtkWindow *dialog_window); void widget_design_text_window (GtkWindow *main_window, GtkWindow *text_window); void *widget_get_main_window(); void *widget_get_dialog_window(); void *widget_get_text_window(); /******************************************************************************/ /* W I D G E T S */ /******************************************************************************/ void *widget_get_state_page(); void *widget_get_rules_page(); void *widget_get_stock_page(); void widget_reset_all_objects_transparencies_to_value (int value); void widget_reset_all_situations_transparencies_to_value (int value); void *widget_get_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); /******************************************************************************/ /* 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 *widget_get_user_rules_tree (); /******************************************************************************/ /* I M A G E S */ /******************************************************************************/ // images are in : data / image / // functions are in : widget / stock.c void *widget_get_image_E_coli(); void *widget_get_image_glutamate(); void *widget_get_image_glutamine(); void *widget_get_image_ATP(); void *widget_get_image_AMP(); /******************************************************************************/ /* T E X T S */ /******************************************************************************/ // texts are in : data / text / // functions are in : widget / stock.c char *widget_get_text_address_theory (); char *widget_get_text_address_about_commands (); char *widget_get_text_address_any (); /******************************************************************************/ /* L A B O */ /******************************************************************************/ void widget_let_us_create_a_complex_useless_and_expensive_tree (struct TreeNode_t *tree_root);