2001-11-07 Mike Kestner <mkestner@speakeasy.net>

* codegen/defs-parse.pl (gen_object): Insert using statements. Insert
	class members from corresponding .custom file.
	* gtk/Window.custom : Renamed file from Window.cs.  Removed all the
	automatically generated members.  This will be the mechanism used to
	improve upon the mechanically generated binding.

svn path=/trunk/gtk-sharp/; revision=1282
This commit is contained in:
Mike Kestner 2001-11-07 23:13:05 +00:00
parent 4fbf115083
commit 807b6ea645
4 changed files with 74 additions and 266 deletions

View File

@ -1,3 +1,11 @@
2001-11-07 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl (gen_object): Insert using statements. Insert
class members from corresponding .custom file.
* gtk/Window.custom : Renamed file from Window.cs. Removed all the
automatically generated members. This will be the mechanism used to
improve upon the mechanically generated binding.
2001-11-05 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl (gen_object): Generate a ctor (IntPtr obj) for

View File

@ -16,6 +16,11 @@
'guint32', "uint", 'const-gchar', "IntPtr", 'GObject', "IntPtr",
'gchar', "IntPtr", 'gfloat', "float", 'gdouble', "double");
%usings = (
'Gdk', "System,System.Runtime.InteropServices,GLib",
'Gtk', "System,System.Runtime.InteropServices,GLib,Gdk");
`mkdir -p ../gdk/generated`;
`mkdir -p ../gtk/generated`;
@ -227,7 +232,10 @@ sub gen_object
print OUTFILE "// Generated file: Do not modify\n\n";
print OUTFILE "namespace $namespace {\n\n";
print OUTFILE "\t/// <summary> $typename Class </summary>\n";
foreach $ns (split (/,/, $usings{$namespace})) {
print OUTFILE "\tusing $ns;\n";
}
print OUTFILE "\n\t/// <summary> $typename Class </summary>\n";
print OUTFILE "\t/// <remarks>\n\t///\t FIXME: Generate docs\n";
print OUTFILE "\t/// </remarks>\n\n";
print OUTFILE "\tpublic ";
@ -256,6 +264,8 @@ sub gen_object
print OUTFILE gen_method ($key, $methods{$key}, "gtk-1.3.dll");
}
$custom = "../" . lc ($namespace) . "/$typename.custom";
print OUTFILE `cat $custom` if -e $custom;
print OUTFILE "\t}\n}\n";
close (OUTFILE);
print "done\n";

View File

