[Gtk-sharp-list] Toggled state change and events
Scott Ellington
scottellington at comcast.net
Wed Dec 14 22:46:51 EST 2005
If you are using regular toggle buttons (i.e. not toggletoolbuttons),
then what you can do is subclass ToggleButton and override the OnClicked
method like so:
protected override void OnClicked()
{
// make the change programmatically that causes the button to be toggled
// Don't call base.OnClicked() thus preventing the toggling
}
If you, like me, are using ToggleToolButton, then, as far as I know, you are out
luck. I have submitted a bug for this:
http://bugzilla.ximian.com/show_bug.cgi?id=77001
Scott
On Wed, 2005-12-07 at 04:28 +0100, Gennadiy Donchyts wrote:
> On 12/7/05, John Russell <jjrussell at gmail.com> wrote:
> A few weeks ago someone posted this question to the mailer and
> didn't
> recieve an answer. I have exactly the same question. Does
> anyone know
> how to do this? Thanks..
>
> Its essentially how to synchronize two separate toggle buttons
> that
> need to reflect the state of the UI that can be changed
> outside of the
> buttons. However, setting them active if the UI reflects that
> causes
> a toggled event. Is there a common workaround for this?
> Thanks for
> the help.
>
> I've found only temporary solution by remembering by accepting that
> evend is called twice,
> simply counting it :), so menu item and toolbar button call the same
> handler (both on toggled signal)
> in which I've put:
>
> if(trigger == 0)
> {
> trigger++;
> bool visible = ( (sender == menuItem) ? !toolButton.Active : !
> menuItem.Active ); // arhh!
> menuItem.Active = visible;
> button.Active = visible;
> }
> else
> {
> trigger = 0;
> }
>
> hope it helps...
>
> --Gena
>
>
> John
>
>
> Original post.
> **********************
> [Gtk-sharp-list] ToggleToolButton, CheckMenuItem, active,
> tooggled signals
>
> Gennadiy Donchyts
> Wed, 16 Nov 2005 12:52:12 -0800
>
> Hi all,
> sorry for some stupid newbie questions, I'm stucked with
> synchronization of the 2
> widgets' state, I have and application with Glade file (menu
> item and
> toolbar button
> are created there). In the glade I also add toggled signal for
> the CheckMenuItem
> menu; and ToggleToolButton button; on a toolbar. they both are
> connected to something like OnWindowToggled() function, how
> can I do
> the next:
>
> private void OnWindowToggled(...)
> {
> window.Visible = !window.Visible;
> menu.Active = window.Visible;
> buton.Active = window.Visible;
> }
>
> Is there some universal property/method which could set
> Checked / Toggled
> property of these 2 widgets *without* rising a toggled
> event?? ...
> lost a bit ...
>
> I've been plaing with the State property in the
> ToggleToolButton but there are
> also some problems with it and in CheckMenuItem there is no
> such thing ...
> (or at least I did not succeed to get it running in a good
> way).
>
> I liked Gtk# a lot but after using SFW it sometimes not very
> intuitive
> :) (that's why
> refference manual exists of course :), but they are still not
> complete
> also. By the
> way I liked a lot tutorials / help on Mono's Mediawiki - good
> job! (I
> would like to
> have tutorial on Toggled / Checked controls there, even could
> write myself when
> will understand them clearly).
>
> it would be nice to have:
>
> checkItem.Checked - calls signal/event
> checkItem.SetChecked(bool) - changes state without signal
> toggleItem.Toggled - toggles and calls signal/event
> toggleItem.SetToggled(bool) - changes toggled state without
> signal
> -----
> Another thing is regarding widgets you use in MonoDevelop,
> there is a comment
> that they are licensed using Novell license but MD uses GPL.
> Are there plans to
> make something like higher-level Widgets library (TreeView,
> PropertyGrid,
> Commands, Docking, etc.) and release them using less
> restrictive license?
> It would be nice to have them as a separate project. (I guess
> it should be in MD
> list.. sorry).
> -----
>
> Thanks in advance
> --Gena
> _______________________________________________
> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>
> _______________________________________________
> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
--
Scott Ellington <scottellington at comcast.net>
More information about the Gtk-sharp-list
mailing list