Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2010-03-24 20:07:14 +0300
committerLluis Sanchez <lluis@novell.com>2010-03-24 20:07:14 +0300
commit047d32932a5f27f98fbd2dfc04d9aaa293cfe16e (patch)
tree789319afe26143bf830b49f387caab16a582adcf /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels
parent6aaef4412d971d46af58c93aabf68cd04d74db26 (diff)
* MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FileProvider.cs: Don't
save the file if nothing has been replaced. * MonoDevelop.Ide/MonoDevelop.Ide.Templates/SingleFileDescriptionTemplate.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeTranslationFileDescriptionTemplate.cs: HashtableToStringArray is not necessary. The string parser service can directly handle a string dictionary. * MonoDevelop.Ide/Makefile.am: * MonoDevelop.Ide/gtk-gui/gui.stetic: * MonoDevelop.Ide/gtk-gui/objects.xml: * MonoDevelop.Ide/MonoDevelop.Ide/Ide.cs: * MonoDevelop.Ide/MonoDevelop.Ide.csproj: * MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs: * MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalTool.cs: * MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalToolPanel.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Commands/CustomStringTagProvider.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/StringTagSelectorButton.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs: * MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.ExternalTools.ExternalToolPanelWidget.cs: * MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs: * MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Gui.Components.StringTagSelectorButton.cs: * MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.OptionPanels.CustomCommandWidget.cs: Use the new string tag model. Added a new StringTagSelectorButton class. * MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs: Sort the configurations list. * MonoDevelop.Core/Makefile.am: * MonoDevelop.Core/MonoDevelop.Core.csproj: * MonoDevelop.Core/MonoDevelop.Core.StringParsing: * MonoDevelop.Core/MonoDevelop.Projects/Project.cs: * MonoDevelop.Core/MonoDevelop.Projects/Solution.cs: * MonoDevelop.Core/MonoDevelop.Projects/SolutionItem.cs: * MonoDevelop.Core/MonoDevelop.Projects/WorkspaceItem.cs: * MonoDevelop.Core/MonoDevelop.Projects/CustomCommand.cs: * MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs: * MonoDevelop.Core/MonoDevelop.Core/StringParserService.cs: * MonoDevelop.Core/MonoDevelop.Projects/SolutionEntityItem.cs: * MonoDevelop.Core/MonoDevelop.Projects/ProjectConfiguration.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/StringTagModel.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/IStringTagModel.cs: * MonoDevelop.Core/MonoDevelop.Projects/DotNetProjectConfiguration.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/StringTagProvider.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/IStringTagProvider.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/StringTagDescription.cs: * MonoDevelop.Core/MonoDevelop.Core.StringParsing/StringTagModelDescription.cs: Reworked the string parser service. Added an extension point for registering tag providers. Added StringTagModel and StringTagModelDescription classes. svn path=/trunk/monodevelop/; revision=154152
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs78
4 files changed, 22 insertions, 70 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs
index 4a1ea2eb9d..93bfaaf5b7 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CombineConfigurationPanel.cs
@@ -59,7 +59,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
partial class CombineConfigurationPanelWidget : Gtk.Bin
{
- TreeStore store;
+ ListStore store;
SolutionConfiguration configuration;
MultiConfigItemOptionsDialog parentDialog;
@@ -68,7 +68,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
Build ();
this.parentDialog = parentDialog;
- store = new TreeStore (typeof(object), typeof(string), typeof(bool));
+ store = new ListStore (typeof(object), typeof(string), typeof(bool));
configsList.Model = store;
configsList.HeadersVisible = true;
@@ -79,6 +79,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
col.AddAttribute (sr, "text", 1);
col.Title = GettextCatalog.GetString ("Solution Item");
configsList.AppendColumn (col);
+ col.SortColumnId = 1;
CellRendererToggle tt = new CellRendererToggle ();
tt.Activatable = true;
@@ -88,6 +89,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
CellRendererComboBox comboCell = new CellRendererComboBox ();
comboCell.Changed += new ComboSelectionChangedHandler (OnConfigSelectionChanged);
configsList.AppendColumn (GettextCatalog.GetString ("Configuration"), comboCell, new TreeCellDataFunc (OnSetConfigurationsData));
+ store.SetSortColumnId (1, SortType.Ascending);
}
public void Load (SolutionConfiguration config)
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs
index e12eaac575..89d69ada0c 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanel.cs
@@ -45,7 +45,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
public override void LoadConfigData ()
{
- widget.Load (ConfiguredSolutionItem, CurrentConfiguration.CustomCommands);
+ widget.Load (ConfiguredSolutionItem, CurrentConfiguration.CustomCommands, CurrentConfiguration.Selector);
}
public override void ApplyChanges ()
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs
index 90f29579b7..a6639bb7f8 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandPanelWidget.cs
@@ -38,16 +38,18 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
CustomCommandCollection commands;
CustomCommandWidget lastSlot;
SolutionEntityItem entry;
+ ConfigurationSelector configSelector;
public CustomCommandPanelWidget ()
{
this.Build();
}
- public void Load (SolutionEntityItem entry, CustomCommandCollection commands)
+ public void Load (SolutionEntityItem entry, CustomCommandCollection commands, ConfigurationSelector configSelector)
{
this.entry = entry;
this.commands = commands;
+ this.configSelector = configSelector;
// Clean the list
foreach (CustomCommandWidget ccw in vboxCommands.Children) {
@@ -66,7 +68,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
void AddCommandSlot (CustomCommand cmd)
{
- CustomCommandWidget widget = new CustomCommandWidget (entry, cmd);
+ CustomCommandWidget widget = new CustomCommandWidget (entry, cmd, configSelector);
vboxCommands.PackStart (widget, false, false, 0);
widget.CommandCreated += OnCommandCreated;
widget.CommandRemoved += OnCommandRemoved;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs
index a0974f89f9..3cdb8b3099 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs
@@ -30,6 +30,7 @@ using System;
using MonoDevelop.Core;
using MonoDevelop.Projects;
using MonoDevelop.Components;
+using MonoDevelop.Core.StringParsing;
namespace MonoDevelop.Ide.Projects.OptionPanels
{
@@ -41,64 +42,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
IWorkspaceObject entry;
bool updating;
- // snatched from MonoDevelop.Ide.Gui.OptionPanels/ExternalToolPanel.cs
- // a lot of these probably don't apply to custom build commands (e.g. ItemPath -- path of current open doc)
-// static string[,] argumentQuickInsertMenu = new string[,] {
-// {GettextCatalog.GetString ("Item Path"), "${ItemPath}"},
-// {GettextCatalog.GetString ("_Item Directory"), "${ItemDir}"},
-// {GettextCatalog.GetString ("Item file name"), "${ItemFileName}"},
-// {GettextCatalog.GetString ("Item extension"), "${ItemExt}"},
-// {"-", ""},
-// {GettextCatalog.GetString ("Current line"), "${CurLine}"},
-// {GettextCatalog.GetString ("Current column"), "${CurCol}"},
-// {GettextCatalog.GetString ("Current text"), "${CurText}"},
-// {"-", ""},
-// {GettextCatalog.GetString ("Target Path"), "${TargetPath}"},
-// {GettextCatalog.GetString ("_Target Directory"), "${TargetDir}"},
-// {GettextCatalog.GetString ("Target Name"), "${TargetName}"},
-// {GettextCatalog.GetString ("Target Extension"), "${TargetExt}"},
-// {"-", ""},
-// {GettextCatalog.GetString ("_Project Directory"), "${ProjectDir}"},
-// {GettextCatalog.GetString ("Project file name"), "${ProjectFileName}"},
-// {"-", ""},
-// {GettextCatalog.GetString ("_Solution Directory"), "${CombineDir}"},
-// {GettextCatalog.GetString ("Solution File Name"), "${CombineFileName}"},
-// {"-", ""},
-// {GettextCatalog.GetString ("MonoDevelop Startup Directory"), "${StartupPath}"},
-// };
-
- static string[,] projectWorkingDirInsertMenu = new string[,] {
- // Keep in sync with CustomCommand.cs
- {GettextCatalog.GetString ("_Target Directory"), "${TargetDir}"},
- {GettextCatalog.GetString ("Target _Name"), "${TargetName}"},
- {"-", ""},
- {GettextCatalog.GetString ("_Project Directory"), "${ProjectDir}"},
- {GettextCatalog.GetString ("P_roject Name"), "${ProjectName}"},
- {GettextCatalog.GetString ("Project _File"), "${ProjectFile}"},
- {"-", ""},
- {GettextCatalog.GetString ("_Solution Directory"), "${SolutionDir}"},
- {GettextCatalog.GetString ("So_lution Name"), "${SolutionName}"},
- {GettextCatalog.GetString ("Solution F_ile"), "${SolutionFile}"},
- };
-
- static string[,] entryWorkingDirInsertMenu = new string[,] {
- // Keep in sync with CustomCommand.cs
- {GettextCatalog.GetString ("Solution _Item Directory"), "${ItemDir}"},
- {GettextCatalog.GetString ("Solution Item _Name"), "${ItemName}"},
- {GettextCatalog.GetString ("Solution Item _File"), "${ItemFile}"},
- {"-", ""},
- {GettextCatalog.GetString ("_Solution Directory"), "${SolutionDir}"},
- {GettextCatalog.GetString ("So_lution Name"), "${SolutionName}"},
- {GettextCatalog.GetString ("Solution F_ile"), "${SolutionFile}"},
- };
-
- static string[,] solutionWorkingDirInsertMenu = new string[,] {
- // Keep in sync with CustomCommand.cs
- {GettextCatalog.GetString ("_Solution Directory"), "${SolutionDir}"},
- {GettextCatalog.GetString ("So_lution Name"), "${SolutionName}"},
- };
-
- public CustomCommandWidget (IWorkspaceObject entry, CustomCommand cmd)
+ public CustomCommandWidget (IWorkspaceObject entry, CustomCommand cmd, ConfigurationSelector configSelector)
{
this.Build();
this.cmd = cmd;
@@ -112,15 +56,19 @@ namespace MonoDevelop.Ide.Projects.OptionPanels
UpdateControls ();
this.WidgetFlags |= Gtk.WidgetFlags.NoShowAll;
- string[,] workingDirInsertMenu;
- if (entry is Project)
- workingDirInsertMenu = projectWorkingDirInsertMenu;
- else if (entry is SolutionEntityItem)
- workingDirInsertMenu = entryWorkingDirInsertMenu;
+ StringTagModelDescription tagModel;
+ if (entry is SolutionItem)
+ tagModel = ((SolutionItem)entry).GetStringTagModelDescription (configSelector);
+ else if (entry is WorkspaceItem)
+ tagModel = ((WorkspaceItem)entry).GetStringTagModelDescription ();
else
- workingDirInsertMenu = solutionWorkingDirInsertMenu;
+ tagModel = new StringTagModelDescription ();
+
+ tagSelectorDirectory.TagModel = tagModel;
+ tagSelectorDirectory.TargetEntry = workingdirEntry;
- new MenuButtonEntry (workingdirEntry, workingdirQuickInsertButton, workingDirInsertMenu);
+ tagSelectorCommand.TagModel = tagModel;
+ tagSelectorCommand.TargetEntry = entryCommand;
}
public CustomCommand CustomCommand {