add gnome.net Martin Willemoes Hansen's tutorial. keep in sync with homepage, until he has cvs access.

svn path=/trunk/gtk-sharp/; revision=8894
This commit is contained in:
Johannes Roith 2002-11-09 09:03:51 +00:00
parent ddf50c3439
commit 01c623cd60
9 changed files with 275 additions and 0 deletions

3
gnometutorial/ChangeLog Normal file
View File

@ -0,0 +1,3 @@
2002-11-09 Johannes Roith <johannes@jroith.de>
* Initial import Martin Willemoes Hansen's tutorial and move stylesheets to an separate file

11
gnometutorial/README Normal file
View File

@ -0,0 +1,11 @@
This directory holds a tutorial telling developers everything they need,
to start develop Gnome Applications with Mono and Gnome.
This tutorial is born out of a vision of a first place to go for High Level Gnome desktop programming.
The idea is to give application programmers an overview of the platform,
information about available development tools and sample code.
It was started by Martin Willemoes Hansen and he now is the maintainer
The tutorial can be viewed at: http://mwh.sysrq.dk/the_mono_tutorial/
It'll be updated from cvs regularily.

BIN
gnometutorial/frontpage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

80
gnometutorial/index.html Normal file
View File

@ -0,0 +1,80 @@
<html>
<head>
<title>The Gnome.NET Tutorial</title>
</head>
<body>
<center>
<h1>The Gnome.NET Tutorial First Edition</h1>
<h2>A Much Needed Room For Breath</h2>
<img src=frontpage.png>
<p><a href="writers.html">Contributors, Ideas etc</a>
<h3>Contents</h3>
<table>
<tr><td></td><td><b><a href="preface.html">Preface</a></b></td></tr>
<tr><td>Chapter 1</td><td><b>Mono</b></td></tr>
<tr><td></td><td>
<a href="mono.html#about">About the Mono Technology</a><br>
<a href="mono.html#mylife">How Will Mono Technology Change My Life?</a><br>
<a href="mono.html#hello">HelloWorld</a><br>
<a href="mono.html#html">Architecture</a><br>
<a href="mono.html#tools">Tools</a><br>
<a href="mono.html#kernel">Linux kernel support for binaries</a><br>
<a href="mono.html#qae">Questions and exercises</a>
</td></tr>
<tr><td>Chapter 2</td><td><b>IDEs</b></td></tr>
<tr><td></td><td>
Emacs<br>
Eclipse<br>
#develop
</td></tr>
<tr><td>Chapter 3</td><td><b>C# bindings</b></td></tr>
<tr><td></td><td>
Atk#<br>
Pango#<br>
Glib#<br>
Gdk#<br>
Gtk#<br>
Gnome#<br>
<a href="bindings/glade/glade.html">Glade#</a><br>
GConf#<br>
Gda#<br>
Gnome-db#<br>
GStreamer#<br>
Questions and exercises
</td></tr>
<tr><td>Chapter 4</td><td><b>Testing & UI Design</b></td></tr>
<tr><td></td><td>
NUnit<br>
GNOME Human Interface Guidelines
</td></tr>
<tr><td>Chapter 5</td><td><b>Cases</b></td></tr>
<tr><td></td><td>
Same Gnome<br>
E-mail client<br>
Web browser<br>
Text editor
</td></tr>
<tr><td>Appendix A</td><td><b>Ressources</b></td></tr>
<tr><td></td><td>
<a href="ressources.html#api">API References</a><br>
<a href="ressources.html#code">Code samples</a><br>
<a href="ressources.html#apps">Applications</a><br>
<a href="ressources.html#tutorials">Tutorials</a><br>
<a href="ressources.html#website">Websites</a><br>
<a href="ressources.html#irc">IRC</a><br>
<a href="ressources.html#books">Books</a>
</td></tr>
</table>
</body>
</html>
</center>

57
gnometutorial/mono.html Normal file
View File

@ -0,0 +1,57 @@
<html>
<body>
<link rel="stylesheet" type="text/css" href="style.css" />
<h1>Mono</h1>
<a id="about"><h2>About the Mono Technology</h2></a><br>
<a id="mylife"><h2>How Will Mono Technology Change My Life?</h2></a><br>
<a id="hello"<h2>HelloWorld</h2></a><br>
This is a must in every book or tutorial, a "Hello, World!" program, so here it is:
<pre class="code">
using System;
class Hello {
static void Main() {
Console.WriteLine ("Hello, World!");
}
}
</pre>
<kbd>mcs Hello.cs -o hello.exe<br>
mono hello.exe or
mint hello.exe
</kbd>
<a id="arch"><h2>Architecture</h2></a><br>
<a id="tools"><h2>Tools</h2></a>
<h3>MonoDoc</h3>
<h3>Mono Compiler Suite (mcs)</h3>
<h3>Mono Interpreter (mint)</h3>
<h3>Mono Content dumper and disassembler (monodis)</h3>
<h3>Mono debugger</h3>
<a id="kernel"><h2>Linux kernel support for binaries</h2></a>
You can make your mono .exe files executable by following these steps:
<ol>
<li>Enabling binfmt in your kernel.
<li>Adding the line below to your fstab:<br>
<pre class="code">binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc none</pre>
<li>On boot run the cmd below:<br>
<pre class="code">echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register</pre>
<li>chmod +x foobar.exe
</ol>
Another way to accomplish the above is to wrap the <br>
mono .exe file it in a shell script, like this:
<pre class="code">
#!/bin/sh
/usr/bin/mono /usr/bin/mcs.exe "$@"
</pre>
<a id="qae"><h2>Questions and exercises</h2></a>
</body>
</html>

