[Mono-docs-list] MyTextEntry, code source

Andrés Sáyago asath@yahoo.com
Mon, 21 Apr 2003 04:49:03 -0500

This is a multi-part message in MIME format.
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Miguel and people!

I'm new here and I'm new in the Mono world. I want to colaborate for 
this excelente project. My first colaboration is this code attachment, a 
conversion of the Entry in Gtk to Gtk#. The original code was taken from 
the official manual:

Please, my Eglish isn't perfect. But I receive suggests!

Andrés Sáyago


Hola Miguel. Este es mi primer aporte a Mono, una conversión del 
programa que usa el widget Entry en Gtk para ser usado en Gtk#. Usé el 
códido original del manual que se encuentra en:
Mi Inglés no es perfecto pero recibo sugerencias y agradezco correciones 
al texto. Me sentiría muy orgulloso y animado si incluyen mi aporte y 
los créditos en la página que Johannes Roith y Alejandro Sánchez Acosta 
tienen publicada.
Espero comentarios!

Portal GNU ColombiaLinux
Universidad Autónoma de Bucaramanga
Bucaramanga, Colombia
Tel: (57-7)6454994 Móvil: 3157632295

Content-Type: text/plain;
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;

// MyTextEntry.cs - GTK# Tutorial example
// Authors: Andrés Sáyago
//          asath@ColombiaLinux.org
// (C) 2003 Andrés Sáyago
// Colombia

namespace GtkSharpTutorial
  using Gtk;
  using GtkSharp;
  using System;

  public class textEntrySample
    // The entry_toggle_* functions use it
    static Entry entry;

    static void enter_callback(object obj, EventArgs args)
      string entry_text = ((Entry) obj).Text;
      Console.WriteLine("Entry contents: " + entry_text);

    static void entry_toggle_editable(object obj, EventArgs args)
      entry.Editable = ((CheckButton) obj).Active;

    static void entry_toggle_visibility(object obj, EventArgs args)
      entry.Visible = ((CheckButton) obj).Active;

    static void window_destroy(object obj, DeleteEventArgs args)

    static void button_close(object obj, EventArgs args)

    // Function for the Widgets building
    static void create_text_entry()
      Window window;
      VBox vbox;
      HBox hbox;
      Button button;
      CheckButton check;
      int tmp_pos;

      // Create a new window
      window = new Window (WindowType.Toplevel);
      window.SetDefaultSize(200, 100);
      window.Title = "GTK Entry";
      window.DeleteEvent += new DeleteEventHandler(window_destroy);
      vbox = new VBox(false, 0);

      // Box to enter text
      entry = new Entry();
      entry.MaxLength = 50;
      // When the Enter key is pressed, print a message to the console
      entry.Activated += new EventHandler(enter_callback);
      entry.Text = "hello";
      tmp_pos = entry.Text.Length;
      // Demostration of the 'InsertText' function (-1 is at end)
      entry.InsertText(" world", -1, out tmp_pos);
      // Text selected
      entry.SelectRegion(0, entry.Text.Length);
      vbox.PackStart(entry, true, true, 0);

      hbox = new HBox(false, 0);

      check = new CheckButton("Editable");
      hbox.PackStart(check, true, true, 0);
      check.Toggled += new EventHandler(entry_toggle_editable);
      check.Active = true;

      check = new CheckButton("Visible");
      hbox.PackStart(check, true, true, 0);
      check.Toggled += new EventHandler(entry_toggle_visibility);
      check.Active = true;

      button = Button.NewFromStock(Gtk.Stock.Close);
      button.Clicked += new EventHandler(button_close);
      vbox.PackStart(button, true, true, 0);
      button.CanDefault = true;


    // Main function
    public static void Main(string[] args)
      Application.Init ();
      Application.Run ();