public ChatTreeView() { ThemeSettings = new ThemeSettings(); TreeStore = new Gtk.TreeStore(typeof(ChatView)); TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending); TreeStore.SetSortFunc(0, SortTreeStore); Model = TreeStore; HeadersVisible = false; BorderWidth = 0; ShowExpanders = false; LevelIndentation = 12; Selection.Mode = Gtk.SelectionMode.Browse; Selection.Changed += (sender, e) => { Gtk.TreeIter iter; if (!Selection.GetSelected(out iter) && TreeStore.GetIterFirst(out iter)) { Selection.SelectIter(iter); return; } if (Gtk.TreeIter.Zero.Equals(iter)) { // no chat views available; this happens during shutdown return; } var path = TreeStore.GetPath(iter); f_CurrentChatNumber = GetRowNumber(path); }; var iconRenderer = new Gtk.CellRendererPixbuf(); var column = new Gtk.TreeViewColumn(null, iconRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon)); AppendColumn(column); var cellRenderer = new Gtk.CellRendererText() { Ellipsize = Pango.EllipsizeMode.End }; column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Expand = true; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName)); AppendColumn(column); cellRenderer = new Gtk.CellRendererText(); column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Alignment = 1; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity)); AppendColumn(column); ActivityColumn = column; }
ArrayList SaveStatus() { ArrayList list = new ArrayList(); Gtk.TreeIter it; if (!store.GetIterFirst(out it)) { return(list); } do { SaveStatus(list, "", it); } while (store.IterNext(ref it)); return(list); }
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 MoveToRoot() { AssertIsValid(); Gtk.TreeIter it; if (!store.GetIterFirst(out it)) { return(false); } MoveToIter(it); return(true); }
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)); }
public ChatTreeView() { ThemeSettings = new ThemeSettings(); TreeStore = new Gtk.TreeStore(typeof(ChatView)); TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending); TreeStore.SetSortFunc(0, SortTreeStore); Model = TreeStore; HeadersVisible = false; BorderWidth = 0; ShowExpanders = false; LevelIndentation = 12; Selection.Mode = Gtk.SelectionMode.Browse; Selection.Changed += (sender, e) => { Gtk.TreeIter iter; if (!Selection.GetSelected(out iter) && TreeStore.GetIterFirst(out iter)) { Selection.SelectIter(iter); return; } var path = TreeStore.GetPath(iter); f_CurrentChatNumber = GetRowNumber(path); }; var iconRenderer = new Gtk.CellRendererPixbuf(); var column = new Gtk.TreeViewColumn(null, iconRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon)); AppendColumn(column); var cellRenderer = new Gtk.CellRendererText() { Ellipsize = Pango.EllipsizeMode.End }; column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Expand = true; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName)); AppendColumn(column); cellRenderer = new Gtk.CellRendererText(); column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Alignment = 1; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity)); AppendColumn(column); ActivityColumn = column; }
/// <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); } } }