Browse Source

Worked on #Develop. Search & Replace panel now has 2 different view modes. ExtTreeView drawing is now more smooth. Fixed some issues.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@18 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mike Krüger 22 years ago
parent
commit
77dbb0ecd5
  1. 5
      src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj
  2. 321
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceItemHashtable.cs
  3. 15
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceList.cs
  4. 2
      src/AddIns/Misc/AddinScout/Project/Src/Gui/CodonListPanel.cs
  5. 21
      src/AddIns/Misc/NUnitPad/Project/NUnitPad.csproj
  6. 3
      src/AddIns/Misc/NUnitPad/Project/Src/Gui/NUnitPadContent.cs
  7. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  8. 6
      src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs
  9. 28
      src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs
  10. 2
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SelectStylePanel.cs
  11. 6
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs
  12. 3
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs
  13. 6
      src/Main/Base/Project/Src/Internal/Erbauer/DialogPanelErbauer.cs
  14. 3
      src/Main/Base/Project/Src/Project/Solution/AbstractProject.cs
  15. 2
      src/Main/Base/Project/Src/Services/IconService.cs
  16. 2
      src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDescriptor.cs
  17. 1
      src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs
  18. 2
      src/Main/Base/Project/Src/Services/ParserService/Erbauer/ParserDescriptor.cs
  19. 2
      src/Main/Base/Project/Src/TextEditor/Codons/EditActionErbauer.cs
  20. 1
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/SharpDevelopTextAreaControl.cs
  21. 40
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/Nodes/SearchResultNode.cs
  22. 77
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs
  23. 38
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs
  24. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs
  25. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs
  26. 4
      src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/Icon/IconDescriptor.cs
  27. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCheckBox.cs
  28. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs
  29. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/ToolBarItem/Gui/ToolBarCheckBox.cs
  30. 14
      src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs
  31. 2
      src/Main/StartUp/Project/StartUp.csproj

5
src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj

@ -55,10 +55,11 @@
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
<Compile Include="Src\ResourceEdit\ResourceItem.cs" /> <Compile Include="Src\ResourceEdit\ResourceItem.cs" />
<Compile Include="Src\ResourceEdit\ResourceItemHashtable.cs" />
<Compile Include="Src\ResourceEdit\ResourceList.cs" /> <Compile Include="Src\ResourceEdit\ResourceList.cs" />
<Compile Include="Src\ResourceEdit\TextView.cs" /> <Compile Include="Src\ResourceEdit\TextView.cs" />
<None Include="ResourceEditor.addin" /> <None Include="ResourceEditor.addin">
<CopyToOutputDirectory>True</CopyToOutputDirectory>
</None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> <ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">

321
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceItemHashtable.cs

