On 12/7/05, John Russell <[EMAIL PROTECTED]> 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  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to