private void Select(TreeIter iter)
        {
            string fieldName = (string)fieldBox.Model.GetValue(iter, 0);

            Type matchType = model[fieldName];

            match = Activator.CreateInstance(matchType) as QueryMatch;

            while (opBox.Model.IterNChildren() > 0)
            {
                opBox.RemoveText(0);
            }

            foreach (QueryFilterOperation op in match.ValidOperations)
            {
                opBox.AppendText(op.Name);
            }

            TreeIter opIterFirst;

            if (!opBox.Model.IterNthChild(out opIterFirst, 0))
            {
                throw new Exception("Field has no operations");
            }

            match.Column = fieldName;

            opBox.SetActiveIter(opIterFirst);
        }
        private void Select(TreeIter iter)
        {
            string fieldName = (string)fieldBox.Model.GetValue(iter, 0);

            Type matchType = model[fieldName];
            match = Activator.CreateInstance(matchType) as QueryMatch;

            while(opBox.Model.IterNChildren() > 0)
                opBox.RemoveText(0);

            foreach(QueryFilterOperation op in match.ValidOperations)
                opBox.AppendText(op.Name);

            TreeIter opIterFirst;
            if(!opBox.Model.IterNthChild(out opIterFirst, 0))
                throw new Exception("Field has no operations");

            match.Column = fieldName;

            opBox.SetActiveIter(opIterFirst);
        }