@ -1,321 +0,0 @@
using System;
using System.Collections;
namespace ResourceEditor
{
public class ResourceItemHashtable : IDictionary, ICollection, IEnumerable, ICloneable
{
protected Hashtable innerHash;
#region "Constructors"
public ResourceItemHashtable()
{
innerHash = new Hashtable();
}
public ResourceItemHashtable(ResourceItemHashtable original)
{
innerHash = new Hashtable (original.innerHash);
}
public ResourceItemHashtable(IDictionary dictionary)
{
innerHash = new Hashtable (dictionary);
}
public ResourceItemHashtable(int capacity)
{
innerHash = new Hashtable(capacity);
}
public ResourceItemHashtable(IDictionary dictionary, float loadFactor)
{
innerHash = new Hashtable(dictionary, loadFactor);
}
public ResourceItemHashtable(IHashCodeProvider codeProvider, IComparer comparer)
{
innerHash = new Hashtable (codeProvider, comparer);
}
public ResourceItemHashtable(int capacity, int loadFactor)
{
innerHash = new Hashtable(capacity, loadFactor);
}
public ResourceItemHashtable(IDictionary dictionary, IHashCodeProvider codeProvider, IComparer comparer)
{
innerHash = new Hashtable (dictionary, codeProvider, comparer);
}
public ResourceItemHashtable(int capacity, IHashCodeProvider codeProvider, IComparer comparer)
{
innerHash = new Hashtable (capacity, codeProvider, comparer);
}
public ResourceItemHashtable(IDictionary dictionary, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
{
innerHash = new Hashtable (dictionary, loadFactor, codeProvider, comparer);
}
public ResourceItemHashtable(int capacity, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
{
innerHash = new Hashtable (capacity, loadFactor, codeProvider, comparer);
}
#endregion
#region Implementation of IDictionary
public ResourceItemHashtableEnumerator GetEnumerator()
{
return new ResourceItemHashtableEnumerator(this);
}
System.Collections.IDictionaryEnumerator IDictionary.GetEnumerator()
{
return new ResourceItemHashtableEnumerator(this);
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public void Remove(string key)
{
innerHash.Remove (key);
}
void IDictionary.Remove(object key)
{
Remove ((string)key);
}
public bool Contains(string key)
{
return innerHash.Contains(key);
}
bool IDictionary.Contains(object key)
{
return Contains((string)key);
}
public void Clear()
{
innerHash.Clear();
}
public void Add(string key, ResourceItem value)
{
innerHash.Add (key, value);
}
void IDictionary.Add(object key, object value)
{
Add ((string)key, (ResourceItem)value);
}
public bool IsReadOnly
{
get
{
return innerHash.IsReadOnly;
}
}
public ResourceItem this[string key]
{
get
{
return (ResourceItem) innerHash[key];
}
set
{
innerHash[key] = value;
}
}
object IDictionary.this[object key]
{
get
{
return this[(string)key];
}
set
{
this[(string)key] = (ResourceItem)value;
}
}
public System.Collections.ICollection Values
{
get
{
return innerHash.Values;
}
}
public System.Collections.ICollection Keys
{
get
{
return innerHash.Keys;
}
}
public bool IsFixedSize
{
get
{
return innerHash.IsFixedSize;
}
}
#endregion
#region Implementation of ICollection
public void CopyTo(System.Array array, int index)
{
innerHash.CopyTo (array, index);
}
public bool IsSynchronized
{
get
{
return innerHash.IsSynchronized;
}
}
public int Count
{
get
{
return innerHash.Count;
}
}
public object SyncRoot
{
get
{
return innerHash.SyncRoot;
}
}
#endregion
#region Implementation of ICloneable
public ResourceItemHashtable Clone()
{
ResourceItemHashtable clone = new ResourceItemHashtable();
clone.innerHash = (Hashtable) innerHash.Clone();
return clone;
}
object ICloneable.Clone()
{
return Clone();
}
#endregion
#region "HashTable Methods"
public bool ContainsKey (string key)
{
return innerHash.ContainsKey(key);
}
public bool ContainsValue (ResourceItem value)
{
return innerHash.ContainsValue(value);
}
public static ResourceItemHashtable Synchronized(ResourceItemHashtable nonSync)
{
ResourceItemHashtable sync = new ResourceItemHashtable();
sync.innerHash = Hashtable.Synchronized(nonSync.innerHash);
return sync;
}
#endregion
internal Hashtable InnerHash
{
get
{
return innerHash;
}
}
}
public class ResourceItemHashtableEnumerator : IDictionaryEnumerator
{
private IDictionaryEnumerator innerEnumerator;
internal ResourceItemHashtableEnumerator (ResourceItemHashtable enumerable)
{
innerEnumerator = enumerable.InnerHash.GetEnumerator();
}
#region Implementation of IDictionaryEnumerator
public string Key
{
get
{
return (string)innerEnumerator.Key;
}
}
object IDictionaryEnumerator.Key
{
get
{
return Key;
}
}
public ResourceItem Value
{
get
{
return (ResourceItem)innerEnumerator.Value;
}
}
object IDictionaryEnumerator.Value
{
get
{
return Value;
}
}
public System.Collections.DictionaryEntry Entry
{
get
{
return innerEnumerator.Entry;
}
}
#endregion
#region Implementation of IEnumerator
public void Reset()
{
innerEnumerator.Reset();
}
public bool MoveNext()
{
return innerEnumerator.MoveNext();
}
public object Current
{
get
{
return innerEnumerator.Current;
}
}
#endregion
}
}

15
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceList.cs

@ -13,6 +13,7 @@ using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Collections; using System.Collections;
using System.Collections.Generic;
using System.Resources; using System.Resources;
using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Binary;
@ -33,7 +34,7 @@ namespace ResourceEditor
ColumnHeader type = new ColumnHeader(); ColumnHeader type = new ColumnHeader();
ColumnHeader content = new ColumnHeader(); ColumnHeader content = new ColumnHeader();
ResourceItemHashtable resources = new ResourceItemHashtable(); Dictionary<string, ResourceItem> resources = new Dictionary<string, ResourceItem>();
ImageList images = new ImageList(); ImageList images = new ImageList();
UndoStack undoStack = null; UndoStack undoStack = null;
@ -51,7 +52,7 @@ namespace ResourceEditor
} }
} }
public ResourceItemHashtable Resources public Dictionary<string, ResourceItem> Resources
{ {
get { get {
return resources; return resources;
@ -158,9 +159,9 @@ namespace ResourceEditor
// write XML resource // write XML resource
case ".RESX": case ".RESX":
ResXResourceWriter rxw = new ResXResourceWriter(filename); ResXResourceWriter rxw = new ResXResourceWriter(filename);
foreach (DictionaryEntry entry in resources) { foreach (KeyValuePair<string, ResourceItem> entry in resources) {
if (entry.Value != null) { if (entry.Value != null) {
ResourceItem item = (ResourceItem)entry.Value; ResourceItem item = entry.Value;
rxw.AddResource(item.Name, item.ResourceValue); rxw.AddResource(item.Name, item.ResourceValue);
} }
} }
@ -171,7 +172,7 @@ namespace ResourceEditor
// write default resource // write default resource
default: default:
ResourceWriter rw = new ResourceWriter(filename); ResourceWriter rw = new ResourceWriter(filename);
foreach (DictionaryEntry entry in resources) { foreach (KeyValuePair<string, ResourceItem> entry in resources) {
ResourceItem item = (ResourceItem)entry.Value; ResourceItem item = (ResourceItem)entry.Value;
rw.AddResource(item.Name, item.ResourceValue); rw.AddResource(item.Name, item.ResourceValue);
} }
@ -230,8 +231,8 @@ namespace ResourceEditor
BeginUpdate(); BeginUpdate();
Items.Clear(); Items.Clear();
foreach (DictionaryEntry entry in resources) { foreach (KeyValuePair<string, ResourceItem> entry in resources) {
ResourceItem item = (ResourceItem)entry.Value; ResourceItem item = entry.Value;
string tmp = item.ToString(); string tmp = item.ToString();
string type = item.ResourceValue.GetType().FullName; string type = item.ResourceValue.GetType().FullName;

2
src/AddIns/Misc/AddinScout/Project/Src/Gui/CodonListPanel.cs

@ -82,7 +82,7 @@ namespace AddInScout
foreach (Codon c in node.Codons) { foreach (Codon c in node.Codons) {
ListViewItem lvi = new ListViewItem(c.Name); ListViewItem lvi = new ListViewItem(c.Name);
lvi.Tag = c; lvi.Tag = c;
lvi.SubItems.Add(c.ID); lvi.SubItems.Add(c.Id);
lvi.SubItems.Add(c.Properties.Contains("class") ? c.Properties["class"] : ""); lvi.SubItems.Add(c.Properties.Contains("class") ? c.Properties["class"] : "");

21
src/AddIns/Misc/NUnitPad/Project/NUnitPad.csproj

@ -31,15 +31,6 @@
<TreatWarningsAsErrors>False</TreatWarningsAsErrors> <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="nunit.core, Version=2.2.2.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
<HintPath>..\..\..\..\..\bin\nunit.core.dll</HintPath>
</Reference>
<Reference Include="nunit.extensions, Version=2.2.2.0, Culture=neutral">
<HintPath>..\..\..\..\..\bin\nunit.extensions.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=2.2.2.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
<HintPath>..\..\..\..\..\bin\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
@ -69,6 +60,18 @@
<Name>ICSharpCode.Core</Name> <Name>ICSharpCode.Core</Name>
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\..\..\..\Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj">
<Project>{98B10E98-003C-45A0-9587-119142E39986}</Project>
<Name>nunit.extensions.dll</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj">
<Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>
<Name>nunit.core.dll</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj">
<Project>{83DD7E12-A705-4DBA-9D71-09C8973D9382}</Project>
<Name>nunit.framework.dll</Name>
</ProjectReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project> </Project>

3
src/AddIns/Misc/NUnitPad/Project/Src/Gui/NUnitPadContent.cs

@ -134,11 +134,8 @@ namespace ICSharpCode.NUnitPad
void AddNUnitReference(object sender, EventArgs e) void AddNUnitReference(object sender, EventArgs e)
{ {
if (ProjectService.CurrentProject != null) { if (ProjectService.CurrentProject != null) {
Console.WriteLine("Add reference!");
ProjectService.AddReference(ProjectService.CurrentProject, new ReferenceProjectItem(ProjectService.CurrentProject, "nunit.framework")); ProjectService.AddReference(ProjectService.CurrentProject, new ReferenceProjectItem(ProjectService.CurrentProject, "nunit.framework"));
ProjectService.CurrentProject.Save(); ProjectService.CurrentProject.Save();
} else {
Console.WriteLine("prj == null");
} }
} }

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -13,7 +13,6 @@
<SignAssembly>True</SignAssembly> <SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>Resources\ICSharpCode.SharpDevelop.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>Resources\ICSharpCode.SharpDevelop.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode> <AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
<AssemblyKeyProviderName />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols> <DebugSymbols>True</DebugSymbols>

6
src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs

@ -287,9 +287,9 @@ namespace ICSharpCode.SharpDevelop.Gui
boldFont = new Font("Tahoma", 9, FontStyle.Bold); boldFont = new Font("Tahoma", 9, FontStyle.Bold);
italicFont = new Font("Tahoma", 9, FontStyle.Italic); italicFont = new Font("Tahoma", 9, FontStyle.Italic);
monospacedFont = new Font("Courier New", 10); monospacedFont = new Font("Courier New", 10);
boldMonospacedFont = new Font("Courier New", 10, FontStyle.Bold); boldMonospacedFont = new Font("Courier New", 10, FontStyle.Bold);
italicMonospacedFont = new Font("Courier New", 10, FontStyle.Italic); italicMonospacedFont = new Font("Courier New", 10, FontStyle.Italic);
} }
#endregion #endregion

28
src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs

@ -36,7 +36,6 @@ namespace ICSharpCode.SharpDevelop.Gui
HideSelection = false; HideSelection = false;
AllowDrop = true; AllowDrop = true;
this.TreeViewNodeSorter = new ExtTreeViewComparer(); this.TreeViewNodeSorter = new ExtTreeViewComparer();
DoubleBuffered = true;
ImageList newImageList = new ImageList(); ImageList newImageList = new ImageList();
newImageList.ImageSize = new Size(16, 16); newImageList.ImageSize = new Size(16, 16);
newImageList.ColorDepth = ColorDepth.Depth32Bit; newImageList.ColorDepth = ColorDepth.Depth32Bit;
@ -132,16 +131,26 @@ namespace ICSharpCode.SharpDevelop.Gui
SortNodes(e.Node.Parent); SortNodes(e.Node.Parent);
} }
#endregion #endregion
bool inRefresh = false;
protected override void OnBeforeExpand(TreeViewCancelEventArgs e) protected override void OnBeforeExpand(TreeViewCancelEventArgs e)
{ {
base.OnBeforeExpand(e); base.OnBeforeExpand(e);
inRefresh = true;
BeginUpdate();
if (e.Node is ExtTreeNode) { if (e.Node is ExtTreeNode) {
((ExtTreeNode)e.Node).Expanding(); ((ExtTreeNode)e.Node).Expanding();
} }
SortNodes(e.Node); SortNodes(e.Node);
} }
protected override void OnAfterExpand(TreeViewEventArgs e)
{
base.OnAfterExpand(e);
inRefresh = false;
EndUpdate();
}
protected override void OnBeforeCollapse(TreeViewCancelEventArgs e) protected override void OnBeforeCollapse(TreeViewCancelEventArgs e)
{ {
base.OnBeforeCollapse(e); base.OnBeforeCollapse(e);
@ -198,12 +207,16 @@ namespace ICSharpCode.SharpDevelop.Gui
protected override void OnDrawNode(DrawTreeNodeEventArgs e) protected override void OnDrawNode(DrawTreeNodeEventArgs e)
{ {
ExtTreeNode node = e.Node as ExtTreeNode; if (!inRefresh) {
if (node != null && !node.DrawDefault) { ExtTreeNode node = e.Node as ExtTreeNode;
node.Draw(e); if (node != null && !node.DrawDefault) {
e.DrawDefault = false; node.Draw(e);
e.DrawDefault = false;
} else {
e.DrawDefault = true;
}
} else { } else {
e.DrawDefault = true; e.DrawDefault = false;
} }
base.OnDrawNode(e); base.OnDrawNode(e);
} }
@ -266,7 +279,6 @@ namespace ICSharpCode.SharpDevelop.Gui
string imageKey = performCutBitmap ? (image + "_ghost") : image; string imageKey = performCutBitmap ? (image + "_ghost") : image;
if (!imageIndexTable.ContainsKey(imageKey)) { if (!imageIndexTable.ContainsKey(imageKey)) {
ImageList.Images.Add(performCutBitmap ? IconService.GetGhostBitmap(image) : IconService.GetBitmap(image)); ImageList.Images.Add(performCutBitmap ? IconService.GetGhostBitmap(image) : IconService.GetBitmap(image));
Console.WriteLine("Add image : " + image);
imageIndexTable[imageKey] = ImageList.Images.Count - 1; imageIndexTable[imageKey] = ImageList.Images.Count - 1;
return ImageList.Images.Count - 1; return ImageList.Images.Count - 1;
} }

2
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SelectStylePanel.cs

@ -28,7 +28,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
AddInTreeNode treeNode = AddInTree.GetTreeNode("/SharpDevelop/Workbench/Ambiences"); AddInTreeNode treeNode = AddInTree.GetTreeNode("/SharpDevelop/Workbench/Ambiences");
foreach (Codon codon in treeNode.Codons) { foreach (Codon codon in treeNode.Codons) {
((ComboBox)ControlDictionary["selectAmbienceComboBox"]).Items.Add(codon.ID); ((ComboBox)ControlDictionary["selectAmbienceComboBox"]).Items.Add(codon.Id);
} }
((ComboBox)ControlDictionary["selectAmbienceComboBox"]).Text = PropertyService.Get("SharpDevelop.UI.CurrentAmbience", "C#"); ((ComboBox)ControlDictionary["selectAmbienceComboBox"]).Text = PropertyService.Get("SharpDevelop.UI.CurrentAmbience", "C#");

6
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs

@ -68,9 +68,7 @@ namespace ICSharpCode.SharpDevelop.Project
} }
void ProjectServiceSolutionFolderRemoved(object sender, SolutionFolderEventArgs e) void ProjectServiceSolutionFolderRemoved(object sender, SolutionFolderEventArgs e)
{ {
Console.WriteLine("projectbrowser: Solution folder remove!!!");
CallVisitor(new SolutionFolderRemoveVisitor(e.SolutionFolder)); CallVisitor(new SolutionFolderRemoveVisitor(e.SolutionFolder));
Console.WriteLine("projectbrowser: Solution folder remove done.!!!");
} }
void ProjectServiceReferenceAdded(object sender, ProjectReferenceEventArgs e) void ProjectServiceReferenceAdded(object sender, ProjectReferenceEventArgs e)
{ {
@ -79,16 +77,12 @@ namespace ICSharpCode.SharpDevelop.Project
void FileServiceFileRemoving(object sender, FileEventArgs e) void FileServiceFileRemoving(object sender, FileEventArgs e)
{ {
Console.WriteLine("projectbrowser: Solution file removing!!!");
CallVisitor(new FileRemoveTreeNodeVisitor(e.FileName)); CallVisitor(new FileRemoveTreeNodeVisitor(e.FileName));
Console.WriteLine("projectbrowser: Solution file removing!!!");
} }
void FileServiceFileRenaming(object sender, FileRenameEventArgs e) void FileServiceFileRenaming(object sender, FileRenameEventArgs e)
{ {
Console.WriteLine("projectbrowser: Solution file renaming!!!");
CallVisitor(new FileRenameTreeNodeVisitor(e.SourceFile, e.TargetFile)); CallVisitor(new FileRenameTreeNodeVisitor(e.SourceFile, e.TargetFile));
Console.WriteLine("projectbrowser: Solution file renaming!!!");
} }
void SelectFile(ProjectNode projectNode, string fileName) void SelectFile(ProjectNode projectNode, string fileName)

3
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

@ -33,11 +33,12 @@ namespace ICSharpCode.SharpDevelop.Project
public override void Delete() public override void Delete()
{ {
IProject project = Project;
referenceProjectItem.Project.Items.Remove(referenceProjectItem); referenceProjectItem.Project.Items.Remove(referenceProjectItem);
Debug.Assert(Parent != null); Debug.Assert(Parent != null);
Debug.Assert(Parent is ReferenceFolder); Debug.Assert(Parent is ReferenceFolder);
((ReferenceFolder)Parent).ShowReferences(); ((ReferenceFolder)Parent).ShowReferences();
Project.Save(); project.Save();
} }
#endregion #endregion

6
src/Main/Base/Project/Src/Internal/Erbauer/DialogPanelErbauer.cs

@ -23,13 +23,13 @@ namespace ICSharpCode.Core
if (subItems == null || subItems.Count == 0) { if (subItems == null || subItems.Count == 0) {
if (codon.Properties.Contains("class")) { if (codon.Properties.Contains("class")) {
return new DefaultDialogPanelDescriptor(codon.ID, StringParser.Parse(label), (IDialogPanel)codon.AddIn.CreateObject(codon.Properties["class"])); return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label), (IDialogPanel)codon.AddIn.CreateObject(codon.Properties["class"]));
} else { } else {
return new DefaultDialogPanelDescriptor(codon.ID, StringParser.Parse(label)); return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label));
} }
} }
return new DefaultDialogPanelDescriptor(codon.ID, StringParser.Parse(label), subItems); return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label), subItems);
} }
} }
} }

