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@xamarin.com>2017-01-18 19:57:32 +0300
committerLluis Sanchez <lluis@xamarin.com>2017-01-18 19:57:32 +0300
commite10094724b24fcabc6114e3ae9cdd1edfdf92550 (patch)
tree70e355cb91d69c9f3323212314a0e93e8bfdf31a /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad
parentb866645102f8cd847f34431c56376c6bf87bfe95 (diff)
Introduce NodeBuilder.GetSortIndex()
This method is used to get the sorting group of a node. It makes it easier for add-ins to set node ordering.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/PortableFrameworkSubsetNodeBuilder.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs3
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs8
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderFileNodeBuilder.cs8
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs13
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs8
7 files changed, 19 insertions, 32 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/PortableFrameworkSubsetNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/PortableFrameworkSubsetNodeBuilder.cs
index 5f8ab86709..60c43377da 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/PortableFrameworkSubsetNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/PortableFrameworkSubsetNodeBuilder.cs
@@ -83,6 +83,11 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
treeBuilder.AddChildren (project.TargetRuntime.AssemblyContext.GetAssemblies (project.TargetFramework)
.Where (asm => asm.Package.IsFrameworkPackage && asm.Name != "mscorlib")
.Select (asm => new ImplicitFrameworkAssemblyReference (asm)));
+ }
+
+ public override int GetSortIndex (ITreeNavigator node)
+ {
+ return -1000;
}
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
index 5918f1803a..d8f55c4c31 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
@@ -109,9 +109,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
{
- if (otherNode.DataItem is ProjectFolder)
- return 1;
-
if (!(thisNode.DataItem is ProjectFile))
return DefaultSort;
if (!(otherNode.DataItem is ProjectFile))
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
index d5409a51c8..aff577c773 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
@@ -112,6 +112,12 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
tb.UpdateChildren ();
}
}
+
+ public override int GetSortIndex (ITreeNavigator node)
+ {
+ // Before items, but after references and other collections
+ return -100;
+ }
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo)
{
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
index 43bbe3e59c..0f2ba3af5f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
@@ -95,12 +95,10 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
var p = (DotNetProject) builder.GetParentDataItem (typeof(DotNetProject), true);
return p != null && p.IsPortableLibrary;
}
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
+
+ public override int GetSortIndex (ITreeNavigator node)
{
- if (otherNode.DataItem is GettingStartedNode)
- return 1;
- return -1;
+ return -1000;
}
void OnRemoveReference (object sender, ProjectReferenceEventArgs e)
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderFileNodeBuilder.cs
index f96a0dadb9..c4499e5157 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderFileNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderFileNodeBuilder.cs
@@ -69,14 +69,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
else
return file.Parent;
}
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is SolutionFolderFileNode)
- return DefaultSort;
- else
- return -1;
- }
}
class SolutionFolderFileNodeCommandHandler: NodeCommandHandler
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
index 9401cb7182..8daa364fc9 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
@@ -83,16 +83,13 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
{
SolutionFolder sf = (SolutionFolder) dataObject;
return sf.IsRoot || sf.ParentFolder.IsRoot ? (object) sf.ParentSolution : (object) sf.ParentFolder;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
+ }
+
+ public override int GetSortIndex (ITreeNavigator node)
{
- if (otherNode.DataItem is SolutionFolder)
- return DefaultSort;
- else
- return -1;
+ return -1000;
}
-
+
public override void OnNodeAdded (object dataObject)
{
SolutionFolder folder = (SolutionFolder) dataObject;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
index 54834f3f25..fe17301dc1 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
@@ -80,14 +80,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
nodeInfo.Label = "<span foreground='dimgrey'>" + nodeInfo.Label + "</span>";
}
}
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is ProjectFolder)
- return 1;
- else
- return DefaultSort;
- }
}
class SystemFileNodeCommandHandler: NodeCommandHandler