void OnSetConfigurationsData(Gtk.TreeViewColumn treeColumn, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { SolutionConfigurationEntry entry = (SolutionConfigurationEntry)store.GetValue(iter, 0); ConfigurationData data = parentDialog.ConfigurationData.FindConfigurationData(entry.Item); string[] values = new string [data.Configurations.Count]; for (int n = 0; n < values.Length; n++) { values [n] = data.Configurations [n].Id; } CellRendererComboBox comboCell = (CellRendererComboBox)cell; comboCell.Values = values; var escaped = GLib.Markup.EscapeText(entry.ItemConfiguration); if (entry.Item.Configurations [entry.ItemConfiguration] == null) { comboCell.Markup = string.Format("<span color='red'>{0}</span>", escaped); } else { comboCell.Markup = escaped; } }
void OnSetPolicyData(Gtk.TreeViewColumn treeColumn, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { MimeTypePanelData mt = (MimeTypePanelData)store.GetValue(iter, 0); string selection; if (mt.UseParentPolicy) { selection = panel.IsCustomUserPolicy ? systemPolicyText : parentPolicyText; } else { PolicySet matchingSet = mt.GetMatchingSet(GetCandidateSets(mt)); if (matchingSet != null) { selection = matchingSet.Name; } else { selection = customPolicyText; } } CellRendererComboBox comboCell = (CellRendererComboBox)cell; comboCell.Values = GetComboOptions(mt); comboCell.Text = selection; }
public CombineConfigurationPanelWidget(MultiConfigItemOptionsDialog parentDialog) { Build(); this.parentDialog = parentDialog; store = new ListStore(typeof(object), typeof(string), typeof(bool)); configsList.Model = store; configsList.HeadersVisible = true; TreeViewColumn col = new TreeViewColumn(); CellRendererText sr = new CellRendererText(); col.PackStart(sr, true); col.Expand = true; col.AddAttribute(sr, "text", 1); col.Title = GettextCatalog.GetString("Solution Item"); configsList.AppendColumn(col); col.SortColumnId = 1; CellRendererToggle tt = new CellRendererToggle(); tt.Activatable = true; tt.Toggled += new ToggledHandler(OnBuildToggled); configsList.AppendColumn(GettextCatalog.GetString("Build"), tt, "active", 2); CellRendererComboBox comboCell = new CellRendererComboBox(); comboCell.Changed += new ComboSelectionChangedHandler(OnConfigSelectionChanged); configsList.AppendColumn(GettextCatalog.GetString("Configuration"), comboCell, new TreeCellDataFunc(OnSetConfigurationsData)); store.SetSortColumnId(1, SortType.Ascending); }
public CodeFormattingPanelWidget(CodeFormattingPanel panel, OptionsDialog dialog) { this.Build(); this.panel = panel; this.dialog = dialog; store = new Gtk.ListStore(typeof(MimeTypePanelData), typeof(Gdk.Pixbuf), typeof(string)); tree.Model = store; boxButtons.Visible = panel.DataObject is PolicySet; Gtk.CellRendererText crt = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf crp = new Gtk.CellRendererPixbuf(); Gtk.TreeViewColumn col = new Gtk.TreeViewColumn(); col.Title = GettextCatalog.GetString("File Type"); col.PackStart(crp, false); col.PackStart(crt, true); col.AddAttribute(crp, "pixbuf", 1); col.AddAttribute(crt, "text", 2); tree.AppendColumn(col); store.SetSortColumnId(2, Gtk.SortType.Ascending); CellRendererComboBox comboCell = new CellRendererComboBox(); comboCell.Changed += OnPolicySelectionChanged; Gtk.TreeViewColumn polCol = tree.AppendColumn(GettextCatalog.GetString("Policy"), comboCell, new Gtk.TreeCellDataFunc(OnSetPolicyData)); tree.Selection.Changed += delegate { Gtk.TreeIter it; tree.Selection.GetSelected(out it); Gtk.TreeViewColumn ccol; Gtk.TreePath path; tree.GetCursor(out path, out ccol); if (ccol == polCol) { tree.SetCursor(path, ccol, true); } }; Fill(); UpdateButtons(); tree.Selection.Changed += delegate { UpdateButtons(); }; }
void OnSetConfigurationsData(Gtk.TreeViewColumn treeColumn, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { SolutionConfigurationEntry entry = (SolutionConfigurationEntry)store.GetValue(iter, 0); ConfigurationData data = parentDialog.ConfigurationData.FindConfigurationData(entry.Item); string[] values = new string [data.Configurations.Count]; for (int n = 0; n < values.Length; n++) { values [n] = data.Configurations [n].Id; } CellRendererComboBox comboCell = (CellRendererComboBox)cell; comboCell.Values = values; comboCell.Text = entry.ItemConfiguration; }
void OnSetConfigurationsData(Gtk.TreeViewColumn treeColumn, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { var item = (SolutionEntityItem)store.GetValue(iter, ProjectCol); ConfigurationData data = parentDialog.ConfigurationData.FindConfigurationData(item); CellRendererComboBox comboCell = (CellRendererComboBox)cell; comboCell.Values = data.Configurations.Select(c => c.Id).ToArray(); var conf = GetSelectedConfiguration(item); var escaped = GLib.Markup.EscapeText(conf); if (item.Configurations [conf] == null) { comboCell.Markup = string.Format("<span color='red'>{0}</span>", escaped); } else { comboCell.Markup = escaped; } }
public UserTasksView() { highPrioColor = StringToColor(IdeApp.Preferences.UserTasksHighPrioColor); normalPrioColor = StringToColor(IdeApp.Preferences.UserTasksNormalPrioColor); lowPrioColor = StringToColor(IdeApp.Preferences.UserTasksLowPrioColor); store = new ListStore( typeof(string), // priority typeof(bool), // completed typeof(string), // desc typeof(TaskListEntry), // user task typeof(Gdk.Color), // foreground color typeof(int)); // font style sortModel = new TreeModelSort(store); view = new MonoDevelop.Ide.Gui.Components.PadTreeView(sortModel); view.RulesHint = true; view.SearchColumn = (int)Columns.Description; view.Selection.Changed += new EventHandler(SelectionChanged); TreeViewColumn col; CellRendererComboBox cellRendPriority = new CellRendererComboBox(); cellRendPriority.Values = priorities; cellRendPriority.Editable = true; cellRendPriority.Changed += new ComboSelectionChangedHandler(UserTaskPriorityEdited); col = view.AppendColumn(GettextCatalog.GetString("Priority"), cellRendPriority, "text", Columns.Priority, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.Resizable = true; col.SortColumnId = (int)Columns.Priority; CellRendererToggle cellRendCompleted = new CellRendererToggle(); cellRendCompleted.Toggled += new ToggledHandler(UserTaskCompletedToggled); cellRendCompleted.Activatable = true; col = view.AppendColumn(String.Empty, cellRendCompleted, "active", Columns.Completed); col.SortColumnId = (int)Columns.Completed; cellRendDesc = view.TextRenderer; cellRendDesc.Editable = true; cellRendDesc.Edited += new EditedHandler(UserTaskDescEdited); col = view.AppendColumn(GettextCatalog.GetString("Description"), cellRendDesc, "text", Columns.Description, "strikethrough", Columns.Completed, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.Resizable = true; col.SortColumnId = (int)Columns.Description; newButton = new Button(); newButton.Label = GettextCatalog.GetString("New Task"); newButton.Image = new ImageView(Gtk.Stock.New, IconSize.Menu); newButton.Image.Show(); newButton.Clicked += new EventHandler(NewUserTaskClicked); newButton.TooltipText = GettextCatalog.GetString("Create New Task"); copyButton = new Button(); copyButton.Label = GettextCatalog.GetString("Copy Task"); copyButton.Image = new ImageView(Gtk.Stock.Copy, IconSize.Menu); copyButton.Image.Show(); copyButton.Clicked += CopyUserTaskClicked; copyButton.TooltipText = GettextCatalog.GetString("Copy Task Description"); delButton = new Button(); delButton.Label = GettextCatalog.GetString("Delete Task"); delButton.Image = new ImageView(Gtk.Stock.Delete, IconSize.Menu); delButton.Image.Show(); delButton.Clicked += new EventHandler(DeleteUserTaskClicked); delButton.TooltipText = GettextCatalog.GetString("Delete Task"); TaskService.UserTasks.TasksChanged += UserTasksChanged; TaskService.UserTasks.TasksAdded += UserTasksChanged; TaskService.UserTasks.TasksRemoved += UserTasksChanged; if (IdeApp.Workspace.IsOpen) { solutionLoaded = true; } IdeApp.Workspace.FirstWorkspaceItemOpened += CombineOpened; IdeApp.Workspace.LastWorkspaceItemClosed += CombineClosed; IdeApp.Preferences.UserTasksLowPrioColor.Changed += OnPropertyUpdated; IdeApp.Preferences.UserTasksNormalPrioColor.Changed += OnPropertyUpdated; IdeApp.Preferences.UserTasksHighPrioColor.Changed += OnPropertyUpdated; ValidateButtons(); // Initialize with existing tags. UserTasksChanged(this, null); }
public UserTasksView() { highPrioColor = StringToColor((string)PropertyService.Get("Monodevelop.UserTasksHighPrioColor", "")); normalPrioColor = StringToColor((string)PropertyService.Get("Monodevelop.UserTasksNormalPrioColor", "")); lowPrioColor = StringToColor((string)PropertyService.Get("Monodevelop.UserTasksLowPrioColor", "")); store = new ListStore( typeof(string), // priority typeof(bool), // completed typeof(string), // desc typeof(Task), // user task typeof(Gdk.Color), // foreground color typeof(int)); // font style view = new MonoDevelop.Ide.Gui.Components.PadTreeView(store); view.RulesHint = true; view.SearchColumn = (int)Columns.Description; view.Selection.Changed += new EventHandler(SelectionChanged); view.PopupMenu += new PopupMenuHandler(OnUserPopupMenu); view.ButtonPressEvent += new ButtonPressEventHandler(OnUserButtonPressed); TreeViewColumn col; CellRendererComboBox cellRendPriority = new CellRendererComboBox(); cellRendPriority.Values = priorities; cellRendPriority.Editable = true; cellRendPriority.Changed += new ComboSelectionChangedHandler(UserTaskPriorityEdited); col = view.AppendColumn(GettextCatalog.GetString("Priority"), cellRendPriority, "text", Columns.Priority, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.Clickable = true; col.Resizable = true; TreeIterCompareFunc sortFunc = new TreeIterCompareFunc(PrioirtySortFunc); store.SetSortFunc((int)Columns.Priority, sortFunc); col.Clicked += new EventHandler(UserTaskPriorityResort); CellRendererToggle cellRendCompleted = new CellRendererToggle(); cellRendCompleted.Toggled += new ToggledHandler(UserTaskCompletedToggled); cellRendCompleted.Activatable = true; col = view.AppendColumn(String.Empty, cellRendCompleted, "active", Columns.Completed); col.Clickable = true; col.Clicked += new EventHandler(UserTaskCompletedResort); cellRendDesc = view.TextRenderer; cellRendDesc.Editable = true; cellRendDesc.Edited += new EditedHandler(UserTaskDescEdited); col = view.AppendColumn(GettextCatalog.GetString("Description"), cellRendDesc, "text", Columns.Description, "strikethrough", Columns.Completed, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.Clickable = true; col.Resizable = true; col.Clicked += new EventHandler(UserTaskDescResort); newButton = new Button(); newButton.Image = new Gtk.Image(Gtk.Stock.New, IconSize.Button); newButton.Label = GettextCatalog.GetString("New Task"); newButton.ImagePosition = PositionType.Left; newButton.Clicked += new EventHandler(NewUserTaskClicked); newButton.TooltipText = GettextCatalog.GetString("Create New Task"); delButton = new Button(new Gtk.Image(Gtk.Stock.Delete, IconSize.Button)); delButton.Clicked += new EventHandler(DeleteUserTaskClicked); delButton.TooltipText = GettextCatalog.GetString("Delete Task"); TaskService.UserTasks.TasksChanged += DispatchService.GuiDispatch <TaskEventHandler> (UserTasksChanged); TaskService.UserTasks.TasksAdded += DispatchService.GuiDispatch <TaskEventHandler> (UserTasksChanged); TaskService.UserTasks.TasksRemoved += DispatchService.GuiDispatch <TaskEventHandler> (UserTasksChanged); if (IdeApp.Workspace.IsOpen) { solutionLoaded = true; } IdeApp.Workspace.FirstWorkspaceItemOpened += CombineOpened; IdeApp.Workspace.LastWorkspaceItemClosed += CombineClosed; PropertyService.PropertyChanged += DispatchService.GuiDispatch <EventHandler <PropertyChangedEventArgs> > (OnPropertyUpdated); ValidateButtons(); // Initialize with existing tags. UserTasksChanged(this, null); }
public override Control CreatePanelWidget() { var solution = DataObject as Solution; Gtk.VBox box = new Gtk.VBox(); if (solution == null) { return(box); // something went very wrong } var scrollArea = new ScrolledWindow(); store = new Gtk.ListStore(typeof(ComboChoice), typeof(ComboChoice)); list = new Gtk.TreeView(); list.Model = store; LoadConfig(); var crt = new CellRendererComboBox(); crt.Changed += GetOnChangedListener(0); var projectsColumn = list.AppendColumn("Project", crt, new TreeCellDataFunc(GetOnSetDataFunc(0, GetProjectNames))); projectsColumn.Expand = true; var testRenderer = new CellRendererComboBox(); testRenderer.Changed += GetOnChangedListener(1); var testsColumn = list.AppendColumn("Tests to run", testRenderer, new TreeCellDataFunc(GetOnSetDataFunc(1, GetTestNames))); testsColumn.Expand = true; list.Selection.Changed += delegate { Gtk.TreeIter it; list.Selection.GetSelected(out it); Gtk.TreeViewColumn ccol; Gtk.TreePath path; list.GetCursor(out path, out ccol); list.SetCursor(path, ccol, true); }; Button b = new Button(); b.Label = "Add row"; b.Clicked += (o, e) => { var project = new ComboChoice { Text = GetProjectNames()[0] }; var test = new ComboChoice { Text = EmptyChoice }; rows.Add(Tuple.Create(project, test)); store.AppendValues(project, test); }; box.Spacing = 6; scrollArea.Add(list); box.PackStart(scrollArea); box.PackStart(b, false, false, 5); box.ShowAll(); return(box); }