Browse Source

CurrentAmbience now uses the ambience of CurrentProject.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@133 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 21 years ago
parent
commit
e3883d8088
  1. 51
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpAmbience.cs
  2. 7
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
  3. 7
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
  4. 113
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetAmbience.cs
  5. 4
      src/Main/Base/Project/Src/Dom/Implementations/ArrayReturnType.cs
  6. 2
      src/Main/Base/Project/Src/Dom/Implementations/DefaultReturnType.cs
  7. 17
      src/Main/Base/Project/Src/Dom/Implementations/LazyReturnType.cs
  8. 4
      src/Main/Base/Project/Src/Gui/Components/StatusBar/SdStatusBar.cs
  9. 7
      src/Main/Base/Project/Src/Project/AbstractProject.cs
  10. 4
      src/Main/Base/Project/Src/Project/IProject.cs
  11. 26
      src/Main/Base/Project/Src/Services/AmbienceService/AmbienceService.cs

51
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpAmbience.cs

@ -44,6 +44,15 @@ namespace ICSharpCode.Core @@ -44,6 +44,15 @@ namespace ICSharpCode.Core
}
}
static CSharpAmbience instance;
public static CSharpAmbience Instance {
get {
if (instance == null) instance = new CSharpAmbience();
return instance;
}
}
static CSharpAmbience()
{
for (int i = 0; i < typeConversionList.GetLength(0); ++i) {
@ -507,35 +516,35 @@ namespace ICSharpCode.Core @@ -507,35 +516,35 @@ namespace ICSharpCode.Core
}
StringBuilder builder = new StringBuilder();
bool linkSet = false;
if (UseLinkArrayList) {
// TODO: #Assembly dependance:
// SharpAssemblyReturnType ret = returnType as SharpAssemblyReturnType;
// if (ret != null) {
// if (ret.UnderlyingClass != null) {
// builder.Append("<a href='as://" + linkArrayList.Add(ret.UnderlyingClass) + "'>");
// linkSet = true;
// }
// }
}
if (returnType.FullyQualifiedName != null && typeConversionTable[returnType.FullyQualifiedName] != null) {
builder.Append(typeConversionTable[returnType.FullyQualifiedName].ToString());
string fullName = returnType.FullyQualifiedName;
if (fullName != null && typeConversionTable[fullName] != null) {
builder.Append(typeConversionTable[fullName].ToString());
} else {
if (UseFullyQualifiedNames) {
builder.Append(returnType.FullyQualifiedName);
builder.Append(fullName);
} else {
builder.Append(returnType.Name);
}
}
if (linkSet) {
builder.Append("</a>");
}
UnpackNestedType(builder, returnType);
return builder.ToString();
}
if (returnType is SpecificReturnType) {
void UnpackNestedType(StringBuilder builder, IReturnType returnType)
{
ArrayReturnType art = returnType as ArrayReturnType;
if (art != null) {
builder.Append('[');
for (int i = 1; i < art.ArrayDimensions; ++i) {
builder.Append(',');
}
builder.Append(']');
UnpackNestedType(builder, art.ElementType);
} else if (returnType is SpecificReturnType) {
SpecificReturnType rt = (SpecificReturnType)returnType;
UnpackNestedType(builder, rt.BaseType);
builder.Append('<');
for (int i = 0; i < rt.TypeParameters.Count; ++i) {
if (i > 0) builder.Append(", ");
@ -543,8 +552,6 @@ namespace ICSharpCode.Core @@ -543,8 +552,6 @@ namespace ICSharpCode.Core
}
builder.Append('>');
}
return builder.ToString();
}
public override string Convert(IParameter param)

7
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs

@ -38,6 +38,13 @@ namespace CSharpBinding @@ -38,6 +38,13 @@ namespace CSharpBinding
}
}
[Browsable(false)]
public override IAmbience Ambience {
get {
return CSharpAmbience.Instance;
}
}
public bool GetDebugSymbols(string configurationName, string platform)
{
return GetConfiguration(configurationName, platform).Get("DebugSymbols", false);

7
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs

@ -39,6 +39,13 @@ namespace VBNetBinding @@ -39,6 +39,13 @@ namespace VBNetBinding
}
}
[Browsable(false)]
public override IAmbience Ambience {
get {
return VBNetAmbience.Instance;
}
}
public bool GetDebugSymbols(string configurationName, string platform)
{
return GetConfiguration(configurationName, platform).Get("DebugSymbols", false);

113
src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetAmbience.cs

@ -41,6 +41,15 @@ namespace VBNetBinding @@ -41,6 +41,15 @@ namespace VBNetBinding
}
}
static VBNetAmbience instance;
public static VBNetAmbience Instance {
get {
if (instance == null) instance = new VBNetAmbience();
return instance;
}
}
string GetModifier(IDecoration decoration)
{
StringBuilder builder = new StringBuilder();
@ -117,37 +126,39 @@ namespace VBNetBinding @@ -117,37 +126,39 @@ namespace VBNetBinding
builder.Append("</i>");
}
switch (c.ClassType) {
case ClassType.Delegate:
builder.Append("Delegate ");
if (ShowReturnType) {
foreach (IMethod m in c.Methods) {
if (m.Name != "Invoke") {
continue;
}
if (m.ReturnType == null || m.ReturnType.FullyQualifiedName == "System.Void") {
builder.Append("Sub");
} else {
builder.Append("Function");
if (ShowModifiers) {
switch (c.ClassType) {
case ClassType.Delegate:
builder.Append("Delegate ");
if (ShowReturnType) {
foreach (IMethod m in c.Methods) {
if (m.Name != "Invoke") {
continue;
}
if (m.ReturnType == null || m.ReturnType.FullyQualifiedName == "System.Void") {
builder.Append("Sub");
} else {
builder.Append("Function");
}
}
}
}
break;
case ClassType.Class:
builder.Append("Class");
break;
case ClassType.Struct:
builder.Append("Structure");
break;
case ClassType.Interface:
builder.Append("Interface");
break;
case ClassType.Enum:
builder.Append("Enum");
break;
break;
case ClassType.Class:
builder.Append("Class");
break;
case ClassType.Struct:
builder.Append("Structure");
break;
case ClassType.Interface:
builder.Append("Interface");
break;
case ClassType.Enum:
builder.Append("Enum");
break;
}
builder.Append(' ');
}
builder.Append(' ');
if (IncludeHTMLMarkup) {
builder.Append("<b>");
@ -481,31 +492,35 @@ namespace VBNetBinding @@ -481,31 +492,35 @@ namespace VBNetBinding
}
StringBuilder builder = new StringBuilder();
bool linkSet = false;
// TODO: #Assembly dependance:
// if (UseLinkArrayList) {
// SharpAssemblyReturnType ret = returnType as SharpAssemblyReturnType;
// if (ret != null) {
// if (ret.UnderlyingClass != null) {
// builder.Append("<a href='as://" + linkArrayList.Add(ret.UnderlyingClass) + "'>");
// linkSet = true;
// }
// }
// }
if (returnType.FullyQualifiedName != null && typeConversionTable[returnType.FullyQualifiedName] != null) {
builder.Append(typeConversionTable[returnType.FullyQualifiedName].ToString());
string fullName = returnType.FullyQualifiedName;
if (fullName != null && typeConversionTable[fullName] != null) {
builder.Append(typeConversionTable[fullName].ToString());
} else {
builder.Append(UseFullyQualifiedNames ? returnType.FullyQualifiedName : returnType.Name);
if (UseFullyQualifiedNames) {
builder.Append(fullName);
} else {
builder.Append(returnType.Name);
}
}
if (linkSet) {
builder.Append("</a>");
}
UnpackNestedType(builder, returnType);
if (returnType is SpecificReturnType) {
return builder.ToString();
}
void UnpackNestedType(StringBuilder builder, IReturnType returnType)
{
ArrayReturnType art = returnType as ArrayReturnType;
if (art != null) {
builder.Append('(');
for (int i = 1; i < art.ArrayDimensions; ++i) {
builder.Append(',');
}
builder.Append(')');
UnpackNestedType(builder, art.ElementType);
} else if (returnType is SpecificReturnType) {
SpecificReturnType rt = (SpecificReturnType)returnType;
UnpackNestedType(builder, rt.BaseType);
builder.Append("(Of");
for (int i = 0; i < rt.TypeParameters.Count; ++i) {
if (i > 0) builder.Append(", ");
@ -513,8 +528,6 @@ namespace VBNetBinding @@ -513,8 +528,6 @@ namespace VBNetBinding
}
builder.Append(')');
}
return builder.ToString();
}
public override string Convert(IParameter param)

4
src/Main/Base/Project/Src/Dom/Implementations/ArrayReturnType.cs

@ -41,13 +41,13 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -41,13 +41,13 @@ namespace ICSharpCode.SharpDevelop.Dom
public override string FullyQualifiedName {
get {
return AppendArrayString(elementType.FullyQualifiedName);
return elementType.FullyQualifiedName;
}
}
public override string Name {
get {
return AppendArrayString(elementType.Name);
return elementType.Name;
}
}

2
src/Main/Base/Project/Src/Dom/Implementations/DefaultReturnType.cs

@ -101,7 +101,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -101,7 +101,7 @@ namespace ICSharpCode.SharpDevelop.Dom
return c.FullyQualifiedName;
}
set {
throw new NotSupportedException();
}
}

17
src/Main/Base/Project/Src/Dom/Implementations/LazyReturnType.cs

@ -19,11 +19,17 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -19,11 +19,17 @@ namespace ICSharpCode.SharpDevelop.Dom
{
IProjectContent content;
string fullName;
string shortName;
public GetClassReturnType(IProjectContent content, string fullName)
{
this.content = content;
this.fullName = fullName;
int pos = fullName.LastIndexOf('.');
if (pos < 0)
shortName = fullName;
else
shortName = fullName.Substring(pos + 1);
}
public override bool Equals(object o)
@ -53,8 +59,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -53,8 +59,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public override string Name {
get {
IReturnType baseType = BaseType;
return (baseType != null) ? baseType.Name : fullName.Substring(fullName.LastIndexOf('.') + 1);
return shortName;
}
}
@ -88,6 +93,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -88,6 +93,7 @@ namespace ICSharpCode.SharpDevelop.Dom
int caretLine;
int caretColumn;
string name;
string shortName;
public SearchClassReturnType(IClass declaringClass, int caretLine, int caretColumn, string name)
{
@ -95,6 +101,11 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -95,6 +101,11 @@ namespace ICSharpCode.SharpDevelop.Dom
this.caretLine = caretLine;
this.caretColumn = caretColumn;
this.name = name;
int pos = name.LastIndexOf('.');
if (pos < 0)
shortName = name;
else
shortName = name.Substring(pos + 1);
}
public override bool Equals(object o)
@ -126,7 +137,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -126,7 +137,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public override string Name {
get {
return name;
return shortName;
}
}

4
src/Main/Base/Project/Src/Gui/Components/StatusBar/SdStatusBar.cs

@ -71,9 +71,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -71,9 +71,9 @@ namespace ICSharpCode.SharpDevelop.Gui
springLabel.Spring = true;
cursorStatusBarPanel.AutoSize = false;
cursorStatusBarPanel.Width = 160;
cursorStatusBarPanel.Width = 150;
modeStatusBarPanel.AutoSize = false;
modeStatusBarPanel.Width = 35;
modeStatusBarPanel.Width = 25;
statusProgressBar.Visible = false;
statusProgressBar.Width = 100;

7
src/Main/Base/Project/Src/Project/AbstractProject.cs

@ -133,6 +133,13 @@ namespace ICSharpCode.SharpDevelop.Project @@ -133,6 +133,13 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
[Browsable(false)]
public virtual IAmbience Ambience {
get {
return null;
}
}
[Browsable(false)]
public string Configuration {
get {

4
src/Main/Base/Project/Src/Project/IProject.cs

@ -36,6 +36,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -36,6 +36,10 @@ namespace ICSharpCode.SharpDevelop.Project
get;
}
ICSharpCode.Core.IAmbience Ambience {
get;
}
string FileName {
get;
}

26
src/Main/Base/Project/Src/Services/AmbienceService/AmbienceService.cs

@ -38,22 +38,34 @@ namespace ICSharpCode.Core @@ -38,22 +38,34 @@ namespace ICSharpCode.Core
}
}
static AmbienceReflectionDecorator defaultAmbience;
public static AmbienceReflectionDecorator CurrentAmbience {
get {
string language = PropertyService.Get(ambienceProperty, "C#");
IAmbience ambience = (IAmbience)AddInTree.GetTreeNode("/SharpDevelop/Workbench/Ambiences").BuildChildItem(language, null);
if (ambience == null) {
MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Services.AmbienceService.AmbienceNotFoundError}");
return null;
ICSharpCode.SharpDevelop.Project.IProject p = ICSharpCode.SharpDevelop.Project.ProjectService.CurrentProject;
if (p != null) {
IAmbience ambience = p.Ambience;
if (ambience != null) {
return new AmbienceReflectionDecorator(ambience);
}
}
if (defaultAmbience == null) {
string language = PropertyService.Get(ambienceProperty, "C#");
IAmbience ambience = (IAmbience)AddInTree.GetTreeNode("/SharpDevelop/Workbench/Ambiences").BuildChildItem(language, null);
if (ambience == null) {
MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Services.AmbienceService.AmbienceNotFoundError}");
return null;
}
defaultAmbience = new AmbienceReflectionDecorator(ambience);
}
return new AmbienceReflectionDecorator(ambience);
return defaultAmbience;
}
}
static void PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.Key == ambienceProperty) {
defaultAmbience = null;
OnAmbienceChanged(EventArgs.Empty);
}
}

Loading…
Cancel
Save