mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-24 16:15:40 +00:00
f750d78d6a
* generator/ObjectGen.cs : generate protected GType ctors * generator/SymbolTable.cs : map GType to uint * glib/Object.cs : add GType ctor. add RegisterGType. * glue/type.c (gtksharp_register_type): new GType registrar * */*.custom : make GType params uints * sample/Subclass.cs : a simple type registration example svn path=/trunk/gtk-sharp/; revision=9870
59 lines
1.1 KiB
C#
Executable file
59 lines
1.1 KiB
C#
Executable file
// Subclass.cs - Widget subclass Test implementation
|
|
//
|
|
// Author: Mike Kestner <mkestner@speakeasy.net>
|
|
//
|
|
// (c) 2001-2002 Mike Kestner
|
|
|
|
namespace GtkSamples {
|
|
|
|
using Gtk;
|
|
using GtkSharp;
|
|
using System;
|
|
using System.Drawing;
|
|
|
|
public class ButtonApp {
|
|
|
|
public static int Main (string[] args)
|
|
{
|
|
Application.Init ();
|
|
Window win = new Window ("Button Tester");
|
|
win.DefaultSize = new Size (200, 150);
|
|
win.DeleteEvent += new DeleteEventHandler (Window_Delete);
|
|
Button btn = new MyButton ();
|
|
btn.Label = "I'm a subclassed button";
|
|
btn.Clicked += new EventHandler (btn_click);
|
|
win.Add (btn);
|
|
win.ShowAll ();
|
|
Application.Run ();
|
|
return 0;
|
|
}
|
|
|
|
static void btn_click (object obj, EventArgs args)
|
|
{
|
|
Console.WriteLine ("Button Clicked");
|
|
}
|
|
|
|
static void Window_Delete (object obj, DeleteEventArgs args)
|
|
{
|
|
Application.Quit ();
|
|
args.RetVal = true;
|
|
}
|
|
|
|
}
|
|
|
|
public class MyButton : Gtk.Button {
|
|
|
|
static uint gtype = 0;
|
|
|
|
public MyButton () : base (GType) {}
|
|
|
|
public static new uint GType {
|
|
get {
|
|
if (gtype == 0)
|
|
gtype = RegisterGType (typeof (MyButton));
|
|
return gtype;
|
|
}
|
|
}
|
|
}
|
|
}
|