Forum: Ruby-Gnome 2 Button depressing

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.
38a8230ed3d5c685558b4f0aad3fc74b?d=identicon&s=25 Joe Van Dyk (Guest)
on 2006-05-26 23:55
(Received via mailing list)
Hi,

I'm rewriting a Xlib graphical application in Gtk.  There's four
different states (run, hold, reset, shutdown)  that the application be
be in.  The state that the application is in is determined by another
application, but the user of the graphical application can request a
different "state".

Here's a picture of what the buttons for changing the state look like.
 http://img87.imageshack.us/img87/9717/buttons2mv.png  The application
is in "reset" mode currently.  Notice how the reset button is
depressed.

I'm struggling how to reproduce that look in Gtk.    I initially tried
toggle and radio buttons, but I couldn't figure out how to tell a
button to be active / toggled without generating a "toggled" event,
which would tell the application to send a request to change the
state.

Any ideas?  I'm guessing I have two solutions.  One is to figure out
how to get a normal button to look "depressed" like it does in the
picture.  The other solution is to figure out how to be able to tell a
toggle button to be toggled without that button emitting a toggled
event (which would tell the application to change state, when the user
hasn't requested a state change).

Thanks,
Joe
B7fcab0792d3ac305d6081eff76c0424?d=identicon&s=25 Sjoerd Simons (Guest)
on 2006-05-27 00:41
(Received via mailing list)
On Fri, May 26, 2006 at 02:54:03PM -0700, Joe Van Dyk wrote:
> event (which would tell the application to change state, when the user
> hasn't requested a state change).

You can use the "released signal" of the button for this. You just need
to
ensure that you check the actual state of the button in the callback (As
a
release outside of the button's area won't actually toggle it).

  Sjoerd
--
The speed of anything depends on the flow of everything.


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications
in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521...
F42c6469d2466db26c9ec98ba33f3ed1?d=identicon&s=25 Paul Davis (Guest)
on 2006-05-27 07:13
(Received via mailing list)
On Fri, 2006-05-26 at 14:54 -0700, Joe Van Dyk wrote:
> is in "reset" mode currently.  Notice how the reset button is
> picture.  The other solution is to figure out how to be able to tell a
> toggle button to be toggled without that button emitting a toggled
> event (which would tell the application to change state, when the user
> hasn't requested a state change).

all you seem to be doing is changing the colors. and no, GTK has no
method of making a button appear "pressed" without going through the
code path for an actual press. i just use a separate variable called
something like in_my_special_context. the handler for the button
click/press/release events simply checks to see if this is true, and
returns true without doing anything. you set the var to true when you
programmatically toggle the button, then back to false afterwards.



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications
in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521...
4716dc97e500eec4af3a0f8815a493cb?d=identicon&s=25 Tristan Van Berkom (Guest)
on 2006-05-27 07:13
(Received via mailing list)
Paul Davis wrote:

>>
>>
>method of making a button appear "pressed" without going through the
>code path for an actual press. i just use a separate variable called
>something like in_my_special_context. the handler for the button
>click/press/release events simply checks to see if this is true, and
>returns true without doing anything. you set the var to true when you
>programmatically toggle the button, then back to false afterwards.
>
>
>
Note also you can use g_signal_handler_block_by_func() for this
purpose.

Cheers,
                            -Tristan



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications
in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521...
F42c6469d2466db26c9ec98ba33f3ed1?d=identicon&s=25 Paul Davis (Guest)
on 2006-05-27 07:13
(Received via mailing list)
On Fri, 2006-05-26 at 20:42 -0400, Tristan Van Berkom wrote:
> >
> Note also you can use g_signal_handler_block_by_func() for this
> purpose.

not from gtkmm, at least not very conveniently.

--p




-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications
in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521...
Eb90c999e943427f375acc5e9d94dd5a?d=identicon&s=25 Murray Cumming (Guest)
on 2006-05-27 13:54
(Received via mailing list)
On Fri, 2006-05-26 at 14:54 -0700, Joe Van Dyk wrote:
> is in "reset" mode currently.  Notice how the reset button is
> depressed.
>
> I'm struggling how to reproduce that look in Gtk.    I initially tried
> toggle and radio buttons, but I couldn't figure out how to tell a
> button to be active / toggled without generating a "toggled" event,

It's up to you whether to handle that signal. With a bool you can stop
yourself from handling it.

> which would tell the application to send a request to change the
> state.
>
> Any ideas?  I'm guessing I have two solutions.  One is to figure out
> how to get a normal button to look "depressed" like it does in the
> picture.  The other solution is to figure out how to be able to tell a
> toggle button to be toggled without that button emitting a toggled
> event (which would tell the application to change state, when the user
> hasn't requested a state change).

--
Murray Cumming
murrayc@murrayc.com
www.murrayc.com
www.openismus.com



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications
in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521...
This topic is locked and can not be replied to.