title: How to make Gtk.ToggleToolButton behave like radiobuttons?
body: <p>I am writing a Vala application and I'm using Gtk.ToggleToolButtons' in it. And I want them to behave like radiobuttons, e.g. when clicking one of the buttons, others should be set unactive. The problem is, I don't know how to do it.</p>
  
  <p>I tried to do this:</p>
  
  <pre><code>public void uncheckButtonsExcept(string notUncheck)
  {
          feedButton.active = (notUncheck == "feed");
          userButton.active = (notUncheck == "self");
          photoButton.active = (notUncheck == "photo");
          searchButton.active = (notUncheck == "search");
          newsButton.active = (notUncheck == "news");
  }
  </code></pre>
  
  <p>and this function is run in each button's <code>clicked</code> callback, like this:</p>
  
  <pre><code>    searchButton.clicked.connect(() =&gt; {
          uncheckButtonsExcept("search");
      });
  </code></pre>
  
  <p>However when I'm clicking buttons, the program segfaults.</p>
  
  <p>I tried to wrap all my function into <code>Idle.add()</code> (because I already faced problems when my program segfaults after redrawing widgets not in the main thread), like this:</p>
  
  <pre><code>public void uncheckButtonsExcept(string notUncheck)
  {
      Idle.add(() =&gt; {
          feedButton.active = (notUncheck == "feed");
          userButton.active = (notUncheck == "self");
          photoButton.active = (notUncheck == "photo");
          searchButton.active = (notUncheck == "search");
          newsButton.active = (notUncheck == "news");
          return false;
      });
  }
  </code></pre>
  
  <p>and after this my program not segfaults, but freezes.</p>
  
  <p>I tried to use <code>set_active()</code>, but it also activated <code>toggled()</code> signal, which I don't want to.</p>
  
  <p>So, the question: how to set button state without activating the <code>clicked</code> callback? </p>