Entry

Gamma/GTK: Using Gamma™ with GTK, Version 0.9
Prev | Appendix A. Example Code | Next

# A.6. Entry

    function create_entry ()
    {
      local	vbox, hbox, frame, label;

      cbitems = list("item0");
      cbitems = cons("item1 item1", cbitems);
      cbitems = cons("item2 item2 item2", cbitems);
      cbitems = cons("item3 item3 item3 item3", cbitems);
      cbitems = cons("item4 item4 item4 item4 item4", cbitems);
      cbitems = cons("item5 item5 item5 item5 item5 item5", cbitems);
      cbitems = cons("item6 item6 item6 item6 item6", cbitems);
      cbitems = cons("item7 item7 item7 item7", cbitems);
      cbitems = cons("item8 item8 item8", cbitems);
      cbitems = cons("item9 item9", cbitems);
      cbitems = reverse(cbitems);

      win_entry = new (GtkWindow);
      win_entry.signal ("destroy", #win_entry = nil);
      win_entry.title = "entry";

      box1 = new(GtkVBox);
      win_entry.add(box1);
      box1.show();

      box2 = new(GtkVBox);
      box2.spacing = 10;
      box2.border_width = 10;
      box1.pack_start(box2, TRUE, TRUE, 0);
      box2.show();

      entry = new(GtkEntry);
      entry.set_text("hello world");
      entry.select_region(0, 5);
      box2.pack_start(entry, TRUE, TRUE, 0);
      entry.show();

      cmb = new(GtkCombo);
      cmb.use_arrows = 0;
      cmb.set_popdown_strings(cbitems);
      cmbentry = car(cmb.children());
      cmbentry.set_text("hello world");
      cmbentry.select_region(0, -1);
      box2.pack_start(cmb, TRUE, TRUE, 0);
      cmb.show();

      ed_check = new(GtkCheckButton);
      ed_check.label = "Editable";
      box2.pack_start(ed_check, FALSE, TRUE, 0);
      ed_check.signal("toggled",
    		  `(@entry).set_editable((@ed_check).get_active()));
      ed_check.set_active(TRUE);
      ed_check.show();

      vis_check = new(GtkCheckButton);
      vis_check.label = "Visible";
      box2.pack_start(vis_check, FALSE, TRUE, 0);
      vis_check.signal("toggled",
    		   `(@entry).set_visibility((@vis_check).get_active()));
      vis_check.set_active(TRUE);
      vis_check.show();

      sens_check = new(GtkCheckButton);
      sens_check.label = "Sensitive";
      box2.pack_start(sens_check, FALSE, TRUE, 0);
      sens_check.signal("toggled",
    		    `(@entry).set_sensitive((@sens_check).get_active()));
      sens_check.set_active(TRUE);
      sens_check.show();

      separator = new(GtkHSeparator);
      box1.pack_start(separator, FALSE, TRUE, 0);
      separator.show();

      box2 = new (GtkVBox);
      box2.spacing = 10;
      box2.border_width = 10;
      box1.pack_start (box2, FALSE, TRUE, 0);
      box2.show();

      button = new(GtkButton);
      button.label = "close";
      button.signal("clicked", `(@win_entry).destroy());
      box2.pack_start (button, TRUE, TRUE, 0);
      button.can_default = TRUE;
      button.grab_default();
      button.show();

      win_entry.show_all();
      win_entry;
    }

    function main ()
    {
      local window, win_entry;
      TRUE=1;
      FALSE=0;
      window = create_entry ();
      window.signal ("destroy", #exit_program(0));
      init_ipc("entry", "entryq");
      gtk_main ();
    }

Prev | Home | Next
Dialog | Up | File Selection

Copyright 1995-2002 by Cogent Real-Time Systems, Inc.