2002-09-15 Ricardo Fernndez Pascual <ric@users.sourceforge.net>
* glade/XML.custom: Added a constructor to read the glade file from a stream and to read it from a resource in an assembly. * sample/Makefile.in * sample/GladeTest.cs: Embed the glade file as a resource and use the new constructor. svn path=/trunk/gtk-sharp/; revision=7482
This commit is contained in:
parent
f1011f687e
commit
0998fd871a
4 changed files with 52 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2002-09-15 Ricardo Fern<72>ndez Pascual <ric@users.sourceforge.net>
|
||||||
|
|
||||||
|
* glade/XML.custom: Added a constructor to read the glade file
|
||||||
|
from a stream and to read it from a resource in an assembly.
|
||||||
|
* sample/Makefile.in
|
||||||
|
* sample/GladeTest.cs: Embed the glade file as a resource and use
|
||||||
|
the new constructor.
|
||||||
|
|
||||||
2002-09-13 Ricardo Fern<72>ndez Pascual <ric@users.sourceforge.net>
|
2002-09-13 Ricardo Fern<72>ndez Pascual <ric@users.sourceforge.net>
|
||||||
|
|
||||||
* glade/HandlerNotFoundExeception.cs: Added.
|
* glade/HandlerNotFoundExeception.cs: Added.
|
||||||
|
|
|
@ -45,6 +45,41 @@
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* a constructor that reads the XML from a Stream */
|
||||||
|
|
||||||
|
[DllImport("glade-2.0")]
|
||||||
|
static extern IntPtr glade_xml_new_from_buffer(byte[] buffer, int size, string root, string domain);
|
||||||
|
|
||||||
|
/// <summary>Creates a Glade.XML object from a Stream</sumary>
|
||||||
|
/// <remarks>Reads the contents of the stream and parses it. It must be in
|
||||||
|
/// correct Glade format</remarks>
|
||||||
|
public XML (System.IO.Stream s, string root, string domain)
|
||||||
|
{
|
||||||
|
int size = (int) s.Length;
|
||||||
|
byte[] buffer = new byte[size];
|
||||||
|
s.Read (buffer, 0, size);
|
||||||
|
Raw = glade_xml_new_from_buffer(buffer, size, root, domain);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a Glade.XML object from a resource</sumary>
|
||||||
|
/// <remarks>Reads the contents of the resource in the
|
||||||
|
/// given assembly and parses it. If the assembly is null,
|
||||||
|
/// the current assembly will be used. It must be in
|
||||||
|
/// correct Glade format</remarks>
|
||||||
|
public XML (System.Reflection.Assembly assembly, string resource_name, string root, string domain)
|
||||||
|
{
|
||||||
|
if (assembly == null)
|
||||||
|
{
|
||||||
|
assembly = System.Reflection.Assembly.GetCallingAssembly ();
|
||||||
|
}
|
||||||
|
System.IO.Stream s = assembly.GetManifestResourceStream (resource_name);
|
||||||
|
int size = (int) s.Length;
|
||||||
|
byte[] buffer = new byte[size];
|
||||||
|
s.Read (buffer, 0, size);
|
||||||
|
s.Close ();
|
||||||
|
Raw = glade_xml_new_from_buffer(buffer, size, root, domain);
|
||||||
|
}
|
||||||
|
|
||||||
/* signal autoconnection using reflection */
|
/* signal autoconnection using reflection */
|
||||||
|
|
||||||
/// <summary>Automatically connect signals</summary>
|
/// <summary>Automatically connect signals</summary>
|
||||||
|
|
|
@ -11,6 +11,8 @@ namespace GladeSamples {
|
||||||
using Gnome;
|
using Gnome;
|
||||||
using Glade;
|
using Glade;
|
||||||
using GtkSharp;
|
using GtkSharp;
|
||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
public class GladeTest : Program
|
public class GladeTest : Program
|
||||||
{
|
{
|
||||||
|
@ -21,7 +23,10 @@ namespace GladeSamples {
|
||||||
public GladeTest (string[] args, params object[] props)
|
public GladeTest (string[] args, params object[] props)
|
||||||
: base ("GladeTest", "0.1", Modules.UI, args, props)
|
: base ("GladeTest", "0.1", Modules.UI, args, props)
|
||||||
{
|
{
|
||||||
Glade.XML gxml = new Glade.XML ("test.glade", "main_window", null);
|
/* Note that we load the XML info from the assembly instead of using
|
||||||
|
an external file. You don't have to distribute the .glade file if
|
||||||
|
you don't want */
|
||||||
|
Glade.XML gxml = new Glade.XML (null, "test.glade", "main_window", null);
|
||||||
gxml.Autoconnect (this);
|
gxml.Autoconnect (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,8 @@ treeviewdemo.exe: TreeViewDemo.cs
|
||||||
glade-viewer.exe: GladeViewer.cs
|
glade-viewer.exe: GladeViewer.cs
|
||||||
$(MCS) --unsafe -o glade-viewer.exe $(local_paths) $(all_assemblies) GladeViewer.cs
|
$(MCS) --unsafe -o glade-viewer.exe $(local_paths) $(all_assemblies) GladeViewer.cs
|
||||||
|
|
||||||
glade-test.exe: GladeTest.cs
|
glade-test.exe: GladeTest.cs test.glade
|
||||||
$(MCS) --unsafe -o glade-test.exe $(local_paths) $(all_assemblies) GladeTest.cs
|
$(MCS) --unsafe -resource:test.glade -o glade-test.exe $(local_paths) $(all_assemblies) GladeTest.cs
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.exe
|
rm -f *.exe
|
||||||
|
|
Loading…
Reference in a new issue