public CodeIssuePanelWidget(string mimeType) { this.mimeType = mimeType; Build(); var col1 = treeviewInspections.AppendColumn("Title", new CellRendererText(), "markup", 0); col1.Expand = true; searchentryFilter.Ready = true; searchentryFilter.Visible = true; searchentryFilter.Entry.Changed += ApplyFilter; var comboRenderer = new CellRendererCombo(); comboRenderer.Alignment = Pango.Alignment.Center; var col = treeviewInspections.AppendColumn("Severity", comboRenderer); col.Sizing = TreeViewColumnSizing.GrowOnly; col.MinWidth = 100; col.Expand = false; var comboBoxStore = new ListStore(typeof(string), typeof(Severity)); comboBoxStore.AppendValues(GetDescription(Severity.None), Severity.None); comboBoxStore.AppendValues(GetDescription(Severity.Error), Severity.Error); comboBoxStore.AppendValues(GetDescription(Severity.Warning), Severity.Warning); comboBoxStore.AppendValues(GetDescription(Severity.Hint), Severity.Hint); comboBoxStore.AppendValues(GetDescription(Severity.Suggestion), Severity.Suggestion); comboRenderer.Model = comboBoxStore; comboRenderer.Mode = CellRendererMode.Activatable; comboRenderer.TextColumn = 0; comboRenderer.Editable = true; comboRenderer.HasEntry = false; comboRenderer.Edited += delegate(object o, Gtk.EditedArgs args) { Gtk.TreeIter iter; if (!treeStore.GetIterFromString(out iter, args.Path)) { return; } Gtk.TreeIter storeIter; if (!comboBoxStore.GetIterFirst(out storeIter)) { return; } do { if ((string)comboBoxStore.GetValue(storeIter, 0) == args.NewText) { var provider = (CodeIssueProvider)treeStore.GetValue(iter, 1); var severity = (Severity)comboBoxStore.GetValue(storeIter, 1); severities[provider] = severity; return; } } while (comboBoxStore.IterNext(ref storeIter)); }; col.SetCellDataFunc(comboRenderer, delegate(Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { var provider = (CodeIssueProvider)model.GetValue(iter, 1); if (provider == null) { comboRenderer.Visible = false; return; } var severity = severities[provider]; comboRenderer.Visible = true; comboRenderer.Text = GetDescription(severity); comboRenderer.BackgroundGdk = GetColor(severity); }); treeviewInspections.HeadersVisible = false; treeviewInspections.Model = treeStore; treeviewInspections.Selection.Changed += HandleSelectionChanged; GetAllSeverities(); FillInspectors(null); }
protected void ShowContext() { var selected = Selection.GetSelectedRows(); if (selected.Length < 1) { return; } Menu context = new Menu(); MenuItem item = new MenuItem("Remove"); item.Activated += (sender, e) => { foreach (var p in selected) { TreeIter iter; if (Messages.GetIter(out iter, p)) { Messages.Remove(ref iter); } } Selection.UnselectAll(); }; context.Add(item); if (selected.Length == 1) { TreeIter iter; Messages.GetIter(out iter, selected[0]); var session = Messages.GetValue(iter, 0) as Session; if (session != null) { item = new MenuItem("Remove All " + session.Name); item.Activated += (sender, e) => { TreeIter delIter; Messages.GetIterFirst(out delIter); while (Messages.IterIsValid(delIter)) { var delSession = Messages.GetValue(delIter, 0) as Session; if (delSession != null && delSession.GetType() == session.GetType() && delSession.Name == session.Name) { Messages.Remove(ref delIter); } else { Messages.IterNext(ref delIter); } } }; context.Add(item); item = new MenuItem("Remove and Filter Out All " + session.Name); item.Activated += (sender, e) => { TreeIter delIter; Messages.GetIterFirst(out delIter); FilterItem filterOut = Main.GetFilter(session); if (filterOut != null) { filterOut.Enabled = false; } Main.RedrawFilters(); while (Messages.IterIsValid(delIter)) { var delSession = Messages.GetValue(delIter, 0) as Session; if (delSession != null && delSession.GetType() == session.GetType() && delSession.Name == session.Name) { Messages.Remove(ref delIter); } else { Messages.IterNext(ref delIter); } } }; context.Add(item); FilterItem filter = Main.GetFilter(session); if (filter != null) { var citem = new CheckMenuItem("Receive " + session.Name); citem.Active = filter.Enabled; citem.Toggled += (sender, e) => { filter.Enabled = !filter.Enabled; Main.RedrawFilters(); }; context.Add(citem); } } } context.Add(new SeparatorMenuItem()); item = new MenuItem("Select All"); item.Activated += (sender, e) => { Selection.SelectAll(); }; context.Add(item); item = new MenuItem("Deselect"); item.Activated += (sender, e) => { Selection.UnselectAll(); }; context.Add(item); context.Add(new SeparatorMenuItem()); item = new MenuItem("Copy"); item.Activated += (sender, e) => { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (var p in selected) { TreeIter iter; if (Messages.GetIter(out iter, p)) { var session = Messages.GetValue(iter, 0) as Session; if (session != null) { sb.AppendLine(string.Join(" | ", session.Columns)); } } Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)).Text = sb.ToString().TrimEnd(); } }; context.Add(item); item = new MenuItem("Clear"); item.Activated += (sender, e) => { Selection.UnselectAll(); Messages.Clear(); }; context.Add(item); context.ShowAll(); context.Popup(); }
private void InitKeyControl() { var UpFolderAction = new Action <TreeIter>(iter => { if (TreeIter.Zero.Equals(iter)) { return; } TreeIter parent; packStore.IterParent(out parent, iter); RefreshFolderView(parent); currentFolder = parent; Packer.Item item = packStore.GetValue(iter, 0) as Packer.Item; TreeIter selectedInFolder = FindInCurrentFolder(item); packTreeView.SelectAndFocus(selectedInFolder); }); var DownFolderAction = new Action <TreeIter>(iter => { if (TreeIter.Zero.Equals(iter)) { return; } RefreshFolderView(iter); currentFolder = iter; TreeIter selectedInFolder; folderStore.GetIterFirst(out selectedInFolder); packTreeView.SelectAndFocus(selectedInFolder); }); packTreeView.RowActivated += (o, args) => { TreeIter selectedInFolder; folderStore.GetIter(out selectedInFolder, args.Path); Packer.Item item = folderStore.GetValue(selectedInFolder, 2) as Packer.Item; if (!item.IsFolder) { return; } if (item.IsRoot) { UpFolderAction(currentFolder); } else { DownFolderAction(FindInPack(item)); } }; packTreeView.AddEvents((int)(Gdk.EventMask.KeyPressMask)); packTreeView.KeyReleaseEvent += (o, args) => { if (args.Event.Key == Gdk.Key.BackSpace) { UpFolderAction(currentFolder); } if (args.Event.Key == Gdk.Key.Delete) { RemoveAction.Activate(); } }; }
private void GenerateNotebookPages() { string platformName = MainClass.Settings.Platform.Name; foreach (Rule rl in MainClass.Settings.Platform.Rules) { bool iOsNoMac = false; if ((rl.Tag == -1) && !MainClass.Settings.ShowUnsupportedDevices) { continue; } if ((rl.Tag == -2) && !MainClass.Settings.ShowDebugDevices) { continue; } bool validDevice = true; if (!Device.CheckDevice(rl.Specific)) { Tool.Logger.Debug("Invalid Device " + rl.Specific); validDevice = false; } ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = ShadowType.EtchedOut; TreeView tvList = new TreeView(); List <CombinePublish> lcp = project.ProjectUserSetting.CombinePublish.FindAll(x => x.combineRule.FindIndex(y => y.ConditionName == platformName && y.RuleId == rl.Id) > -1); List <CombinePublish> lcpDennied = new List <CombinePublish>(); string deviceName = rl.Name; int deviceTyp = rl.Id; ListStore ls = new ListStore(typeof(bool), typeof(string), typeof(CombinePublish), typeof(string), typeof(bool)); string ico = "empty.png"; switch (deviceTyp) { case (int)DeviceType.Android_1_6: { ico = "android.png"; break; } case (int)DeviceType.Android_2_2: { ico = "android.png"; break; } case (int)DeviceType.Bada_1_0: case (int)DeviceType.Bada_1_1: case (int)DeviceType.Bada_1_2: case (int)DeviceType.Bada_2_0: { ico = "bada.png"; break; } case (int)DeviceType.Symbian_9_4: { ico = "symbian.png"; break; } case (int)DeviceType.iOS_5_0: { ico = "apple.png"; if (!MainClass.Platform.IsMac) { iOsNoMac = true; } break; } case (int)DeviceType.PocketPC_2003SE: case (int)DeviceType.WindowsMobile_5: case (int)DeviceType.WindowsMobile_6: { ico = "windows.png"; break; } case (int)DeviceType.Windows: { ico = "win32.png"; break; } case (int)DeviceType.MacOs: { ico = "macos.png"; break; } } List <CombinePublish> tmp = lcp.FindAll(x => x.IsSelected == true); NotebookLabel nl = new NotebookLabel(ico, String.Format("{0} ({1})", deviceName, tmp.Count)); nl.Tag = deviceTyp; if (iOsNoMac) { Label lbl = new Label(MainClass.Languages.Translate("ios_available_Mac")); Pango.FontDescription customFont = Pango.FontDescription.FromString(MainClass.Settings.ConsoleTaskFont); customFont.Weight = Pango.Weight.Bold; lbl.ModifyFont(customFont); notebook.AppendPage(lbl, nl); continue; } if (!validDevice) { Label lbl = new Label(MainClass.Languages.Translate("publish_tool_missing")); Pango.FontDescription customFont = Pango.FontDescription.FromString(MainClass.Settings.ConsoleTaskFont); customFont.Weight = Pango.Weight.Bold; lbl.ModifyFont(customFont); notebook.AppendPage(lbl, nl); continue; } ; CellRendererToggle crt = new CellRendererToggle(); crt.Activatable = true; crt.Sensitive = true; tvList.AppendColumn("", crt, "active", 0); Gtk.CellRendererText fileNameRenderer = new Gtk.CellRendererText(); Gtk.CellRendererText collumnResolRenderer = new Gtk.CellRendererText(); tvList.AppendColumn(MainClass.Languages.Translate("file_name"), fileNameRenderer, "text", 1); tvList.AppendColumn(MainClass.Languages.Translate("resolution_f1"), collumnResolRenderer, "text", 1); tvList.Columns[1].SetCellDataFunc(fileNameRenderer, new Gtk.TreeCellDataFunc(RenderCombine)); tvList.Columns[2].SetCellDataFunc(collumnResolRenderer, new Gtk.TreeCellDataFunc(RenderResolution)); // povolene resolution pre danu platformu PlatformResolution listPR = MainClass.Settings.PlatformResolutions.Find(x => x.IdPlatform == deviceTyp); Device dvc = project.DevicesSettings.Find(x => x.TargetPlatformId == deviceTyp); string stringTheme = ""; List <System.IO.DirectoryInfo> themeResolution = new List <System.IO.DirectoryInfo>(); // resolution z adresara themes po novom if ((project.NewSkin) && (dvc != null)) { Skin skin = dvc.Includes.Skin; if ((skin != null) && (!String.IsNullOrEmpty(skin.Name)) && (!String.IsNullOrEmpty(skin.Theme))) { string skinDir = System.IO.Path.Combine(MainClass.Workspace.RootDirectory, MainClass.Settings.SkinDir); stringTheme = System.IO.Path.Combine(skinDir, skin.Name); stringTheme = System.IO.Path.Combine(stringTheme, "themes"); stringTheme = System.IO.Path.Combine(stringTheme, skin.Theme); if (System.IO.Directory.Exists(stringTheme)) { System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(stringTheme); themeResolution = new List <System.IO.DirectoryInfo>(di.GetDirectories()); } } } crt.Toggled += delegate(object o, ToggledArgs args) { TreeIter iter; if (ls.GetIter(out iter, new TreePath(args.Path))) { bool old = (bool)ls.GetValue(iter, 0); CombinePublish cp = (CombinePublish)ls.GetValue(iter, 2); cp.IsSelected = !old; ls.SetValue(iter, 0, !old); List <CombinePublish> tmp2 = lcp.FindAll(x => x.IsSelected == true); nl.SetLabel(String.Format("{0} ({1})", deviceName, tmp2.Count)); //if(dvc == null) return; //if(dvc.Includes == null) return; if (dvc.Includes.Skin == null) { return; } if (String.IsNullOrEmpty(dvc.Includes.Skin.Name) || String.IsNullOrEmpty(dvc.Includes.Skin.Theme)) { return; } if (cp.IsSelected) { // Najdem ake je rozlisenie v danej combinacii CombineCondition cc = cp.combineRule.Find(x => x.ConditionId == MainClass.Settings.Resolution.Id); if (cc == null) { return; /// nema ziadne rozlisenie v combinacii } int indxResol = themeResolution.FindIndex(x => x.Name.ToLower() == cc.RuleName.ToLower()); if (indxResol < 0) { // theme chyba prislusne rozlisenie string error = String.Format("Invalid {0} Skin and {1} Theme, using in {2}. Missing resolutions: {3}. ", dvc.Includes.Skin.Name, dvc.Includes.Skin.Theme, deviceName, cc.RuleName.ToLower()); MainClass.MainWindow.OutputConsole.WriteError(error + "\n"); List <string> lst = new List <string>(); lst.Add(error); MainClass.MainWindow.ErrorWritte("", "", lst); } } } }; int cntOfAdded = 0; foreach (CombinePublish cp in lcp) { bool isValid = cp.IsSelected; if (!validDevice) { isValid = false; } // Najdem ake je rozlisenie v danej combinacii CombineCondition cc = cp.combineRule.Find(x => x.ConditionId == MainClass.Settings.Resolution.Id); if (cc == null) { continue; /// nema ziadne rozlisenie v combinacii } int indx = MainClass.Settings.Resolution.Rules.FindIndex(x => x.Id == cc.RuleId); if (indx < 0) { continue; /// rozlisenie pouzite v danej combinacii nexistuje } if (cc != null) { bool isValidResolution = false; //ak nema definovane ziadne povolenia, tak povolene su vsetky if ((listPR == null) || (listPR.AllowResolution == null) || (listPR.AllowResolution.Count < 1)) { isValidResolution = true; } else { isValidResolution = listPR.IsValidResolution(cc.RuleId); } if (isValidResolution) { // po novom vyhodom aj tie ktore niesu v adresaru themes - pokial je thema definovana if ((project.NewSkin) && (themeResolution.Count > 0)) { //cntResolution = 0; int indxResol = themeResolution.FindIndex(x => x.Name.ToLower() == cc.RuleName.ToLower()); if (indxResol > -1) { ls.AppendValues(isValid, cp.ProjectName, cp, cp.ProjectName, true); cntOfAdded++; } else { lcpDennied.Add(cp); } } else { ls.AppendValues(isValid, cp.ProjectName, cp, cp.ProjectName, true); cntOfAdded++; } } else { lcpDennied.Add(cp); } } //} } // pridam tie zakazane, ktore su vybrate na publish foreach (CombinePublish cp in lcpDennied) { if (cp.IsSelected) { ls.AppendValues(cp.IsSelected, cp.ProjectName, cp, cp.ProjectName, false); cntOfAdded++; } } if (cntOfAdded == 0) { MainClass.MainWindow.OutputConsole.WriteError(String.Format("Missing publish settings for {0}.\n", deviceName)); } bool showAll = false; tvList.ButtonReleaseEvent += delegate(object o, ButtonReleaseEventArgs args){ if (args.Event.Button == 3) { TreeSelection ts = tvList.Selection; Gtk.TreePath[] selRow = ts.GetSelectedRows(); if (selRow.Length < 1) { TreeIter tiFirst = new TreeIter(); ls.GetIterFirst(out tiFirst); tvList.Selection.SelectIter(tiFirst); selRow = ts.GetSelectedRows(); } if (selRow.Length < 1) { return; } Gtk.TreePath tp = selRow[0]; TreeIter ti = new TreeIter(); ls.GetIter(out ti, tp); CombinePublish combinePublish = (CombinePublish)ls.GetValue(ti, 2); if (combinePublish != null) { Menu popupMenu = new Menu(); if (!showAll) { MenuItem miShowDenied = new MenuItem(MainClass.Languages.Translate("show_denied")); miShowDenied.Activated += delegate(object sender, EventArgs e) { // odoberem zakazane, ktore sa zobrazuju kedze su zaceknute na publish List <TreeIter> lst = new List <TreeIter>(); ls.Foreach((model, path, iterr) => { bool cp = (bool)ls.GetValue(iterr, 4); bool selected = (bool)ls.GetValue(iterr, 0); if (!cp && selected) { lst.Add(iterr); } return(false); }); foreach (TreeIter ti2 in lst) { TreeIter ti3 = ti2; ls.Remove(ref ti3); } // pridam zakazane if ((lcpDennied == null) || (lcpDennied.Count < 1)) { return; } foreach (CombinePublish cp in lcpDennied) { ls.AppendValues(cp.IsSelected, cp.ProjectName, cp, cp.ProjectName, false); } showAll = true; }; popupMenu.Append(miShowDenied); } else { MenuItem miHideDenied = new MenuItem(MainClass.Languages.Translate("hide_denied")); miHideDenied.Activated += delegate(object sender, EventArgs e) { List <TreeIter> lst = new List <TreeIter>(); ls.Foreach((model, path, iterr) => { bool cp = (bool)ls.GetValue(iterr, 4); bool selected = (bool)ls.GetValue(iterr, 0); if (!cp && !selected) { lst.Add(iterr); } return(false); }); foreach (TreeIter ti2 in lst) { TreeIter ti3 = ti2; ls.Remove(ref ti3); } showAll = false; }; popupMenu.Append(miHideDenied); } popupMenu.Append(new SeparatorMenuItem()); MenuItem miCheckAll = new MenuItem(MainClass.Languages.Translate("check_all")); miCheckAll.Activated += delegate(object sender, EventArgs e) { int cnt = 0; ls.Foreach((model, path, iterr) => { CombinePublish cp = (CombinePublish)ls.GetValue(iterr, 2); cp.IsSelected = true; ls.SetValue(iterr, 0, true); cnt++; return(false); }); nl.SetLabel(String.Format("{0} ({1})", deviceName, cnt)); }; popupMenu.Append(miCheckAll); MenuItem miUnCheckAll = new MenuItem(MainClass.Languages.Translate("uncheck_all")); miUnCheckAll.Activated += delegate(object sender, EventArgs e) { ls.Foreach((model, path, iterr) => { CombinePublish cp = (CombinePublish)ls.GetValue(iterr, 2); cp.IsSelected = false; ls.SetValue(iterr, 0, false); return(false); }); nl.SetLabel(String.Format("{0} ({1})", deviceName, 0)); }; popupMenu.Append(miUnCheckAll); popupMenu.Append(new SeparatorMenuItem()); MenuItem mi = new MenuItem(MainClass.Languages.Translate("publis_only_this", combinePublish.ProjectName.Replace("_", "__"))); mi.Activated += delegate(object sender, EventArgs e) { List <CombinePublish> lst = new List <CombinePublish>(); lst.Add(combinePublish); RunPublishTask(lst); this.Respond(ResponseType.Ok); }; popupMenu.Append(mi); MenuItem miD = new MenuItem(MainClass.Languages.Translate("publis_this_device", deviceName)); miD.Activated += delegate(object sender, EventArgs e) { RunPublishTask(lcp); this.Respond(ResponseType.Ok); }; popupMenu.Append(miD); popupMenu.Popup(); popupMenu.ShowAll(); } } }; tvList.Model = ls; if (!validDevice) { tvList.Sensitive = false; } sw.Add(tvList); notebook.AppendPage(sw, nl); } }
private void RecentTrades_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { var coll = sender as ICollection <PublicTrade>; var tmax = viewModel.TradesMaxItemCount; switch (e.Action) { case NotifyCollectionChangedAction.Add: Debug.Assert(e.NewItems.Count == 1); Debug.Assert(e.NewStartingIndex == 0); Debug.Print($"PublicTrades: Added {e.NewItems.Count} items."); Gtk.Application.Invoke(delegate { if (count < tmax) { store.Append(); count += 1; } // [count-1] point to latest item! we need to copy [count-2] to [count-1]. TreeIter iter, slctIter = GetSelection(); for (int ind = count - 1; ind > 0; ind -= 1) { store.GetIterFromString(out iter, (ind - 1).ToString()); var value = store.GetValue(iter, 0); store.GetIterFromString(out iter, ind.ToString()); store.SetValue(iter, 0, value); } store.GetIterFirst(out iter); store.SetValue(iter, 0, e.NewItems[0]); // try restore selection. if (!slctIter.Equals(TreeIter.Zero)) { if (store.IterNext(ref slctIter)) { nodeview1.Selection.SelectIter(slctIter); } else { nodeview1.Selection.UnselectAll(); } } }); break; case NotifyCollectionChangedAction.Move: break; case NotifyCollectionChangedAction.Remove: Debug.Print($"PublicTrades: Removed {e.OldItems.Count} items."); //Gtk.Application.Invoke(delegate { //TreeIter iter; // store.GetIterFirst(out iter); // for (int i = 0; i < e.OldStartingIndex; ++i) // store.IterNext(ref iter); // for (int i = 0; i < e.OldItems.Count; ++i) // { // //store.Remove(ref iter); // store.IterNext(ref iter); // } ////nodeview1.ScrollToPoint(0, 0); //}); break; case NotifyCollectionChangedAction.Replace: break; case NotifyCollectionChangedAction.Reset: Debug.Print($"PublicTrades: Reset. {coll.Count} items."); Gtk.Application.Invoke(delegate { store.Clear(); count = 0; foreach (var item in coll.ToList()) { store.AppendValues(item); count += 1; } }); break; } }
public CodeIssuePanelWidget(string mimeType) { this.mimeType = mimeType; // ReSharper disable once DoNotCallOverridableMethodsInConstructor Build(); // ensure selected row remains visible treeviewInspections.SizeAllocated += (o, args) => { TreeIter iter; if (treeviewInspections.Selection.GetSelected(out iter)) { var path = treeviewInspections.Model.GetPath(iter); treeviewInspections.ScrollToCell(path, treeviewInspections.Columns[0], false, 0f, 0f); } }; treeviewInspections.TooltipColumn = 2; treeviewInspections.HasTooltip = true; var toggleRenderer = new CellRendererToggle(); toggleRenderer.Toggled += delegate(object o, ToggledArgs args) { TreeIter iter; if (treeStore.GetIterFromString(out iter, args.Path)) { var provider = (BaseCodeIssueProvider)treeStore.GetValue(iter, 1); enableState[provider] = !enableState[provider]; } }; var titleCol = new TreeViewColumn(); treeviewInspections.AppendColumn(titleCol); titleCol.PackStart(toggleRenderer, false); titleCol.Sizing = TreeViewColumnSizing.Autosize; titleCol.SetCellDataFunc(toggleRenderer, delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel model, TreeIter iter) { var provider = (BaseCodeIssueProvider)model.GetValue(iter, 1); if (provider == null) { toggleRenderer.Visible = false; return; } toggleRenderer.Visible = true; toggleRenderer.Active = enableState[provider]; }); var cellRendererText = new CellRendererText { Ellipsize = Pango.EllipsizeMode.End }; titleCol.PackStart(cellRendererText, true); titleCol.AddAttribute(cellRendererText, "markup", 0); titleCol.Expand = true; searchentryFilter.ForceFilterButtonVisible = true; searchentryFilter.RoundedShape = true; searchentryFilter.HasFrame = true; searchentryFilter.Ready = true; searchentryFilter.Visible = true; searchentryFilter.Entry.Changed += ApplyFilter; var comboRenderer = new CustomCellRenderer { Alignment = Pango.Alignment.Center }; var col = treeviewInspections.AppendColumn("Severity", comboRenderer); col.Sizing = TreeViewColumnSizing.GrowOnly; col.MinWidth = 100; col.Expand = false; var comboBoxStore = new ListStore(typeof(string), typeof(Severity)); // comboBoxStore.AppendValues (GetDescription (Severity.None), Severity.None); comboBoxStore.AppendValues(GetDescription(Severity.Error), Severity.Error); comboBoxStore.AppendValues(GetDescription(Severity.Warning), Severity.Warning); comboBoxStore.AppendValues(GetDescription(Severity.Hint), Severity.Hint); comboBoxStore.AppendValues(GetDescription(Severity.Suggestion), Severity.Suggestion); comboRenderer.Model = comboBoxStore; comboRenderer.Mode = CellRendererMode.Activatable; comboRenderer.TextColumn = 0; comboRenderer.Editable = true; comboRenderer.HasEntry = false; comboRenderer.Edited += delegate(object o, EditedArgs args) { TreeIter iter; if (!treeStore.GetIterFromString(out iter, args.Path)) { return; } TreeIter storeIter; if (!comboBoxStore.GetIterFirst(out storeIter)) { return; } do { if ((string)comboBoxStore.GetValue(storeIter, 0) == args.NewText) { var provider = (BaseCodeIssueProvider)treeStore.GetValue(iter, 1); var severity = (Severity)comboBoxStore.GetValue(storeIter, 1); severities[provider] = severity; return; } } while (comboBoxStore.IterNext(ref storeIter)); }; col.SetCellDataFunc(comboRenderer, delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel model, TreeIter iter) { var provider = (BaseCodeIssueProvider)model.GetValue(iter, 1); if (provider == null) { comboRenderer.Visible = false; return; } var severity = severities[provider]; comboRenderer.Visible = true; comboRenderer.Text = GetDescription(severity); comboRenderer.Icon = GetIcon(severity); }); treeviewInspections.HeadersVisible = false; treeviewInspections.Model = treeStore; GetAllSeverities(); FillInspectors(null); }
public void Apply() { rule.Name = entryRuleName.Text; rule.NamingStyle = (NamingStyle)(1 + styleComboBox.Active); var prefix = entryPrefix.Text.Trim(); if (string.IsNullOrEmpty(prefix)) { rule.RequiredPrefixes = null; } else { rule.RequiredPrefixes = new [] { prefix }; } var allowedPrefix = entryPrefixAllowed.Text.Trim(); if (string.IsNullOrEmpty(allowedPrefix)) { rule.AllowedPrefixes = null; } else { rule.AllowedPrefixes = allowedPrefix.Split(',', ';').Select(s => s.Trim()).ToArray(); } var suffix = entrySuffix.Text.Trim(); if (string.IsNullOrEmpty(suffix)) { rule.RequiredSuffixes = null; } else { rule.RequiredSuffixes = new [] { suffix }; } var ae = AffectedEntity.None; TreeIter iter; if (entityStore.GetIterFirst(out iter)) { do { var entity = (AffectedEntity)entityStore.GetValue(iter, 1); var include = (bool)entityStore.GetValue(iter, 2); if (include) { ae |= entity; } } while (entityStore.IterNext(ref iter)); } rule.AffectedEntity = ae; var mod = Modifiers.None; if (accessibiltyStore.GetIterFirst(out iter)) { do { var entity = (Modifiers)accessibiltyStore.GetValue(iter, 1); var include = (bool)accessibiltyStore.GetValue(iter, 2); if (include) { mod |= entity; } } while (accessibiltyStore.IterNext(ref iter)); } rule.VisibilityMask = mod; rule.IncludeStaticEntities = checkbuttonStatic.Active; rule.IncludeInstanceMembers = checkbuttonInstanceMembers.Active; }
protected virtual void SaveFileButton(object sender, System.EventArgs e) { string Filename = ""; TreeIter iter; bool save = false; if (!CatalogueParser.GetInstance().Locked || sender.Equals(this.saveAsAction)) { FileChooserDialog FChooser = new FileChooserDialog("Filename to save", this, FileChooserAction.Save, this); FChooser.AddButton("Save", ResponseType.Accept); FChooser.AddButton("Cancel", ResponseType.Cancel); FChooser.AddFilter(this.catalogueFilter); FChooser.DoOverwriteConfirmation = true; FChooser.SetCurrentFolder(CatalogueParser.GetInstance().DocumentsDir); FChooser.Response += delegate(object o, ResponseArgs args) { switch (args.ResponseId) { case ResponseType.Accept: if (FChooser.Filename.Contains(".catalogue")) { Filename = FChooser.Filename; } else { Filename = FChooser.Filename + ".catalogue"; } save = true; break; case ResponseType.Cancel: break; default: break; } }; FChooser.Run(); FChooser.Destroy(); } else { save = true; Filename = CatalogueParser.GetInstance().OpenedDocumentPath; } if (save && (tModel.IterNChildren() > 0)) { tModel.GetIterFirst(out iter); CatalogueParser Parser = CatalogueParser.GetInstance(); Parser.SetCatalogueEntry(new CatalogueEntry( (int)tModel.GetValue(iter, (int)Columns.COL_ID), (string)tModel.GetValue(iter, (int)Columns.COL_TITLE), (int)tModel.GetValue(iter, (int)Columns.COL_PAGE), (bool)tModel.GetValue(iter, (int)Columns.COL_WORKS)) ); while (tModel.IterNext(ref iter)) { Parser.SetCatalogueEntry(new CatalogueEntry( (int)tModel.GetValue(iter, (int)Columns.COL_ID), (string)tModel.GetValue(iter, (int)Columns.COL_TITLE), (int)tModel.GetValue(iter, (int)Columns.COL_PAGE), (bool)tModel.GetValue(iter, (int)Columns.COL_WORKS)) ); } Parser.SaveFileName(Filename); Title = "Catalogue - " + Parser.OpenedDocumentName; statusbar.Push((uint)Context.DEFAULT_CONTEXT, "Saved file " + Filename); } }
public CompilerOptionsPanelWidget(DotNetProject project) { this.Build(); this.project = project; DotNetProjectConfiguration configuration = (DotNetProjectConfiguration)project.GetConfiguration(IdeApp.Workspace.ActiveConfiguration); CSharpCompilerParameters compilerParameters = (CSharpCompilerParameters)configuration.CompilationParameters; var csproject = (CSharpProject)project; compileTargetCombo.CompileTarget = configuration.CompileTarget; compileTargetCombo.Changed += new EventHandler(OnTargetChanged); if (project.IsLibraryBasedProjectType) { //fixme: should we totally hide these? compileTargetCombo.Sensitive = false; mainClassEntry.Sensitive = false; } else { classListStore = new ListStore(typeof(string)); mainClassEntry.Model = classListStore; mainClassEntry.TextColumn = 0; ((Entry)mainClassEntry.Child).Text = csproject.MainClass ?? string.Empty; UpdateTarget(); } // Load the codepage. If it matches any of the supported encodigs, use the encoding name string foundEncoding = null; foreach (TextEncoding e in TextEncoding.SupportedEncodings) { if (e.CodePage == -1) { continue; } if (e.CodePage == csproject.CodePage) { foundEncoding = e.Id; } codepageEntry.AppendText(e.Id); } if (foundEncoding != null) { codepageEntry.Entry.Text = foundEncoding; } else if (csproject.CodePage != 0) { codepageEntry.Entry.Text = csproject.CodePage.ToString(); } iconEntry.Path = csproject.Win32Icon; iconEntry.DefaultPath = project.BaseDirectory; allowUnsafeCodeCheckButton.Active = compilerParameters.UnsafeCode; noStdLibCheckButton.Active = compilerParameters.NoStdLib; var langVerStore = new ListStore(typeof(string), typeof(LanguageVersion)); langVerStore.AppendValues(GettextCatalog.GetString("Default"), LanguageVersion.Default); langVerStore.AppendValues("ISO-1", LanguageVersion.CSharp1); langVerStore.AppendValues("ISO-2", LanguageVersion.CSharp2); langVerStore.AppendValues(GettextCatalog.GetString("Version 3"), LanguageVersion.CSharp3); langVerStore.AppendValues(GettextCatalog.GetString("Version 4"), LanguageVersion.CSharp4); langVerStore.AppendValues(GettextCatalog.GetString("Version 5"), LanguageVersion.CSharp5); langVerStore.AppendValues(GettextCatalog.GetString("Version 6"), LanguageVersion.CSharp6); langVerStore.AppendValues(GettextCatalog.GetString("Version 7"), LanguageVersion.CSharp7); langVerStore.AppendValues(GettextCatalog.GetString("Version 7.1"), LanguageVersion.CSharp7_1); langVerStore.AppendValues(GettextCatalog.GetString("Latest"), LanguageVersion.Latest); langVerCombo.Model = langVerStore; TreeIter iter; if (langVerStore.GetIterFirst(out iter)) { do { var val = (LanguageVersion)(int)langVerStore.GetValue(iter, 1); if (val == compilerParameters.LangVersion) { langVerCombo.SetActiveIter(iter); break; } } while (langVerStore.IterNext(ref iter)); } SetupAccessibility(); }
public PdfExportDialog() : base("PdfExportDialog.ui", "pdfexportbox") { games_spinbutton.Value = 10; checkbox_logic.Active = checkbox_calculation.Active = checkbox_verbal.Active = true; // Use defaults from Preferences switch ((GameDifficulty)Preferences.Get <int> (Preferences.DifficultyKey)) { case GameDifficulty.Easy: rb_easy.Active = rb_easy.HasFocus = true; break; case GameDifficulty.Medium: rb_medium.Active = rb_medium.HasFocus = true; break; case GameDifficulty.Master: rb_master.Active = rb_master.HasFocus = true; break; } // File selection string def_file; def_file = System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), // Translators: default file name used when exporting PDF files (keep the pdf extension please) Catalog.GetString("games.pdf")); file = new BrowseFile(hbox_file, def_file, true); FileFilter[] filters = new FileFilter [2]; filters[0] = new FileFilter(); filters[0].AddPattern("*.pdf"); filters[0].Name = Catalog.GetString("PDF files"); filters[1] = new FileFilter(); filters[1].AddPattern("*.*"); filters[1].Name = Catalog.GetString("All files"); file.Filters = filters; ListStore layout_store = new ListStore(typeof(string), typeof(int)); // DisplayName, index to array CellRenderer layout_cell = new CellRendererText(); layout_combo.Model = layout_store; layout_combo.PackStart(layout_cell, true); layout_combo.SetCellDataFunc(layout_cell, ComboBoxCellFunc); int [] per_side = PdfExporter.PagesPerSide; for (int i = 0; i < per_side.Length; i++) { layout_store.AppendValues(per_side[i].ToString(), per_side[i]); } // Default value TreeIter iter; bool more = layout_store.GetIterFirst(out iter); while (more) { if ((int)layout_store.GetValue(iter, COLUMN_VALUE) == DEF_SIDEVALUE) { layout_combo.SetActiveIter(iter); break; } more = layout_store.IterNext(ref iter); } }
private void AutoConnectPorts() { ListStore autoConnectPortsList = AutoConnectPrtsModel.getModel(); TreeIter autocnnportiter; if (autoConnectPortsList.GetIterFirst(out autocnnportiter)) { do { string autocnnport = autoConnectPortsList.GetValue(autocnnportiter, 0).ToString(); ListStore portsList = PortsModel.getModel(); TreeIter iter; Boolean portGetConnected = false; if (portsList.GetIterFirst(out iter)) { do { string port = portsList.GetValue(iter, 0).ToString(); if (port.Trim().Equals(autocnnport.Trim(), StringComparison.CurrentCultureIgnoreCase)) { string sport = lblPuerto.Text.ToString(); int baudRate = Convert.ToInt32(cmbBaudRate.ActiveText.ToString()); Parity parity = (Parity)Enum.Parse(typeof(Parity), cmbParity.ActiveText.ToString()); int databits = Convert.ToInt32(cmbDatabits.ActiveText.ToString()); StopBits stopbits = (StopBits)Enum.Parse(typeof(StopBits), cmbStopbits.ActiveText.ToString()); CnnPort cnnPort; if (!cnnPortList.TryGetValue(port, out cnnPort)) { string messageResponse; if ( this.connectToPort(port, baudRate, parity, databits, stopbits, new SerialDataReceivedEventHandler(sport_DataReceived), new SerialErrorReceivedEventHandler(sport_ErrorReceived), out messageResponse) ) { PortsModel.editItem(iter, new Gdk.Pixbuf(Directory.GetCurrentDirectory() + @"/Assets/Images/on.png"), "Conectado"); BitacoraModel.addItem("Auto abrir puerto", string.Format("Puerto {0}", port.ToString())); } else { PortsModel.editItem(iter, new Gdk.Pixbuf(Directory.GetCurrentDirectory() + @"/Assets/Images/err.png"), "Error al intentar conectar"); BitacoraModel.addItem("Auto abrir puerto", string.Format("Puerto {0}", port.ToString()), string.Format("Error al intentar conectar [ {0} ]", messageResponse), "ERROR"); } } cnnPort = null; portGetConnected = true; } } while (portsList.IterNext(ref iter)); } if (!portGetConnected) { BitacoraModel.addItem("Auto abrir puerto", string.Format("Puerto {0}", autocnnport), string.Format("No se encontrĂ³ el puerto disponible"), "ERROR"); } } while(autoConnectPortsList.IterNext(ref autocnnportiter)); } }
private TextCleaner(Builder builder) : base(builder.GetObject("TextCleaner").Handle) { builder.Autoconnect(this); operationFactory = new OperationFactory(Operations); processor = new FullTextProcessor(); currentOp = new Nop(); DeleteEvent += Window_DeleteEvent; var fira = Pango.FontDescription.FromString("Fira Code Regular 11"); textMain.ModifyFont(fira); textResult.ModifyFont(fira); textMain.Buffer.Changed += (object sender, EventArgs e) => ProcessText(); operation.Changed += (object sender, EventArgs e) => { if (operation.Active < 0) { return; } currentOp = Operations[operation.Active]; string[] argNames = currentOp.ArgNames; if (argNames.Length >= 1) { textArgument1.IsEditable = true; labelArgument1.Text = argNames[0]; textArgument1.Show(); labelArgument1.Show(); } else { textArgument1.IsEditable = false; textArgument1.Hide(); labelArgument1.Hide(); } if (argNames.Length >= 2) { textArgument2.IsEditable = true; labelArgument2.Text = argNames[1]; textArgument2.Show(); labelArgument2.Show(); } else { textArgument2.IsEditable = false; textArgument2.Hide(); labelArgument2.Hide(); } ProcessText(); }; textArgument1.Changed += (object sender, EventArgs e) => ProcessText(); textArgument2.Changed += (object sender, EventArgs e) => ProcessText(); radioLines.Clicked += (object sender, EventArgs e) => { btnCopy.Sensitive = true; processor = new LineProcessor(); ProcessText(); }; radioFullText.Clicked += (object sender, EventArgs e) => { btnCopy.Sensitive = true; processor = new FullTextProcessor(); ProcessText(); }; radioTesting.Clicked += (object sender, EventArgs e) => { btnCopy.Sensitive = false; TreeIter iter; if (!listWorkspace.GetIterFirst(out iter)) { return; } var list = new List <CommandData>(); do { if (treeOperations.Selection.IterIsSelected(iter)) { CommandData data = (CommandData)listWorkspace.GetValue(iter, 0); list.Add(data); } } while (listWorkspace.IterNext(ref iter)); processor = new ProcessorList(operationFactory, list.ToArray()); ProcessText(); }; btnCopy.Clicked += (sender, args) => { string processorName = ""; if (radioFullText.Active) { processorName = "full"; } else if (radioLines.Active) { processorName = "line"; } string opName = currentOp.Name; string arg1 = textArgument1.Text; string arg2 = textArgument2.Text; listWorkspace.AppendValues( CommandData.CreateInstance( processorName, opName, operation.Active, arg1, arg2 ) ); }; treeOperations.Selection.Changed += (sender, args) => { if (radioTesting.Active) { btnCopy.Sensitive = false; TreeIter iter; if (!listWorkspace.GetIterFirst(out iter)) { return; } var list = new List <CommandData>(); do { if (treeOperations.Selection.IterIsSelected(iter)) { CommandData data = (CommandData)listWorkspace.GetValue(iter, 0); list.Add(data); } } while (listWorkspace.IterNext(ref iter)); processor = new ProcessorList(operationFactory, list.ToArray()); ProcessText(); } }; for (int i = 0; i < Operations.Length; i++) { var op = Operations[i]; listOperations.AppendValues(i, op.Name); } operation.IdColumn = 0; operation.EntryTextColumn = 1; operation.Model = listOperations; var em = new TextTag("highlight") { Background = "#ff0" }; textMain.Buffer.TagTable.Add(em); cellRendererName.Editable = false; columnName.SetCellDataFunc(cellRendererName, RenderCommandName); listWorkspace = new ListStore(typeof(CommandData)); treeOperations.Model = listWorkspace; treeOperations.Reorderable = true; treeOperations.Selection.Mode = SelectionMode.Multiple; cellRendererName.Sensitive = true; treeOperations.Sensitive = true; FillFromClipboard(); }
public CompilerOptionsPanelWidget(DotNetProject project) { this.Build(); this.project = project; DotNetProjectConfiguration configuration = (DotNetProjectConfiguration)project.GetConfiguration(IdeApp.Workspace.ActiveConfiguration); CSharpCompilerParameters compilerParameters = (CSharpCompilerParameters)configuration.CompilationParameters; var csproject = (CSharpProject)project; compileTargetCombo.CompileTarget = configuration.CompileTarget; compileTargetCombo.Changed += new EventHandler(OnTargetChanged); if (project.IsLibraryBasedProjectType) { //fixme: should we totally hide these? compileTargetCombo.Sensitive = false; mainClassEntry.Sensitive = false; } else { classListStore = new ListStore(typeof(string)); mainClassEntry.Model = classListStore; mainClassEntry.TextColumn = 0; ((Entry)mainClassEntry.Child).Text = csproject.MainClass ?? string.Empty; UpdateTarget(); } // Load the codepage. If it matches any of the supported encodigs, use the encoding name string foundEncoding = null; foreach (TextEncoding e in TextEncoding.SupportedEncodings) { if (e.CodePage == -1) { continue; } if (e.CodePage == csproject.CodePage) { foundEncoding = e.Id; } codepageEntry.AppendText(e.Id); } if (foundEncoding != null) { codepageEntry.Entry.Text = foundEncoding; } else if (csproject.CodePage != 0) { codepageEntry.Entry.Text = csproject.CodePage.ToString(); } iconEntry.Path = csproject.Win32Icon; iconEntry.DefaultPath = project.BaseDirectory; allowUnsafeCodeCheckButton.Active = compilerParameters.UnsafeCode; noStdLibCheckButton.Active = compilerParameters.NoStdLib; langVersionWarningIcon.Visible = false; var langVerStore = new ListStore(typeof(string), typeof(LanguageVersion), typeof(bool)); var langVersions = CSharpLanguageVersionHelper.GetKnownLanguageVersions(); string badVersion = null; LanguageVersion?langVersion = null; try { langVersion = compilerParameters.LangVersion; } catch (Exception) { badVersion = configuration.Properties.GetProperty("LangVersion").Value; } foreach (var(text, version) in langVersions) { if (unsupportedLanguageVersions.Contains(version)) { if (langVersion == version) { if (badVersion == null) { badVersion = text; } } else { // Otherwise if it's an unsupported language but it's not the current project's // version then it must be an unsupported version of Mono. Let's not add that to // the list store. } } else { langVerStore.AppendValues(text, version, false); } } langVerCombo.Model = langVerStore; if (badVersion != null) { var badIter = langVerStore.AppendValues(GettextCatalog.GetString("{0} (Unknown Version)", badVersion), LanguageVersion.Default, true); langVerCombo.SetActiveIter(badIter); langVersionWarningIcon.Visible = true; } else { TreeIter iter; if (langVerStore.GetIterFirst(out iter)) { do { var val = (LanguageVersion)(int)langVerStore.GetValue(iter, 1); if (val == compilerParameters.LangVersion) { langVerCombo.SetActiveIter(iter); break; } } while (langVerStore.IterNext(ref iter)); } } SetupAccessibility(); }
/* * drive refreshing is implemented asynchronously, * because this operation may take a few seconds on windows systems. */ private void RefreshListAsync() { //btnOk.Sensitive = false; if (CurrentPlatform.IsWin32) { ListStore store = new ListStore(typeof(string)); store.AppendValues(S._("Waiting for drives...")); SetColumns(tvDrives, true); tvDrives.Model = store; /*ColumnsAutosize();*/ } new Thread( delegate() { ListStore store = new ListStore(typeof(Pixbuf), typeof(string), typeof(string), typeof(string), /*not visible - driveinfo data*/ typeof(object)); DriveInfo[] drives = DriveInfo.GetDrives(true); // list ready drives only TreeIter selectedIter = TreeIter.Zero; foreach (DriveInfo d in drives) { if (EXCLUDE_ROOT_FS && (d.IsMounted && d.RootPath == "/")) { continue; } //string stockID = Util.GetDriveStockIconID(d); //Pixbuf icon = this.RenderIcon(stockID, IconSize.Dialog, string.Empty); Pixbuf icon = RenderIcon(Icons.IconUtils.GetDriveIcon(d), IconSize.Dialog); string drive = string.IsNullOrEmpty(d.Device) ? S._("Unknown") : d.Device; string label = GetLabel(d); string size = Util.GetSizeStr(d.TotalSize); TreeIter iter = store.AppendValues(icon, drive, label, size, d); // preselect the first cdrom drive found if ((selectedIter.Stamp == TreeIter.Zero.Stamp) && d.DriveType == DriveType.CDRom) { selectedIter = iter; } } // if no cdrom drive was selected, select first drive if (selectedIter.Stamp == TreeIter.Zero.Stamp) { store.GetIterFirst(out selectedIter); } if (!isDestroyed) { // only access gui components from the gui thread Application.Invoke(delegate { SetColumns(tvDrives, false); tvDrives.Model = store; /*ColumnsAutosize();*/ // select selectedIter tvDrives.Selection.SelectIter(selectedIter); //btnOk.Sensitive = true; }); } }).Start(); }