From bf184782297049f9f17b6b6f260cada282bf01e9 Mon Sep 17 00:00:00 2001 From: Johannes Roith Date: Sat, 9 Nov 2002 09:05:51 +0000 Subject: [PATCH] add Martin Willemoes Hansen's gnome.net tutorial svn path=/trunk/gtk-sharp/; revision=8895 --- gnometutorial/bindings/glade/glade-m.png | Bin 0 -> 10780 bytes .../bindings/glade/glade-palette.png | Bin 0 -> 13481 bytes .../bindings/glade/glade-properties.png | Bin 0 -> 11404 bytes gnometutorial/bindings/glade/glade.html | 178 ++++++++++++++++++ gnometutorial/bindings/glade/icon.png | Bin 0 -> 3767 bytes gnometutorial/bindings/glade/sample1.png | Bin 0 -> 1977 bytes 6 files changed, 178 insertions(+) create mode 100644 gnometutorial/bindings/glade/glade-m.png create mode 100644 gnometutorial/bindings/glade/glade-palette.png create mode 100644 gnometutorial/bindings/glade/glade-properties.png create mode 100644 gnometutorial/bindings/glade/glade.html create mode 100644 gnometutorial/bindings/glade/icon.png create mode 100644 gnometutorial/bindings/glade/sample1.png diff --git a/gnometutorial/bindings/glade/glade-m.png b/gnometutorial/bindings/glade/glade-m.png new file mode 100644 index 0000000000000000000000000000000000000000..fb28c974096e9b6ec1d074b4a9b0b2944c57d79d GIT binary patch literal 10780 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 literal 0 HcmV?d00001 diff --git a/gnometutorial/bindings/glade/glade-palette.png b/gnometutorial/bindings/glade/glade-palette.png new file mode 100644 index 0000000000000000000000000000000000000000..6702e4e61ba6b26afad4aab4b8d1177075d27d01 GIT binary patch literal 13481 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 literal 0 HcmV?d00001 diff --git a/gnometutorial/bindings/glade/glade-properties.png b/gnometutorial/bindings/glade/glade-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..88e4d3415d1588a2168d6abe74c5480a469b882f GIT binary patch literal 11404 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 S!{51Mkg|fBe93dOkN*c-kV7E= literal 0 HcmV?d00001 diff --git a/gnometutorial/bindings/glade/glade.html b/gnometutorial/bindings/glade/glade.html new file mode 100644 index 000000000..1ebe87e45 --- /dev/null +++ b/gnometutorial/bindings/glade/glade.html @@ -0,0 +1,178 @@ + + +Glade# + + + + + +

Glade - Rapid Application Development with Gnome 2

by Johannes Roith (johannes@jroith.de)
+

Introduction

+In the previous chapter, you learned how create a Gnome GUI. If you've worked with Visual Studio, Delphi/Kylix or Visual Basic you might be missing the easy way of dragging widgets on forms.

+You're right, after all, what we want to do is creating good applications faster with mono. Development , where the programmer gets assistance in non-coding tasks from (visual) tools and focuses on the real work is called RAD - Rapid Application Development. Gnome offers a set of such technologies, known as Glade.

