Hmmm... There is no ActiveText property for me in gtk# 1.9.5 I'm using.
Am I using something wrong here?

I had to create a class with static methods to do what I wanted. I would subclass, but I could not figure how how to get a subclassed instance using Combo.NewText.

namespace Mono.Data.SqlSharp.GtkSharp
{
   using System;
   using GLib;
   using Gtk;

   public class ComboHelper : ComboBox
   {
       public static ComboBox NewComboBox ()
       {
           return ComboBox.NewText ();
       }

       public static string GetActiveText(ComboBox cbox)
       {
           if (cbox.Active < 0)
               return "";

           TreeIter iter;
           cbox.GetActiveIter (out iter);
string cvalue = ((ListStore) cbox.Model).GetValue (iter, 0).ToString();
           return cvalue;
       }

       public static bool SetActiveText (ComboBox cbox, string text)
       {
           // returns true if found, false if not found

           string tvalue;
           TreeIter iter;
           ListStore store = (ListStore) cbox.Model;

           store.IterChildren (out iter);
           tvalue  = store.GetValue (iter, 0).ToString();
           if (tvalue.Equals (text)) {
               cbox.SetActiveIter (iter);
               return true;
           }
           else {
               bool found = store.IterNext (ref iter);
               while (found == true) {
                   tvalue = store.GetValue (iter, 0).ToString();
                   if (tvalue.Equals (text)) {
                       cbox.SetActiveIter (iter);
                       return true;
                   }
                   else
                       found = store.IterNext (ref iter);
               }
           }

           return false; // not found
       }
   }
}


Mike Kestner wrote:

On Sat, 2005-06-25 at 20:34 -0400, Daniel Morgan wrote:
Here is a customization we could use:

It's fine to post patches to the list for comment, but please also open
a bug report and attach them in bugzilla to ensure they don't get
forgotten in the mailing list archives.

FWIW, I'm less excited about returning the index from SetActiveText than
I was about the original suggestion for AppendText.  Since there is
already an ActiveText {get;} , it would be nicer to add this
functionality as a setter to the prop without the index return.


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

Reply via email to