View File

@ -0,0 +1,23 @@
<html>
<head>
<title>Preface</title>
</head>
<body>
<h2>Preface</h2>
This tutorial is born out of a vision of a first place to go for High Level
Gnome desktop programming.
<br>The idea is to give application programmers an overview of the platform,
<br>information about available development tools and sample code.
<h3>Who should read this tutorial?</h3>
Programmers experienced with c#, who whish to get to understand and<br>
develop desktop applications for the Gnome.NET platform.
<h3>How to read this tutorial</h3>
You can read from the beginning to the end or you can
skip around from topic to topic, no problemo.
</body>
</html>

View File

@ -0,0 +1,49 @@
<html>
<head>
<title>Ressources</title>
</head>
<body>
<h1>Ressources</h1>
<a id="api"><h2>API References</h2></a>
<ul>
<li><a href="http://primates.ximian.com/~tvgm/gtk-sharp-docs/">gtk# API</a>
<li><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/cpref_start.asp">MS Base Class API</a>
</ul>
<a id="code"><h2>Code samples</h2></a>
<ul>
<li><a href="http://primates.ximian.com/~duncan/Mono/">Sample gtk# applications</a>
</ul>
<a id="apps"><h2>Applications</h2></a>
<ul>
<li><a href="http://atoker.com/phonic/">Phonic</a>
<li><a href="http://mwh.sysrq.dk/programs/programs.phtml">Jumpnbump frontend</a>
</ul>
<a id="tuturials"><h2>Tutorials</h2></a>
<ul>
<li><a href="http://toxic.magnesium.net/~hestilow/gconfsharp/intro.html">Using GConf#</a>
</ul>
<a id="websites"><h2>Websites</h2></a>
<ul>
<li><a href="http://www.go-mono.org">www.go-mono.org</a>
<li><a href="http://www.atoker.com/mono">Mono for Debian</a>
</ul>
<a id="irc"><h2>IRC</h2></a>
<ul>
<li><a href="irc://irc.freenode.org/mono">irc.freenode.org #mono</a>
</ul>
<a id="books"<h2>Books</h2></a>
<ul>
<li>A Programmer's Introduction to C# by Eric Gunnerson
<li>Advanced .NET Remoting: Ingo Rammer
</ul>
</body>
</html>

1
gnometutorial/style.css Normal file
View File

@ -0,0 +1 @@
.code {padding-left:2px; padding-right:2px;, padding-top:0px;padding-bottom:0px;background-color:#efefef}

View File

@ -0,0 +1,51 @@
<html>
<head>
<title>Writers section</title>
</head>
<body>
<h1>Writers section</h1>
<h2>Contributors</h2>
<ul>
<li><a href="mailto:mwh at sysrq.dk">Martin Willemoes Hansen</a>
<br>Maintainer
<br>Main focus: Work on the framework of the tutorial.
<li><a href="mailto:johannes at jroith.de">Johannes Roith</a>
<br>Main focus: Work on the Glade# part.
<li><a href="mailto:pbaena at uol.com.ar">Pablo Baena</a>
<br>Main focus: Threads stuff, Eclipse/mono/gtk#/glade#/glib# sections.
<br>Is working on a front-end for Mencoder, which could be used as a sample.
<li><a href="mailto:nluyan@163.net">Luyan</a>
<br>Chinese translation.
</ul>
<h2>Ideas</h2>
<ol>
<li>Some of the things you need (samples); can be re-used from the /sample
directory in the gtk-sharp module. At least that is a start! :)
<br>Richard Torkar
<li>My suggestion is to make a small application that would show
programmers how to build a full application, pick a target application
(for example you could pick the `same-gnome' game) and build it from
zero:
<ul>
<li>Creating your UI using glade.
<li>Connecting the Glade code to C#
<li>Making the program go.
<li>Using the Canvas/Drawing.
<li>Creating a configuration dialog box with Glade.
<li>Loading configuration settings from GConf.
<li>Storing scores on a database.
<li>Internationalization.
<li>Adding an About Box and a logo
<li>Making the executable self-contained
<li>Creating a custom widget.
</ul>
Miguel de Icaza
</ol>
</body>
</html>