[gnome-devel-docs/wip/reorganization] start a skeleton for the new developer docs



commit 675f2f169ba9949b56e10aed1e5aca8f218a83c9
Author: Allan Day <allanpday gmail com>
Date:   Tue Feb 26 17:42:30 2013 +0000

    start a skeleton for the new developer docs
    
    We want to have a series of tutorials for common application
    development tasks. This adds a partial skeleton which we can use
    to build this.

 tutorials/C/audio.page                    |   18 +++++
 tutorials/C/data-files-settings.page      |   29 ++++++++
 tutorials/C/desktop-files.page            |   53 +++++++++++++++
 tutorials/C/files.page                    |   18 +++++
 tutorials/C/first-gnome-application.page  |  104 +++++++++++++++++++++++++++++
 tutorials/C/getting-started.page          |   29 ++++++++
 tutorials/C/glade-intro.page              |   26 +++++++
 tutorials/C/images.page                   |   26 +++++++
 tutorials/C/index.page                    |   25 +++++++
 tutorials/C/integration.page              |   30 ++++++++
 tutorials/C/media/fedora.png              |  Bin 0 -> 5996 bytes
 tutorials/C/media/opensuse.png            |  Bin 0 -> 7776 bytes
 tutorials/C/media/ubuntu.png              |  Bin 0 -> 5725 bytes
 tutorials/C/multimedia.page               |   29 ++++++++
 tutorials/C/notifications.page            |   29 ++++++++
 tutorials/C/samples/Makefile.am           |   11 +++
 tutorials/C/samples/README                |   36 ++++++++++
 tutorials/C/samples/autogen.sh            |   18 +++++
 tutorials/C/samples/configure.ac          |    5 ++
 tutorials/C/samples/helloWorld            |   42 ++++++++++++
 tutorials/C/samples/helloWorld.desktop.in |   11 +++
 tutorials/C/search.page                   |   18 +++++
 tutorials/C/settings.page                 |   18 +++++
 tutorials/C/style-guide.page              |   22 ++++++
 tutorials/C/the-build-system.page         |   48 +++++++++++++
 tutorials/C/ui.page                       |   29 ++++++++
 tutorials/C/video.page                    |   18 +++++
 27 files changed, 692 insertions(+), 0 deletions(-)
