protected virtual void OnRowSelected(object o, EventArgs args) { if (ElementUpdated == null) { return; } TreeIter tIter; TreeSelection selection = this.Selection; if (selection == null || (selection != null && selection.CountSelectedRows() == 0)) { return; } selection.GetSelected(out tIter); IElement element = model.GetValue(tIter, 2) as IElement; if (element != null) { ElementUpdated(this, new ElementUpdatedEventArgs(element)); } }
bool GetSelectedCommandIter(out TreeIter iter, out Command cmd) { TreeSelection sel = keyTreeView.Selection; if (!sel.GetSelected(out iter)) { cmd = null; return(false); } cmd = (Command)filterModel.GetValue(iter, commandCol); if (cmd == null) { return(false); } if (keyStore.GetIterFirst(out iter) && FindIterForCommand(cmd, iter, out iter)) { return(true); } throw new Exception("Did not find command in underlying model"); }
protected void OnProteinSelected(object obj, EventArgs e) { TreeSelection selection = (obj as TreeView).Selection; TreeModel model; TreeIter iter; if (!selection.GetSelected(out model, out iter)) { return; } int i = int.Parse(model.GetPath(iter).ToString()); //model.GetValue(iter,0); Protein p = m_Mapper.Proteins[i]; if (p.Subset.Count == 0) { textviewProt.Buffer.Text = "Peptide list: "; foreach (Peptide f in p.Peptides) { textviewProt.Buffer.Text += f.ToString() + ' '; } textviewProt.Buffer.Text += "\nSequence: " + p.Sequence; } else { textviewProt.Buffer.Text = ""; foreach (Protein t in p.Subset) { textviewProt.Buffer.Text += t.Name + ": "; foreach (Peptide f in t.Peptides) { textviewProt.Buffer.Text += f.ToString() + ' '; } textviewProt.Buffer.Text += "\n"; } } }
private void ComboChanged(object o, EditedArgs args) { TreeSelection selection = tv.Selection; TreeIter iter; if (!selection.GetSelected(out iter)) { return; } Entry entry = (Entry)model.GetValue(iter, COLINDEX_ENTRY); // smells... if (args.NewText == "Push") { entry.DefaultGitAction = DefaultGitAction.Push; } else if (args.NewText == "Pull") { entry.DefaultGitAction = DefaultGitAction.Pull; } model.SetValue(iter, COLINDEX_ENTRY, entry); }
void treeViewFontSizes_SelectionChanged(object sender, EventArgs args) { int fontsize_selected = -1; TreeSelection selection = (sender as TreeView).Selection; TreeModel model; TreeIter iter; // iter - points to selected row if (selection.GetSelected(out model, out iter)) { TreePath tree_path = model.GetPath(iter); string select_path = tree_path.ToString(); int idx_column = 0; object selected_object = model.GetValue(iter, idx_column); fontsize_selected = (int)selected_object; } entryFontSize.Text = fontsize_selected.ToString(); ApplyTextTags(textviewDemoText.Buffer, "fontsize:" + fontsize_selected.ToString()); return; }
protected void Store_Click(object o, RowActivatedArgs args) { //Setup text StoreGame metadata = new StoreGame(); TreeSelection selection = (o as TreeView).Selection; TreeModel model; TreeIter iter; // The iter will point to the selected row if (selection.GetSelected(out model, out iter)) { metadata = (StoreGame)model.GetValue(iter, 1); lbstorename.Text = metadata.Name; lbstoredesc.Text = metadata.GameDescription; lbstoregenre.Text = "Genre: " + metadata.Genre; lbstoreplatform.Text = "Platform: " + metadata.Platform; lbstoreversion.Text = "Version: " + metadata.GameVersion; gamedownloadlink = metadata.ZIPDownload; } //Show the Store Actions bar. storeactions.Show(); }
protected virtual void OnBtnEditCond1Clicked(object sender, System.EventArgs e) { if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow)) { return; } TreeSelection ts = tvConditions.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } Condition cd = (Condition)tvConditions.Model.GetValue(ti, 2); if (cd == null) { return; } TreeSelection tsR = tvRules.Selection; TreeIter tiR = new TreeIter(); tsR.GetSelected(out tiR); TreePath[] tpR = tsR.GetSelectedRows(); if (tpR.Length < 1) { return; } Rule rl = (Rule)tvRules.Model.GetValue(tiR, 2); EntryDialog ed = new EntryDialog(rl.Name, MainClass.Languages.Translate("new_name")); int result = ed.Run(); if (result == (int)ResponseType.Ok) { string newStr = ed.TextEntry; if (!String.IsNullOrEmpty(newStr)) { Rule rlFind = cd.Rules.Find(x => x.Name.ToUpper() == newStr.ToUpper()); if (rlFind != null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("rule_is_exist", rlFind.Name), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } Condition cd2 = conditions.Find(x => x.Id == cd.Id); cd2.Rules.Remove(rl); rl.Name = newStr; ruleStore.SetValues(tiR, rl.Id, rl.Name, rl); cd2.Rules.Add(rl); conditionStore.SetValues(ti, cd2.Id, cd2.Name, cd2); //cd.Rules.Add(rl); } } ed.Destroy(); }
protected virtual void OnBtnEditMaskClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1); if (cd == null) { return; } TreeSelection tsR = tvMask.Selection; TreeIter tiR = new TreeIter(); tsR.GetSelected(out tiR); TreePath[] tpR = tsR.GetSelectedRows(); if (tpR.Length < 1) { return; } string rl = (string)tvMask.Model.GetValue(tiR, 0); EntryDialog ed = new EntryDialog(rl, MainClass.Languages.Translate("new_name"), parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { string newStr = ed.TextEntry; if (!String.IsNullOrEmpty(newStr)) { if (rl.ToUpper() == newStr.ToUpper()) { ed.Destroy(); return; } string rlFind = cd.Mask.Find(x => x.ToUpper() == newStr.ToUpper()); if (!String.IsNullOrEmpty(rlFind)) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("mask_is_exist", rlFind), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } LogicalSystem cd2 = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper()); cd2.Mask.Remove(rlFind); maskStore.SetValues(tiR, 0, newStr, newStr); cd2.Mask.Add(newStr); filterStore.SetValues(ti, cd2.Display, cd2); } } ed.Destroy(); }
private void ShowAdd2Page() { Header = CmisSync.Properties_Resources.ResourceManager.GetString("Which", CultureInfo.CurrentCulture); VBox layout_vertical = new VBox(false, 12); Button cancel_button = new Button(cancelText); cancel_button.Clicked += delegate { Controller.PageCancelled(); }; Button continue_button = new Button(continueText) { Sensitive = false }; continue_button.Clicked += delegate { Controller.Add2PageCompleted( Controller.saved_repository, Controller.saved_remote_path); }; Button back_button = new Button(backText) { Sensitive = true }; back_button.Clicked += delegate { Controller.BackToPage1(); }; TreeStore repoStore = new Gtk.TreeStore(typeof(string), typeof(SelectionTreeItem)); TreeIter iter; foreach (KeyValuePair <String, String> repository in Controller.repositories) { iter = repoStore.AppendNode(); repoStore.SetValues(iter, repository.Value, new SelectionTreeItem(repository.Key, "/")); } Gtk.TreeView treeView = new Gtk.TreeView(repoStore); treeView.HeadersVisible = false; treeView.Selection.Mode = SelectionMode.Single; treeView.AppendColumn("Name", new CellRendererText(), "text", 0); treeView.CursorChanged += delegate(object o, EventArgs args) { TreeSelection selection = (o as TreeView).Selection; TreeModel model; if (selection.GetSelected(out model, out iter)) { SelectionTreeItem sti = model.GetValue(iter, 1) as SelectionTreeItem; // Identify the selected remote path. Controller.saved_remote_path = sti.fullPath; // Identify the selected repository. TreeIter cnode = iter; TreeIter pnode = iter; while (model.IterParent(out pnode, cnode)) { cnode = pnode; } Controller.saved_repository = (model.GetValue(cnode, 1) as SelectionTreeItem).repository; // Load sub-folders if it has not been done already. // We use each item's Tag to store metadata: whether this item's subfolders have been loaded or not. if (sti.childrenLoaded == false) { this.GdkWindow.Cursor = wait_cursor; // Get list of subfolders asynchronously GetSubfoldersDelegate dlgt = new GetSubfoldersDelegate(CmisUtils.GetSubfolders); IAsyncResult ar = dlgt.BeginInvoke(Controller.saved_repository, Controller.saved_remote_path, Controller.saved_address.ToString(), Controller.saved_user, Controller.saved_password, null, null); while (!ar.AsyncWaitHandle.WaitOne(100)) { while (Application.EventsPending()) { Application.RunIteration(); } } string[] subfolders = dlgt.EndInvoke(ar); TreePath tp = null; // Create a sub-item for each subfolder foreach (string subfolder in subfolders) { TreeIter newchild = repoStore.AppendNode(iter); repoStore.SetValues(newchild, System.IO.Path.GetFileName(subfolder), new SelectionTreeItem(null, subfolder)); if (null == tp) { tp = repoStore.GetPath(newchild); } } sti.childrenLoaded = true; if (null != tp) { treeView.ExpandToPath(tp); } this.GdkWindow.Cursor = default_cursor; } continue_button.Sensitive = true; } }; ScrolledWindow sw = new ScrolledWindow() { ShadowType = Gtk.ShadowType.In }; sw.Add(treeView); layout_vertical.PackStart(new Label(""), false, false, 0); layout_vertical.PackStart(sw, true, true, 0); Add(layout_vertical); AddButton(back_button); AddButton(continue_button); AddButton(cancel_button); }
protected virtual void OnBtnEditCondClicked(object sender, System.EventArgs e) { if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow)) { return; } TreeSelection ts = tvConditions.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } Condition cd = (Condition)tvConditions.Model.GetValue(ti, 2); if (cd == null) { return; } EntryDialog ed = new EntryDialog(cd.Name, MainClass.Languages.Translate("new_conditions"), parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { string newStr = ed.TextEntry; if (!String.IsNullOrEmpty(newStr)) { if (newStr == cd.Name) { return; } Condition cdFind = conditions.Find(x => x.Name.ToUpper() == newStr.ToUpper()); if (cdFind != null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("conditions_is_exist", cdFind.Name), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } Condition cdEdited = conditions.Find(x => x.Id == cd.Id); if (cdEdited == null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("unspecified_error"), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } cdEdited.Name = newStr; conditionStore.SetValues(ti, cdEdited.Id, cdEdited.Name, cdEdited); //conditions.Find(cd).Name =ed.TextEntry; } } ed.Destroy(); }
void HandleCursorChanged(object sender, EventArgs e) { TreeSelection selection = tree.Selection; TreeModel model; TreeIter iter; Value v; string name, type; object value; View view = null; if (!selection.GetSelected(out model, out iter)) { return; } v = new Value(); store.GetValue(iter, 0, ref v); name = v.Val as string; v = new Value(); store.GetValue(iter, 1, ref v); type = v.Val as string; v = new Value(); store.GetValue(iter, 2, ref v); value = v.Val; // Create a view based on what we got switch (type) { case "System.IO.MemoryStream": MemoryStream stream = value as MemoryStream; if (name.EndsWith(".xaml")) { stream.Position = 0; using (MemoryStream clone = new MemoryStream(stream.ToArray())) { using (StreamReader t = new StreamReader(clone)) { view = new ViewText(t.ReadToEnd()); } } } else if (name.EndsWith(".png") || name.EndsWith(".jpg")) { using (MemoryStream clone = new MemoryStream(stream.ToArray())) { view = new ViewImage(clone); } } else { Console.WriteLine("Don't know what to do with a {0} in a {1}", name, type); } break; case "System.String": if (value != null) { view = new ViewText((string)value); } break; default: Console.WriteLine("Unhandled case: {0}", type); break; } // Remove previous views and add the new one while (box.Children.Length > 1) { box.Remove(box.Children [1]); } if (view != null) { box.PackStart(view.GetView(), true, true, 0); box.ShowAll(); } }
void HandleCursorChanged(object sender, EventArgs e) { TreeSelection selection = tree.Selection; TreeModel model; TreeIter iter; Value v; string type, info; View view = null; if (!selection.GetSelected(out model, out iter)) { return; } // Create a view based on what we got v = new Value(); store.GetValue(iter, 2, ref v); info = v.Val as string; v = new Value(); store.GetValue(iter, 1, ref v); type = v.Val as string; switch (type) { case "Class": Console.WriteLine("JB, We need your decompiler."); break; case "Resource": Resource res; v = new Value(); store.GetValue(iter, 3, ref v); res = v.Val as Resource; if (res != null) { view = new ViewResource(res); } else { Console.WriteLine("{0} didn't have a Resource, it had a {1}.", type, v.Val == null ? "null" : v.Val.GetType().ToString()); } break; case "Method": case "Getter": case "Setter": case "Remover": case "Adder": case "Invoker": case "Constructor": MethodDefinition def; v = new Value(); store.GetValue(iter, 3, ref v); def = v.Val as MethodDefinition; if (def != null) { view = new ViewCode(def); } else { Console.WriteLine("{0} didn't have a MethodDefinition.", type); } break; default: Console.WriteLine("Unhandled case: {0}", type); break; } // Remove old views and add the new one while (box.Children.Length > 1) { box.Remove(box.Children [1]); } if (view != null) { box.PackStart(view.GetView(), true, true, 0); box.ShowAll(); } }
protected virtual void OnBtnEditFieldClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFields.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } FieldTable oldFT = (FieldTable)tvFields.Model.GetValue(ti, 4); if (oldFT == null) { return; } SqlLiteAddFiled sqlAddField = new SqlLiteAddFiled(oldFT, this); int result = sqlAddField.Run(); if (result == (int)ResponseType.Ok) { FieldTable newFT = sqlAddField.FieldTable; if (newFT != null) { string tempTable = "temp_" + tableName + "_backup"; string sqlBegin = "BEGIN TRANSACTION ;"; string sqlRename = String.Format(" ALTER TABLE {0} RENAME TO {1} ;", tableName, tempTable); string sqlReCreate = string.Format(" CREATE TABLE {0}( ", tableName); string oldColums = ""; string newColums = ""; for (int r = 0; r < fields.Count; r++) { if (fields[r].Name != oldFT.Name) { string dfltValue = fields[r].DefaultValue; string type = fields[r].Type; sqlReCreate = sqlReCreate + fields[r].Name + " " + type; if (fields[r].NotNULL) { sqlReCreate = sqlReCreate + " NOT NULL"; } if (!String.IsNullOrEmpty(dfltValue)) { if ((type.IndexOf("NUMERIC") > -1) || (type.IndexOf("INTEGER") > -1)) { sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } else { if (!dfltValue.StartsWith("'")) { dfltValue = "'" + dfltValue; } if (!dfltValue.EndsWith("'")) { dfltValue = dfltValue + "'"; } sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } } oldColums = oldColums + fields[r].Name; newColums = newColums + fields[r].Name; } else { string dfltValue = newFT.DefaultValue; string type = newFT.Type; sqlReCreate = sqlReCreate + newFT.Name + " " + type; if (newFT.NotNULL) { sqlReCreate = sqlReCreate + " NOT NULL"; } if (!String.IsNullOrEmpty(dfltValue)) { if ((type.IndexOf("NUMERIC") > -1) || (type.IndexOf("INTEGER") > -1)) { sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } else { if (!dfltValue.StartsWith("'")) { dfltValue = "'" + dfltValue; } if (!dfltValue.EndsWith("'")) { dfltValue = dfltValue + "'"; } sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } } oldColums = oldColums + fields[r].Name; newColums = newColums + newFT.Name; } if (r < fields.Count - 1) { sqlReCreate = sqlReCreate + ","; oldColums = oldColums + ","; newColums = newColums + ","; } } sqlReCreate = sqlReCreate + ") ;"; string sqlInsertInto = string.Format(" INSERT INTO {0}( {1} ) SELECT {2} FROM {3} ;", tableName, newColums, oldColums, tempTable); string sqlDropTable = string.Format(" DROP TABLE {0} ;", tempTable); string sqlEnd = "COMMIT ;"; string sql = sqlBegin + "\n" + sqlRename + "\n" + sqlReCreate + "\n" + sqlInsertInto + "\n" + sqlDropTable + "\n" + sqlEnd; //Console.WriteLine(sql); if (sqlLiteDal.RunSqlScalar(sql)) { //fields.Remove(oldFT); //fieldsStore.SetValue(ti, GetTableStructure(); } else { // nepodarilo sa vymazanie, dam naspet //fields.Add(oldFT); } } } sqlAddField.Destroy(); }
private void OnPurchase(object o, EventArgs args) { TreeIter iter; TreeModel model; TreeSelection sel = songtv.Selection; if (!sel.GetSelected(out model, out iter)) { return; } bool Purchase = true; int index = (int)model.GetValue(iter, 5); Hashtable song = (Hashtable)this.songs[index]; if (song["downloadKey"] == null) { Hashtable meta; PurchaseDialog dlg = new PurchaseDialog(MainWindow); if (song["metaData"] != null) { meta = (Hashtable)song["metaData"]; } else if (song["metadata"] != null) { meta = (Hashtable)song["metadata"]; } else { meta = song; } if (song["isAlbum"] != null && (bool)song["isAlbum"] == true) { dlg.Title = "*"; dlg.Artist = "*"; } else { dlg.Title = (string)meta["itemName"]; dlg.Artist = (string)meta["artistName"]; } dlg.Album = (string)meta["playlistName"]; dlg.Price = GetSongPrice(meta); if ((ResponseType)dlg.Run() != ResponseType.Accept) { Purchase = false; } dlg.Destroy(); } if (!Purchase) { return; } if (song["downloadKey"] == null) { ThreadPool.QueueUserWorkItem(new WaitCallback(PurchaseThread), song); } else { ArrayList songs = new ArrayList(); songs.Add(song); ThreadPool.QueueUserWorkItem(new WaitCallback(DownloadThread), songs); } }
//int pageCount = 1; protected virtual void OnButtonOkClicked(object sender, System.EventArgs e) { if (notebook1.Page == 0) { btnBack.Sensitive = true; TreeSelection ts = tvItem.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); fileName = entrName.Text; if (tp.Length <= 0) { return; } if (String.IsNullOrEmpty(fileName)) { return; } fileExtension = tvItem.Model.GetValue(ti, 1).ToString(); notebook1.Page = 1; //pageCount =2; entrName2.Text = entrName.Text; //} } else if (notebook1.Page == 1) { FileTemplate ft = GetSelectedTemplate(); lblPrjName.LabelProp = FileName; Pango.FontDescription customFont = lblPrjName.Style.FontDescription.Copy(); // Pango.FontDescription.FromString(MainClass.Settings.ConsoleTaskFont); customFont.Size = customFont.Size + (customFont.Size / 2); customFont.Weight = Pango.Weight.Bold; lblPrjName.ModifyFont(customFont); if (ft == null) { content = ""; this.Respond(ResponseType.Ok); return; } while (tblAtributes.Children.Length > 0) { tblAtributes.Remove(tblAtributes.Children[0]); } tblAtributes.NRows = (uint)ft.Attributes.Count + 3; tblAtributes.NColumns = 3; tblAtributes.BorderWidth = 10; tblAtributes.WidthRequest = 200; //tblAtributes.BorderWidth = 2; //vbox3.PackStart(tblAtributes,true,true,2); int i = 1; foreach (FileTemplate.Attribute attr in ft.Attributes) { if (attr.Type == "bool") { bool defValue = false; if (attr.Value != null) { Boolean.TryParse(attr.Value.ToString(), out defValue); } GenerateCheckBox(ref tblAtributes, attr, i); } else { GenerateEntry(ref tblAtributes, attr, i); } i++; } ; tblAtributes.ShowAll(); this.ShowAll(); notebook1.Page = 2; //pageCount =3; } else if (notebook1.Page == 2) { FileTemplate ft = GetSelectedTemplate(); fileTemplate = ft; if (ft == null) { content = ""; } else { content = FileTemplateUtilities.Apply(fileTemplate.Content, fileTemplate.GetAttributesAsDictionary()); } this.Respond(ResponseType.Ok); } }
void ChooseStation() { Locations loc = new Locations(); TreeStore store = new TreeStore(typeof(string), typeof(string), typeof(string)); List <Region> regions = loc.Regions; foreach (Region r in regions) { TreeIter iter = store.AppendValues(r.Name, GetTypeName(r), String.Empty); AddTreeEntries(r, store, iter); } Window win = new Window("Select your location"); win.SetDefaultSize(400, 400); VBox vbox = new VBox(false, 0); win.Add(vbox); ScrolledWindow sw = new ScrolledWindow(); vbox.PackStart(sw, true, true, 0); TreeView tv = new TreeView(store); tv.HeadersVisible = true; tv.EnableSearch = true; tv.AppendColumn("Location", new CellRendererText(), "text", 0); tv.AppendColumn("Type", new CellRendererText(), "text", 1); tv.AppendColumn("Code", new CellRendererText(), "text", 2); sw.Add(tv); sw.Show(); HBox hbox = new HBox(true, 0); Button closeBtn = new Button(Stock.Close); closeBtn.Clicked += delegate { TreeSelection sel = tv.Selection; TreeModel model; TreeIter iter; string val = null; if (sel.GetSelected(out model, out iter)) { val = (string)model.GetValue(iter, 1); if (val == "Location") { val = (string)model.GetValue(iter, 2); } else { val = null; } } win.Hide(); win.Destroy(); if (!String.IsNullOrEmpty(val)) { stationID.Text = val; StoreConfig(); UpdateData(null, null); } }; hbox.PackEnd(closeBtn, false, false, 0); vbox.PackStart(hbox, false, false, 1); win.ShowAll(); }
protected virtual void OnBtnEditFilterClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1); if (cd == null) { return; } EntryDialog ed = new EntryDialog(cd.Display, MainClass.Languages.Translate("new_filter"), parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { string newStr = ed.TextEntry; if (!String.IsNullOrEmpty(newStr)) { if (newStr == cd.Display) { return; } LogicalSystem cdFind = conditions.Find(x => x.Display.ToUpper() == newStr.ToUpper()); if (cdFind != null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("filter_is_exist", cdFind.Display), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } LogicalSystem cdEdited = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper()); if (cdEdited == null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("unspecified_error"), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } cdEdited.Display = newStr; filterStore.SetValues(ti, cdEdited.Display, cdEdited); //conditions.Find(cd).Name =ed.TextEntry; } } ed.Destroy(); }
private void OnButtonPressEvent(object o, ButtonPressEventArgs args) { if (args.Event.Button == 3) { TreePath path; TreeSelection sel = songtv.Selection; sel.UnselectAll(); if (songtv.GetPathAtPos((int)args.Event.X, (int)args.Event.Y, out path)) { MenuItem mi; Menu ctxmenu; TreeIter iter; TreeModel model; bool IsAlbum = false; bool IsPending = false; sel.SelectPath(path); if (sel.GetSelected(out model, out iter)) { int index = (int)model.GetValue(iter, 5); Hashtable song = (Hashtable)songs[index]; IsPending = song["downloadKey"] != null; IsAlbum = song["playlistId"] != null && (song["isAlbum"] == null || (bool)song["isAlbum"] == false); } ctxmenu = new Menu(); mi = new MenuItem("Preview"); mi.Activated += new EventHandler(OnPreview); mi.Sensitive = mipreview.Sensitive; ctxmenu.Append(mi); mi = new MenuItem(IsPending ? "Download" : "Purchase"); mi.Activated += new EventHandler(OnPurchase); mi.Sensitive = mipurchase.Sensitive | mipurchasealbum.Sensitive; ctxmenu.Append(mi); if (IsPending) { mi = new MenuItem("Remove"); mi.Activated += new EventHandler(OnRemovePendingSong); mi.Sensitive = mipurchase.Sensitive; ctxmenu.Append(mi); } if (IsAlbum) { mi = new MenuItem("View Album"); mi.Activated += new EventHandler(OnViewAlbum); mi.Sensitive = mipreview.Sensitive; ctxmenu.Append(mi); } ctxmenu.ShowAll(); ctxmenu.Popup(null, null, null, IntPtr.Zero, args.Event.Button, args.Event.Time); } args.RetVal = true; } }
private void EditRule() { TreeSelection ts = tvResolution.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } Rule cd = (Rule)tvResolution.Model.GetValue(ti, 3); if (cd == null) { return; } if (cd.Id == -1) { MessageDialogs mdError = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("edit_resolution_system"), "", Gtk.MessageType.Error, parentWindow); mdError.ShowDialog(); return; } int width = cd.Width; int height = cd.Height; ResolutionDialog ed = new ResolutionDialog(cd, parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { Rule res = ed.Resolution; if (res != null) { Rule cdFind = MainClass.Settings.Resolution.Rules.Find(x => x.Id == res.Id); if (cdFind == null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("resolution_is_exist", cdFind.Name), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } cdFind = res; resolStore.SetValues(ti, cdFind.Id, cdFind.Name, cdFind.Specific, cdFind); try{ string[] listFi = Directory.GetFiles(MainClass.Paths.DisplayDir, "*.ini"); foreach (string fi in listFi) { EmulatorDisplay dd = new EmulatorDisplay(fi); if (dd.Load()) { if (dd.Height == height && dd.Width == width) { dd.Height = res.Height; dd.Width = res.Width; dd.Save(); } } } }catch (Exception ex) { Tool.Logger.Error(ex.Message, null); MessageDialogs ms = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, "Error", ex.Message, MessageType.Error, parentWindow); ms.ShowDialog(); return; } } } ed.Destroy(); }
#pragma warning disable 1998 protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) { __builder.OpenElement(0, "h2"); __builder.AddContent(1, "You have "); __builder.AddContent(2, #line 5 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" Friends #line default #line hidden ); __builder.AddContent(3, " people in your list - you like "); __builder.AddContent(4, #line 5 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" TreeSelection.GetSelected().ToList().Count #line default #line hidden ); __builder.AddContent(5, " of them."); __builder.CloseElement(); __builder.AddMarkupContent(6, "\r\n\r\n\r\n"); __Blazor.BlazorTestApp.Pages.Tree.TypeInference.CreateCascadingValue_0(__builder, 7, 8, #line 8 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" TreeSelection #line default #line hidden , 9, (__builder2) => { __builder2.AddMarkupContent(10, "\r\n "); __Blazor.BlazorTestApp.Pages.Tree.TypeInference.CreateTreeView_1(__builder2, 11, 12, #line 9 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" People #line default #line hidden , 13, (person) => (__builder3) => { __builder3.AddMarkupContent(14, "\r\n "); __builder3.OpenElement(15, "span"); __builder3.AddAttribute(16, "class", "oi oi-plus"); __builder3.AddAttribute(17, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 11 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => OnClick(person) #line default #line hidden )); __builder3.AddContent(18, " "); __builder3.AddContent(19, #line 11 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Firstname #line default #line hidden ); __builder3.AddContent(20, " "); __builder3.AddContent(21, #line 11 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Lastname #line default #line hidden ); __builder3.AddContent(22, " ("); __builder3.AddContent(23, #line 11 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Age #line default #line hidden ); __builder3.AddContent(24, ") "); __builder3.CloseElement(); __builder3.AddMarkupContent(25, "\r\n "); __builder3.OpenElement(26, "span"); __builder3.AddAttribute(27, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 12 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => { TreeSelection.Select(person, false); StateHasChanged(); } #line default #line hidden )); __builder3.AddAttribute(28, "title", "Click to like"); __builder3.AddAttribute(29, "style", "opacity: 0.2; cursor:pointer"); __builder3.AddMarkupContent(30, "🖤"); __builder3.CloseElement(); __builder3.AddMarkupContent(31, "\r\n "); } , 32, (person) => (__builder3) => { __builder3.AddMarkupContent(33, "\r\n "); __builder3.OpenElement(34, "span"); __builder3.AddAttribute(35, "class", "oi oi-plus"); __builder3.AddAttribute(36, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 15 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => OnClick(person) #line default #line hidden )); __builder3.AddContent(37, " "); __builder3.AddContent(38, #line 15 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Firstname #line default #line hidden ); __builder3.AddContent(39, " "); __builder3.AddContent(40, #line 15 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Lastname #line default #line hidden ); __builder3.AddContent(41, " ("); __builder3.AddContent(42, #line 15 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Age #line default #line hidden ); __builder3.AddContent(43, ") "); __builder3.CloseElement(); __builder3.AddMarkupContent(44, "\r\n "); __builder3.OpenElement(45, "span"); __builder3.AddAttribute(46, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 16 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => { TreeSelection.Select(person, false); StateHasChanged(); } #line default #line hidden )); __builder3.AddAttribute(47, "title", "Click to un-like"); __builder3.AddAttribute(48, "style", "cursor:pointer"); __builder3.AddMarkupContent(49, "💚"); __builder3.CloseElement(); __builder3.AddMarkupContent(50, "\r\n "); } , 51, (person) => (__builder3) => { __builder3.AddMarkupContent(52, "\r\n "); __builder3.OpenElement(53, "span"); __builder3.AddAttribute(54, "class", "oi oi-minus"); __builder3.AddAttribute(55, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 19 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => OnClick(person) #line default #line hidden )); __builder3.AddContent(56, " "); __builder3.AddContent(57, #line 19 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Firstname #line default #line hidden ); __builder3.AddContent(58, " "); __builder3.AddContent(59, #line 19 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Lastname #line default #line hidden ); __builder3.AddContent(60, " ("); __builder3.AddContent(61, #line 19 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Age #line default #line hidden ); __builder3.AddContent(62, ") "); __builder3.CloseElement(); __builder3.AddMarkupContent(63, "\r\n "); __builder3.OpenElement(64, "span"); __builder3.AddAttribute(65, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 20 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => { TreeSelection.Select(person, false); StateHasChanged(); } #line default #line hidden )); __builder3.AddAttribute(66, "title", "Click to like"); __builder3.AddAttribute(67, "style", "opacity: 0.2; cursor:pointer"); __builder3.AddMarkupContent(68, "🖤"); __builder3.CloseElement(); __builder3.AddMarkupContent(69, "\r\n "); } , 70, (person) => (__builder3) => { __builder3.AddMarkupContent(71, "\r\n "); __builder3.OpenElement(72, "span"); __builder3.AddAttribute(73, "class", "oi oi-minus"); __builder3.AddAttribute(74, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 23 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => OnClick(person) #line default #line hidden )); __builder3.AddContent(75, " "); __builder3.AddContent(76, #line 23 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Firstname #line default #line hidden ); __builder3.AddContent(77, " "); __builder3.AddContent(78, #line 23 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Lastname #line default #line hidden ); __builder3.AddContent(79, " ("); __builder3.AddContent(80, #line 23 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" person.Age #line default #line hidden ); __builder3.AddContent(81, ") "); __builder3.CloseElement(); __builder3.AddMarkupContent(82, "\r\n "); __builder3.OpenElement(83, "span"); __builder3.AddAttribute(84, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 24 "E:\New folder\MilicaProjekat\BlazorTestProjects\BlazorTest.App\Pages\Tree.razor" () => { TreeSelection.Select(person, false); StateHasChanged(); } #line default #line hidden )); __builder3.AddAttribute(85, "title", "Click to un-like"); __builder3.AddAttribute(86, "style", "cursor:pointer"); __builder3.AddMarkupContent(87, "💚"); __builder3.CloseElement(); __builder3.AddMarkupContent(88, "\r\n "); } ); __builder2.AddMarkupContent(89, "\r\n"); } ); }
protected void OnButton40Clicked(object sender, EventArgs e) { //TODO -- Done this function, TODO for serveraction, clientaction and database code page. // 1. Query all of the GPU resource of this agent // 2. If any of these gpu resource has been assigned. // 3. a) if no, remove record of agentinfo, fabricinfo, resourceinfo by agentid // b) if yes, promot a message to let customer know need to remove all of the assignment before delete the agent. TreeIter iter; TreeModel model; TreeSelection selection = treeview1.Selection; if (!selection.GetSelected(out model, out iter)) { MessageDialog msg = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "No Agent Selected"); msg.Response += (o, args) => { if (args.ResponseId == ResponseType.Ok) { msg.Destroy(); } }; msg.ShowAll(); } else { TcpClient client = new TcpClient(ServerIP, Int32.Parse(TcpPort)); object content = model.GetValue(iter, 1).ToString(); Type contentType = content.GetType(); Protocol checkResShareStatus = new Protocol(client, ConstValues.PROTOCOL_FN_CHECK_RESOURCE_IF_ASSIGNED, contentType, content); checkResShareStatus.Start(); client.Close(); if ((String)checkResShareStatus.ResultObject == "True") { //has some gpu resource already assigned to other clients MessageDialog msg = new MessageDialog(null, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Some of GPU resource have been assigned already.\nPlease revoke these assignation before remove this agent."); msg.Response += (o, args) => { if (args.ResponseId == ResponseType.Ok) { msg.Destroy(); } }; msg.ShowAll(); } else { // since there is no assignation existed, this agent could be remove now. TcpClient client2 = new TcpClient(ServerIP, Int32.Parse(TcpPort)); object content2 = model.GetValue(iter, 1).ToString(); Type contentType2 = content2.GetType(); Protocol removeAgent = new Protocol(client2, ConstValues.PROTOCOL_FN_REMOVE_AGENT, contentType2, content2); removeAgent.Start(); client2.Close(); if ((String)removeAgent.ReceivedContent == "True") { MessageDialog msg = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Agent has been removed"); msg.Response += (o, args) => { if (args.ResponseId == ResponseType.Ok) { msg.Destroy(); } }; msg.ShowAll(); } else { MessageDialog msg = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Removing Agent failed. \nTry again later."); msg.Response += (o, args) => { if (args.ResponseId == ResponseType.Ok) { msg.Destroy(); } }; msg.ShowAll(); } } } }
protected virtual void OnBtnDeleteFieldClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFields.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } FieldTable cd = (FieldTable)tvFields.Model.GetValue(ti, 4); if (cd == null) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_field", cd.Name), "", Gtk.MessageType.Question, this); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } string tempTable = "temp_" + tableName + "_backup"; string sqlBegin = "BEGIN TRANSACTION ;"; string sqlRename = String.Format(" ALTER TABLE {0} RENAME TO {1} ;", tableName, tempTable); string sqlReCreate = string.Format(" CREATE TABLE {0}( ", tableName); string colums = ""; int newCount = 0; for (int r = 0; r < fields.Count; r++) { if (fields[r].Name != cd.Name) { string dfltValue = fields[r].DefaultValue; string type = fields[r].Type; sqlReCreate = sqlReCreate + fields[r].Name + " " + type; if (fields[r].NotNULL) { sqlReCreate = sqlReCreate + " NOT NULL"; } if (!String.IsNullOrEmpty(dfltValue)) { if ((type.IndexOf("NUMERIC") > -1) || (type.IndexOf("INTEGER") > -1)) { sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } else { if (!dfltValue.StartsWith("'")) { dfltValue = "'" + dfltValue; } if (!dfltValue.EndsWith("'")) { dfltValue = dfltValue + "'"; } sqlReCreate = sqlReCreate + " DEFAULT " + dfltValue; } } colums = colums + fields[r].Name; if (newCount < fields.Count - 2) { sqlReCreate = sqlReCreate + ","; colums = colums + ","; } newCount++; } } sqlReCreate = sqlReCreate + ") ;"; string sqlInsertInto = string.Format(" INSERT INTO {0}( {1} ) SELECT {1} FROM {2} ;", tableName, colums, tempTable); string sqlDropTable = string.Format(" DROP TABLE {0} ;", tempTable); string sqlEnd = "COMMIT ;"; string sql = sqlBegin + "\n" + sqlRename + "\n" + sqlReCreate + "\n" + sqlInsertInto + "\n" + sqlDropTable + "\n" + sqlEnd; //Console.WriteLine(sql); if (sqlLiteDal.RunSqlScalar(sql)) { //fields.Remove(cd); //fieldsStore.Remove(ref ti); GetTableStructure(); } else { // nepodarilo sa vymazanie, dam naspet //fields.Add(cd); } }
void SelectionChanged(object o, EventArgs args) { TreeSelection selection = (TreeSelection)o; TreeIter iter; TreeModel model; if (selection.GetSelected(out model, out iter)) { string id = (string)model.GetValue(iter, (int)Column.Id); string name = (string)model.GetValue(iter, (int)Column.Name); string label = (string)model.GetValue(iter, (int)Column.Label); string accel = (string)model.GetValue(iter, (int)Column.Accel); IconSize size = GetLargestSize(id); bool icon = (size != IconSize.Invalid); if (icon && label != null) { typeLabel.Text = "Icon and Item"; } else if (icon) { typeLabel.Text = "Icon Only"; } else if (label != null) { typeLabel.Text = "Item Only"; } else { typeLabel.Text = "???????"; } if (name != null) { nameLabel.Text = name; } else { nameLabel.Text = ""; } idLabel.Text = id; if (label != null) { accelLabel.TextWithMnemonic = label + " " + accel; } else { accelLabel.Text = ""; } if (icon) { iconImage.SetFromStock(id, size); } else { iconImage.Pixbuf = null; } } else { typeLabel.Text = "No selected item"; nameLabel.Text = ""; idLabel.Text = ""; accelLabel.Text = ""; iconImage.Pixbuf = null; } }
public HeapSnapshotExplorer() { Build(); MenuItem menuItem; OnClearMark(); loadHeapSnapshotBlock = new Menu(); menuItem = new MenuItem("Load block data"); menuItem.Activated += delegate { OnLoadHeapSnapshotData(); }; loadHeapSnapshotBlock.Append(menuItem); loadAllocationsBlocks = new Menu(); menuItem = new MenuItem("Load block data"); menuItem.Activated += delegate { OnLoadAllocationsEventData(); }; loadAllocationsBlocks.Append(menuItem); filterObjectSet = new Menu(); menuItem = new MenuItem("Filter by object class"); menuItem.Activated += delegate { OnFilterByClass <HeapObject> (); }; filterObjectSet.Append(menuItem); menuItem = new MenuItem("Filter by \"references object of class\""); menuItem.Activated += delegate { OnFilterByReferencesObjectOfClass(); }; filterObjectSet.Append(menuItem); menuItem = new MenuItem("Filter by \"is referenced by object of class\""); menuItem.Activated += delegate { OnFilterByIsReferencedByObjectOfClass(); }; filterObjectSet.Append(menuItem); menuItem = new MenuItem("Mark set for comparison"); menuItem.Activated += delegate { OnMarkObjectSetForComparison(); }; filterObjectSet.Append(menuItem); menuItem = new MenuItem("Mark set for \"set reference\" filtering"); menuItem.Activated += delegate { OnMarkObjectSetForFiltering(); }; filterObjectSet.Append(menuItem); filterAllocationSet = new Menu(); menuItem = new MenuItem("Filter by object class"); menuItem.Activated += delegate { OnFilterByClass <AllocatedObject> (); }; filterAllocationSet.Append(menuItem); menuItem = new MenuItem("Mark set for comparison"); menuItem.Activated += delegate { OnMarkAllocationSetForComparison(); }; filterAllocationSet.Append(menuItem); // For now no set based filtering for allocations... //menuItem = new MenuItem ("Mark set for filtering"); //menuItem.Activated += delegate { // OnMarkAllocationSetForFiltering (); //}; //filterAllocationSet.Append (menuItem); compareObjectSet = new Menu(); menuItem = new MenuItem("Perform comparison with this set"); menuItem.Activated += delegate { OnCompareWithSet <HeapObject> (); }; compareObjectSet.Append(menuItem); menuItem = new MenuItem("Perform intersection with this set"); menuItem.Activated += delegate { OnIntersectWithSet <HeapObject> (); }; compareObjectSet.Append(menuItem); menuItem = new MenuItem("Clear selection"); menuItem.Activated += delegate { OnClearMark(); }; compareObjectSet.Append(menuItem); compareAllocationSet = new Menu(); menuItem = new MenuItem("Perform comparison with this set"); menuItem.Activated += delegate { OnCompareWithSet <AllocatedObject> (); }; compareAllocationSet.Append(menuItem); menuItem = new MenuItem("Perform intersection with this set"); menuItem.Activated += delegate { OnIntersectWithSet <AllocatedObject> (); }; compareAllocationSet.Append(menuItem); menuItem = new MenuItem("Clear selection"); menuItem.Activated += delegate { OnClearMark(); }; compareAllocationSet.Append(menuItem); filterObjectSetUsingSelection = new Menu(); menuItem = new MenuItem("Select objects referencing objects in this set"); menuItem.Activated += delegate { OnFilterByReferencesObjectInSet <HeapObject> (); }; filterObjectSetUsingSelection.Append(menuItem); menuItem = new MenuItem("Select objects referenced by objects in this set"); menuItem.Activated += delegate { OnFilterByIsReferencedByObjectInSet <HeapObject> (); }; filterObjectSetUsingSelection.Append(menuItem); menuItem = new MenuItem("Clear selection"); menuItem.Activated += delegate { OnClearMark(); }; filterObjectSetUsingSelection.Append(menuItem); filterAllocationSetUsingSelection = new Menu(); menuItem = new MenuItem("Select objects referencing objects in this set"); menuItem.Activated += delegate { OnFilterByReferencesObjectInSet <AllocatedObject> (); }; filterAllocationSetUsingSelection.Append(menuItem); menuItem = new MenuItem("Select objects referenced by objects in this set"); menuItem.Activated += delegate { OnFilterByIsReferencedByObjectInSet <AllocatedObject> (); }; filterAllocationSetUsingSelection.Append(menuItem); menuItem = new MenuItem("Clear selection"); menuItem.Activated += delegate { OnClearMark(); }; filterAllocationSetUsingSelection.Append(menuItem); PrepareTreeViewForStatisticsDisplay(PerClassStatistics); PerClassStatistics.NodeSelection.Changed += delegate(object o, EventArgs args) { currentListSelection = (StatisticsNode)PerClassStatistics.NodeSelection.SelectedNode; }; listMenuHandlerForClasses = new StatisticsNodeMenuHandlerForClasses(this); listMenuHandlerForMethods = new StatisticsNodeMenuHandlerForMethods(this); listMenuHandlerForCallStacks = new StatisticsNodeMenuHandlerForCallStacks(this); Tree.Selection.Changed += delegate(object o, EventArgs args) { TreeSelection selection = (TreeSelection)o; TreeIter iter; if (selection.GetSelected(out iter)) { currentSelection = (HeapExplorerTreeModel.INode)Tree.Model.GetValue(iter, 0); FillStatisticsListWithClassData(); } }; Gtk.TreeViewColumn setColumn = new Gtk.TreeViewColumn(); Gtk.TreeViewColumn countColumn = new Gtk.TreeViewColumn(); Gtk.TreeViewColumn bytesColumn = new Gtk.TreeViewColumn(); setColumn.Title = "Object set"; countColumn.Title = "Object count"; bytesColumn.Title = "Bytes"; Gtk.CellRendererText setCell = new Gtk.CellRendererText(); Gtk.CellRendererText countCell = new Gtk.CellRendererText(); Gtk.CellRendererText bytesCell = new Gtk.CellRendererText(); setColumn.PackStart(setCell, true); countColumn.PackStart(countCell, true); bytesColumn.PackStart(bytesCell, true); setColumn.SetCellDataFunc(setCell, delegate(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { HeapExplorerTreeModel.INode node = (HeapExplorerTreeModel.INode)model.GetValue(iter, 0); CellRendererText textCell = (CellRendererText)cell; textCell.Text = node.Description; if (node != MarkedNode) { textCell.Style = Pango.Style.Normal; } else { textCell.Style = Pango.Style.Italic; } }); countColumn.SetCellDataFunc(countCell, delegate(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { HeapExplorerTreeModel.INode node = (HeapExplorerTreeModel.INode)model.GetValue(iter, 0); CellRendererText textCell = (CellRendererText)cell; textCell.Text = node.Count; if (node != MarkedNode) { textCell.Style = Pango.Style.Normal; } else { textCell.Style = Pango.Style.Italic; } }); bytesColumn.SetCellDataFunc(bytesCell, delegate(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { HeapExplorerTreeModel.INode node = (HeapExplorerTreeModel.INode)model.GetValue(iter, 0); CellRendererText textCell = (CellRendererText)cell; textCell.Text = node.AllocatedBytes; if (node != MarkedNode) { textCell.Style = Pango.Style.Normal; } else { textCell.Style = Pango.Style.Italic; } }); setColumn.AddAttribute(setCell, "text", 0); countColumn.AddAttribute(countCell, "text", 1); bytesColumn.AddAttribute(bytesCell, "text", 2); Tree.AppendColumn(setColumn); Tree.AppendColumn(countColumn); Tree.AppendColumn(bytesColumn); loadHeapSnapshotBlock.ShowAll(); loadAllocationsBlocks.ShowAll(); filterObjectSet.ShowAll(); filterAllocationSet.ShowAll(); compareObjectSet.ShowAll(); compareAllocationSet.ShowAll(); filterObjectSetUsingSelection.ShowAll(); filterAllocationSetUsingSelection.ShowAll(); }
protected void OnTreeviewEventsCursorChanged(object sender, EventArgs e) { if (ignoreNexClick) { ignoreNexClick = false; return; } TreeModel model; TreeIter iter; TreeSelection selection = (sender as TreeView).Selection; if (selection.GetSelected(out model, out iter)) { SelectedNotification = (CustomNotification)model.GetValue(iter, 0); TreePath path; TreeViewColumn column; (sender as TreeView).GetCursor(out path, out column); if (column == (sender as TreeView).Columns[DeleteColumnIndex]) //Delete clicked { if (MainWindow.ConfirmDelete()) { ignoreNexClick = true; DataModel.Notifications.Remove(SelectedNotification); NotificationListStore.Remove(ref iter); DataModel.Save(); } } else if (column == (sender as TreeView).Columns[DeleteColumnIndex - 1]) //Copy clicked { if (SelectedNotification.IsUnique()) { MessageBox.Show(ParentForm, String.Format("Only one {0} notification can be used", SelectedNotification.GetTypeName()), MessageType.Error); return; } CustomNotification notification = SelectedNotification.Copy(); notification.Name = DataModel.GetNotificationName(SelectedNotification.Name, 2); if (EditNotification(notification, "Copy Notification")) { NotificationListStore.AppendValues(notification, "icon-dark-pencil-square-o", "icon-dark-clone", "icon-dark-trash", NotificationRegistry.FindIcon(notification.GetType())); DataModel.Notifications.Add(notification); ignoreNexClick = true; SelectNotificationInTree(notification); } } else if (column == (sender as TreeView).Columns[DeleteColumnIndex - 2]) //Edit clicked { EditNotification(); } else if (column == (sender as TreeView).Columns[0]) //Enabled-Disabled clicked { SelectedNotification.Enabled = !SelectedNotification.Enabled; DataModel.Save(); DataModel.Notifications.NotifyUpdate(SelectedNotification); } } }