3
src/Main/Base/Project/Src/Project/Solution/AbstractProject.cs

@ -272,16 +272,13 @@ namespace ICSharpCode.SharpDevelop.Project
public virtual void Dispose() public virtual void Dispose()
{ {
configurations.Clear(); configurations.Clear();
configurations = null;
foreach (ProjectItem item in items) { foreach (ProjectItem item in items) {
item.Dispose(); item.Dispose();
} }
items.Clear(); items.Clear();
items = null;
imports.Clear(); imports.Clear();
imports = null;
} }
#endregion #endregion

2
src/Main/Base/Project/Src/Services/IconService.cs

@ -113,7 +113,7 @@ namespace ICSharpCode.Core
IconDescriptor[] icons = (IconDescriptor[])treeNode.BuildChildItems(null).ToArray(typeof(IconDescriptor)); IconDescriptor[] icons = (IconDescriptor[])treeNode.BuildChildItems(null).ToArray(typeof(IconDescriptor));
for (int i = 0; i < icons.Length; ++i) { for (int i = 0; i < icons.Length; ++i) {
IconDescriptor iconCodon = icons[i]; IconDescriptor iconCodon = icons[i];
string imageName = iconCodon.Resource != null ? iconCodon.Resource : iconCodon.ID; string imageName = iconCodon.Resource != null ? iconCodon.Resource : iconCodon.Id;
if (iconCodon.Extensions != null) { if (iconCodon.Extensions != null) {
foreach (string ext in iconCodon.Extensions) { foreach (string ext in iconCodon.Extensions) {

2
src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDescriptor.cs

@ -49,7 +49,7 @@ namespace ICSharpCode.Core
public string Language { public string Language {
get { get {
return codon.ID; return codon.Id;
} }
} }

1
src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs

@ -36,7 +36,6 @@ namespace ICSharpCode.Core
public static IProjectContent Create(IProject project) public static IProjectContent Create(IProject project)
{ {
Console.WriteLine("CREATE : " + project);
CaseSensitiveProjectContent newProjectContent = new CaseSensitiveProjectContent(); CaseSensitiveProjectContent newProjectContent = new CaseSensitiveProjectContent();
newProjectContent.references.Add(typeof(object).Assembly); newProjectContent.references.Add(typeof(object).Assembly);
foreach (ProjectItem item in project.Items) { foreach (ProjectItem item in project.Items) {

2
src/Main/Base/Project/Src/Services/ParserService/Erbauer/ParserDescriptor.cs

@ -39,7 +39,7 @@ namespace ICSharpCode.Core
public string Language { public string Language {
get { get {
return codon.ID; return codon.Id;
} }
} }

2
src/Main/Base/Project/Src/TextEditor/Codons/EditActionErbauer.cs

@ -22,9 +22,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Codons
{ {
public object BuildItem(object caller, Codon codon, ArrayList subItems) public object BuildItem(object caller, Codon codon, ArrayList subItems)
{ {
Console.WriteLine("Try to create '{0}'", codon.Properties["class"]);
IEditAction editAction = (IEditAction)codon.AddIn.CreateObject(codon.Properties["class"]); IEditAction editAction = (IEditAction)codon.AddIn.CreateObject(codon.Properties["class"]);
Console.WriteLine("Action : " + editAction);
string[] keys = codon.Properties["keys"].Split(','); string[] keys = codon.Properties["keys"].Split(',');
Keys[] actionKeys = new Keys[keys.Length]; Keys[] actionKeys = new Keys[keys.Length];

1
src/Main/Base/Project/Src/TextEditor/Gui/Editor/SharpDevelopTextAreaControl.cs

@ -448,7 +448,6 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
public void InitializeFormatter() public void InitializeFormatter()
{ {
string formatterPath = formatingStrategyPath + "/" + Document.HighlightingStrategy.Name; string formatterPath = formatingStrategyPath + "/" + Document.HighlightingStrategy.Name;
Console.WriteLine("try to get formatter: " + formatterPath);
if (AddInTree.ExistsTreeNode(formatterPath)) { if (AddInTree.ExistsTreeNode(formatterPath)) {
IFormattingStrategy[] formatter = (IFormattingStrategy[])(AddInTree.GetTreeNode(formatterPath).BuildChildItems(this)).ToArray(typeof(IFormattingStrategy)); IFormattingStrategy[] formatter = (IFormattingStrategy[])(AddInTree.GetTreeNode(formatterPath).BuildChildItems(this)).ToArray(typeof(IFormattingStrategy));
if (formatter != null && formatter.Length > 0) { if (formatter != null && formatter.Length > 0) {

40
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/Nodes/SearchResultNode.cs

@ -1,4 +1,5 @@
using System; using System;
using System.IO;
using System.Drawing; using System.Drawing;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
@ -24,7 +25,26 @@ namespace SearchAndReplace
Point startPosition; Point startPosition;
Point endPosition; Point endPosition;
string positionText; string positionText;
bool showFileName = false;
public bool ShowFileName {
get {
return showFileName;
}
set {
showFileName = value;
if (showFileName) {
Text = positionText + document.GetText(line) + FileNameText;
} else {
Text = positionText + document.GetText(line);
}
}
}
string FileNameText {
get {
return " in " + Path.GetFileName(result.FileName) + "(" + Path.GetDirectoryName(result.FileName) +")";
}
}
public SearchResultNode(IDocument document, SearchResult result) public SearchResultNode(IDocument document, SearchResult result)
{ {
drawDefault = false; drawDefault = false;
@ -43,6 +63,9 @@ namespace SearchAndReplace
Graphics g = e.Graphics; Graphics g = e.Graphics;
int x = MeasureTextWidth(g, positionText, BoldMonospacedFont); int x = MeasureTextWidth(g, positionText, BoldMonospacedFont);
x += MeasureTextWidth(g, document.GetText(line).Replace("\t", " "), BoldMonospacedFont); x += MeasureTextWidth(g, document.GetText(line).Replace("\t", " "), BoldMonospacedFont);
if (ShowFileName) {
x += MeasureTextWidth(g, FileNameText, ItalicFont);
}
return x; return x;
} }
protected override void DrawForeground(DrawTreeNodeEventArgs e) protected override void DrawForeground(DrawTreeNodeEventArgs e)
@ -53,7 +76,8 @@ namespace SearchAndReplace
spaceSize = g.MeasureString("-", Font, new PointF(0, 0), StringFormat.GenericTypographic); spaceSize = g.MeasureString("-", Font, new PointF(0, 0), StringFormat.GenericTypographic);
DrawLine(g, line, e.Bounds.Y, x); x += DrawLine(g, line, e.Bounds.Y, x);
} }
public override void ActivateItem() public override void ActivateItem()
@ -75,7 +99,7 @@ namespace SearchAndReplace
sf); sf);
return wordSize.Width; return wordSize.Width;
} }
void DrawLine(Graphics g, LineSegment line, float yPos, float xPos) float DrawLine(Graphics g, LineSegment line, float yPos, float xPos)
{ {
int logicalX = 0; int logicalX = 0;
if (line.Words != null) { if (line.Words != null) {
@ -119,14 +143,22 @@ namespace SearchAndReplace
} }
} }
} else { } else {
DrawDocumentWord(g, xPos += DrawDocumentWord(g,
document.GetText(line), document.GetText(line),
new PointF(xPos, yPos), new PointF(xPos, yPos),
MonospacedFont, MonospacedFont,
Color.Black Color.Black
); );
} }
if (ShowFileName) {
xPos += DrawDocumentWord(g,
FileNameText,
new PointF(xPos, yPos),
ItalicMonospacedFont,
Color.Gray
);
}
return xPos;
} }
} }
} }

77
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs

@ -22,6 +22,12 @@ using ICSharpCode.SharpDevelop.Gui;
namespace SearchAndReplace namespace SearchAndReplace
{ {
public enum SearchResultPanelViewMode {
Flat,
PerFile,
Structural
}
public class SearchResultPanel : AbstractPadContent public class SearchResultPanel : AbstractPadContent
{ {
static SearchResultPanel instance; static SearchResultPanel instance;
@ -32,8 +38,11 @@ namespace SearchAndReplace
} }
} }
Panel myPanel = new Panel(); Panel myPanel = new Panel();
ExtTreeView resultTreeView = new ExtTreeView(); ExtTreeView resultTreeView = new ExtTreeView();
string curPattern = null;
List<SearchResult> curResults = null;
public override Control Control { public override Control Control {
get { get {
@ -41,6 +50,15 @@ namespace SearchAndReplace
} }
} }
public SearchResultPanelViewMode ViewMode {
get {
return PropertyService.Get("SearchAndReplace.SearchResultPanelViewMode", SearchResultPanelViewMode.Flat);
}
set {
PropertyService.Set("SearchAndReplace.SearchResultPanelViewMode", value);
ShowSearchResults(curPattern, curResults);
}
}
public void ExpandAll() public void ExpandAll()
{ {
@ -76,27 +94,72 @@ namespace SearchAndReplace
} }
} }
public void ShowSearchResults(string pattern, List<SearchResult> results) void ShowSearchResultsPerFile()
{ {
Dictionary<string, SearchFolderNode> folderNodes = new Dictionary<string, SearchFolderNode>(); Dictionary<string, SearchFolderNode> folderNodes = new Dictionary<string, SearchFolderNode>();
foreach (SearchResult result in results) { foreach (SearchResult result in curResults) {
TreeNode newResult = new TreeNode();
if (!folderNodes.ContainsKey(result.FileName)) { if (!folderNodes.ContainsKey(result.FileName)) {
folderNodes[result.FileName] = new SearchFolderNode(result.FileName); folderNodes[result.FileName] = new SearchFolderNode(result.FileName);
} }
folderNodes[result.FileName].Results.Add(result); folderNodes[result.FileName].Results.Add(result);
} }
SearchRootNode searchRootNode = new SearchRootNode(pattern, results); SearchRootNode searchRootNode = new SearchRootNode(curPattern, curResults);
foreach (SearchFolderNode folderNode in folderNodes.Values) { foreach (SearchFolderNode folderNode in folderNodes.Values) {
folderNode.SetText(); folderNode.SetText();
searchRootNode.Nodes.Add(folderNode); searchRootNode.Nodes.Add(folderNode);
} }
resultTreeView.Nodes.Clear();
resultTreeView.Nodes.Add(searchRootNode);
searchRootNode.Expand();
}
void ShowSearchResultsFlat()
{
Dictionary<string, SearchFolderNode> folderNodes = new Dictionary<string, SearchFolderNode>();
foreach (SearchResult result in curResults) {
if (!folderNodes.ContainsKey(result.FileName)) {
folderNodes[result.FileName] = new SearchFolderNode(result.FileName);
}
folderNodes[result.FileName].Results.Add(result);
}
SearchRootNode searchRootNode = new SearchRootNode(curPattern, curResults);
foreach (SearchFolderNode folderNode in folderNodes.Values) {
folderNode.PerformInitialization();
foreach (SearchResultNode node in folderNode.Nodes) {
node.ShowFileName = true;
searchRootNode.Nodes.Add(node);
}
}
resultTreeView.Nodes.Add(searchRootNode); resultTreeView.Nodes.Add(searchRootNode);
searchRootNode.Expand(); searchRootNode.Expand();
} }
public void ShowSearchResults(string pattern, List<SearchResult> results)
{
this.curPattern = pattern;
this.curResults = results;
if (results == null) {
return;
}
resultTreeView.BeginUpdate();
resultTreeView.Nodes.Clear();
switch (ViewMode) {
case SearchResultPanelViewMode.PerFile:
ShowSearchResultsPerFile();
break;
case SearchResultPanelViewMode.Flat:
ShowSearchResultsFlat();
break;
}
resultTreeView.EndUpdate();
}
public SearchResultPanel() public SearchResultPanel()
{ {
instance = this; instance = this;

38
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs

@ -99,11 +99,47 @@ namespace SearchAndReplace
} }
} }
public class ToggleTreeList : AbstractMenuCommand public class SelectViewMode : AbstractMenuCommand
{ {
ToolBarDropDownButton dropDownButton;
public override void Run() public override void Run()
{ {
} }
void SetViewMode(object sender, EventArgs e)
{
PadDescriptor searchResultPanel = WorkbenchSingleton.Workbench.GetPad(typeof(SearchResultPanel));
if (searchResultPanel != null) {
searchResultPanel.BringPadToFront();
SearchResultPanel.Instance.ViewMode = (SearchResultPanelViewMode)((ToolStripItem)sender).Tag;
} else {
MessageService.ShowError("SearchResultPanel can't be found.");
}
}
void GenerateDropDownItems()
{
ToolStripItem newItem = new ToolStripMenuItem();
newItem.Text = "Per file";
newItem.Tag = SearchResultPanelViewMode.PerFile;
newItem.Click += new EventHandler(SetViewMode);
dropDownButton.DropDownItems.Add(newItem);
newItem = new ToolStripMenuItem();
newItem.Text = "Flat";
newItem.Tag = SearchResultPanelViewMode.Flat;
newItem.Click += new EventHandler(SetViewMode);
dropDownButton.DropDownItems.Add(newItem);
}
protected override void OnOwnerChanged(EventArgs e)
{
base.OnOwnerChanged(e);
dropDownButton = (ToolBarDropDownButton)Owner;
GenerateDropDownItems();
}
} }
} }