---
diff --git a/tutorials/C/audio.page b/tutorials/C/audio.page
new file mode 100644
index 0000000..3b224f9
--- /dev/null
+++ b/tutorials/C/audio.page
@@ -0,0 +1,18 @@
+<?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="audio">
+
+  <info>
+  <title type="text">Audio</title>
+    <link type="guide" xref="multimedia#multimedia"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>Playing audio</desc>
+  </info>
+
+  <title>Audio</title>
+
+</page>
diff --git a/tutorials/C/data-files-settings.page b/tutorials/C/data-files-settings.page
new file mode 100644
index 0000000..a0e3d72
--- /dev/null
+++ b/tutorials/C/data-files-settings.page
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      type="guide"
+      id="data-files-settings">
+
+<info>
+  <title type="text">Data, Files and Settings</title>
+  <link type="guide" xref="index#topics"/>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+
+  <desc>Storing and accessing data and settings</desc>
+</info>
+
+<title>Data, Files and Settings</title>
+
+<section id="data-files-settings">
+  <title>Topics</title>
+</section>
+
+</page>
diff --git a/tutorials/C/desktop-files.page b/tutorials/C/desktop-files.page
new file mode 100644
index 0000000..81d5934
--- /dev/null
+++ b/tutorials/C/desktop-files.page
@@ -0,0 +1,53 @@
+<?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="desktop-files">
+
+  <info>
+  <title type="text">Desktop Files</title>
+    <link type="guide" xref="integration#integration"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <credit type="author copyright">
+      <name>Susanna Huhtanen</name>
+      <email>ihmis suski gmail com</email>
+      <years>2012</years>
+    </credit>
+    <credit type="editor">
+      <name>Tiffany Antopolski</name>
+      <email>tiffany antopolski gmail com</email>
+    </credit>
+
+    <desc>How to use the desktop file</desc>
+  </info>
+
+  <title>The Desktop File</title>
+
+  <section id="desktop.in">
+    <title>The <file>.desktop.in</file> file</title>
+    <p>Running applications from the Terminal is useful at the beginning of the application making process. 
To have fully working <link href= 
"http://library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en";>application integration</link> 
in GNOME 3 requires a desktop launcher. For this you need to create a  <file>.desktop</file> file. The 
<file>.desktop</file> file describes the application name, the used icon and various integration bits. A 
deeper insight into the <file>.desktop</file> file can be found <link href= 
"http://developer.gnome.org/desktop-entry-spec/";>here</link>. The <file>.desktop.in</file> file will create 
the <file>.desktop</file>.</p>
+
+  <note>
+    <p>Before continuing, resave <file>helloWorld.js</file> as <file>helloWorld</file>.  Then run this in 
the command line:</p>
+    <screen><output style="prompt">$ </output><input>chmod +x helloWorld</input></screen>
+  </note>
+
+  <p>The example shows you the minimum requirements for a <code>.desktop.in</code> file.</p>
+    <code mime="text/desktop" style="numbered"><xi:include href="samples/helloWorld.desktop.in" 
parse="text"><xi:fallback/></xi:include></code>
+
+  <p>Now let's go through some parts of the <code>.desktop.in</code> file.</p>
+    <terms>
+      <item><title>Name</title><p>The application name.</p></item>
+      <item><title>Comment</title><p>A short description of the application.</p></item>
+      <item><title>Exec</title><p>Specifies a command to execute when you choose the application from the 
menu. In this example exec just tells where to find the <file>helloWorld</file> file and the file takes care 
of the rest.</p></item>
+      <item><title>Terminal</title><p>Specifies whether the command in the Exec key runs in a terminal 
window.</p></item>
+    </terms>
+
+    <p>To put your application into the appropriate category, you need to add the necessary categories to 
the Categories line. More information on the different categories can be found in the <link href = 
"http://standards.freedesktop.org/menu-spec/latest/apa.html";>menu specification</link>.</p>
+    <p>In this example we use an existing icon. For a custom icon you need to have a .svg file of your icon, 
stored in <file>/usr/share/icons/hicolor/scalable/apps</file>. Write the name of your icon file to the 
.desktop.in file, on line 7. More information on icons in: <link 
href="http://library.gnome.org/admin/system-admin-guide/stable/themes-11.html.en";> Installing Icons for 
Themes </link>, <link href="https://live.gnome.org/GnomeGoals/AppIcon";>Installing Icons for Themes</link> and 
<link href="http://freedesktop.org/wiki/Specifications/icon-theme-spec";>on freedesktop.org: 
Specifications/icon-theme-spec</link>.</p>
+
+  </section>
+
+</page>
diff --git a/tutorials/C/files.page b/tutorials/C/files.page
new file mode 100644
index 0000000..e75b651
--- /dev/null
+++ b/tutorials/C/files.page
@@ -0,0 +1,18 @@
+<?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="files">
+
+  <info>
+  <title type="text">Working With Files</title>
+    <link type="guide" xref="data-files-settings#data-files-settings"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>Reading from and writing to files</desc>
+  </info>
+
+  <title>Working With Files</title>
+
+</page>
diff --git a/tutorials/C/first-gnome-application.page b/tutorials/C/first-gnome-application.page
new file mode 100644
index 0000000..5ce1a85
--- /dev/null
+++ b/tutorials/C/first-gnome-application.page
@@ -0,0 +1,104 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      xmlns:e="http://projectmallard.org/experimental/";
+      type="topic" style="task"
+      id="first-gnome-application">
+
+<info>
+  <title type="text">Writing Your First GNOME Application</title>
+  <link type="guide" xref="getting-started#getting-started"/>
+  <revision version="0.1" date="2013-01-31" status="stub"/>
+
+  <desc>An introductory guide to writing a GNOME application.</desc>
+  <credit type="author copyright">
+    <name></name>
+    <email></email>
+    <years></years>
+  </credit>
+</info>
+
+<title type="text">Writing Your First GNOME Application</title>
+
+<p>This tutorial will guide you through the steps involved in creating a GNOME application. Following the 
stages it describes will enable you to produce a high-quality application that provides an excellent 
experience for GNOME users.</p>
+
+<section id="design">
+<title>1. Design</title>
+
+<p>Design is an important stage in the process of creating an application, and will inform your technical 
decisions. The GNOME Human Interface Guidelines will assist you in designing your application.</p>
+
+</section>
+
+<section id="setting-up">
+<title>2. Set Up Your Development Environment</title>
+
+<p>The first stage in creating a GNOME application is to set up your development environment. If you are not 
using GNOME 3 already, you will need to install it; you will use it as the environment for developing your 
application. See the <link href="http://www.gnome.org/getting-gnome/";>Getting GNOME page</link> for 
information on GNOME 3 distributions.</p>
+
+<p>The following tools are recommended for writing a GNOME application:</p>
+
+<list>
+    <item><p><link href="http://glade.gnome.org/";>Glade</link> - for creating your user interface.</p></item>
+    <item><p><link href="http://www.anjuta.org/downloads";>Anjunta</link> - for editing code.</p></item>
+    <item><p>DevHelp - for viewing and searching API documentation.</p></item>
+</list>
+
+<p>All of these tools are available via GNOME 3 distributions. The <link 
href="http://developer.gnome.org/gnome-devel-demos/unstable/getting-ready";>GNOME wiki</link> contains 
information for installing development tools for different distributions:</p>
+
+<list>
+    <item><p><link href="http://live.gnome.org/DeveloperTools/Installation/Ubuntu";>
+    <media type="image" mime="image/png" src="media/ubuntu.png">Ubuntu</media></link></p></item>
+    <item><p>
+    <link href="http://live.gnome.org/DeveloperTools/Installation/Fedora";>
+    <media type="image" mime="image/png" src="media/fedora.png">Fedora</media></link></p></item>
+    <item><p>
+    <link href="http://live.gnome.org/DeveloperTools/Installation/OpenSuSE";>
+    <media type="image" mime="image/png" src="media/opensuse.png">OpenSuSE</media></link></p></item>
+    <item><p><link href="http://live.gnome.org/DeveloperTools/Installation";>Others</link></p></item>
+</list>
+</section>
+
+<section id="user-interface">
+<title>3. Create Your User Interface</title>
+
+<p>Creating a prototype of your application's user interface is a good way to begin the development process. 
You can use Glade to construct your interface quickly and easily. Becoming familiar with the design patterns 
found in the Human Interface Guidelines will help you to keep the users' best interests in mind while 
creating an aesthetically pleasing application. The <link href="https://live.gnome.org/Glade/Tutorials";>Glade 
tutorials</link> give a step-by-step introduction to developing an application with Glade. </p>
+</section>
+
+<section id="code">
+<title>4. Code</title>
+
+<p>JavaScript is the recommended language for developing GNOME applications. To familiarize yourself with 
its use in GNOME application development, check out <link 
href="http://developer.gnome.org/gnome-devel-demos/unstable/";>the tutorials</link> or browse the code of 
existing GNOME applications.</p>
+
+<p>GNOME provides a collection of libraries that can be used for application development. These give the 
ability to create custom user interfaces and provide common functionality for applications, such as reading 
and writing to files, playing and creating multimedia, storing and searching data, embedding web 
functionality and many other things. See <link type="guide" xref="library-intro">the introduction to GNOME 
libraries</link> for more details.</p>
+
+<p>Following the coding style guides will allow you to create reusable code and build on existing code from 
GNOME's codebase: <link 
href="ftp://ftp.mirrorservice.org/pub/GNOME/teams/docs/devel/guides/programming_guidelines/programming-guidelines.ps";>programming
 guidelines</link> and <link href="https://live.gnome.org/GnomeShell/Gjs_StyleGuide";>GNOME JavaScript style 
