[Howto] GTK+ and poppler (minimal example)

posted in: computer | 0

minimal working example, which creates a GTK-window and displays the first page of the given pdf-file.(compile with command: gcc example.c -o example `pkg-config –cflags –libs gtk+-3.0 poppler poppler-glib`) versions: GTK+ 3.24.23-2 and poppler-20.09.0-2

[Howto] GTK+ and cairo (minimal example)

posted in: computer | 0

minimal working example, which creates a GTK-drawing-area and draws ‘Test.’ inside.(compile with command: gcc example.c -o example `pkg-config –cflags –libs gtk+-3.0`) versions: GTK+ 3.24.23-2 and cairo 1.16.0-4

[Howto] GTK3 with CSS (minimal example)

posted in: computer | 0

It is a working example for a button, which changes its color while mouse-over. gtk-version:   3.24.12-1 note:  the css-property “background-image: none” is sometimes mandatory, because the default theme prevents displaying the css-defined background-color. The workaround is to set the … Continued

[Howto] enable column sorting in GTK+ views

posted in: computer | 0

it’s very simple, because you must only define a “sort-column-id” for the column (GTK Version 3.24.5-1) # define sort-column-id for a specific columngtk_tree_view_column_set_sort_column_id(GTK_TREE_VIEW_COLUMN(firstcolumn), 0) This function enables a “clickable column-header” and sorting (default: switches with every click between ascending/descending sortorder) … Continued

[Howto] speed-up a slow gtk_tree_view (GTK3)

posted in: computer | 0

problem: every time, when the model-data inside the GTK_TREE_VIEW is changed/updated, the whole view will be recalculated (e.g. auto-sizing of row height and column width). This behaviour can lead to massive cpu load and time consumption, because the recalculation will … Continued

[Howto] GTK+ FileChooser-dialog example

posted in: computer | 0

GTK+ 3 example: open filechooser-dialog with 2 buttons, select file, click open, print filename to console, clear filename-memory, close filechooser-dialog GtkWidget *fc_dialog;GtkFileChooser *fc;char *filename;fc_dialog = gtk_file_chooser_dialog_new(“Title”, NULL, GTK_FILE_CHOOSER_ACTION_OPEN, “Abort”, GTK_RESPONSE_CANCEL, “Open”, GTK_RESPONSE_ACCEPT, NULL);gtk_widget_show(fc_dialog);if (gtk_dialog_run(GTK_DIALOG(fc_dialog)) == GTK_RESPONSE_ACCEPT){ fc = GTK_FILE_CHOOSER(fc_dialog); filename … Continued