WIP: en route vers un automate : [ EXEC_EDIT X STATE_RULES_DATA ]
This commit is contained in:
parent
f5837225c2
commit
8012dd37fc
140
automaton.c
140
automaton.c
|
@ -8,122 +8,52 @@
|
||||||
/* S T A T E S */
|
/* S T A T E S */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
/* (exec / edit) < MODE
|
static int choice_EXEC_EDIT = EXEC;
|
||||||
* X
|
static int choice_STATE_RULES_DATA = STATE;
|
||||||
* (state / rules / data) < STATUS
|
|
||||||
* X
|
|
||||||
* (measure / analyse / interpret)
|
|
||||||
* X
|
|
||||||
* (read / write)
|
|
||||||
*/
|
|
||||||
|
|
||||||
static int mode = RUN;
|
void set_EXEC_EDIT (int prescribed) {
|
||||||
void set_mode (int prescribed) {mode = prescribed;}
|
choice_EXEC_EDIT = prescribed;
|
||||||
int get_mode () {return mode;}
|
SWITCH_TO (choice_EXEC_EDIT, choice_STATE_RULES_DATA);
|
||||||
|
}
|
||||||
|
int get_EXEC_EDIT () {return choice_EXEC_EDIT;}
|
||||||
|
|
||||||
static int status = INTER; // int get_status () {return status;}
|
void set_STATE_RULES_DATA (int prescribed) {
|
||||||
void set_status (int prescribed) {status = prescribed;}
|
choice_STATE_RULES_DATA = prescribed;
|
||||||
int get_status () {return status;}
|
SWITCH_TO (choice_EXEC_EDIT, choice_STATE_RULES_DATA);
|
||||||
|
}
|
||||||
|
int get_STATE_RULES_DATA () {return choice_STATE_RULES_DATA;}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* T R A N S I T I O N S */
|
/* T R A N S I T I O N S */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
void SWITCH_TO (int asked) {
|
void SWITCH_TO (int choice_EXEC_EDIT, int choice_STATE_RULES_DATA)
|
||||||
switch (asked) {
|
{
|
||||||
case (INTER) :
|
switch (choice_STATE_RULES_DATA) {
|
||||||
status = INTER; printf ("SWITCH_TO INTER\n");
|
|
||||||
|
case (STATE) :
|
||||||
|
choice_STATE_RULES_DATA = STATE;
|
||||||
|
if (choice_EXEC_EDIT ) choice_EXEC_EDIT = EXEC;
|
||||||
|
else choice_EXEC_EDIT = EDIT;
|
||||||
break;
|
break;
|
||||||
case (STATE) : // BEGIN_TO_EXEC_STOP
|
|
||||||
status = STATE; printf ("SWITCH_TO STATE\n");
|
case (RULES) :
|
||||||
|
choice_STATE_RULES_DATA = RULES;
|
||||||
|
if (choice_EXEC_EDIT ) choice_EXEC_EDIT = EXEC;
|
||||||
|
else choice_EXEC_EDIT = EDIT;
|
||||||
break;
|
break;
|
||||||
case (RULES) : // EXEC_STOP_TO_RUN
|
|
||||||
status = RULES; printf ("SWITCH_TO RULES\n");
|
case (DATA) :
|
||||||
|
choice_STATE_RULES_DATA = DATA;
|
||||||
|
if (choice_EXEC_EDIT ) choice_EXEC_EDIT = EXEC;
|
||||||
|
else choice_EXEC_EDIT = EDIT;
|
||||||
break;
|
break;
|
||||||
case (DATA) : // EXEC_RUN_TO_STOP
|
|
||||||
status = DATA; printf ("SWITCH_TO DATA\n");
|
default : printf("default in automaton.SWITCH_TO()\n");
|
||||||
break;
|
|
||||||
default : ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//q gtk_window_present (GTK_WINDOW (main_window));
|
printf("SWITCH_TO %d X %d (EXEC_EDIT X STATE_RULES_DATA)\n",
|
||||||
|
choice_EXEC_EDIT,
|
||||||
|
choice_STATE_RULES_DATA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
enum { // S T A T E S
|
|
||||||
INTER,
|
|
||||||
EXEC_STOP,
|
|
||||||
EXEC_RUN,
|
|
||||||
EDIT_STATE,
|
|
||||||
EDIT_RULES_TREE,
|
|
||||||
EDIT_RULE,
|
|
||||||
EDIT_MEASURE,
|
|
||||||
OBSERVE,
|
|
||||||
ANALYSE,
|
|
||||||
HELP,
|
|
||||||
CONFIGURE
|
|
||||||
};
|
|
||||||
|
|
||||||
static int status = EXEC_STOP; // int get_status () {return status;}
|
|
||||||
|
|
||||||
enum { // T R A N S I T I O N S
|
|
||||||
BEGIN_TO_EXEC_STOP
|
|
||||||
EXEC_STOP_TO_RUN,
|
|
||||||
EXEC_RUN_TO_STOP,
|
|
||||||
EXEC_TO_INTER,
|
|
||||||
INTER_TO_EDIT,
|
|
||||||
EDIT_TO_INTER,
|
|
||||||
INTER_TO_EXEC,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void set_status (int prescribed) {
|
|
||||||
status = prescribed; if (0) printf ("status = %d\n", status);
|
|
||||||
|
|
||||||
switch (status) {
|
|
||||||
case (0) : // EXEC_STOP DATA_ANALYSIS
|
|
||||||
status = EXEC_RUN;
|
|
||||||
break;
|
|
||||||
case (1) : // EXEC_RUN
|
|
||||||
// Ici, il faudra prévenir l'utilisateur par une pop-up window : (sauvegarde automatique sinon)
|
|
||||||
// S'il ne prend pas la main, les données de la simulation en cours risquent d'être perdues
|
|
||||||
status = EXEC_STOP;
|
|
||||||
break;
|
|
||||||
case (2) : // EXEC_STOP_EDIT_STOP
|
|
||||||
status = EXEC_RUN_EDIT_RULE;
|
|
||||||
break;
|
|
||||||
case (3) : // EXEC_RUN_EDIT_RULE
|
|
||||||
status = EXEC_STOP_EDIT_RULE;
|
|
||||||
break;
|
|
||||||
case (4) : // EXEC_STOP_EDIT_MEASURE
|
|
||||||
status = EXEC_RUN_EDIT_MEASURE;
|
|
||||||
break;
|
|
||||||
case (5) : // EXEC_RUN_EDIT_MEASURE
|
|
||||||
status = EXEC_STOP_EDIT_MEASURE;
|
|
||||||
break;
|
|
||||||
case (6) : // EDIT_STATE
|
|
||||||
break;
|
|
||||||
case (7) : // EDIT_RULE
|
|
||||||
break;
|
|
||||||
case (8) : // OBSERVE
|
|
||||||
break;
|
|
||||||
case (9) : // INTERPRET
|
|
||||||
break;
|
|
||||||
case (10) : // HELP
|
|
||||||
break;
|
|
||||||
case (11) : // CONFIGURE
|
|
||||||
break;
|
|
||||||
case (12) : // OTHER
|
|
||||||
break;
|
|
||||||
default : ;
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
|
|
17
automaton.h
17
automaton.h
|
@ -1,13 +1,14 @@
|
||||||
#include <gtk-4.0/gtk/gtk.h>
|
#include <gtk-4.0/gtk/gtk.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
void set_status (int prescribed);
|
enum choice_EXEC_EDIT { EXEC, EDIT };
|
||||||
int get_status ();
|
enum choice_STATE_RULES_DATA { STATE, RULES, DATA };
|
||||||
void set_mode (int prescribed);
|
|
||||||
int get_mode ();
|
|
||||||
|
|
||||||
enum mode { RUN, EDIT };
|
|
||||||
enum choice { INTER, STATE, RULES, DATA };
|
|
||||||
// MEASURE, OBSERVE, INTERPRET, HELP, CONFIGURE };
|
// MEASURE, OBSERVE, INTERPRET, HELP, CONFIGURE };
|
||||||
|
|
||||||
void SWITCH_TO (int asked);
|
void set_EXEC_EDIT (int prescribed);
|
||||||
|
int get_EXEC_EDIT ();
|
||||||
|
|
||||||
|
void set_STATE_RULES_DATA (int prescribed);
|
||||||
|
int get_STATE_RULES_DATA ();
|
||||||
|
|
||||||
|
void SWITCH_TO (int choice_EXEC_EDIT, int choice_STATE_RULES_DATA);
|
||||||
|
|
40
callback.c
40
callback.c
|
@ -2,6 +2,7 @@
|
||||||
#include <gtk-4.0/gtk/gtk.h>
|
#include <gtk-4.0/gtk/gtk.h>
|
||||||
|
|
||||||
#include "callback.h"
|
#include "callback.h"
|
||||||
|
#include "contain.h"
|
||||||
#include "tree.h"
|
#include "tree.h"
|
||||||
#include "contain.h"
|
#include "contain.h"
|
||||||
#include "dialog.h"
|
#include "dialog.h"
|
||||||
|
@ -166,37 +167,36 @@ void on_axis_value_change(GtkAdjustment *adjustment, gpointer data)
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* B U T T O N S */
|
/* B U T T O N S */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
void on_toggle_MODEL_RUN_STOP (GtkWidget *btt_MODEL_RUN_STOP, gpointer data) {
|
/*void on_toggle_MODEL_RUN_STOP (GtkWidget *btt_MODEL_RUN_STOP, gpointer data) {
|
||||||
if (strcmp (gtk_button_get_label (GTK_BUTTON (btt_MODEL_RUN_STOP)), " run "))
|
if (strcmp (gtk_button_get_label (GTK_BUTTON (btt_MODEL_RUN_STOP)), " run "))
|
||||||
gtk_button_set_label (GTK_BUTTON (btt_MODEL_RUN_STOP), " run ");
|
gtk_button_set_label (GTK_BUTTON (btt_MODEL_RUN_STOP), " run ");
|
||||||
else gtk_button_set_label (GTK_BUTTON (btt_MODEL_RUN_STOP), " stop ");
|
else gtk_button_set_label (GTK_BUTTON (btt_MODEL_RUN_STOP), " stop ");}*/
|
||||||
}
|
|
||||||
|
|
||||||
void on_toggle_EXEC_EDIT (GtkWidget *btt_XOR_EXEC_EDIT, GtkWidget *btt_MODEL_RUN_STOP) {
|
void on_toggle_EXEC_EDIT (GtkWidget *btt_XOR_EXEC_EDIT, GtkWidget *window_child_STATE) { // *btt_MODEL_RUN_STOP) {
|
||||||
if (get_mode()) {
|
if (get_EXEC_EDIT()) {
|
||||||
gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "power-profile-balanced-rtl-symbolic");
|
gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "power-profile-balanced-rtl-symbolic");
|
||||||
gtk_button_set_label (GTK_BUTTON (btt_MODEL_RUN_STOP), " run ");
|
set_EXEC_EDIT (EXEC);
|
||||||
gtk_widget_set_sensitive (GTK_WIDGET (btt_MODEL_RUN_STOP), TRUE);
|
|
||||||
set_mode (0);
|
|
||||||
} else {
|
} else {
|
||||||
gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "preferences-system-symbolic");
|
gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "preferences-system-symbolic");
|
||||||
gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "emblem-ok-symbolic"); // Transport Steam Engine !!
|
// gtk_button_set_icon_name (GTK_BUTTON (btt_XOR_EXEC_EDIT), "emblem-ok-symbolic"); // Transport Steam Engine !!
|
||||||
gtk_widget_set_sensitive (GTK_WIDGET (btt_MODEL_RUN_STOP), FALSE);
|
// gtk_widget_set_sensitive (GTK_WIDGET (btt_MODEL_RUN_STOP), FALSE);
|
||||||
set_mode (1);
|
// gtk_box_append (GTK_BOX (window_child_STATE), GTK_WIDGET (get_SPACE_EDIT_controls_box()));
|
||||||
|
set_EXEC_EDIT (EDIT);
|
||||||
}
|
}
|
||||||
|
// gtk_window_present (GTK_WINDOW (main_window));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_toggle_STATE_RULES_DATA (GtkWidget *btt, gpointer user_data) {
|
void on_toggle_STATE_RULES_DATA (GtkWidget *toggled_button, gpointer user_data) {
|
||||||
// https://docs.gtk.org/gtk4/class.ToggleButton.html < f..k ! bad code ++
|
// https://docs.gtk.org/gtk4/class.ToggleButton.html < f..k ! bad code ++
|
||||||
|
|
||||||
const char *btt_name = gtk_check_button_get_label (GTK_CHECK_BUTTON (btt));
|
const char *toggled_button_name = gtk_check_button_get_label (GTK_CHECK_BUTTON (toggled_button));
|
||||||
int is_active = gtk_check_button_get_active (GTK_CHECK_BUTTON (btt));
|
int is_active = gtk_check_button_get_active (GTK_CHECK_BUTTON (toggled_button));
|
||||||
|
|
||||||
int is_state_active = ! strcmp (btt_name, "state");
|
int is_state_active = ! strcmp (toggled_button_name, "state");
|
||||||
int is_rules_active = ! strcmp (btt_name, "rules");
|
int is_rules_active = ! strcmp (toggled_button_name, "rules");
|
||||||
int is_data_active = ! strcmp (btt_name, "data analysis");
|
int is_data_active = ! strcmp (toggled_button_name, "data analysis");
|
||||||
if (0 && is_active) printf ("> [%d] %d, %d, %d %14s\n",
|
if (0 && is_active) printf ("> [%d] %d, %d, %d %14s\n",
|
||||||
is_active, is_state_active, is_rules_active, is_data_active, btt_name);
|
is_active, is_state_active, is_rules_active, is_data_active, toggled_button_name);
|
||||||
|
|
||||||
if (is_active) {
|
if (is_active) {
|
||||||
if (is_state_active) gtk_window_set_child (main_window, GTK_WIDGET (get_window_child_STATE()));
|
if (is_state_active) gtk_window_set_child (main_window, GTK_WIDGET (get_window_child_STATE()));
|
||||||
|
@ -208,13 +208,13 @@ void on_toggle_STATE_RULES_DATA (GtkWidget *btt, gpointer user_data) {
|
||||||
void on_SAVE_CURRENT_MODEL_BEFORE_EDITING (GtkWidget *btt_SAVE_CURRENT_MODEL, gpointer data) {
|
void on_SAVE_CURRENT_MODEL_BEFORE_EDITING (GtkWidget *btt_SAVE_CURRENT_MODEL, gpointer data) {
|
||||||
gtk_widget_set_sensitive (GTK_WIDGET (data), TRUE);
|
gtk_widget_set_sensitive (GTK_WIDGET (data), TRUE);
|
||||||
printf ("callback.c (line 201) - SAVE_CURRENT_MODEL_BEFORE_EDITING\n");
|
printf ("callback.c (line 201) - SAVE_CURRENT_MODEL_BEFORE_EDITING\n");
|
||||||
SWITCH_TO (INTER);
|
SWITCH_TO (EXEC, STATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_DISCARD_CURRENT_MODEL_AND_START_EDITING (GtkWidget *btt_SAVE_CURRENT_MODEL, gpointer data) {
|
void on_DISCARD_CURRENT_MODEL_AND_START_EDITING (GtkWidget *btt_SAVE_CURRENT_MODEL, gpointer data) {
|
||||||
gtk_window_close (GTK_WINDOW (data));
|
gtk_window_close (GTK_WINDOW (data));
|
||||||
printf ("callback.c (line 206) - DISCARD_CURRENT_MODEL_AND_START_EDITING\n");
|
printf ("callback.c (line 206) - DISCARD_CURRENT_MODEL_AND_START_EDITING\n");
|
||||||
SWITCH_TO (RULES);
|
SWITCH_TO (EXEC, RULES);
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_WRITE_CURRENT_MODEL (GtkWidget *btt_WRITE_CURRENT_MODEL, gpointer data) {
|
void on_WRITE_CURRENT_MODEL (GtkWidget *btt_WRITE_CURRENT_MODEL, gpointer data) {
|
||||||
|
|
152
contain.c
152
contain.c
|
@ -181,14 +181,14 @@ void window_header_bar (GtkWindow *window, char *title){
|
||||||
|
|
||||||
gpointer no_local_data = NULL;
|
gpointer no_local_data = NULL;
|
||||||
|
|
||||||
GtkButton *btt_MODEL_RUN_STOP = GTK_BUTTON (gtk_button_new_with_label (" run "));
|
// GtkButton *btt_MODEL_RUN_STOP = GTK_BUTTON (gtk_button_new_with_label (" run "));
|
||||||
g_signal_connect (btt_MODEL_RUN_STOP, "clicked", G_CALLBACK (on_toggle_MODEL_RUN_STOP), no_local_data);
|
// g_signal_connect (btt_MODEL_RUN_STOP, "clicked", G_CALLBACK (on_toggle_MODEL_RUN_STOP), no_local_data);
|
||||||
|
|
||||||
GtkButton *btt_XOR_EXEC_EDIT = GTK_BUTTON (gtk_toggle_button_new ());
|
GtkButton *btt_XOR_EXEC_EDIT = GTK_BUTTON (gtk_toggle_button_new ());
|
||||||
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "system-run-symbolic"); // https://thenounproject.com/icon/train-134324/
|
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "system-run-symbolic"); // https://thenounproject.com/icon/train-134324/
|
||||||
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "process-stop-symbolic");
|
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "process-stop-symbolic");
|
||||||
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "power-profile-balanced-rtl-symbolic");
|
gtk_button_set_icon_name (btt_XOR_EXEC_EDIT, "power-profile-balanced-rtl-symbolic");
|
||||||
g_signal_connect (btt_XOR_EXEC_EDIT, "clicked", G_CALLBACK (on_toggle_EXEC_EDIT), btt_MODEL_RUN_STOP);
|
g_signal_connect (btt_XOR_EXEC_EDIT, "clicked", G_CALLBACK (on_toggle_EXEC_EDIT), get_window_child_STATE()); // btt_MODEL_RUN_STOP);
|
||||||
|
|
||||||
GtkWidget *any_Label = GTK_WIDGET (gtk_label_new (" | "));
|
GtkWidget *any_Label = GTK_WIDGET (gtk_label_new (" | "));
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ void window_header_bar (GtkWindow *window, char *title){
|
||||||
gtk_check_button_set_group (GTK_CHECK_BUTTON (btt_open_DATA), group_STATE_RULES_DATA);
|
gtk_check_button_set_group (GTK_CHECK_BUTTON (btt_open_DATA), group_STATE_RULES_DATA);
|
||||||
|
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_XOR_EXEC_EDIT));
|
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_XOR_EXEC_EDIT));
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_MODEL_RUN_STOP)); // << pas ici ! TODO
|
// gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_MODEL_RUN_STOP)); // << pas ici ! TODO
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (any_Label));
|
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (any_Label));
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_open_STATE));
|
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_open_STATE));
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_open_RULES));
|
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), GTK_WIDGET (btt_open_RULES));
|
||||||
|
@ -238,76 +238,6 @@ void main_window_design (GtkWindow *main_window){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void icons_for_fun (GtkHeaderBar *header_bar)
|
|
||||||
{
|
|
||||||
GtkButton *go_home = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (go_home, "go-home-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (go_home));
|
|
||||||
|
|
||||||
GtkButton *user_trash = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (user_trash, "user-trash-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (user_trash));
|
|
||||||
|
|
||||||
GtkButton *help_biblio = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (help_biblio, "accessories-dictionary-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_biblio));
|
|
||||||
|
|
||||||
GtkButton *help_doc = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (help_doc, "emblem-documents-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_doc));
|
|
||||||
|
|
||||||
GtkButton *help_about = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (help_about, "help-about-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_about));
|
|
||||||
|
|
||||||
GtkButton *help_faq = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (help_faq, "help-faq-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_faq));
|
|
||||||
|
|
||||||
GtkButton *terminal = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (terminal, "utilities-terminal-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (terminal));
|
|
||||||
|
|
||||||
GtkButton *search = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (search, "folder-saved-search-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (search));
|
|
||||||
|
|
||||||
GtkButton *preferences_desktop_appearance = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (preferences_desktop_appearance, "preferences-desktop-appearance-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (preferences_desktop_appearance));
|
|
||||||
|
|
||||||
GtkButton *preferences_system = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (preferences_system, "preferences-system-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (preferences_system));
|
|
||||||
|
|
||||||
GtkButton *document_properties = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (document_properties, "document-properties-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (document_properties));
|
|
||||||
|
|
||||||
GtkButton *text_edit = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (text_edit, "text-editor-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (text_edit));
|
|
||||||
|
|
||||||
GtkButton *applications_utilities = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (applications_utilities, "applications-utilities-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (applications_utilities));
|
|
||||||
|
|
||||||
GtkButton *open_menu = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (open_menu, "open-menu-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (open_menu));
|
|
||||||
|
|
||||||
GtkButton *power_max = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (power_max, "power-profile-performance-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_max));
|
|
||||||
|
|
||||||
GtkButton *power_middle = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (power_middle, "power-profile-balanced-rtl-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_middle));
|
|
||||||
|
|
||||||
GtkButton *power_low = GTK_BUTTON (gtk_button_new ());
|
|
||||||
gtk_button_set_icon_name (power_low, "power-profile-power-saver-symbolic");
|
|
||||||
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_low));
|
|
||||||
}
|
|
||||||
|
|
||||||
GtkWidget *get_window_child_STATE() {
|
GtkWidget *get_window_child_STATE() {
|
||||||
GtkBox *page_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2));
|
GtkBox *page_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2));
|
||||||
|
@ -315,8 +245,7 @@ GtkWidget *get_window_child_STATE() {
|
||||||
gtk_box_append (page_box, GTK_WIDGET (gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)));
|
gtk_box_append (page_box, GTK_WIDGET (gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)));
|
||||||
gtk_box_append (page_box, GTK_WIDGET (get_SPACE_VIEW_box()));
|
gtk_box_append (page_box, GTK_WIDGET (get_SPACE_VIEW_box()));
|
||||||
gtk_box_append (page_box, GTK_WIDGET (gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)));
|
gtk_box_append (page_box, GTK_WIDGET (gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)));
|
||||||
if (!get_mode ()) gtk_box_append (page_box, GTK_WIDGET (get_TIME_EXEC_controls_box()));
|
gtk_box_append (page_box, GTK_WIDGET (get_TIME_EXEC_controls_box()));
|
||||||
else gtk_box_append (page_box, GTK_WIDGET (get_SPACE_EDIT_controls_box()));
|
|
||||||
//SWITCH_TO (STATE);
|
//SWITCH_TO (STATE);
|
||||||
return GTK_WIDGET (page_box);
|
return GTK_WIDGET (page_box);
|
||||||
}
|
}
|
||||||
|
@ -432,3 +361,74 @@ GtkWidget *get_window_child_DATA (){
|
||||||
return GTK_WIDGET (data_box);
|
return GTK_WIDGET (data_box);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void icons_for_fun (GtkHeaderBar *header_bar)
|
||||||
|
{
|
||||||
|
GtkButton *go_home = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (go_home, "go-home-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (go_home));
|
||||||
|
|
||||||
|
GtkButton *user_trash = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (user_trash, "user-trash-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (user_trash));
|
||||||
|
|
||||||
|
GtkButton *help_biblio = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (help_biblio, "accessories-dictionary-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_biblio));
|
||||||
|
|
||||||
|
GtkButton *help_doc = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (help_doc, "emblem-documents-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_doc));
|
||||||
|
|
||||||
|
GtkButton *help_about = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (help_about, "help-about-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_about));
|
||||||
|
|
||||||
|
GtkButton *help_faq = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (help_faq, "help-faq-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (help_faq));
|
||||||
|
|
||||||
|
GtkButton *terminal = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (terminal, "utilities-terminal-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (terminal));
|
||||||
|
|
||||||
|
GtkButton *search = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (search, "folder-saved-search-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (search));
|
||||||
|
|
||||||
|
GtkButton *preferences_desktop_appearance = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (preferences_desktop_appearance, "preferences-desktop-appearance-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (preferences_desktop_appearance));
|
||||||
|
|
||||||
|
GtkButton *preferences_system = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (preferences_system, "preferences-system-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (preferences_system));
|
||||||
|
|
||||||
|
GtkButton *document_properties = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (document_properties, "document-properties-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (document_properties));
|
||||||
|
|
||||||
|
GtkButton *text_edit = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (text_edit, "text-editor-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (text_edit));
|
||||||
|
|
||||||
|
GtkButton *applications_utilities = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (applications_utilities, "applications-utilities-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (applications_utilities));
|
||||||
|
|
||||||
|
GtkButton *open_menu = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (open_menu, "open-menu-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (open_menu));
|
||||||
|
|
||||||
|
GtkButton *power_max = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (power_max, "power-profile-performance-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_max));
|
||||||
|
|
||||||
|
GtkButton *power_middle = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (power_middle, "power-profile-balanced-rtl-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_middle));
|
||||||
|
|
||||||
|
GtkButton *power_low = GTK_BUTTON (gtk_button_new ());
|
||||||
|
gtk_button_set_icon_name (power_low, "power-profile-power-saver-symbolic");
|
||||||
|
gtk_header_bar_pack_end (header_bar, GTK_WIDGET (power_low));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,8 @@ GtkFrame *get_frame_with_label();
|
||||||
void window_main_child_bottom (GtkBox *page_box);
|
void window_main_child_bottom (GtkBox *page_box);
|
||||||
//void window_main_child (GtkWindow *main_window, int selected_page);
|
//void window_main_child (GtkWindow *main_window, int selected_page);
|
||||||
void set_check_button_active (GtkButton *button, int active);
|
void set_check_button_active (GtkButton *button, int active);
|
||||||
|
GtkWidget *get_TIME_EXEC_controls_box();
|
||||||
|
GtkWidget *get_SPACE_EDIT_controls_box();
|
||||||
GtkButton *get_GtkButton (char *btt_name);
|
GtkButton *get_GtkButton (char *btt_name);
|
||||||
GtkWidget *get_window_child_STATE();
|
GtkWidget *get_window_child_STATE();
|
||||||
GtkWidget *get_window_child_RULES();
|
GtkWidget *get_window_child_RULES();
|
||||||
|
|
Loading…
Reference in New Issue