public TreePosition GetChild(TreePosition pos, int index) { IterPos tpos = (IterPos)pos; if (tpos.LastChildIndex == index) { return(new IterPos(tpos.LastChildIter)); } if (index == 0) { Gtk.TreeIter it; if (Tree.GetIterFirst(out it)) { tpos.LastChildIter = it; tpos.LastChildIndex = 0; return(new IterPos(it)); } else { return(null); } } if (tpos.LastChildIndex == -1 || tpos.LastChildIndex > index) { Gtk.TreeIter it; if (Tree.IterNthChild(out it, index)) { tpos.LastChildIter = it; tpos.LastChildIndex = index; return(new IterPos(it)); } else { return(null); } } // tpos.LastChildIndex < index Gtk.TreeIter iter = tpos.LastChildIter; for (int n = tpos.LastChildIndex; n < index; n++) { if (!Tree.IterNext(ref iter)) { return(null); } } tpos.LastChildIter = iter; tpos.LastChildIndex = index; return(new IterPos(iter)); }
void UpdateGroupStatus(Gtk.TreeIter iter) { Gtk.TreeIter signalIter; if (store.IterChildren(out signalIter, iter)) { do { if (store.IterNChildren(signalIter) > 0) { store.SetValue(iter, ColSignalTextWeight, (int)Pango.Weight.Bold); return; } } while (store.IterNext(ref signalIter)); } store.SetValue(iter, ColSignalTextWeight, (int)Pango.Weight.Normal); }
protected virtual void OnCompleteRadiobuttonToggled(object sender, System.EventArgs e) { if (completeRadiobutton.Active) { Gtk.TreeIter iter; if (group_store.IterNChildren() > 0) { group_store.GetIterFirst(out iter); group_store.SetValue(iter, 0, true); while (group_store.IterNext(ref iter)) { group_store.SetValue(iter, 0, true); } } } }
public bool MoveNext() { AssertIsValid(); Gtk.TreeIter it = currentIter; if (!store.IterNext(ref it)) { return(false); } MoveToIter(it); return(true); }
/// <summary> /// Adds a person to a group and stores it in EDS /// </summary> public bool IsPersonInGroup(Person person) { Gtk.TreeIter iter; if (personTreeStore.GetIterFirst(out iter)) { do { Person iterPerson = (Person)personTreeStore.GetValue(iter, 0); if (person.Id.CompareTo(iterPerson.Id) == 0) { return(true); } } while(personTreeStore.IterNext(ref iter)); } return(false); }
/// <summary> /// Reloads assemblies if they are modified after they are loaded in the SolidReflector. /// </summary> /// <param name="filepaths">Filepaths of the assemblies that will be monitored.</param> /// private void WatchFilesForChanges(string[] filepaths) { FileSystemWatcher watcher; List <FileSystemWatcher> watchers = new List <FileSystemWatcher>(); foreach (string filepath in filepaths) { if (File.Exists(filepath)) { watcher = new FileSystemWatcher(Path.GetDirectoryName(filepath)); watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Changed += delegate(object sender, FileSystemEventArgs e) { Gtk.TreeIter assemblyIter; store.GetIterFirst(out assemblyIter); foreach (string file in loadedAssemblies) { if (file == e.FullPath) { do { AssemblyDefinition assDef = store.GetValue(assemblyIter, 0) as AssemblyDefinition; if (assDef.MainModule.FullyQualifiedName == file) { store.Remove(ref assemblyIter); } } while (store.IterNext(ref assemblyIter)); AssemblyDefinition ad1 = AssemblyDefinition.ReadAssembly(file); store.AppendValues(ad1); LoadSelectedAssembliesTreePaths(); } } }; watcher.EnableRaisingEvents = true; watcher.IncludeSubdirectories = false; watchers.Add(watcher); } } }
public static string ClearTimeConflicts(Gtk.TreeStore treeContent, Gtk.TreeIter toCheck) { // Get first Iter with equal time string checkVal = (string)treeContent.GetValue(toCheck, (int)ProgrammColumnID.Uhrzeit); Gtk.TreeIter before = toCheck; Gtk.TreeIter drag = toCheck; while (treeContent.IterPrevious(ref before)) { string refVal = (string)treeContent.GetValue(before, (int)ProgrammColumnID.Uhrzeit); if (refVal.StartsWith(checkVal.Substring(0, 5))) { drag = before; } else { break; } } // Set all values bool hasNext = true; for (int i = 0; hasNext; i++) { SetRang(treeContent, drag, i); GtkHelper.SortInByColumn(treeContent, (int)ProgrammColumnID.Uhrzeit, drag); hasNext = treeContent.IterNext(ref drag); if (hasNext) { string refVal = (string)treeContent.GetValue(drag, (int)ProgrammColumnID.Uhrzeit); if (!refVal.StartsWith(checkVal.Substring(0, 5))) // Same HH:MM { break; } } } // Return the new value of the treeIter return((string)treeContent.GetValue(toCheck, (int)ProgrammColumnID.Uhrzeit)); }