guide</link>.</p>
+</section>
+
+<section id="test">
+<title>5. Test</title>
+<p>Test your application in order to eliminate bugs and make sure that it provides a high quality 
experience.</p>
+<list>
+    <item><p>Exercise all of your application's functionality, and get a small group of users to try it 
out.</p></item>
+    <item><p>GNOME aims to ensure that its software is usable for everyone, including people with 
disabilities. For information on testing for accessibility, including high contrast mode and the screen 
reader, see <link href="https://live.gnome.org/Accessibility/Testing";>accessibility testing</link> for more 
details.</p></item>
+    <item><p>GNOME software is available in a large number of spoken languages. Try using the application 
using both right to left and left to right layout. This can be done by changing your language 
settings.</p></item>
+    <item><p>Ensure that your application works effectively for different screen sizes - see the HIG for 
guidelines on the target screen sizes.</p></item>
+</list>
+</section>
+
+<section id="get-ready">
+<title>6. Get Ready</title>
+
+<p>Get your application ready to be distributed to users.</p>
+
+<list>
+    <item><p>Write <link 
href="http://developer.gnome.org/gdp-handbook/stable/gnomedocsystem.html.en";>documentation</link> for your 
application, so that users can learn how to use it.</p></item>
+    <item><p>Ensure that all the text in your user interface can be <link 
href="http://people.gnome.org/~malcolm/i18n/";>translated</link>.</p></item>
+</list>
+</section>
+
+<section id="packaging">
+<title>7. Package</title>
+
+<p>Once your application is ready to be distributed to users, you should make your source code publicly 
available by posting it in a public git repository such as <link 
href="http://gitorious.org/";>Gitorious</link> or <link href="https://github.com/";>Github</link>. To have your 
application included in a distribution's releases, see distribution specific guidelines. GNOME recommends 
that you license your work using <link href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html";>the GNU 
GPLv2 or later</link></p>
+</section>
+
+</page>
+
diff --git a/tutorials/C/getting-started.page b/tutorials/C/getting-started.page
new file mode 100644
index 0000000..dd64449
--- /dev/null
+++ b/tutorials/C/getting-started.page
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      type="guide"
+      id="getting-started">
+
+<info>
+  <title type="text">Getting Started</title>
+  <link type="guide" xref="index#topics"/>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+
+  <desc>Your first steps into the world of GNOME application development</desc>
+</info>
+
+<title>Getting Started</title>
+
+<section id="getting-started">
+  <title>Topics</title>
+</section>
+
+</page>
diff --git a/tutorials/C/glade-intro.page b/tutorials/C/glade-intro.page
new file mode 100644
index 0000000..604cd55
--- /dev/null
+++ b/tutorials/C/glade-intro.page
@@ -0,0 +1,26 @@
+<?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="glade-intro">
+
+<info>
+  <title type="text">Search</title>
+  <link type="guide" xref="ui#ui"/>
+
+  <revision version="0.1" date="2012-02-19" status="stub"/>
+
+  <desc>Learn how to use the Glade user interface editor</desc>
+</info>
+
+<title>Glade Introduction</title>
+
+  <!-- brief plan:
+
+ * refer to the HIG for design advice
+ * explain the basic principles of glade
+ * explain how to connect a glade file to your code
+
+ -->
+
+</page>
diff --git a/tutorials/C/images.page b/tutorials/C/images.page
new file mode 100644
index 0000000..a8946d3
--- /dev/null
+++ b/tutorials/C/images.page
@@ -0,0 +1,26 @@
+<?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="images">
+
+  <info>
+  <title type="text">Images</title>
+    <link type="guide" xref="multimedia#multimedia"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>Displaying images in your application</desc>
+  </info>
+
+  <title>Images</title>
+
+<!--
+
+Directions for how to insert images into an application.
+
+Should start with a basic example using glade to show a static image. Could then move on to look at a more 
complex example.
+
+-->
+
+</page>
diff --git a/tutorials/C/index.page b/tutorials/C/index.page
new file mode 100644
index 0000000..b244aeb
--- /dev/null
+++ b/tutorials/C/index.page
@@ -0,0 +1,25 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";
+      type="guide"
+      id="index">
+
+<info>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+</info>
+
+<title>GNOME Developer Tutorials</title>
+
+ <section id="topics">
+   <title>Topics</title>
+ </section>
+
+</page>
diff --git a/tutorials/C/integration.page b/tutorials/C/integration.page
new file mode 100644
index 0000000..182573a
--- /dev/null
+++ b/tutorials/C/integration.page
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      type="guide"
+      id="integration">
+
+<info>
+  <title type="text">Getting Started</title>
+  <link type="guide" xref="index#topics"/>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+
+  <desc>Integrating your application into GNOME 3</desc>
+
+</info>
+
+<title>Integration</title>
+
+<section id="integration">
+  <title>Topics</title>
+</section>
+
+</page>
diff --git a/tutorials/C/media/fedora.png b/tutorials/C/media/fedora.png
new file mode 100644
index 0000000..15b8f44
Binary files /dev/null and b/tutorials/C/media/fedora.png differ
diff --git a/tutorials/C/media/opensuse.png b/tutorials/C/media/opensuse.png
new file mode 100644
index 0000000..ba1289e
Binary files /dev/null and b/tutorials/C/media/opensuse.png differ
diff --git a/tutorials/C/media/ubuntu.png b/tutorials/C/media/ubuntu.png
new file mode 100644
index 0000000..52d9636
Binary files /dev/null and b/tutorials/C/media/ubuntu.png differ
diff --git a/tutorials/C/multimedia.page b/tutorials/C/multimedia.page
new file mode 100644
index 0000000..90a9eba
--- /dev/null
+++ b/tutorials/C/multimedia.page
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      type="guide"
+      id="multimedia">
+
+<info>
+  <title type="text">Getting Started</title>
+  <link type="guide" xref="index#topics"/>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+
+  <desc>Using images, sound and video in your application</desc>
+</info>
+
+<title>Multimedia</title>
+
+<section id="multimedia">
+  <title>Topics</title>
+</section>
+
+</page>
diff --git a/tutorials/C/notifications.page b/tutorials/C/notifications.page
new file mode 100644
index 0000000..33444e8
--- /dev/null
+++ b/tutorials/C/notifications.page
@@ -0,0 +1,29 @@
+<?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="notifications">
+
+<info>
+  <title type="text">Search</title>
+  <link type="guide" xref="ui#ui"/>
+
+  <revision version="0.1" date="2012-02-19" status="stub"/>
+
+  <desc>Showing notifications and using the Message Tray</desc>
+</info>
+
+<title>Notifications</title>
+
+  <!-- brief plan:
+
+ * How to show a simple notification
+ * Explain concept of residency
+ * Correct notification behaviour - eg. default actions for notifications, removing notifications after they 
are unneeded
+ * Add buttons and other controls to notifications
+
+This guide should be written for the new GTK+ notifications API.
+
+ -->
+
+</page>
diff --git a/tutorials/C/samples/Makefile.am b/tutorials/C/samples/Makefile.am
new file mode 100644
index 0000000..963c67c
--- /dev/null
+++ b/tutorials/C/samples/Makefile.am
@@ -0,0 +1,11 @@
+# The actual runnable program is set to the SCRIPTS primitive.
+# # Prefix bin_ tells where to copy this
+bin_SCRIPTS = helloWorld
+# # List of files to be distributed
+EXTRA_DIST=  \
+       $(bin_SCRIPTS)
+#
+#     # The desktop files
+desktopdir = $(datadir)/applications
+desktop_DATA = \
+       helloWorld.desktop
diff --git a/tutorials/C/samples/README b/tutorials/C/samples/README
new file mode 100644
index 0000000..e21367d
--- /dev/null
+++ b/tutorials/C/samples/README
@@ -0,0 +1,36 @@
+To build and install this program:
+
+./autogen.sh --prefix=/home/your_username/.local
+make install
+
+-------------
+Running the first line above creates the following files:
+
+aclocal.m4
+autom4te.cache
+config.log
+config.status
+configure
+helloWorld.desktop
+install-sh
+missing
+Makefile.in
+Makefile
+
+Running "make install", installs the application in /home/your_username/.local/bin
+and installs the helloWorld.desktop file in /home/your_username/.local/share/applications
+
+You can now run the application by typing "Hello World" in the Overview.
+
+----------------
+To uninstall, type:
+
+make uninstall
+
+----------------
+To create a tarball type:
+
+make distcheck
+
+This will create hello-world-1.0.tar.xz
+
diff --git a/tutorials/C/samples/autogen.sh b/tutorials/C/samples/autogen.sh
new file mode 100755
index 0000000..cb2570e
--- /dev/null
+++ b/tutorials/C/samples/autogen.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+
+olddir=`pwd`
+cd "$srcdir"
+
+# This will run autoconf, automake, etc. for us
+autoreconf --force --install
+
+cd "$olddir"
+
+if test -z "$NOCONFIGURE"; then
+  "$srcdir"/configure "$@"
+fi
diff --git a/tutorials/C/samples/configure.ac b/tutorials/C/samples/configure.ac
new file mode 100644
index 0000000..075cac0
--- /dev/null
+++ b/tutorials/C/samples/configure.ac
@@ -0,0 +1,5 @@
+# This file is processed by autoconf to create a configure script
+AC_INIT([Hello World], 1.0)
+AM_INIT_AUTOMAKE([1.10 no-define foreign dist-xz no-dist-gzip])
+AC_CONFIG_FILES([Makefile helloWorld.desktop])
+AC_OUTPUT
diff --git a/tutorials/C/samples/helloWorld b/tutorials/C/samples/helloWorld
new file mode 100755
index 0000000..3041dd1
--- /dev/null
+++ b/tutorials/C/samples/helloWorld
@@ -0,0 +1,42 @@
+#!/usr/bin/gjs
+
+const Lang = imports.lang;
+const Gtk = imports.gi.Gtk;
+
+const Application = new Lang.Class({
+    //A Class requires an explicit Name parameter. This is the Class Name.
+    Name: 'Application',
+
+    //create the application
+    _init: function() {
+        this.application = new Gtk.Application();
+
+       //connect to 'activate' and 'startup' signals to handlers.
+       this.application.connect('activate', Lang.bind(this, this._onActivate));
+       this.application.connect('startup', Lang.bind(this, this._onStartup));
+    },
+
+    //create the UI
+    _buildUI: function() {
+        this._window = new Gtk.ApplicationWindow({ application: this.application,
+                                                   title: "Hello World!" });
+        this._window.set_default_size(200, 200);
+        this.label = new Gtk.Label({ label: "Hello World" });
+        this._window.add(this.label);
+    },
+
+    //handler for 'activate' signal
+    _onActivate: function() {
+        //show the window and all child widgets
+        this._window.show_all();
+    },
+
+    //handler for 'startup' signal
+    _onStartup: function() {
+        this._buildUI();
+    }
+});
+
+//run the application
+let app = new Application();
+app.application.run(ARGV);
diff --git a/tutorials/C/samples/helloWorld.desktop.in b/tutorials/C/samples/helloWorld.desktop.in
new file mode 100644
index 0000000..a96d438
--- /dev/null
+++ b/tutorials/C/samples/helloWorld.desktop.in
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=Hello World
+Comment=Say Hello
+Exec= prefix@/bin/helloWorld
+Icon=application-default-icon
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GNOME;GTK;Utility;
diff --git a/tutorials/C/search.page b/tutorials/C/search.page
new file mode 100644
index 0000000..7cff46f
--- /dev/null
+++ b/tutorials/C/search.page
@@ -0,0 +1,18 @@
+<?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="search">
+
+  <info>
+  <title type="text">Search</title>
+    <link type="guide" xref="integration#integration"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>Integrating your application with GNOME search</desc>
+  </info>
+
+  <title>Search</title>
+
+</page>
diff --git a/tutorials/C/settings.page b/tutorials/C/settings.page
new file mode 100644
index 0000000..4904366
--- /dev/null
+++ b/tutorials/C/settings.page
@@ -0,0 +1,18 @@
+<?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="settings">
+
+  <info>
+  <title type="text">Settings</title>
+    <link type="guide" xref="data-files-settings#data-files-settings"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>How to store and retrieve settings</desc>
+  </info>
+
+  <title>Settings</title>
+
+</page>
diff --git a/tutorials/C/style-guide.page b/tutorials/C/style-guide.page
new file mode 100644
index 0000000..55d0539
--- /dev/null
+++ b/tutorials/C/style-guide.page
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      xmlns:e="http://projectmallard.org/experimental/";
+      type="topic" style="task"
+      id="style-guide">
+
+<info>
+  <title type="text">Style Guide</title>
+  <link type="guide" xref="getting-started#getting-started"/>
+  <revision version="0.1" date="2013-01-31" status="stub"/>
+
+  <desc>GNOME coding style</desc>
+  <credit type="author copyright">
+    <name></name>
+    <email></email>
+    <years></years>
+  </credit>
+</info>
+
+<title type="text">Style Guide</title>
+
+</page>
diff --git a/tutorials/C/the-build-system.page b/tutorials/C/the-build-system.page
new file mode 100644
index 0000000..e3030b7
--- /dev/null
+++ b/tutorials/C/the-build-system.page
@@ -0,0 +1,48 @@
+<?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="the-build-system">
+
+<info>
+  <title type="text">Desktop Files</title>
+    <link type="guide" xref="integration#integration"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <credit type="author copyright">
+      <name>Susanna Huhtanen</name>
+      <email>ihmis suski gmail com</email>
+      <years>2012</years>
+    </credit>
+    <credit type="editor">
+      <name>Tiffany Antopolski</name>
+      <email>tiffany antopolski gmail com</email>
+    </credit>
+
+    <desc>Using the GNOME build system</desc>
+</info>
+
+<title>The Build System</title>
+
+<p>To make your application truly a part of the GNOME 3 system you need to install it with the help of 
autotools. The autotools build will install all the necessary files to all the right places. </p>
+
+<p>For this you need to have the following files:</p>
+
+<links type="section"/>
+
+<section id="autogen"><title>autogen.sh</title>
+  <code mime="application/x-shellscript" style="numbered"><xi:include href="samples/autogen.sh" 
parse="text"><xi:fallback/></xi:include></code>
+  <p>After the <file>autogen.sh</file> file is ready and saved, run:</p>
+  <screen><output style="prompt">$ </output><input>chmod +x autogen.sh</input></screen>
+</section>
+
+<section id="makefile"><title>Makefile.am</title>
+  <code mime="application/x-shellscript" style="numbered"><xi:include href="samples/Makefile.am" 
parse="text"><xi:fallback/></xi:include></code>
+</section>
+
+<section id="configure"><title>configure.ac</title>
+  <code mime="application/x-shellscript" style="numbered"><xi:include href="samples/configure.ac" 
parse="text"><xi:fallback/></xi:include></code>
+</section>
+
+</page>
diff --git a/tutorials/C/ui.page b/tutorials/C/ui.page
new file mode 100644
index 0000000..afe0104
--- /dev/null
+++ b/tutorials/C/ui.page
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<page xmlns="http://projectmallard.org/1.0/";
+      type="guide"
+      id="ui">
+
+<info>
+  <title type="text">Getting Started</title>
+  <link type="guide" xref="index#topics"/>
+  <credit type="author">
+     <name>GNOME Documentation Team</name>
+      <email>gnome-doc-list gnome org</email>
+      <years>2013</years>
+    </credit>
+    <credit type="author">
+      <name>Allan Day</name>
+      <email>allanday gnome org</email>
+      <years>2013</years>
+  </credit>
+
+  <desc>How to create your application's user interface</desc>
+</info>
+
+<title>User Interfaces</title>
+
+<section id="ui">
+  <title>Topics</title>
+</section>
+
+</page>
diff --git a/tutorials/C/video.page b/tutorials/C/video.page
new file mode 100644
index 0000000..3adcdb8
--- /dev/null
+++ b/tutorials/C/video.page
@@ -0,0 +1,18 @@
+<?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="video">
+
+  <info>
+  <title type="text">Video</title>
+    <link type="guide" xref="multimedia#multimedia"/>
+
+    <revision version="0.1" date="2012-02-19" status="stub"/>
+
+    <desc>Playing video</desc>
+  </info>
+
+  <title>Video</title>
+
+</page>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]