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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #7
0
        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);
        }