#include "../Inc/button_styles.h" GtkCssProvider *css_provider = NULL; // Функция для установки цвета кнопки void set_button_color(GtkWidget *button, const char *color) { if (css_provider == NULL) { css_provider = gtk_css_provider_new(); GtkStyleContext *context = gtk_widget_get_style_context(button); gtk_style_context_add_provider(context, GTK_STYLE_PROVIDER(css_provider), GTK_STYLE_PROVIDER_PRIORITY_USER); // Устанавливаем уникальное имя для кнопки gtk_widget_set_name(button, "colorButton"); } // Создаём CSS-строку для установки цвета char css[256]; snprintf(css, sizeof(css), "#colorButton { background-color: %s; }", color); gtk_css_provider_load_from_data(css_provider, css, -1, NULL); } // Метод для установки красного цвета кнопки void set_button_color_red(GtkWidget *button) { set_button_color(button, "red"); } // Метод для установки зелёного цвета кнопки void set_button_color_green(GtkWidget *button) { set_button_color(button, "green"); } // Метод для установки синего цвета кнопки void set_button_color_white(GtkWidget *button) { set_button_color(button, "white"); }