-#include <config.h>
+#include "config.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include <glib/gstdio.h>
-#include <demos.h>
+#include "demos.h"
static GtkTextBuffer *info_buffer;
static GtkTextBuffer *source_buffer;
TITLE_COLUMN,
FILENAME_COLUMN,
FUNC_COLUMN,
- ITALIC_COLUMN,
+ STYLE_COLUMN,
NUM_COLUMNS
};
if (result == NULL)
{
- result = g_win32_get_package_installation_directory (NULL, NULL);
+ result = g_win32_get_package_installation_directory_of_module (NULL);
if (result == NULL)
result = "unknown-location";
{
CallbackData *cbdata = data;
GtkTreeIter iter;
- gboolean italic;
+ PangoStyle style;
gtk_tree_model_get_iter (cbdata->model, &iter, cbdata->path);
gtk_tree_model_get (GTK_TREE_MODEL (cbdata->model), &iter,
- ITALIC_COLUMN, &italic,
+ STYLE_COLUMN, &style,
-1);
- if (italic)
+ if (style == PANGO_STYLE_ITALIC)
gtk_tree_store_set (GTK_TREE_STORE (cbdata->model), &iter,
- ITALIC_COLUMN, !italic,
+ STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
gtk_tree_path_free (cbdata->path);
"const ",
"void",
"gint",
- "int ",
- "char ",
+ " int ",
+ " char ",
"gchar ",
"gfloat",
"float",
+ "double",
"gint8",
"gint16",
"gint32",
"FALSE",
"TRUE",
"FILE ",
- "GtkObject ",
"GtkColorSelection ",
"GtkWidget ",
"GtkButton ",
"GdkPixbuf ",
"GError",
"size_t",
+ "GtkAboutDialog ",
+ "GtkAction ",
+ "GtkActionEntry ",
+ "GtkRadioActionEntry ",
+ "GtkIconFactory ",
+ "GtkStockItem ",
+ "GtkIconSet ",
+ "GtkTextBuffer ",
+ "GtkStatusbar ",
+ "GtkTextIter ",
+ "GtkTextMark ",
+ "GdkEventWindowState ",
+ "GtkActionGroup ",
+ "GtkUIManager ",
+ "GtkRadioAction ",
+ "GtkActionClass ",
+ "GtkToggleActionEntry ",
+ "GtkAssistant ",
+ "GtkBuilder ",
+ "GtkSizeGroup ",
+ "GtkTreeModel ",
+ "GtkTreeSelection ",
+ "GdkDisplay ",
+ "GdkScreen ",
+ "GdkWindow ",
+ "GdkEventButton ",
+ "GdkCursor ",
+ "GtkTreeIter ",
+ "GtkTreeViewColumn ",
+ "GdkDisplayManager ",
+ "GtkClipboard ",
+ "GtkIconSize ",
+ "GtkImage ",
+ "GdkDragContext ",
+ "GtkSelectionData ",
+ "GtkDialog ",
+ "GtkMenuItem ",
+ "GtkListStore ",
+ "GtkCellLayout ",
+ "GtkCellRenderer ",
+ "GtkTreePath ",
+ "GtkTreeStore ",
+ "GtkEntry ",
+ "GtkEditable ",
+ "GtkEditableInterface ",
+ "GdkPixmap ",
+ "GdkEventConfigure ",
+ "GdkEventMotion ",
+ "GdkModifierType ",
+ "GtkEntryCompletion ",
+ "GtkToolItem ",
+ "GDir ",
+ "GtkIconView ",
+ "GtkCellRendererText ",
+ "GtkContainer ",
+ "GtkAccelGroup ",
+ "GtkPaned ",
+ "GtkPrintOperation ",
+ "GtkPrintContext ",
+ "cairo_t ",
+ "PangoLayout "
+ "PangoFontDescription ",
+ "PangoRenderer ",
+ "PangoMatrix ",
+ "PangoContext ",
+ "PangoLayout ",
+ "GtkTable ",
+ "GtkToggleButton ",
+ "GString ",
+ "GtkIconSize ",
+ "GtkTreeView ",
+ "GtkTextTag ",
+ "GdkEvent ",
+ "GdkEventKey ",
+ "GtkTextView ",
+ "GdkEventVisibility ",
+ "GdkBitmap ",
+ "GtkTextChildAnchor ",
+ "GArray ",
+ "GtkCellEditable ",
+ "GtkCellRendererToggle ",
NULL
};
}
/* check for types */
for (i = 0; types[i] != NULL; i++)
- if (!strncmp (text, types[i], strlen (types[i])))
+ if (!strncmp (text, types[i], strlen (types[i])) ||
+ (start && types[i][0] == ' ' && !strncmp (text, types[i] + 1, strlen (types[i]) - 1)))
{
*end_ptr = text + strlen (types[i]);
*tag = "type";
}
}
+ fclose (file);
+
fontify ();
g_string_free (buffer, TRUE);
GtkTreeViewColumn *column)
{
GtkTreeIter iter;
- gboolean italic;
+ PangoStyle style;
GDoDemoFunc func;
GtkWidget *window;
GtkTreeModel *model;
gtk_tree_model_get (GTK_TREE_MODEL (model),
&iter,
FUNC_COLUMN, &func,
- ITALIC_COLUMN, &italic,
+ STYLE_COLUMN, &style,
-1);
if (func)
{
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
- ITALIC_COLUMN, !italic,
+ STYLE_COLUMN, (style == PANGO_STYLE_ITALIC ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC),
-1);
window = (func) (gtk_widget_get_toplevel (GTK_WIDGET (tree_view)));
Demo *d = testgtk_demos;
- model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
+ model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_INT);
tree_view = gtk_tree_view_new ();
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
TITLE_COLUMN, d->title,
FILENAME_COLUMN, d->filename,
FUNC_COLUMN, d->func,
- ITALIC_COLUMN, FALSE,
+ STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
d++;
TITLE_COLUMN, children->title,
FILENAME_COLUMN, children->filename,
FUNC_COLUMN, children->func,
- ITALIC_COLUMN, FALSE,
+ STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
children++;
cell = gtk_cell_renderer_text_new ();
- g_object_set (cell,
- "style", PANGO_STYLE_ITALIC,
- NULL);
-
column = gtk_tree_view_column_new_with_attributes ("Widget (double click for demo)",
cell,
"text", TITLE_COLUMN,
- "style_set", ITALIC_COLUMN,
+ "style", STYLE_COLUMN,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
gtk_widget_grab_focus (tree_view);
+ g_object_unref (model);
+
return box;
}
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
G_FILE_TEST_EXISTS))
{
- g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
- g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/gtk.immodules", TRUE);
+ g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/loaders.cache", TRUE);
+ g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
}
/* -- End of hack -- */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "GTK+ Code Demos");
- g_signal_connect (window, "destroy",
+ g_signal_connect_after (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);
tree = create_tree ();
create_text (&info_buffer, FALSE),
gtk_label_new_with_mnemonic ("_Info"));
+ tag = gtk_text_buffer_create_tag (info_buffer, "title",
+ "font", "Sans 18",
+ NULL);
+ g_object_unref (info_buffer);
+
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&source_buffer, TRUE),
gtk_label_new_with_mnemonic ("_Source"));
- tag = gtk_text_buffer_create_tag (info_buffer, "title",
- "font", "Sans 18",
- NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "comment",
- "foreground", "red",
+ "foreground", "DodgerBlue",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "type",
"foreground", "ForestGreen",
"weight", PANGO_WEIGHT_BOLD,
"foreground", "DarkGoldenrod4",
NULL);
+ g_object_unref (source_buffer);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
gtk_widget_show_all (window);