GtkSharp/sample/PrintSample.cs
Mike Kestner 6abcf29dfa 2006-07-27 Mike Kestner <mkestner@novell.com>
* bootstrap*: kill the 2.4/2.6/2.8 straps, they are on a 
	branch now. update 2.10 strap for new apis.
	* sources/Makefile.am : parse 2.16 sources for gnome libs.
	* sources/gtk-sharp-2.10-sources.xml : ditto.
	* parser/gapi-parser.cs : explicitly use an indented XML writer.
	* gnomevfs/gnome-vfs-api-2.16.raw: regen
	* gnomevfs/Gnomevfs.metadata: some build fixes
	* gnome/gnome-api-2.16.raw: regen
	* gnome/Gnome.metadata: some build fixes
	* sample/PrintSample.cs: remove new Gtk/Gnome ambiguities.

svn path=/trunk/gtk-sharp/; revision=63078
2006-07-28 15:39:10 +00:00

81 lines
1.6 KiB
C#

using System;
using Gtk;
using Gnome;
class PrintSample
{
TextView tv;
static void Main ()
{
new PrintSample ();
}
PrintSample ()
{
Application.Init ();
Gtk.Window win = new Gtk.Window ("Print sample");
win.SetDefaultSize (400, 300);
win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
VBox vbox = new VBox (false, 0);
win.Add (vbox);
tv = new TextView ();
tv.Buffer.Text = "Hello World";
vbox.PackStart (tv, true, true, 0);
Button print = new Button (Gtk.Stock.Print);
print.Clicked += new EventHandler (OnPrintClicked);
vbox.PackStart (print, false, true, 0);
win.ShowAll ();
Application.Run ();
}
void MyPrint (Gnome.PrintContext gpc)
{
gpc.BeginPage ("demo");
gpc.MoveTo (1, 700);
gpc.Show (tv.Buffer.Text);
gpc.ShowPage ();
}
void OnPrintClicked (object o, EventArgs args)
{
Gnome.PrintJob pj = new Gnome.PrintJob (Gnome.PrintConfig.Default ());
Gnome.PrintDialog dialog = new Gnome.PrintDialog (pj, "Print Test", 0);
int response = dialog.Run ();
Console.WriteLine ("response: " + response);
if (response == (int) PrintButtons.Cancel) {
Console.WriteLine ("Canceled");
dialog.Hide ();
dialog.Dispose ();
return;
}
Gnome.PrintContext ctx = pj.Context;
MyPrint (ctx);
pj.Close ();
switch (response) {
case (int) PrintButtons.Print:
pj.Print ();
break;
case (int) PrintButtons.Preview:
new PrintJobPreview (pj, "Print Test").Show ();
break;
}
dialog.Hide ();
dialog.Dispose ();
}
void OnWinDelete (object o, DeleteEventArgs args)
{
Application.Quit ();
}
}