/
evo
/
Gtk4-tutorial
Обзор
Документация
Войти
/
evo
/
Gtk4-tutorial
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/expression/exp_watch.c
56 строк
1 KB
M0JXD
Add space for all stat =g_application_run
01 ноя 2025, 03:42
01 ноя 2025, 03:42
4ddec85
Код
Авторство
О чём код?
#include <gtk/gtk.h> GtkExpression *expression; GtkExpressionWatch *watch; static void notify (gpointer user_data) { GValue value = G_VALUE_INIT; if (gtk_expression_watch_evaluate (watch, &value)) g_print ("width = %d\n", g_value_get_int (&value)); else g_print ("evaluation failed.\n"); } static int close_request_cb (GtkWindow *win) { gtk_expression_watch_unwatch (watch); gtk_expression_unref (expression); return false; } static void app_activate (GApplication *application) { GtkApplication *app = GTK_APPLICATION (application); gtk_window_present (gtk_application_get_active_window(app)); } static void app_startup (GApplication *application) { GtkApplication *app = GTK_APPLICATION (application); GtkWidget *win; win = GTK_WIDGET (gtk_application_window_new (app)); g_signal_connect (win, "close-request", G_CALLBACK (close_request_cb), NULL); expression = gtk_property_expression_new (GTK_TYPE_WINDOW, NULL, "default-width"); watch = gtk_expression_watch (expression, win, notify, NULL, NULL); } #define APPLICATION_ID "com.github.ToshioCP.exp_watch" int main (int argc, char **argv) { GtkApplication *app; int stat; app = gtk_application_new (APPLICATION_ID, G_APPLICATION_DEFAULT_FLAGS); g_signal_connect (app, "startup", G_CALLBACK (app_startup), NULL); g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL); stat = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return stat; }