@ -1,265 +0,0 @@
// Gtk.Window.cs - GTK Window class implementation
//
// Author: Mike Kestner <mkestner@speakeasy.net>
//
// (c) 2001 Mike Kestner
namespace Gtk {
using GLib;
using System;
using System.Drawing;
using System.Runtime.InteropServices;
/// <summary>
/// Window Class
/// </summary>
///
/// <remarks>
/// A Top Level Window object.
/// </remarks>
public class Window : Container {
/// <summary>
/// Window Object Constructor
/// </summary>
///
/// <remarks>
/// Constructs a Window Wrapper.
/// </remarks>
public Window (IntPtr o)
{
RawObject = o;
}
/// <summary>
/// Window Constructor
/// </summary>
///
/// <remarks>
/// Constructs a new Window of type TopLevel.
/// </remarks>
[DllImport("gtk-1.3.dll")]
static extern IntPtr gtk_window_new (WindowType type);
public Window ()
{
RawObject = gtk_window_new (WindowType.Toplevel);
}
/// <summary>
/// Window Constructor
/// </summary>
///
/// <remarks>
/// Constructs a new Window of type TopLevel with the
/// specified Title.
/// </remarks>
public Window (String title) : this ()
{
this.Title = title;
}
/// <summary>
/// AllowGrow Property
/// </summary>
///
/// <remarks>
/// Indicates if the Window can be resized to larger than
/// the default size.
/// </remarks>
public bool AllowGrow {
get {
bool val;
GetProperty ("allow-grow", out val);
return (val);
}
set {
SetProperty ("allow-grow", value);
}
}
/// <summary>
/// AllowShrink Property
/// </summary>
///
/// <remarks>
/// Indicates if the Window can be resized to smaller than
/// the default size.
/// </remarks>
public bool AllowShrink {
get {
bool val;
GetProperty ("allow-shrink", out val);
return (val);
}
set {
SetProperty ("allow-shrink", value);
}
}
/// <summary>
/// DefaultHeight Property
/// </summary>
///
/// <remarks>
/// The default Height of the Window in Pixels.
/// </remarks>
public int DefaultHeight {
get {
int val;
GetProperty ("default-height", out val);
return (val);
}
set {
SetProperty ("default-height", value);
}
}
/// <summary>
/// DefaultSize Property
/// </summary>
///
/// <remarks>
/// The default Size of the Window in Screen Coordinates.
/// </remarks>
public Size DefaultSize {
get {
return new Size (DefaultWidth, DefaultHeight);
}
set {
DefaultWidth = value.Width;
DefaultHeight = value.Height;
}
}
/// <summary>
/// DefaultWidth Property
/// </summary>
///
/// <remarks>
/// The default Width of the Window in Pixels.
/// </remarks>
public int DefaultWidth {
get {
int val;
GetProperty ("default-width", out val);
return (val);
}
set {
SetProperty ("default-width", value);
}
}
/// <summary>
/// DestroyWithParent Property
/// </summary>
///
/// <remarks>
/// Indicates if the Window should be destroyed when any
/// associated parent Windows are destroyed.
/// </remarks>
public bool DestroyWithParent {
get {
bool val;
GetProperty ("destroy-with-parent", out val);
return (val);
}
set {
SetProperty ("destroy-with-parent", value);
}
}
/// <summary>
/// Modal Property
/// </summary>
///
/// <remarks>
/// Indicates if the Window is Modal. If true, the input
/// focus is grabbed by the Window and other Windows in
/// the application will not accept input until the Window
/// is closed.
/// </remarks>
public bool Modal {
get {
bool val;
GetProperty ("modal", out val);
return (val);
}
set {
SetProperty ("modal", value);
}
}
/// <summary>
/// Position Property
/// </summary>
///
/// <remarks>
/// The Position of the Window in Screen Coordinates.
/// </remarks>
[DllImport("gtk-1.3.dll")]
static extern void gtk_window_set_position (IntPtr hnd,
int x, int y);
public Point Position {
set
{
gtk_window_set_position (
RawObject, value.X, value.Y);
}
}
/// <summary>
/// Resizable Property
/// </summary>
///
/// <remarks>
/// Indicates if the Height and Width of the Window can be
/// altered by the user.
/// </remarks>
public bool Resizable {
get {
bool val;
GetProperty ("resizable", out val);
return (val);
}
set {
SetProperty ("resizable", value);
}
}
/// <summary>
/// Title Property
/// </summary>
///
/// <remarks>
/// The Title displayed in the Window's Title Bar.
/// </remarks>
public String Title {
get {
String val;
GetProperty ("title", out val);
return val;
}
set {
SetProperty ("title", value);
}
}
}
}

55
gtk/Window.custom Executable file
View File

@ -0,0 +1,55 @@
// Gtk.Window.custom - Gtk Window class customizations
//
// Author: Mike Kestner <mkestner@speakeasy.net>
//
// (c) 2001 Mike Kestner
//
// This code is inserted after the automatically generated code.
/// <summary>
/// Window Constructor
/// </summary>
///
/// <remarks>
/// Constructs a new Window of type TopLevel.
/// </remarks>
public Window ()
{
RawObject = gtk_window_new (WindowType.Toplevel);
}
/// <summary>
/// Window Constructor
/// </summary>
///
/// <remarks>
/// Constructs a new Window of type TopLevel with the
/// specified Title.
/// </remarks>
public Window (String title) : this ()
{
this.Title = title;
}
/// <summary>
/// DefaultSize Property
/// </summary>
///
/// <remarks>
/// The default Size of the Window in Screen Coordinates.
/// </remarks>
public System.Drawing.Size DefaultSize {
get {
return new System.Drawing.Size (
DefaultWidth, DefaultHeight);
}
set {
DefaultWidth = value.Width;
DefaultHeight = value.Height;
}
}