diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs
index d1cfc2e004..f09ad0cf1d 100644
--- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs
+++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs
@@ -50,6 +50,12 @@ namespace ICSharpCode.FormsDesigner
}
}
+ public FormsDesignerViewContent ViewContent {
+ get {
+ return viewContent;
+ }
+ }
+
public void Attach(FormsDesignerViewContent viewContent)
{
this.viewContent = viewContent;
@@ -130,7 +136,7 @@ namespace ICSharpCode.FormsDesigner
protected abstract DomRegion GetReplaceRegion(ICSharpCode.TextEditor.Document.IDocument document, IMethod method);
- public void MergeFormChanges(CodeCompileUnit unit)
+ public virtual void MergeFormChanges(CodeCompileUnit unit)
{
Reparse();
@@ -246,8 +252,32 @@ namespace ICSharpCode.FormsDesigner
}
IDocument document;
- string saveDocumentToFile; // only set when InitializeComponent was loaded from code-behind file that was not opened
- string designerFile; // file that contains InitializeComponents
+ string saveDocumentToFile;
+ string designerFile;
+
+ ///
+ /// The document containing the content of the . Can be a
+ /// text editor document or independent of a text editor if partial classes are used.
+ ///
+ protected IDocument Document {
+ get { return document; }
+ set { document = value; }
+ }
+ ///
+ /// only set when InitializeComponent was loaded from code-behind file that was not open,
+ /// is normally either null or the same value as .
+ ///
+ protected string SaveDocumentToFile {
+ get { return saveDocumentToFile; }
+ set { saveDocumentToFile = value; }
+ }
+ ///
+ /// file that contains InitializeComponents
+ ///
+ protected string DesignerFile {
+ get { return designerFile; }
+ set { designerFile = value; }
+ }
void SaveDocument()
{
@@ -319,7 +349,7 @@ namespace ICSharpCode.FormsDesigner
///
///
///
- public bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position)
+ public virtual bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position)
{
if (this.failedDesignerInitialize) {
position = 0;
@@ -354,7 +384,7 @@ namespace ICSharpCode.FormsDesigner
return c.Region.EndLine;
}
- public ICollection GetCompatibleMethods(EventDescriptor edesc)
+ public virtual ICollection GetCompatibleMethods(EventDescriptor edesc)
{
Reparse();
ArrayList compatibleMethods = new ArrayList();
@@ -379,7 +409,7 @@ namespace ICSharpCode.FormsDesigner
return compatibleMethods;
}
- public ICollection GetCompatibleMethods(EventInfo edesc)
+ public virtual ICollection GetCompatibleMethods(EventInfo edesc)
{
Reparse();
ArrayList compatibleMethods = new ArrayList();
@@ -403,7 +433,7 @@ namespace ICSharpCode.FormsDesigner
return compatibleMethods;
}
- IField GetField(IClass c, string name)
+ protected IField GetField(IClass c, string name)
{
foreach (IField field in c.Fields) {
if (field.Name == name) {
diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CodeDOMGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CodeDOMGenerator.cs
index 61a37e3b53..594cf45b3f 100644
--- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CodeDOMGenerator.cs
+++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CodeDOMGenerator.cs
@@ -38,13 +38,23 @@ namespace ICSharpCode.FormsDesigner
CodeDOMGeneratorUtility codeDOMGeneratorUtility = new CodeDOMGeneratorUtility();
string indentation;
+ protected CodeDomProvider CodeDomProvider {
+ get { return codeProvider; }
+ }
+ protected CodeDOMGeneratorUtility CodeDOMGeneratorUtility {
+ get { return codeDOMGeneratorUtility; }
+ }
+ protected string Indentation {
+ get { return indentation; }
+ }
+
public CodeDOMGenerator(CodeDomProvider codeProvider, string indentation)
{
this.codeProvider = codeProvider;
this.indentation = indentation;
}
- public void ConvertContentDefinition(CodeMemberMethod method, TextWriter writer)
+ public virtual void ConvertContentDefinition(CodeMemberMethod method, TextWriter writer)
{
LoggingService.Info("Generate code for: "+method.Name);