[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-app-devel
Subject: Re: how to i get the arrow-buttons moving?
From: Gary Kline <kline () thought ! org>
Date: 2014-09-04 4:02:30
Message-ID: 20140904040230.GA9864 () ethic ! thought ! org
[Download RAW message or body]
=====
Organization: Thought Unlimited. Public service Unix since 1986.
Of_Interest: With 28 years of service to the Unix community.
On Thu, Sep 04, 2014 at 12:32:06AM +0200, Gergely Polonkai wrote:
> Hello Gary,
>
> do I get it right, you want to manupulate/query the labels upon
> keypresses? Like when the user presses the Up arrow, fetch the text of
> the first label and print it somewhere?
*YES*. in another directory, three or four C files grab hold
of [[ Say ]] /tmp/files/text.3.txt {or} /tmp/files/text.NN.txt.
these TXT files contain what the speech-ompaired person has
typed. they are voiced by espeak and other speech binaries.
when I hit the up- or doen-arrow button I want SOmething to
appear on the "window" that has the arrow icons. when the
user hits Enter or mouse-clicks, that Something voices what
the users himself cannot.
> In that case, I'd like to know
> if you have a GtkApplication with GtkApplicationWindows, or "just" a
> simple GtkWindow?
in my arrow.c, in main(), I have a
GtkWidget *window;
and after gtk_init() is:
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
.
.
.
so it is just a simple window.
> For the former, I would go for actions and accels (see
> gtk_application_set_accels_for_action() and friends), while the former
> may require catching the ::key-press-event signal.
>
> Best,
> Gergely
I'll google around and see what functions do what! iv'e seen
the `accels' scroll past while searching for other parts of
code. I had 0.0 idea what it was. :)
thanks much,
gary
> On 4 September 2014 00:24, Gary Kline <kline@thought.org> wrote:
> > =====
> > Organization: Thought Unlimited. Public service Unix since 1986.
> > Of_Interest: With 28 years of service to the Unix community.
> >
> > On Wed, Sep 03, 2014 at 10:44:55PM +0200, Marcus Karlsson wrote:
> >> On Wed, Sep 03, 2014 at 01:13:06PM -0700, Gary Kline wrote:
> >> > thanks for your input, marcus, but could you give me a few lines of
> >> > code? I tried using the gtk_label_set_text() for over an hour
> >> > last night until it felt like my shoulder was going to drop off and
> >> > fall on the floor!
> >>
> >> You should be able to set the text with something like:
> >>
> >> gtk_label_set_text (GTK_LABEL (label), "some text");
> >>
> >> But this requires that you have a valid pointer to your label, eiter in
> >> a global variable or passed to the signal handler as the user_data
> >> pointer.
> >>
> >> > other than usinng "g_signal_connect()" to bail out with a Quit,
> >> > the only times I see anything to do with a signal are after going
> >> > GTK_ARROW_UP or _DOWN.... I may have misplaced the
> >> > gtk_label_get_text() stuff.
> >> >
> >> > iv'e got:
> >> >
> >> > gtk_label_get_text(GTK_LABEL(user_data), buf );
> >> >
> >> > which now looks aways off... need more clues.
> >>
> >> Gtk_label_get_text () returns the string in the return value, so you
> >> need to to something like:
> >>
> >> str = gtk_label_get_text (GTK_LABEL (user_data));
> >>
> >> This of course also requires that the user_data pointer is pointing at a
> >> label. In your code sample you passed 0 and 1 as the pointers, which
> >> most likely will not be valid pointers to your labels.
> >>
> >> It's often a good idea to group the elements that you need to access
> >> into an object and pass it as the user_data pointer. A struct would be
> >> sufficient. This could also include a field which says which label is
> >> currently selected, for example using and int in the range of 1 to 3.
> >>
> >> If you want to reuse the signal handler and still distinguish which
> >> button caused the signal then you can use the currently unused first
> >> argument which should point to the sender of the signal, or the button
> >> which was pressed down.
> >>
> >> Marcus
> >
> > well, here's the dope: after my 27th cup of french roast, it's all
> > coming together. *Or*, with a few more hacks, most things will fit.
> >
> > still, no one has been able to answer my main question: how, using
> > the arrow keys, do I attach onto the individual labels? I print
> > 3 labels to demonstrate what will appear of the window. there
> > probably will be dozens of strings that will become labels. I
> > need the up/down arrow keys to select One label. Another part of
> > the program will speak that string.
> >
> > your code examples were helpful. my main snafu was in mixing up
> > the "GTK_MACROS". The main step is getting the arrow keys to
> > incicatte--probably with a horizontal line--the right label.
> >
> > gary
> >
> >
> > --
> > Gary Kline kline@thought.org http://www.thought.org Public Service Unix
> > Twenty-eight years of service to the Unix community.
> >
> >
> > _______________________________________________
> > gtk-app-devel-list mailing list
> > gtk-app-devel-list@gnome.org
> > https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
--
Gary Kline kline@thought.org http://www.thought.org Public Service Unix
Twenty-eight years of service to the Unix community.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic