[gnome-devel-docs] platform-demos: C: ScrolledWindow sample and page
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-devel-docs] platform-demos: C: ScrolledWindow sample and page
- Date: Sun, 24 Feb 2013 14:59:55 +0000 (UTC)
commit 48abc774c1386cfa7da46b9a6e1d950e1436c044
Author: Monica Kochofar <monicakochofar gmail com>
Date: Mon Aug 20 14:40:52 2012 -0400
platform-demos: C: ScrolledWindow sample and page
platform-demos/C/samples/scrolledwindow.c | 57 +++++++++++++++++++++++++++++
platform-demos/C/scrolledwindow.c.page | 38 +++++++++++++++++++
platform-demos/Makefile.am | 2 +
3 files changed, 97 insertions(+), 0 deletions(-)
---
diff --git a/platform-demos/C/samples/scrolledwindow.c b/platform-demos/C/samples/scrolledwindow.c
new file mode 100644
index 0000000..d17da52
--- /dev/null
+++ b/platform-demos/C/samples/scrolledwindow.c
@@ -0,0 +1,57 @@
+#include <gtk/gtk.h>
+
+
+
+static void
+activate (GtkApplication *app,
+ gpointer user_data)
+{
+ /* Declare variables */
+ GtkWidget *window;
+ GtkWidget *scrolled_window;
+ GtkWidget *image;
+
+ /* Create a window with a title, and a default size */
+ window = gtk_application_window_new (app);
+ gtk_window_set_title (GTK_WINDOW (window), "ScrolledWindow Example");
+ gtk_window_set_default_size (GTK_WINDOW (window), 220, 200);
+
+ /* Create the scrolled window. Usually NULL is passed for both parameters so
+ * that it creates the horizontal/vertical adjustments automatically. Setting
+ * the scrollbar policy to automatic allows the scrollbars to only show up
+ * when needed.
+ */
+ scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+ /* Set the border width */
+ gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
+ /* Extract our desired image from a file that we have */
+ image = gtk_image_new_from_file ("gnome-image.png");
+ /* And add it to the scrolled window */
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), image);
+ /* Set the policy of the horizontal and vertical scrollbars to automatic.
+ * What this means is that the scrollbars are only present if needed.
+ */
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+
+ gtk_container_add (GTK_CONTAINER (window), scrolled_window);
+
+ gtk_widget_show_all (window);
+}
+
+
+
+int
+main (int argc, char **argv)
+{
+ GtkApplication *app;
+ int status;
+
+ app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
+ g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
+ status = g_application_run (G_APPLICATION (app), argc, argv);
+ g_object_unref (app);
+
+ return status;
+}
diff --git a/platform-demos/C/scrolledwindow.c.page b/platform-demos/C/scrolledwindow.c.page
new file mode 100644
index 0000000..bcc5c48
--- /dev/null
+++ b/platform-demos/C/scrolledwindow.c.page
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ type="guide" style="task"
+ id="scrolledwindow.c">
+ <info>
+ <title type="text">ScrolledWindow (C)</title>
+ <link type="guide" xref="beginner.c#scrolling"/>
+ <link type="seealso" xref="textview.c"/>
+ <link type="seealso" xref="image.c"/>
+ <revision version="0.1" date="2012-08-20" status="draft"/>
+
+ <credit type="author copyright">
+ <name>Monica Kochofar</name>
+ <email>monicakochofar gmail com</email>
+ <years>2012</years>
+ </credit>
+
+ <desc>Adds scrollbars to its child widget</desc>
+ </info>
+
+ <title>ScrolledWindow</title>
+
+ <media type="image" mime="image/png" src="media/scrolledwindow.png"/>
+ <p>An image in a scrolled window.</p>
+
+ <code mime="text/x-csrc" style="numbered">
+<xi:include href="samples/scrolledwindow.c" parse="text"><xi:fallback/></xi:include></code>
+<p>
+ In this sample we used the following:
+</p>
+<list>
+ <item><p><link
href="http://developer.gnome.org/gtk3/stable/GtkApplication.html">GtkApplication</link></p></item>
+ <item><p><link href="http://developer.gnome.org/gtk3/stable/GtkWindow.html">GtkWindow</link></p></item>
+ <item><p><link
href="http://developer.gnome.org/gtk3/stable/GtkScrolledWindow.html">GtkScrolledWindow</link></p></item>
+ <item><p><link
href="http://developer.gnome.org/gtk/stable/gtk-Standard-Enumerations.html#GtkPolicyType">GtkPolicyType</link></p></item>
+</list>
+</page>
diff --git a/platform-demos/Makefile.am b/platform-demos/Makefile.am
index b00dc4e..c4c7d7b 100644
--- a/platform-demos/Makefile.am
+++ b/platform-demos/Makefile.am
@@ -124,6 +124,7 @@ demo_sources = \
samples/scale.js \
samples/scale.py \
samples/scale.vala \
+ samples/scrolledwindow.c \
samples/scrolledwindow.py \
samples/scrolledwindow.vala \
samples/separator.py \
@@ -378,6 +379,7 @@ HELP_FILES = \
scale.js.page \
scale.py.page \
scale.vala.page \
+ scrolledwindow.c.page \
scrolledwindow.py.page \
scrolledwindow.vala.page \
separator.py.page \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]