+Glade consists of 2 part:
+
    +
  • Glade - a grafical editor to create forms and save them in XML files.
  • +
  • libglade (called Glade# in Gtk#) - a library to load the XML at runtime
    +and dynamically create the form.
  • +
+That means, the user will need have libglade installed, and the xml file must be distributed with the application. +Glade# is the C# binding for libglade and even offers some advanced features - like self-contained glade files - that are only available in Gtk#.
+
Language independence has always been a goal in Gnome Development. For that reason the Glade Interface Builder exports xml, that can be used with any +language with glade bindings. This benefit is bought with little more effort compared to Visual Studio, as the code can't be generated automatically. +
+
+

Creating the UI

+
+Before we try to use glade with our Project, first get some experience with it. Fire up the Glade Interface Designer. You will be greeted by three windows: the main window, a properites and a palette window, containing icons. Click Project - New and select "Gnome Project".

+To create a new window click on the first icon in the palette-window. The new window is shown in the list. You can modify Type, Position, Caption, and other things in the Properties window. + +

+If you want your application to quit, if the window is closed you'll have to connect a signal with an event handler. Select "Signals" and add a handler for "delete_event" and call it "OnWindowDeleteEvent". +

+Take a button and drop it on the window. As you know, gtk+ has the concept of invisible boxes, to position widgets, and for that reason the button will fill the whole window. Modify some properties and add a signal handler for "clicked" and call it "OnButton1Clicked".

+Save to a new directory. Glade will put 2 files there: [projectname].glade and [projectname].gladep, wich does only save some information for the Interface Builder. The "interesting" file is the .glade file, that you can open in any text editor. It's plain XML and looks like that: +

+

+ +
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkWindow" id="window2">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window2</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False
+
+  <child>
+    <widget class="GtkButton" id="button1">
+      <property name="border_width">10</property>
+      <property name="visible">True</property>
+      <property name="can_focus">True</property>
+      <property name="label" translatable="yes">button1</property>
+      <property name="use_underline">True</property>
+      <property name="relief">GTK_RELIEF_NORMAL</property>
+    </widget>
+  </child>
+</widget>
+
+
+
+
+

It's time to start coding

+The code is similiar to previous chapters. What has changed is, that most of the code is move to the GladeTest constructor. +That's because the main-method is static and therefor doesn't belong to any class. Altough possible, moving code to Main() would only lead to more complicated code.
+
+namespace GladeSamples {
+	using System;
+	
+	using Gtk;
+	using Gnome;
+	using Glade;
+	using GtkSharp;
+
+	public class GladeTest
+	{
+
+		public static void Main (string[] args)
+		{
+			new GladeTest(args);
+		}
+		public GladeTest (string[] args) 
+		{
+
+			Application.Init();
+
+			/* This loads the glade file glade.glade, selects window2 and connects it to the current object,
+			 *  which is the class GladeTest here. */
+ 
+			Glade.XML gxml = new Glade.XML ("file.glade", "window2", null);
+			gxml.Autoconnect (this);
+
+			Application.Run();
+
+			/* If you want to access the glade objects you have to "import" them.
+			 * This is not required, but else you can only work with the pre-defined signal handlers */
+
+			Button button1 = (Gtk.Button) gxml["button1"];
+
+			button1.BorderWidth=10;
+
+      		}
+
+
+		/* Connect the Signals defined in Glade */
+
+
+		public void OnWindowDeleteEvent (object o, DeleteEventArgs args) 
+		{
+			Application.Quit ();
+			args.RetVal = true;
+		}
+		
+		public void OnButton1Clicked (System.Object obj, EventArgs e) 
+		{
+			Console.WriteLine ("Button 1 clicked");
+		}
+
+	}
+}
+
+
+compile with: +
+
+mcs /unsafe -r gtk-sharp.dll -r glade-sharp.dll glade.cs
+
+

+Of course, include the Gnome and Glade namespaces. +
+using Gnome;
+using Glade;
+
+ +The first part inits the Application.
+Then the glade xml file is connected. The first param is the file, the second the main widget (here: the window). +The second line connects gxml to the current object. +
+Glade.XML gxml = new Glade.XML ("file.glade", "window2", null);
+gxml.Autoconnect (this);
+
+ +Altough glade will show all widgets and cares about the events defined, most likely you will want to change properties, or add events during the runtime. +For that to work you have to connect a new object to the glade widget. This example also sets the BorderWidth. +
+Button button1 = (Gtk.Button) gxml["button1"];
+button1.BorderWidth=10;
+
+ +That's it.

+ +

Available Widgets

+All available widgets are devided in 4 categories. If you want your application to be independent of gnome and portable to windows, or Mac OS X, use only Gtk+ and Gtk+ Additional. +If you don't need that flexibility I strongly encourage you to make also use of the Gnome category. That includes Font-Selector, Druids, Iconlists and other useful things.

+Glade can be extened, for example gnome-db extensions are available. +

Using Glade in our Project

+After explaining how it works, like in the other chapters we want to go on with our little Project, introducing the new learned technology and extending the knowledge. +This chapter removes the few UI bits, done by hand and adds an Interface using Glade. +

+[TODO] +

+ +

Didn't you say something about this self-contained thing?

+Yes, I did. And it's quite a good feature. Now, that we're using Glade our application consists not only of 1, but 2 files. Luckily, the CLR has a way, to embedd any file in the executable, like images or text files. +Glade offer an additional constructor to load the glade file from a resource, so you don't have to distribute it. The only difference is the "null" before the filename. +
+Glade.XML gxml = new Glade.XML (null, "file.glade", "window2", null);
+gxml.Autoconnect (this);
+
+You have then to compile the file in, with the resource switch. +
+mcs /unsafe /resource:glade.glade -r gtk-sharp.dll -r glade-sharp.dll  glade.cs
+
\ No newline at end of file diff --git a/gnometutorial/bindings/glade/icon.png b/gnometutorial/bindings/glade/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c01e84d7390744d0003a3d10628e3a8577da1915 GIT binary patch literal 3767 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 literal 0 HcmV?d00001 diff --git a/gnometutorial/bindings/glade/sample1.png b/gnometutorial/bindings/glade/sample1.png new file mode 100644 index 0000000000000000000000000000000000000000..dc4edcb44753330aec170ac52b45348eea90f4c1 GIT binary patch literal 1977 zcmV;q2S)gbP)fePk>%%O)j z9*rbxBw4b(vGhZSZ{Gagr|#x2(>M)J~=}Z~`13T(K zjt-17UR`iRfgBFpDuIlM0!QHB@7;Y5E*#fs>T2=T#c;yLUpD9)f(roT(w-dI`qP)D z4}niEad2NhTmNX?=cOi7oO8ICoSY0-WtZ*j!)#T4|7eQuZS5RZmo5P3}=0@)juWrc8ZpXMBLg1vWee1{y) zxZh_3wr$(CZJMS-4wXsr$R)T4|By>fKVIvEyF$fVC;aqp(m`6~Fu*6G;Ot=j0qr8# zX<=yA?LmZ3$ojM7l6F(8Db#Q2jrj7?mCmH~TRH$)H=Rk}dE-tMKiGo6K(N#y#}nU< zFaSe?L-BZA&ZVKDitQ_DRM9)-?p4?hUup)R-PHV6({Jf}@_h`5Z6UUWJTMF+`>$-J zLg<(ea%7WnaJWzu#kX5=<)PkfJwo~V4L!)!Z|L=W0FLYUjmyk}DXpm=Pf26r!3Me1 z%B8L{;HZQ1*%h8yy`5VEo4*mn=IhZH9aS zxum#?q9{bRov1*kq00aWSIY$I|22>^jMG$dZ$Dd{Z)Frj1dT?fW_I~;5lDhKt zin^rwb%TdBbt}W(Fbrvlq9}@Di^`?1M-LzEy1~S`iTLR_04kG%N@P_=2$~L)W_7%2oss05XY4j^jFO z@2|=15Vp=?l>vO9d~fyP4}1EiY8k*8Pkc9F7R=;CQV8$*Zvip z__=W*gkP74$RUS0^1e`J0RVDXwE`LXLGvSn5daSP***vcFz{!1U0ncPhUW-7tGEiG zG3ThkIS<~6GP|^U_vSCxKmf$Hu&A)BdUtNz4R^DEzDH+(4*CXhQ?^X20 z_bU40dlh~0y^8ksCC`qYJ)k(cf-PgKEq>dZver&}KXM)#q9>!DZGF~Om18pOHy&*4 zqt-DIzd!WF_bU40dlj9EkDiQX|C#MdD2I>3>-o(GoBofbLA!OV|9L&Frq924KKqaE zH22|&pIw;Uda_k-w+``zNc|{fd~W#r0v)0Y;tOWs{EO$K!%_Kc2&(6Tv@cFy1TZ@{ zt7WvH4ZtjzGjlV;XNJ$5J)_<9HkHSd;~Nh)X69z1!_k@f8R=^A+Tzs9Q=JFwqYKX* z>Tl}ry!8%%*}2)|3(4u9OxJVnuiuZJjDGmRhshU`04lbNnYo$NWa{3Z?unAP_|uCD zS2D|)!jpoQ(eC{Aj`o^%Vd_Hu)BM;E#yStR23_cReOXVvluEsn8hd_h^RJt2)y;mA zEffmsk_v`+EWYsbg|+wB@+_4T0qQG*J|>XJer?x{0odH=me~K6$ioX#oHq zlgK+2|K)$b3_fotp)RTZo}d3RL$EMtCq@$Y z*YDSO2)+X0+qrBGT}7wEzFzsa2>lzIUPWJguVO#het$oeK80voeDq}WAmTU@v?qSc z*lKrU;Auur&-uRiUPWJguc9x$SJ4;WtEgS!)jyhij8PFEe=gqi&j1b|cFE4=bK_&< zu~V_gP-N}yTI%Ig>*bvD;Jb4*U^U-#@N(LN*b(HCLymm0L%u2_-wtS{T;WRX|6&Bd z{5pptW*?w370iNd*<9gNCO_I%%7d?Z)#F6Z{!b2ofn)q$NmKkEg=!r7h`tYO00000 LNkvXXu0mjf#g^