2
src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs

@ -27,7 +27,7 @@ namespace ICSharpCode.Core
} }
} }
public string ID { public string Id {
get { get {
return properties["id"]; return properties["id"];
} }

2
src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs

@ -60,7 +60,7 @@ namespace ICSharpCode.Core
Codon newCodon = new Codon(extensionPath.AddIn, elementName, Properties.ReadFromAttributes(reader), extensionPath.conditionStack.ToArray()); Codon newCodon = new Codon(extensionPath.AddIn, elementName, Properties.ReadFromAttributes(reader), extensionPath.conditionStack.ToArray());
extensionPath.codons.Add(newCodon); extensionPath.codons.Add(newCodon);
if (!reader.IsEmptyElement) { if (!reader.IsEmptyElement) {
ExtensionPath subPath = extensionPath.AddIn.GetExtensionPath(extensionPath.Name + "/" + newCodon.ID); ExtensionPath subPath = extensionPath.AddIn.GetExtensionPath(extensionPath.Name + "/" + newCodon.Id);
foreach (ICondition condition in extensionPath.conditionStack) { foreach (ICondition condition in extensionPath.conditionStack) {
subPath.conditionStack.Push(condition); subPath.conditionStack.Push(condition);
} }

4
src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/Icon/IconDescriptor.cs

@ -16,9 +16,9 @@ namespace ICSharpCode.Core
{ {
Codon codon; Codon codon;
public string ID { public string Id {
get { get {
return codon.ID; return codon.Id;
} }
} }

2
src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCheckBox.cs

@ -27,7 +27,7 @@ namespace ICSharpCode.Core
try { try {
menuCommand = (ICheckableMenuCommand)codon.AddIn.CreateObject(codon.Properties["class"]); menuCommand = (ICheckableMenuCommand)codon.AddIn.CreateObject(codon.Properties["class"]);
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowError(e, "Can't create menu command : " + codon.ID); MessageService.ShowError(e, "Can't create menu command : " + codon.Id);
} }
} }
return menuCommand; return menuCommand;

2
src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs

@ -45,7 +45,7 @@ namespace ICSharpCode.Core
try { try {
menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]); menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]);
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowError(e, "Can't create menu command : " + codon.ID); MessageService.ShowError(e, "Can't create menu command : " + codon.Id);
} }
} }

