private bool IsPackageInStore (Gtk.ListStore store, string pname, string pversion, int pname_col, int pversion_col)
		{
			Gtk.TreeIter search_iter;
			bool has_elem = store.GetIterFirst (out search_iter);
				
			if (has_elem) {
				while (true) {
					string name = (string)store.GetValue (search_iter, pname_col);
					string version = (string)store.GetValue (search_iter, pversion_col);
					
					if (name == pname && version == pversion)
						return true;
						
					if (!store.IterNext (ref search_iter))
						break;
				}
			}
			
			return false;
		}
示例#2
0
    //selects a row that has an uniqueID (usually at col 0)
    public static bool TreeviewSelectRowWithID(Gtk.TreeView tv, Gtk.TreeStore store, int colNum, int id, bool scrollToRow)
    {
        if(id <= 0)
            return false;

        int rowNum = getRowNumOfThisID(store, colNum, id);
        if(rowNum == -1)
            return false;

        //set the selected
        int count = 0;
        TreeIter iter;
        bool iterOk = store.GetIterFirst(out iter);
        while(iterOk) {
            if(count == rowNum) {
                //1 select row
                tv.Selection.SelectIter(iter);

                //2 scroll to that row
                if(scrollToRow) {
                    TreePath path = store.GetPath (iter);
                    LogB.Debug(path.ToString());
                    tv.ScrollToCell (path, tv.Columns[0], true, 0, 0);
                }

                return true;
            }

            count ++;
            store.IterNext(ref iter);
        }
        return false;
    }
示例#3
0
    //finds the row number (starting at 0) of a cell (usually an uniqueID in col 0)
    private static int getRowNumOfThisID(Gtk.TreeStore store, int colNum, int searchedID)
    {
        TreeIter iter;
        int count = 0;
        bool iterOk = store.GetIterFirst(out iter);
        while(iterOk) {
            int thisID = Convert.ToInt32((string) store.GetValue (iter, colNum));
            if(thisID == searchedID)
                return count;

            count ++;
            iterOk = store.IterNext(ref iter);
        }
        return -1;
    }
示例#4
0
 ArrayList getTreeViewNeuromuscular(Gtk.ListStore ls)
 {
     TreeIter iter = new TreeIter();
     ls.GetIterFirst ( out iter ) ;
     ArrayList array = new ArrayList();
     do {
         EncoderNeuromuscularData nm = (EncoderNeuromuscularData) ls.GetValue (iter, 0);
         array.Add(nm);
     } while (ls.IterNext (ref iter));
     return array;
 }
示例#5
0
 // ---------helpful methods -----------
 ArrayList getTreeViewCurves(Gtk.ListStore ls)
 {
     TreeIter iter = new TreeIter();
     ls.GetIterFirst ( out iter ) ;
     ArrayList array = new ArrayList();
     do {
         EncoderCurve ec = (EncoderCurve) ls.GetValue (iter, 0);
         array.Add(ec);
     } while (ls.IterNext (ref iter));
     return array;
 }
        private List<String> getEntryListForModel(Gtk.ListStore model)
        {
            List<String> outList = new List<string>();

            Gtk.TreeIter iter;
            model.GetIterFirst(out iter);

            if(iter.Equals(null))
                return null;

            do
            {
                outList.Add(model.GetValue (iter, 0).ToString());

            }while(model.IterNext(ref iter));

            return outList;
        }
示例#7
0
            public TreeMapItem(Gtk.TreeModel m,
			                    ref Gtk.TreeIter iter,
			                    bool horiz,
			                    int textColumn,
			                    int weightColumn)
            {
                if (m == null)
                    throw new ArgumentNullException ("m");

                if (iter.Equals (Gtk.TreeIter.Zero))
                    throw new ArgumentException ("iter");

                if (textColumn < 0)
                    throw new ArgumentException ("textColumn");

                if (weightColumn < 0)
                    throw new ArgumentException ("weightColumn");

                Path = m.GetPath (iter);
                Title = (string)m.GetValue (iter, textColumn);
                Weight = (double)m.GetValue (iter, weightColumn);
                X = 0;
                Y = 0;
                Width = 0;
                Height = 0;
                Children = null;
                Horiz = horiz;

                Gtk.TreeIter citer;
                double c_total = 0.0;

                if (m.IterChildren (out citer, iter)) {
                    do {
                        AddChild (new TreeMapItem (m, ref citer, !horiz, textColumn, weightColumn));
                    } while (m.IterNext (ref citer));

                    // Get total weight
                    Children.ForEach (delegate (TreeMapItem i) {
                        c_total += Math.Abs (i.Weight);
                    });

                    this.ChildrenWeight = c_total;
                }
            }
示例#8
0
        private void RebuildAddTaskMenu(Gtk.TreeModel categoriesModel)
        {
            Gtk.Menu menu = new Menu ();

            Gtk.TreeIter iter;
            if (categoriesModel.GetIterFirst (out iter)) {
                do {
                    ICategory category =
                        categoriesModel.GetValue (iter, 0) as ICategory;

                    if (category is AllCategory)
                        continue; // Skip this one

                    CategoryMenuItem item = new CategoryMenuItem (category);
                    item.Activated += OnNewTaskByCategory;
                    item.ShowAll ();
                    menu.Add (item);
                } while (categoriesModel.IterNext (ref iter));
            }

            addTaskButton.Menu = menu;
        }