Forum: Ruby Ruby TK GUI questions

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
19c9bb95f1bbcde38b7555800286f051?d=identicon&s=25 htruax (Guest)
on 2005-12-01 20:25
(Received via mailing list)
Hello,

I added a subject line to my recent email, not sure if that is required.

Here are the questions again:

I am working on a Ruby TK GUI application and have a couple of
questions:

1) I setup a Listbox widget, and inserted 4 lines of text into it. The
user
clicks on any one of the elements of the list, which always holds the
four
possible selections. My question is, how do I get the active list
element to
display with the highlighting appearance you would see as if it was
clicked
on by the user? Right now, my list appears with no selected item until
someone clicks on an item - I want the Listbox to be created at startup,
filled with the selections, and then have the currently active element
displayed in the same manner it would appear if it was clicked on. I
know
how to set one of the four selections to be the active item, but I want
the
user to 'see' this via the highlighting.

2) Another portion of my project writes some text to a text widget. How
do I
set the cursor in the text widget at the first char position after the
insertion is done? I know how to set the focus to that text widget, but
the
cursor is at the end of the inserted text, I want to put the cursor at
the
first line, first character position.

Any help would be greatly appreciated,

Thank You,

Harry Truax
E4f967492dbd03c526cc9b397e68021d?d=identicon&s=25 nagai (Guest)
on 2005-12-02 08:35
(Received via mailing list)
From: "Harry Truax" <htruax@stf.com>
Subject: Ruby TK GUI questions
Date: Fri, 2 Dec 2005 04:24:29 +0900
Message-ID: <200512011424320.SM00796@htruax>
> 1) I setup a Listbox widget, and inserted 4 lines of text into it. The user
> clicks on any one of the elements of the list, which always holds the four
> possible selections. My question is, how do I get the active list element to
> display with the highlighting appearance you would see as if it was clicked
> on by the user?

  listbox_widget.curselection

It returns an array containing the numerical indices of
the selected elements.

>                 Right now, my list appears with no selected item until
> someone clicks on an item - I want the Listbox to be created at startup,
> filled with the selections, and then have the currently active element
> displayed in the same manner it would appear if it was clicked on. I know
> how to set one of the four selections to be the active item, but I want the
> user to 'see' this via the highlighting.

  listbox_widget.selectmode('multiple')
  listbox_widget.selection_clear(0, :end)
  [1,2].each{|idx| listbox_widget.selection_set(idx)}

    or, if want to set all,

  listbox_widget.selection_set(0, :end)

> 2) Another portion of my project writes some text to a text widget. How do I
> set the cursor in the text widget at the first char position after the
> insertion is done? I know how to set the focus to that text widget, but the
> cursor is at the end of the inserted text, I want to put the cursor at the
> first line, first character position.

  text_widget.mark_set('insert', '1.0')

     or

  ins = TkTextMarkInsert.new(text_widget)
  ins.set('1.0')

In some case, the following is usefull.

  text_widget.mark_gravity('insert', :left)
This topic is locked and can not be replied to.