2
src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/ToolBarItem/Gui/ToolBarCheckBox.cs

@ -52,7 +52,7 @@ namespace ICSharpCode.Core
} catch (Exception) { } catch (Exception) {
} }
if (menuCommand == null) { if (menuCommand == null) {
MessageService.ShowError("Can't create toolbar checkbox : " + codon.ID); MessageService.ShowError("Can't create toolbar checkbox : " + codon.Id);
} }
if (Image == null && codon.Properties.Contains("icon")) { if (Image == null && codon.Properties.Contains("icon")) {

14
src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs

@ -13,6 +13,7 @@ namespace ICSharpCode.Core
Dictionary<string, AddInTreeNode> childNodes = new Dictionary<string, AddInTreeNode>(); Dictionary<string, AddInTreeNode> childNodes = new Dictionary<string, AddInTreeNode>();
List<Codon> codons = new List<Codon>(); List<Codon> codons = new List<Codon>();
bool isSorted = false; bool isSorted = false;
public Dictionary<string, AddInTreeNode> ChildNodes { public Dictionary<string, AddInTreeNode> ChildNodes {
get { get {
return childNodes; return childNodes;
@ -63,7 +64,7 @@ namespace ICSharpCode.Core
// initialize visited to false and fill the indexOfName dictionary // initialize visited to false and fill the indexOfName dictionary
for (int i = 0; i < node.codons.Count; ++i) { for (int i = 0; i < node.codons.Count; ++i) {
visited[i] = false; visited[i] = false;
indexOfName[node.codons[i].ID] = i; indexOfName[node.codons[i].Id] = i;
} }
} }
@ -76,9 +77,9 @@ namespace ICSharpCode.Core
if (indexOfName.ContainsKey(before)) { if (indexOfName.ContainsKey(before)) {
string after = node.codons[indexOfName[before]].InsertAfter; string after = node.codons[indexOfName[before]].InsertAfter;
if (after == null || after == "") { if (after == null || after == "") {
node.codons[indexOfName[before]].InsertAfter = node.codons[i].ID; node.codons[indexOfName[before]].InsertAfter = node.codons[i].Id;
} else { } else {
after += ',' + node.codons[i].ID; after += ',' + node.codons[i].Id;
} }
} else { } else {
Console.WriteLine("Codon ({0}) specified in the insertbefore of the {1} codon does not exist!", before, node.codons[i]); Console.WriteLine("Codon ({0}) specified in the insertbefore of the {1} codon does not exist!", before, node.codons[i]);
@ -89,6 +90,7 @@ namespace ICSharpCode.Core
public void Execute() public void Execute()
{ {
InsertEdges(); InsertEdges();
// Visit all codons // Visit all codons
@ -128,8 +130,8 @@ namespace ICSharpCode.Core
} }
foreach (Codon codon in codons) { foreach (Codon codon in codons) {
ArrayList subItems = null; ArrayList subItems = null;
if (childNodes.ContainsKey(codon.ID)) { if (childNodes.ContainsKey(codon.Id)) {
subItems = childNodes[codon.ID].BuildChildItems(caller); subItems = childNodes[codon.Id].BuildChildItems(caller);
} }
items.Add(codon.BuildItem(caller, subItems)); items.Add(codon.BuildItem(caller, subItems));
} }
@ -139,7 +141,7 @@ namespace ICSharpCode.Core
public object BuildChildItem(string childItemID, object caller) public object BuildChildItem(string childItemID, object caller)
{ {
foreach (Codon codon in codons) { foreach (Codon codon in codons) {
if (codon.ID == childItemID) { if (codon.Id == childItemID) {
return codon.BuildItem(caller, null); return codon.BuildItem(caller, null);
} }
} }

2
src/Main/StartUp/Project/StartUp.csproj

@ -13,6 +13,8 @@
<RunPostBuildEvent>OnSuccessfulBuild</RunPostBuildEvent> <RunPostBuildEvent>OnSuccessfulBuild</RunPostBuildEvent>
<SignAssembly>true</SignAssembly> <SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Resources\StartUp.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>Resources\StartUp.snk</AssemblyOriginatorKeyFile>
<OutputType>Exe</OutputType>
<ApplicationIcon>C:\Dokumente und Einstellungen\Omnibrain.DIABLO\Eigene Dateien\trunk\SharpDevelop\src\Main\StartUp\Project\Resources\SharpDevelop.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols> <DebugSymbols>True</DebugSymbols>

Loading…
Cancel
Save