Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3577 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
29 changed files with 145 additions and 2382 deletions
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?> |
||||
<AddIn name = "ClassWizard" |
||||
author = "Itai Bar-Haim" |
||||
url = "" |
||||
description = "Visually add new classes to the project."> |
||||
|
||||
<Manifest> |
||||
<Identity name="ClassWizard" /> |
||||
</Manifest> |
||||
|
||||
<Runtime> |
||||
<Import assembly = "ClassWizard.dll"/> |
||||
</Runtime> |
||||
|
||||
<Path name = "/SharpDevelop/Workbench/MainMenu/Project/ProjectAddMenu"> |
||||
<Condition name = "ProjectActive" activeproject="*"> |
||||
<MenuItem type = "Separator"/> |
||||
<MenuItem id = "NewClass" |
||||
label = "Class" |
||||
class = "ClassWizard.AddNewClassCommand"/> |
||||
</Condition> |
||||
</Path> |
||||
|
||||
</AddIn> |
@ -1,88 +0,0 @@
@@ -1,88 +0,0 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
<PropertyGroup> |
||||
<OutputType>Library</OutputType> |
||||
<RootNamespace>ClassWizard</RootNamespace> |
||||
<AssemblyName>ClassWizard</AssemblyName> |
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
<ProjectGuid>{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}</ProjectGuid> |
||||
<OutputPath>..\..\AddIns\Samples\ClassWizard</OutputPath> |
||||
<AllowUnsafeBlocks>False</AllowUnsafeBlocks> |
||||
<NoStdLib>False</NoStdLib> |
||||
<WarningLevel>4</WarningLevel> |
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors> |
||||
<SourceAnalysisOverrideSettingsFile>C:\Users\Daniel\AppData\Roaming\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> |
||||
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath> |
||||
<Optimize>False</Optimize> |
||||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
<DebugSymbols>true</DebugSymbols> |
||||
<DebugType>Full</DebugType> |
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> |
||||
<StartAction>Program</StartAction> |
||||
<StartProgram>..\..\bin\SharpDevelop.exe</StartProgram> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> |
||||
<IntermediateOutputPath>obj\Release\</IntermediateOutputPath> |
||||
<Optimize>True</Optimize> |
||||
<DefineConstants>TRACE</DefineConstants> |
||||
<DebugSymbols>False</DebugSymbols> |
||||
<DebugType>None</DebugType> |
||||
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' "> |
||||
<RegisterForComInterop>False</RegisterForComInterop> |
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies> |
||||
<BaseAddress>4194304</BaseAddress> |
||||
<PlatformTarget>AnyCPU</PlatformTarget> |
||||
<FileAlignment>4096</FileAlignment> |
||||
</PropertyGroup> |
||||
<ItemGroup> |
||||
<Reference Include="System" /> |
||||
<Reference Include="System.Data" /> |
||||
<Reference Include="System.Drawing" /> |
||||
<Reference Include="System.Windows.Forms" /> |
||||
<Reference Include="System.Xml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<None Include="ClassWizard.addin"> |
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
||||
</None> |
||||
<EmbeddedResource Include="Resources\ClassesList.xfrm" /> |
||||
<EmbeddedResource Include="Resources\AddClassForm.xfrm" /> |
||||
<Compile Include="Configuration\AssemblyInfo.cs" /> |
||||
<Compile Include="Src\AddClassForm.cs" /> |
||||
<Compile Include="Src\AddNewClassCommand.cs" /> |
||||
<Compile Include="Src\AddNewInterfaceCommand.cs" /> |
||||
<Compile Include="Src\ClassesList.cs" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<ProjectReference Include="..\..\Src\Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj"> |
||||
<Project>{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}</Project> |
||||
<Name>ICSharpCode.TextEditor</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\Src\Libraries\NRefactory\Project\NRefactory.csproj"> |
||||
<Project>{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}</Project> |
||||
<Name>NRefactory</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\Src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> |
||||
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project> |
||||
<Name>ICSharpCode.SharpDevelop</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\Src\Main\Core\Project\ICSharpCode.Core.csproj"> |
||||
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project> |
||||
<Name>ICSharpCode.Core</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\Src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj"> |
||||
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project> |
||||
<Name>ICSharpCode.SharpDevelop.Dom</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> |
||||
</Project> |
@ -1,18 +0,0 @@
@@ -1,18 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00 |
||||
# Visual Studio 2005 |
||||
# SharpDevelop 3.0.0.3558 |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassWizard", "ClassWizard.csproj", "{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}" |
||||
EndProject |
||||
Global |
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
Debug|Any CPU = Debug|Any CPU |
||||
Release|Any CPU = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
{8C59E80D-C4E4-4F36-9AD8-47C40F6E58B4}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
EndGlobalSection |
||||
EndGlobal |
@ -1,20 +0,0 @@
@@ -1,20 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Itai Bar-Haim" email=""/>
|
||||
// </file>
|
||||
|
||||
using System.Reflection; |
||||
using System.Runtime.CompilerServices; |
||||
using System.Runtime.InteropServices; |
||||
|
||||
// Information about this assembly is defined by the following
|
||||
// attributes.
|
||||
//
|
||||
// change them to the information which is associated with the assembly
|
||||
// you compile.
|
||||
[assembly: AssemblyTitle("ClassWizard")] |
||||
[assembly: AssemblyDescription("")] |
||||
[assembly: AssemblyConfiguration("")] |
||||
[assembly: AssemblyTrademark("")] |
||||
[assembly: AssemblyCulture("")] |
@ -1,215 +0,0 @@
@@ -1,215 +0,0 @@
|
||||
<Components version="1.0"> |
||||
<System.Windows.Forms.Form> |
||||
<Name value="AddClassForm" /> |
||||
<MinimumSize value="365, 342" /> |
||||
<ControlBox value="False" /> |
||||
<Text value="Add New Class" /> |
||||
<ClientSize value="{Width=357, Height=308}" /> |
||||
<Controls> |
||||
<System.Windows.Forms.CheckBox> |
||||
<Name value="isSealedCheckBox" /> |
||||
<Location value="232, 194" /> |
||||
<Text value="Sealed" /> |
||||
<TabIndex value="15" /> |
||||
<Size value="61, 20" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
</System.Windows.Forms.CheckBox> |
||||
<System.Windows.Forms.CheckBox> |
||||
<Name value="isStaticCheckBox" /> |
||||
<Location value="165, 193" /> |
||||
<Text value="Static" /> |
||||
<TabIndex value="8" /> |
||||
<Size value="61, 20" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
</System.Windows.Forms.CheckBox> |
||||
<System.Windows.Forms.CheckBox> |
||||
<Name value="isAbstractCheckBox" /> |
||||
<Location value="84, 193" /> |
||||
<Text value="Abstract" /> |
||||
<TabIndex value="7" /> |
||||
<Size value="75, 20" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
</System.Windows.Forms.CheckBox> |
||||
<System.Windows.Forms.ComboBox> |
||||
<Name value="namespaceComboBox" /> |
||||
<Size value="261, 21" /> |
||||
<TabIndex value="0" /> |
||||
<Sorted value="True" /> |
||||
<FormattingEnabled value="True" /> |
||||
<Location value="84, 11" /> |
||||
<Anchor value="Top, Left, Right" /> |
||||
</System.Windows.Forms.ComboBox> |
||||
<System.Windows.Forms.Label> |
||||
<Name value="label5" /> |
||||
<Location value="8, 14" /> |
||||
<Text value="Namespace:" /> |
||||
<Size value="67, 13" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="14" /> |
||||
</System.Windows.Forms.Label> |
||||
<System.Windows.Forms.CheckBox> |
||||
<Name value="isPartialCheckBox" /> |
||||
<Location value="299, 193" /> |
||||
<Text value="Partial" /> |
||||
<TabIndex value="9" /> |
||||
<Size value="61, 20" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
</System.Windows.Forms.CheckBox> |
||||
<System.Windows.Forms.ComboBox> |
||||
<Name value="visibilityComboBox" /> |
||||
<Size value="123, 21" /> |
||||
<TabIndex value="6" /> |
||||
<FormattingEnabled value="True" /> |
||||
<DropDownStyle value="DropDownList" /> |
||||
<Location value="84, 166" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
</System.Windows.Forms.ComboBox> |
||||
<System.Windows.Forms.Label> |
||||
<Name value="label4" /> |
||||
<Location value="8, 169" /> |
||||
<Text value="Visibility:" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
<Size value="46, 13" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="11" /> |
||||
</System.Windows.Forms.Label> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="selectInterfacesButton" /> |
||||
<Location value="320, 141" /> |
||||
<Text value="..." /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="25, 19" /> |
||||
<TabIndex value="5" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.ListBox> |
||||
<Name value="implementedInterfacesListBox" /> |
||||
<Size value="230, 69" /> |
||||
<TabIndex value="4" /> |
||||
<HorizontalScrollbar value="True" /> |
||||
<FormattingEnabled value="True" /> |
||||
<Location value="84, 90" /> |
||||
<Anchor value="Top, Bottom, Left, Right" /> |
||||
</System.Windows.Forms.ListBox> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="selectClassButton" /> |
||||
<Location value="319, 64" /> |
||||
<Text value="..." /> |
||||
<Anchor value="Top, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="25, 19" /> |
||||
<TabIndex value="3" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.TextBox> |
||||
<Name value="inheritFromTextBox" /> |
||||
<TabIndex value="2" /> |
||||
<Size value="230, 20" /> |
||||
<Location value="84, 64" /> |
||||
<Anchor value="Top, Left, Right" /> |
||||
</System.Windows.Forms.TextBox> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="browseButton" /> |
||||
<Location value="320, 221" /> |
||||
<Text value="..." /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="25, 19" /> |
||||
<TabIndex value="11" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.ComboBox> |
||||
<Name value="existingFilesComboBox" /> |
||||
<Size value="214, 21" /> |
||||
<TabIndex value="12" /> |
||||
<Sorted value="True" /> |
||||
<FormattingEnabled value="True" /> |
||||
<DropDownStyle value="DropDownList" /> |
||||
<Location value="131, 246" /> |
||||
<Anchor value="Bottom, Left, Right" /> |
||||
</System.Windows.Forms.ComboBox> |
||||
<System.Windows.Forms.RadioButton> |
||||
<Name value="addToFileRadioButton" /> |
||||
<Location value="8, 247" /> |
||||
<Text value="Add to existing file:" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="113, 17" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="10" /> |
||||
</System.Windows.Forms.RadioButton> |
||||
<System.Windows.Forms.TextBox> |
||||
<Name value="newFileNameTextBox" /> |
||||
<TabIndex value="10" /> |
||||
<Size value="183, 20" /> |
||||
<Location value="131, 220" /> |
||||
<Anchor value="Bottom, Left, Right" /> |
||||
</System.Windows.Forms.TextBox> |
||||
<System.Windows.Forms.RadioButton> |
||||
<Name value="createNewFileRadioButton" /> |
||||
<TabStop value="True" /> |
||||
<Location value="8, 221" /> |
||||
<Checked value="True" /> |
||||
<Text value="Create in new file:" /> |
||||
<Anchor value="Bottom, Left" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="109, 17" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="8" /> |
||||
</System.Windows.Forms.RadioButton> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="cancelButton" /> |
||||
<DialogResult value="Cancel" /> |
||||
<Location value="270, 273" /> |
||||
<Text value="Cancel" /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="75, 23" /> |
||||
<TabIndex value="14" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="okButton" /> |
||||
<DialogResult value="OK" /> |
||||
<Location value="189, 273" /> |
||||
<Text value="OK" /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="75, 23" /> |
||||
<TabIndex value="13" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.Label> |
||||
<Name value="label3" /> |
||||
<Location value="8, 90" /> |
||||
<Text value="Implements:" /> |
||||
<Size value="63, 13" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="5" /> |
||||
</System.Windows.Forms.Label> |
||||
<System.Windows.Forms.Label> |
||||
<Name value="label2" /> |
||||
<Location value="8, 67" /> |
||||
<Text value="Inherit from:" /> |
||||
<Size value="62, 13" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="3" /> |
||||
</System.Windows.Forms.Label> |
||||
<System.Windows.Forms.Label> |
||||
<Name value="label1" /> |
||||
<Location value="8, 41" /> |
||||
<Text value="Class Name:" /> |
||||
<Size value="66, 13" /> |
||||
<AutoSize value="True" /> |
||||
<TabIndex value="1" /> |
||||
</System.Windows.Forms.Label> |
||||
<System.Windows.Forms.TextBox> |
||||
<Name value="classNameTextBox" /> |
||||
<TabIndex value="1" /> |
||||
<Size value="261, 20" /> |
||||
<Location value="84, 38" /> |
||||
<Anchor value="Top, Left, Right" /> |
||||
</System.Windows.Forms.TextBox> |
||||
</Controls> |
||||
</System.Windows.Forms.Form> |
||||
</Components> |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
<Components version="1.0"> |
||||
<System.Windows.Forms.Form> |
||||
<Name value="form1" /> |
||||
<ControlBox value="False" /> |
||||
<Text value="Select Class To Inherit" /> |
||||
<ClientSize value="{Width=292, Height=266}" /> |
||||
<Controls> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="cancelButton" /> |
||||
<DialogResult value="Cancel" /> |
||||
<Location value="205, 231" /> |
||||
<Text value="Cancel" /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="75, 23" /> |
||||
<TabIndex value="15" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.Button> |
||||
<Name value="okButton" /> |
||||
<Enabled value="False" /> |
||||
<DialogResult value="OK" /> |
||||
<Location value="124, 231" /> |
||||
<Text value="OK" /> |
||||
<Anchor value="Bottom, Right" /> |
||||
<UseVisualStyleBackColor value="True" /> |
||||
<Size value="75, 23" /> |
||||
<TabIndex value="14" /> |
||||
</System.Windows.Forms.Button> |
||||
<System.Windows.Forms.TreeView> |
||||
<Name value="classesTreeView" /> |
||||
<Size value="268, 213" /> |
||||
<TabIndex value="13" /> |
||||
<PathSeparator value="." /> |
||||
<Location value="12, 12" /> |
||||
<Anchor value="Top, Bottom, Left, Right" /> |
||||
</System.Windows.Forms.TreeView> |
||||
</Controls> |
||||
</System.Windows.Forms.Form> |
||||
</Components> |
@ -1,189 +0,0 @@
@@ -1,189 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 12/22/2006 |
||||
* Time: 3:34 PM |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.IO; |
||||
using System.Windows.Forms; |
||||
|
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop.Project; |
||||
using ICSharpCode.SharpDevelop.Gui.XmlForms; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.NRefactory.Ast; |
||||
using ICSharpCode.SharpDevelop.Dom.Refactoring; |
||||
using ICSharpCode.SharpDevelop.Refactoring; |
||||
|
||||
namespace ClassWizard |
||||
{ |
||||
public class AddClassForm : BaseSharpDevelopForm |
||||
{ |
||||
public AddClassForm() |
||||
{ |
||||
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("ClassWizard.Resources.AddClassForm.xfrm")); |
||||
Get<Button>("ok").Click += OkButtonClick; |
||||
Get<RadioButton>("createNewFile").CheckedChanged += FileCreationModeChanged; |
||||
Get<RadioButton>("addToFile").CheckedChanged += FileCreationModeChanged; |
||||
Get<Button>("selectClass").Click += SelectClassButtonClick; |
||||
Get<Button>("selectInterfaces").Click += SelectInterfacesButtonClick; |
||||
|
||||
ComboBox visibility = Get<ComboBox>("visibility"); |
||||
visibility.Items.Add("Public"); |
||||
visibility.Items.Add("Private"); |
||||
visibility.Items.Add("Protected"); |
||||
visibility.Items.Add("Internal"); |
||||
visibility.SelectedIndex = 0; |
||||
|
||||
classes.ClassType = ICSharpCode.SharpDevelop.Dom.ClassType.Class; |
||||
classes.SelectMultiple = false; |
||||
|
||||
interfaces.ClassType = ICSharpCode.SharpDevelop.Dom.ClassType.Interface; |
||||
interfaces.SelectMultiple = true; |
||||
} |
||||
|
||||
private ClassesListDialog classes = new ClassesListDialog(); |
||||
private ClassesListDialog interfaces = new ClassesListDialog(); |
||||
|
||||
protected override void OnShown(EventArgs e) |
||||
{ |
||||
IProject proj = ProjectService.CurrentProject; |
||||
IProjectContent projCont = proj.CreateProjectContent(); |
||||
classes.Project = proj; |
||||
interfaces.Project = proj; |
||||
|
||||
ComboBox existingFiles = Get<ComboBox>("existingFiles"); |
||||
existingFiles.Items.Clear(); |
||||
foreach (ProjectItem projectItem in ProjectService.CurrentProject.Items) |
||||
{ |
||||
if (projectItem.ItemType == ItemType.Compile) |
||||
existingFiles.Items.Add(FileUtility.GetRelativePath(proj.Directory, projectItem.FileName)); |
||||
} |
||||
|
||||
ComboBox namespaces = Get<ComboBox>("namespace"); |
||||
namespaces.Items.Clear(); |
||||
|
||||
foreach (string nsn in projCont.NamespaceNames) |
||||
namespaces.Items.Add(nsn); |
||||
|
||||
base.OnShown(e); |
||||
} |
||||
|
||||
void OkButtonClick(object sender, EventArgs e) |
||||
{ |
||||
IProject proj = ProjectService.CurrentProject; |
||||
|
||||
NamespaceDeclaration domNS = new NamespaceDeclaration(Get<ComboBox>("namespace").Text); |
||||
domNS.AddChild(new UsingDeclaration("System")); |
||||
domNS.AddChild(new UsingDeclaration("System.Collections.Generic")); |
||||
|
||||
Modifiers mods = Modifiers.None; |
||||
|
||||
if (Get<CheckBox>("isStatic").Checked) |
||||
mods |= Modifiers.Static; |
||||
|
||||
if (Get<CheckBox>("isAbstract").Checked) |
||||
mods |= Modifiers.Abstract; |
||||
|
||||
if (Get<CheckBox>("isSealed").Checked) |
||||
mods |= Modifiers.Sealed; |
||||
|
||||
if (Get<CheckBox>("isPartial").Checked) |
||||
mods |= Modifiers.Partial; |
||||
|
||||
ComboBox visibility = Get<ComboBox>("visibility"); |
||||
switch (visibility.SelectedIndex) |
||||
{ |
||||
case 0: mods |= Modifiers.Public; break; |
||||
case 1: mods |= Modifiers.Private; break; |
||||
case 2: mods |= Modifiers.Protected; break; |
||||
case 3: mods |= Modifiers.Internal; break; |
||||
} |
||||
|
||||
TypeDeclaration domType = new TypeDeclaration(mods, null); |
||||
domType.Name = Get<TextBox>("className").Text; |
||||
domType.Type = ICSharpCode.NRefactory.Ast.ClassType.Class; |
||||
|
||||
ListBox ifacesList = Get<ListBox>("implementedInterfaces"); |
||||
foreach (string c in ifacesList.Items) |
||||
domType.BaseTypes.Add(new TypeReference(c)); |
||||
|
||||
domNS.AddChild(domType); |
||||
|
||||
if (Get<RadioButton>("createNewFile").Checked) |
||||
{ |
||||
StreamWriter sw; |
||||
string filename = Get<TextBox>("newFileName").Text; |
||||
|
||||
if (!Path.HasExtension(filename)) |
||||
filename += "." + proj.LanguageProperties.CodeDomProvider.FileExtension; |
||||
|
||||
filename = Path.Combine(proj.Directory, filename); |
||||
sw = File.CreateText(filename); |
||||
sw.Write(proj.LanguageProperties.CodeGenerator.GenerateCode(domNS, String.Empty)); |
||||
sw.Close(); |
||||
|
||||
FileProjectItem fpi = new FileProjectItem(proj, ItemType.Compile); |
||||
fpi.FileName = filename; |
||||
ProjectService.AddProjectItem(proj, fpi); |
||||
ProjectBrowserPad.Instance.ProjectBrowserControl.RefreshView(); |
||||
proj.Save(); |
||||
} |
||||
else |
||||
{ |
||||
string filename = Path.Combine(proj.Directory, Get<ComboBox>("existingFiles").Text); |
||||
IViewContent viewContent = FileService.OpenFile(filename); |
||||
|
||||
proj.LanguageProperties.CodeGenerator.InsertCodeAtEnd(DomRegion.Empty, GetDocument(viewContent), new AbstractNode[] { domNS }); |
||||
} |
||||
} |
||||
|
||||
private static IDocument GetDocument(IViewContent viewContent) |
||||
{ |
||||
ITextEditorControlProvider provider1 = viewContent as ITextEditorControlProvider; |
||||
if (provider1 == null) |
||||
{ |
||||
return null; |
||||
} |
||||
return new TextEditorDocument (provider1.TextEditorControl.Document); |
||||
} |
||||
|
||||
void SelectClassButtonClick(object sender, EventArgs e) |
||||
{ |
||||
if (classes.ShowDialog()) |
||||
{ |
||||
Get<TextBox>("inheritFrom").Text = classes.SelectedClasses[0].FullyQualifiedName; |
||||
} |
||||
} |
||||
|
||||
void SelectInterfacesButtonClick(object sender, EventArgs e) |
||||
{ |
||||
if (interfaces.ShowDialog()) |
||||
{ |
||||
ListBox ifacesList = Get<ListBox>("implementedInterfaces"); |
||||
foreach (IClass c in interfaces.SelectedClasses) |
||||
{ |
||||
ifacesList.Items.Add(c.FullyQualifiedName); |
||||
} |
||||
} |
||||
} |
||||
|
||||
void FileCreationModeChanged(object sender, EventArgs e) |
||||
{ |
||||
bool createNewState = Get<RadioButton>("createNewFile").Checked; |
||||
bool addToFileState = Get<RadioButton>("addToFile").Checked; |
||||
|
||||
Get<TextBox>("newFileName").Enabled = createNewState; |
||||
Get<Button>("browse").Enabled = createNewState; |
||||
Get<ComboBox>("existingFiles").Enabled = addToFileState; |
||||
} |
||||
} |
||||
} |
||||
|
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 12/22/2006 |
||||
* Time: 5:34 PM |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Windows.Forms; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
|
||||
namespace ClassWizard |
||||
{ |
||||
/// <summary>
|
||||
/// Description of AddNewClassCommand
|
||||
/// </summary>
|
||||
public class AddNewClassCommand : AbstractCommand |
||||
{ |
||||
/// <summary>
|
||||
/// Starts the command
|
||||
/// </summary>
|
||||
public override void Run() |
||||
{ |
||||
using (AddClassForm form = new AddClassForm()) |
||||
{ |
||||
form.Owner = (Form) WorkbenchSingleton.Workbench; |
||||
form.ShowDialog(WorkbenchSingleton.MainForm); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -1,13 +0,0 @@
@@ -1,13 +0,0 @@
|
||||
namespace ClassWizard |
||||
{ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.Core; |
||||
|
||||
public class AddNewInterfaceCommand : AbstractCommand |
||||
{ |
||||
public override void Run() |
||||
{ |
||||
} |
||||
} |
||||
} |
@ -1,185 +0,0 @@
@@ -1,185 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 12/23/2006 |
||||
* Time: 8:27 PM |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.Windows.Forms; |
||||
|
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Project; |
||||
using ICSharpCode.SharpDevelop.Gui.XmlForms; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
|
||||
namespace ClassWizard |
||||
{ |
||||
public class ClassesListDialog |
||||
{ |
||||
private class ClassesList : BaseSharpDevelopForm |
||||
{ |
||||
IClass baseClass; |
||||
public ClassesList() : this (null) {} |
||||
|
||||
public ClassesList(IClass baseClass) |
||||
{ |
||||
this.baseClass = baseClass; |
||||
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("ClassWizard.Resources.ClassesList.xfrm")); |
||||
treeView = Get<TreeView>("classes"); |
||||
treeView.BeforeCheck += ClassesTreeViewBeforeCheck; |
||||
treeView.AfterCheck += ClassesTreeViewAfterCheck; |
||||
treeView.AfterSelect += ClassesTreeViewAfterCheck; |
||||
} |
||||
|
||||
private TreeView treeView; |
||||
|
||||
public void InitializeClasses(IProject project, ClassType ct) |
||||
{ |
||||
IProjectContent pc = ParserService.GetProjectContent(project); |
||||
|
||||
treeView.Nodes.Clear(); |
||||
|
||||
AddClasses (pc, ct, false); |
||||
|
||||
foreach (IProjectContent rpc in pc.ReferencedContents) |
||||
AddClasses (rpc, ct, false); |
||||
} |
||||
|
||||
void AddClasses (IProjectContent pc, ClassType ct, bool allowSealed) |
||||
{ |
||||
if (pc.Classes == null) return; |
||||
foreach (IClass c in pc.Classes) |
||||
{ |
||||
if (c.ClassType == ct && (!c.IsSealed || (c.IsSealed && allowSealed))) |
||||
{ |
||||
if (baseClass == null || (baseClass != null && c.IsTypeInInheritanceTree(baseClass))) |
||||
{ |
||||
TreeNode node = AddItemToTreeView(c.FullyQualifiedName); |
||||
if (node != null) |
||||
node.Tag = c; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
TreeNode AddItemToTreeView (string item) |
||||
{ |
||||
string[] path = item.Split(treeView.PathSeparator[0]); |
||||
TreeNodeCollection tnc = treeView.Nodes; |
||||
TreeNode ret = null; |
||||
foreach (string pathitem in path) |
||||
{ |
||||
if (tnc != null) |
||||
{ |
||||
TreeNode tn; |
||||
if (!tnc.ContainsKey(pathitem)) |
||||
{ |
||||
tn = tnc.Add(pathitem, pathitem); |
||||
ret = tn; |
||||
} |
||||
else |
||||
tn = tnc[pathitem]; |
||||
if (tn == null) |
||||
{ |
||||
MessageBox.Show("Treenode is null: " + pathitem + "\n" + item); |
||||
} |
||||
tnc = tn.Nodes; |
||||
} |
||||
} |
||||
return ret; |
||||
} |
||||
|
||||
void ClassesTreeViewBeforeCheck (object sender, TreeViewCancelEventArgs e) |
||||
{ |
||||
e.Cancel = (e.Node.Nodes != null && e.Node.Nodes.Count > 0); |
||||
} |
||||
|
||||
void ClassesTreeViewAfterCheck (object sender, TreeViewEventArgs e) |
||||
{ |
||||
IClass c = (IClass) e.Node.Tag; |
||||
if (SelectMultiple) |
||||
{ |
||||
if (e.Node.Checked && !selectedItems.Contains(c)) |
||||
selectedItems.Add(c); |
||||
else if (!e.Node.Checked && selectedItems.Contains(c)) |
||||
selectedItems.Remove(c); |
||||
} |
||||
else |
||||
{ |
||||
selectedItems.Clear(); |
||||
if (treeView.SelectedNode.Nodes == null || treeView.SelectedNode.Nodes.Count == 0) |
||||
selectedItems.Add((IClass)treeView.SelectedNode.Tag); |
||||
} |
||||
Get<Button>("ok").Enabled = (selectedItems.Count > 0); |
||||
} |
||||
|
||||
public bool SelectMultiple |
||||
{ |
||||
get { return treeView.CheckBoxes; } |
||||
set { treeView.CheckBoxes = value; } |
||||
} |
||||
|
||||
List<IClass> selectedItems = new List<IClass>(); |
||||
|
||||
public IList<IClass> SelectedClasses |
||||
{ |
||||
get { return selectedItems; } |
||||
} |
||||
} |
||||
|
||||
ClassesList classesList = new ClassesList(); |
||||
ClassType classType; |
||||
IProject project; |
||||
|
||||
bool initialized = false; |
||||
|
||||
public ClassesListDialog() {} |
||||
|
||||
public bool ShowDialog() |
||||
{ |
||||
if (!initialized) |
||||
{ |
||||
classesList.InitializeClasses(project, classType); |
||||
initialized = true; |
||||
} |
||||
|
||||
classesList.ShowDialog(); |
||||
return classesList.DialogResult == DialogResult.OK; |
||||
} |
||||
|
||||
public ClassType ClassType |
||||
{ |
||||
get { return classType; } |
||||
set |
||||
{ |
||||
initialized &= classType == value; |
||||
classType = value; |
||||
} |
||||
} |
||||
|
||||
public IProject Project |
||||
{ |
||||
get { return project; } |
||||
set |
||||
{ |
||||
initialized &= project == value; |
||||
project = value; |
||||
} |
||||
} |
||||
|
||||
public bool SelectMultiple |
||||
{ |
||||
get { return classesList.SelectMultiple; } |
||||
set { classesList.SelectMultiple = value; } |
||||
} |
||||
|
||||
public IList<IClass> SelectedClasses |
||||
{ |
||||
get { return classesList.SelectedClasses; } |
||||
} |
||||
} |
||||
} |
@ -1,191 +0,0 @@
@@ -1,191 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 12/13/2006 |
||||
* Time: 2:12 PM |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Windows.Forms; |
||||
using System.Collections.Generic; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Dom.Refactoring; |
||||
using ICSharpCode.SharpDevelop.Project; |
||||
using ICSharpCode.SharpDevelop.Refactoring; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.TextEditor; |
||||
using ICSharpCode.NRefactory.Ast; |
||||
|
||||
using ClassDiagram; |
||||
|
||||
namespace ClassDiagramAddin |
||||
{ |
||||
/// <summary>
|
||||
/// Description of the pad content
|
||||
/// </summary>
|
||||
public class ClassEditorPad : AbstractPadContent |
||||
{ |
||||
ClassEditor editor = new ClassEditor(); |
||||
|
||||
/// <summary>
|
||||
/// Creates a new ClassEditorPad object
|
||||
/// </summary>
|
||||
public ClassEditorPad() |
||||
{ |
||||
editor.MemberActivated += EditorMemberActivated; |
||||
editor.MemberModified += EditorMemberModified; |
||||
editor.ParameterActivated += EditorParameterActivated; |
||||
editor.ParameterModified += EditorParameterModified; |
||||
editor.ClassMemberAdded += EditorClassMemberAdded; |
||||
} |
||||
|
||||
private void EditorMemberActivated (object sender, IMemberEventArgs e) |
||||
{ |
||||
ICompilationUnit compUnit = e.Member.DeclaringType.CompilationUnit; |
||||
FileService.JumpToFilePosition(compUnit.FileName, |
||||
e.Member.Region.BeginLine - 1, |
||||
e.Member.Region.BeginColumn - 1); |
||||
} |
||||
|
||||
private void EditorParameterActivated (object sender, IParameterEventArgs e) |
||||
{ |
||||
ICompilationUnit compUnit = e.Method.DeclaringType.CompilationUnit; |
||||
FileService.JumpToFilePosition(compUnit.FileName, |
||||
e.Parameter.Region.BeginLine - 1, |
||||
e.Parameter.Region.BeginColumn); |
||||
} |
||||
|
||||
private void EditorClassMemberAdded (object sender, IMemberEventArgs e) |
||||
{ |
||||
AbstractNode memberDom = null; |
||||
|
||||
DomRegion cRegion = e.Member.DeclaringType.BodyRegion; |
||||
if (cRegion.IsEmpty) cRegion = e.Member.DeclaringType.Region; |
||||
|
||||
memberDom = CodeGenerator.ConvertMember(e.Member, new ClassFinder(e.Member.DeclaringType, cRegion.BeginLine + 1, 1)); |
||||
|
||||
IProject proj = ProjectService.CurrentProject; |
||||
IViewContent vc = FileService.OpenFile(e.Member.DeclaringType.CompilationUnit.FileName); |
||||
if (vc == null) return; |
||||
IDocument doc = GetDocument(vc); |
||||
|
||||
if (e.Member.DeclaringType is CompoundClass) |
||||
{ |
||||
foreach (IClass c in ((CompoundClass)e.Member.DeclaringType).Parts) |
||||
{ |
||||
System.Diagnostics.Debug.WriteLine(c.Name+": " +c.Modifiers.ToString()); |
||||
} |
||||
} |
||||
proj.LanguageProperties.CodeGenerator.InsertCodeAtEnd(cRegion, doc, memberDom); |
||||
} |
||||
|
||||
private static IDocument GetDocument(IViewContent viewContent) |
||||
{ |
||||
ITextEditorControlProvider provider1 = viewContent as ITextEditorControlProvider; |
||||
if (provider1 == null) |
||||
{ |
||||
return null; |
||||
} |
||||
return new TextEditorDocument (provider1.TextEditorControl.Document); |
||||
} |
||||
|
||||
private void EditorMemberModified (object sender, IMemberModificationEventArgs e) |
||||
{ |
||||
switch (e.Modification) |
||||
{ |
||||
case Modification.Name: |
||||
DialogResult dr = MessageBox.Show("Rename all occurances?", "Rename Member", MessageBoxButtons.YesNoCancel); |
||||
if (dr == DialogResult.Cancel) e.Cancel = true; |
||||
else if (dr == DialogResult.Yes) |
||||
{ |
||||
FindReferencesAndRenameHelper.RenameMember(e.Member, e.NewValue); |
||||
} |
||||
else |
||||
{ |
||||
// TODO - place local renameing code here.
|
||||
} |
||||
break; |
||||
case Modification.Type: |
||||
// TODO - place type replacment code here.
|
||||
break; |
||||
case Modification.Modifier: |
||||
// TODO - place visibility replacment code here.
|
||||
break; |
||||
case Modification.Summary: |
||||
// TODO - place summary replacment code here.
|
||||
break; |
||||
} |
||||
} |
||||
|
||||
private void EditorParameterModified (object sender, IParameterModificationEventArgs e) |
||||
{ |
||||
switch (e.Modification) |
||||
{ |
||||
case Modification.Name: |
||||
DialogResult dr = MessageBox.Show("Rename all occurances?", "Rename Parameter", MessageBoxButtons.YesNoCancel); |
||||
if (dr == DialogResult.Cancel) e.Cancel = true; |
||||
else if (dr == DialogResult.Yes) |
||||
{ |
||||
ResolveResult local = new LocalResolveResult(e.Method, new DefaultField.ParameterField(e.Parameter.ReturnType, e.Parameter.Name, e.Parameter.Region, e.Method.DeclaringType)); |
||||
List<Reference> list = RefactoringService.FindReferences(local, null); |
||||
if (list == null) return; |
||||
FindReferencesAndRenameHelper.RenameReferences(list, e.NewValue); |
||||
} |
||||
else |
||||
{ |
||||
// TODO - place local renameing code here.
|
||||
} |
||||
break; |
||||
case Modification.Type: |
||||
// TODO - place type replacment code here.
|
||||
break; |
||||
case Modification.Modifier: |
||||
// TODO - place visibility replacment code here.
|
||||
break; |
||||
case Modification.Summary: |
||||
// TODO - place summary replacment code here.
|
||||
break; |
||||
} |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// The <see cref="System.Windows.Forms.Control"/> representing the pad
|
||||
/// </summary>
|
||||
public override Control Control |
||||
{ |
||||
get { return editor; } |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// Refreshes the pad
|
||||
/// </summary>
|
||||
public override void RedrawContent() |
||||
{ |
||||
// TODO: Refresh the whole pad control here, renew all resource strings whatever
|
||||
// Note that you do not need to recreate the control.
|
||||
} |
||||
|
||||
/// <summary>
|
||||
/// Cleans up all used resources
|
||||
/// </summary>
|
||||
public override void Dispose() |
||||
{ |
||||
editor.Dispose(); |
||||
} |
||||
|
||||
private static TextEditorControl GetTextEditorControl() |
||||
{ |
||||
ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider; |
||||
if (provider != null) |
||||
return provider.TextEditorControl; |
||||
else |
||||
return null; |
||||
} |
||||
} |
||||
} |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Itai Bar-Haim" email=""/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System.Reflection; |
||||
using System.Runtime.CompilerServices; |
||||
using System.Runtime.InteropServices; |
||||
|
||||
// Information about this assembly is defined by the following
|
||||
// attributes.
|
||||
//
|
||||
// change them to the information which is associated with the assembly
|
||||
// you compile.
|
||||
|
||||
[assembly: AssemblyTitle("ClassEditor")] |
||||
[assembly: AssemblyDescription("")] |
||||
[assembly: AssemblyConfiguration("")] |
||||
[assembly: AssemblyTrademark("")] |
||||
[assembly: AssemblyCulture("")] |
@ -1,177 +0,0 @@
@@ -1,177 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 20/10/2006 |
||||
* Time: 20:08 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
namespace ClassDiagram |
||||
{ |
||||
partial class ClassEditor : System.Windows.Forms.UserControl |
||||
{ |
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null; |
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) |
||||
{ |
||||
if (disposing) { |
||||
if (components != null) { |
||||
components.Dispose(); |
||||
} |
||||
} |
||||
base.Dispose(disposing); |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent() |
||||
{ |
||||
this.membersList = new Aga.Controls.Tree.TreeViewAdv(); |
||||
this.nameCol = new Aga.Controls.Tree.TreeColumn(); |
||||
this.typeCol = new Aga.Controls.Tree.TreeColumn(); |
||||
this.modifierCol = new Aga.Controls.Tree.TreeColumn(); |
||||
this.summaryCol = new Aga.Controls.Tree.TreeColumn(); |
||||
this._icon = new Aga.Controls.Tree.NodeControls.NodeIcon(); |
||||
this._name = new Aga.Controls.Tree.NodeControls.NodeTextBox(); |
||||
this._type = new Aga.Controls.Tree.NodeControls.NodeComboBox(); |
||||
this._modifiers = new Aga.Controls.Tree.NodeControls.NodeComboBox(); |
||||
this._summary = new Aga.Controls.Tree.NodeControls.NodeTextBox(); |
||||
this._paramModifiers = new Aga.Controls.Tree.NodeControls.NodeComboBox(); |
||||
this.SuspendLayout(); |
||||
//
|
||||
// membersList
|
||||
//
|
||||
this.membersList.BackColor = System.Drawing.SystemColors.Window; |
||||
this.membersList.BorderStyle = System.Windows.Forms.BorderStyle.None; |
||||
this.membersList.Columns.Add(this.nameCol); |
||||
this.membersList.Columns.Add(this.typeCol); |
||||
this.membersList.Columns.Add(this.modifierCol); |
||||
this.membersList.Columns.Add(this.summaryCol); |
||||
this.membersList.Cursor = System.Windows.Forms.Cursors.Default; |
||||
this.membersList.DefaultToolTipProvider = null; |
||||
this.membersList.Dock = System.Windows.Forms.DockStyle.Fill; |
||||
this.membersList.DragDropMarkColor = System.Drawing.Color.Black; |
||||
this.membersList.FullRowSelect = true; |
||||
this.membersList.LineColor = System.Drawing.SystemColors.ControlDark; |
||||
this.membersList.Location = new System.Drawing.Point(0, 0); |
||||
this.membersList.Model = null; |
||||
this.membersList.Name = "membersList"; |
||||
this.membersList.NodeControls.Add(this._icon); |
||||
this.membersList.NodeControls.Add(this._name); |
||||
this.membersList.NodeControls.Add(this._type); |
||||
this.membersList.NodeControls.Add(this._modifiers); |
||||
this.membersList.NodeControls.Add(this._summary); |
||||
this.membersList.NodeControls.Add(this._paramModifiers); |
||||
this.membersList.SelectedNode = null; |
||||
this.membersList.ShowLines = false; |
||||
this.membersList.Size = new System.Drawing.Size(603, 299); |
||||
this.membersList.TabIndex = 0; |
||||
this.membersList.Text = "treeViewAdv1"; |
||||
this.membersList.UseColumns = true; |
||||
this.membersList.NodeMouseDoubleClick += new System.EventHandler<Aga.Controls.Tree.TreeNodeAdvMouseEventArgs>(this.MembersListNodeMouseDoubleClick); |
||||
//
|
||||
// nameCol
|
||||
//
|
||||
this.nameCol.Header = "Name"; |
||||
this.nameCol.SortOrder = System.Windows.Forms.SortOrder.None; |
||||
this.nameCol.Width = 80; |
||||
//
|
||||
// typeCol
|
||||
//
|
||||
this.typeCol.Header = "Type"; |
||||
this.typeCol.SortOrder = System.Windows.Forms.SortOrder.None; |
||||
this.typeCol.Width = 80; |
||||
//
|
||||
// modifierCol
|
||||
//
|
||||
this.modifierCol.Header = "Modifier"; |
||||
this.modifierCol.SortOrder = System.Windows.Forms.SortOrder.None; |
||||
this.modifierCol.Width = 80; |
||||
//
|
||||
// summaryCol
|
||||
//
|
||||
this.summaryCol.Header = "Summary"; |
||||
this.summaryCol.SortOrder = System.Windows.Forms.SortOrder.None; |
||||
this.summaryCol.Width = 320; |
||||
//
|
||||
// _icon
|
||||
//
|
||||
this._icon.DataPropertyName = "MemberIcon"; |
||||
this._icon.IncrementalSearchEnabled = false; |
||||
this._icon.ParentColumn = this.nameCol; |
||||
//
|
||||
// _name
|
||||
//
|
||||
this._name.DataPropertyName = "MemberName"; |
||||
this._name.EditEnabled = true; |
||||
this._name.ParentColumn = this.nameCol; |
||||
this._name.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; |
||||
this._name.DrawText += new System.EventHandler<Aga.Controls.Tree.NodeControls.DrawEventArgs>(this._nameDrawText); |
||||
//
|
||||
// _type
|
||||
//
|
||||
this._type.DataPropertyName = "MemberType"; |
||||
this._type.EditEnabled = true; |
||||
this._type.ParentColumn = this.typeCol; |
||||
this._type.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; |
||||
//
|
||||
// _modifiers
|
||||
//
|
||||
this._modifiers.DataPropertyName = "MemberModifier"; |
||||
this._modifiers.DropDownItems.Add("Public"); |
||||
this._modifiers.DropDownItems.Add("Private"); |
||||
this._modifiers.DropDownItems.Add("Protected"); |
||||
this._modifiers.DropDownItems.Add("Internal"); |
||||
this._modifiers.EditEnabled = true; |
||||
this._modifiers.ParentColumn = this.modifierCol; |
||||
this._modifiers.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; |
||||
//
|
||||
// _summary
|
||||
//
|
||||
this._summary.DataPropertyName = "MemberSummary"; |
||||
this._summary.EditEnabled = true; |
||||
this._summary.ParentColumn = this.summaryCol; |
||||
this._summary.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; |
||||
//
|
||||
// _paramModifiers
|
||||
//
|
||||
this._paramModifiers.DataPropertyName = "MemberModifier"; |
||||
this._paramModifiers.DropDownItems.Add("In"); |
||||
this._paramModifiers.DropDownItems.Add("Out"); |
||||
this._paramModifiers.DropDownItems.Add("Ref"); |
||||
this._paramModifiers.DropDownItems.Add("Params"); |
||||
this._paramModifiers.DropDownItems.Add("Optional"); |
||||
this._paramModifiers.ParentColumn = this.modifierCol; |
||||
//
|
||||
// ClassEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
||||
this.Controls.Add(this.membersList); |
||||
this.Name = "ClassEditor"; |
||||
this.Size = new System.Drawing.Size(603, 299); |
||||
this.ResumeLayout(false); |
||||
} |
||||
private Aga.Controls.Tree.NodeControls.NodeComboBox _paramModifiers; |
||||
private Aga.Controls.Tree.NodeControls.NodeIcon _icon; |
||||
private Aga.Controls.Tree.NodeControls.NodeComboBox _modifiers; |
||||
private Aga.Controls.Tree.NodeControls.NodeComboBox _type; |
||||
private Aga.Controls.Tree.NodeControls.NodeTextBox _summary; |
||||
private Aga.Controls.Tree.NodeControls.NodeTextBox _name; |
||||
private Aga.Controls.Tree.TreeViewAdv membersList; |
||||
private Aga.Controls.Tree.TreeColumn nameCol; |
||||
private Aga.Controls.Tree.TreeColumn typeCol; |
||||
private Aga.Controls.Tree.TreeColumn modifierCol; |
||||
private Aga.Controls.Tree.TreeColumn summaryCol; |
||||
} |
||||
} |
@ -1,577 +0,0 @@
@@ -1,577 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 20/10/2006 |
||||
* Time: 20:08 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.ComponentModel; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
|
||||
using System.IO; |
||||
using System.Xml; |
||||
using System.Xml.XPath; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Project; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.TextEditor; |
||||
using Aga.Controls.Tree; |
||||
using Aga.Controls.Tree.NodeControls; |
||||
|
||||
namespace ClassDiagram |
||||
{ |
||||
public partial class ClassEditor |
||||
{ |
||||
VisibilityModifiersEditor visibilityModifierEditor = new VisibilityModifiersEditor(); |
||||
ParameterModifiersEditor parameterModifierEditor = new ParameterModifiersEditor(); |
||||
|
||||
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ClassEditor)); |
||||
|
||||
Dictionary<Type, Node> addMemberItems = new Dictionary<Type, Node>(); |
||||
Dictionary<IMethod, Node> addParameterItems = new Dictionary<IMethod, Node>(); |
||||
|
||||
Dictionary<ClassType, Action<IClass>> classTypeGroupCreators = new Dictionary<ClassType, Action<IClass>>(); |
||||
IClass currClass; |
||||
|
||||
public event EventHandler<IMemberEventArgs> MemberActivated = delegate {}; |
||||
public event EventHandler<IParameterEventArgs> ParameterActivated = delegate {}; |
||||
|
||||
public event EventHandler<IMemberModificationEventArgs> MemberModified = delegate {}; |
||||
public event EventHandler<IParameterModificationEventArgs> ParameterModified = delegate {}; |
||||
|
||||
public event EventHandler<IMemberEventArgs> ClassMemberAdded = delegate {}; |
||||
|
||||
TreeModel model = new TreeModel(); |
||||
|
||||
private class GroupNode : Node |
||||
{ |
||||
public GroupNode(Type groupType, string title) |
||||
: base (title) |
||||
{ |
||||
this.groupType = groupType; |
||||
} |
||||
|
||||
Type groupType; |
||||
|
||||
public Type GroupType { |
||||
get { return groupType; } |
||||
} |
||||
|
||||
public string MemberName |
||||
{ |
||||
get { return base.Text; } |
||||
} |
||||
} |
||||
|
||||
private class MemberNode : Node |
||||
{ |
||||
public MemberNode(IMember member, IAmbience ambience, ClassEditor editor) |
||||
{ |
||||
this.member = member; |
||||
this.ambience = ambience; |
||||
this.editor = editor; |
||||
UpdateValues(); |
||||
} |
||||
|
||||
void UpdateValues() |
||||
{ |
||||
IMethod methodMember = member as IMethod; |
||||
IEvent eventMember = member as IEvent; |
||||
IProperty propertyMember = member as IProperty; |
||||
IField fieldMember = member as IField; |
||||
|
||||
int iconIndex = -1; |
||||
try |
||||
{ |
||||
iconIndex = ClassBrowserIconService.GetIcon(member); |
||||
} |
||||
catch {} |
||||
|
||||
if (iconIndex > -1) |
||||
icon = ClassBrowserIconService.ImageList.Images[iconIndex]; |
||||
|
||||
if (methodMember != null) memberName = ambience.Convert(methodMember); |
||||
if (eventMember != null) memberName = ambience.Convert(eventMember); |
||||
if (propertyMember != null) memberName = ambience.Convert(propertyMember); |
||||
if (fieldMember != null) memberName = ambience.Convert(fieldMember); |
||||
} |
||||
|
||||
IAmbience ambience; |
||||
IMember member; |
||||
ClassEditor editor; |
||||
|
||||
public IMember Member |
||||
{ |
||||
get { return member; } |
||||
set { member = value; UpdateValues(); } |
||||
} |
||||
|
||||
private string memberName; |
||||
public string MemberName |
||||
{ |
||||
get { return memberName; } |
||||
set |
||||
{ |
||||
IMemberModificationEventArgs mmea = new IMemberModificationEventArgs(member, Modification.Name, value); |
||||
editor.EmitMemberModified(mmea); |
||||
} |
||||
} |
||||
|
||||
protected Image icon; |
||||
public Image MemberIcon |
||||
{ |
||||
get { return icon; } |
||||
} |
||||
|
||||
public string MemberType |
||||
{ |
||||
get { return ambience.Convert(member.ReturnType); } |
||||
set |
||||
{ |
||||
IMemberModificationEventArgs mmea = new IMemberModificationEventArgs(member, Modification.Type, value); |
||||
editor.EmitMemberModified(mmea); |
||||
} |
||||
} |
||||
|
||||
public string MemberModifiers |
||||
{ |
||||
get { return member.Modifiers.ToString(); } |
||||
set |
||||
{ |
||||
IMemberModificationEventArgs mmea = new IMemberModificationEventArgs(member, Modification.Modifier, value); |
||||
editor.EmitMemberModified(mmea); |
||||
} |
||||
} |
||||
|
||||
public string MemberSummary |
||||
{ |
||||
get { return ClassEditor.GetSummary(member); } |
||||
set |
||||
{ |
||||
IMemberModificationEventArgs mmea = new IMemberModificationEventArgs(member, Modification.Summary, value); |
||||
editor.EmitMemberModified(mmea); |
||||
} |
||||
} |
||||
} |
||||
|
||||
private class ParameterNode : Node |
||||
{ |
||||
public ParameterNode(IMethod method, IParameter parameter, IAmbience ambience, Image icon, ClassEditor editor) |
||||
{ |
||||
this.ambience = ambience; |
||||
this.icon = icon; |
||||
this.parameter = parameter; |
||||
this.editor = editor; |
||||
this.method = method; |
||||
} |
||||
|
||||
IAmbience ambience; |
||||
IParameter parameter; |
||||
IMethod method; |
||||
ClassEditor editor; |
||||
Image icon; |
||||
|
||||
public IParameter Parameter { |
||||
get { return parameter; } |
||||
set { parameter = value; } |
||||
} |
||||
|
||||
public IMethod Method { |
||||
get { return method; } |
||||
set { method = value; } |
||||
} |
||||
|
||||
public string MemberName |
||||
{ |
||||
get { return parameter.Name; } |
||||
set |
||||
{ |
||||
IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, Modification.Name, value); |
||||
editor.EmitParameterModified(pmea); |
||||
} |
||||
} |
||||
|
||||
public Image MemberIcon |
||||
{ |
||||
get { return icon; } |
||||
set { icon = value; } |
||||
} |
||||
|
||||
public string MemberType |
||||
{ |
||||
get { return ambience.Convert(parameter.ReturnType); } |
||||
set |
||||
{ |
||||
IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, Modification.Type, value); |
||||
editor.EmitParameterModified(pmea); |
||||
} |
||||
|
||||
} |
||||
|
||||
public string MemberModifiers |
||||
{ |
||||
get { return parameter.Modifiers.ToString(); } |
||||
set |
||||
{ |
||||
IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, Modification.Modifier, value); |
||||
editor.EmitParameterModified(pmea); |
||||
} |
||||
} |
||||
|
||||
public string MemberSummary |
||||
{ |
||||
get { return ClassEditor.GetParameterSummary(method, parameter.Name); } |
||||
set |
||||
{ |
||||
IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, Modification.Summary, value); |
||||
editor.EmitParameterModified(pmea); |
||||
} |
||||
} |
||||
} |
||||
|
||||
private class AddMemberNode : Node |
||||
{ |
||||
public AddMemberNode (string str) : base (str) {} |
||||
|
||||
public string MemberName { |
||||
get { return base.Text; } |
||||
} |
||||
} |
||||
|
||||
private class AddParameterNode : Node |
||||
{ |
||||
public AddParameterNode (Image icon) : base ("<Add Parameter>") |
||||
{ |
||||
this.icon = icon; |
||||
} |
||||
|
||||
Image icon; |
||||
public Image MemberIcon { |
||||
get { return icon; } |
||||
} |
||||
|
||||
public string MemberName { |
||||
get { return base.Text; } |
||||
} |
||||
} |
||||
|
||||
public ClassEditor() |
||||
{ |
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent(); |
||||
|
||||
membersList.Model = model; |
||||
|
||||
classTypeGroupCreators.Add(ClassType.Class, SetClassGroups); |
||||
classTypeGroupCreators.Add(ClassType.Interface, SetClassGroups); |
||||
classTypeGroupCreators.Add(ClassType.Struct, SetClassGroups); |
||||
classTypeGroupCreators.Add(ClassType.Module, SetClassGroups); |
||||
classTypeGroupCreators.Add(ClassType.Enum, SetEnumGroups); |
||||
classTypeGroupCreators.Add(ClassType.Delegate, SetDelegateGroups); |
||||
} |
||||
|
||||
private void InitTypeList() |
||||
{ |
||||
_type.DropDownItems.Clear(); |
||||
|
||||
IProjectContent pc = ProjectService.CurrentProject.CreateProjectContent(); |
||||
foreach (IClass c in pc.Classes) |
||||
_type.DropDownItems.Add(c.Name); |
||||
_type.DropDownItems.Sort(); |
||||
} |
||||
|
||||
private void HandleDoubleClick (object sender, EventArgs e) |
||||
{ |
||||
|
||||
} |
||||
|
||||
internal void EmitMemberModified(IMemberModificationEventArgs e) |
||||
{ |
||||
MemberModified(this, e); |
||||
} |
||||
|
||||
internal void EmitParameterModified(IParameterModificationEventArgs e) |
||||
{ |
||||
ParameterModified(this, e); |
||||
} |
||||
/* |
||||
private void AfterEdit (object sender, TreeListViewLabelEditEventArgs e) |
||||
{ |
||||
IProjectContent pc = ProjectService.CurrentProject.CreateProjectContent(); |
||||
IMember member = null; |
||||
|
||||
if (addMemberItems.ContainsValue(editedItem)) |
||||
{ |
||||
Type parentGroupType = editedItem.Parent.Tag as Type; |
||||
if (parentGroupType == typeof(IMethod)) |
||||
{ |
||||
member = new DefaultMethod(currClass, e.Label); |
||||
member.ReturnType = pc.SystemTypes.Void; |
||||
} |
||||
else if (parentGroupType == typeof(IField)) |
||||
{ |
||||
member = new DefaultField(currClass, e.Label); |
||||
if (currClass.ClassType == ClassType.Enum) |
||||
member.ReturnType = pc.SystemTypes.Int32; |
||||
else |
||||
member.ReturnType = pc.SystemTypes.Object; |
||||
} |
||||
else if (parentGroupType == typeof(IProperty)) |
||||
{ |
||||
member = new DefaultProperty(currClass, e.Label); |
||||
member.ReturnType = pc.SystemTypes.Object; |
||||
} |
||||
else if (parentGroupType == typeof(IEvent)) |
||||
{ |
||||
member = new DefaultEvent(currClass, e.Label); |
||||
member.ReturnType = pc.SystemTypes.CreatePrimitive(typeof(EventHandler)); |
||||
} |
||||
|
||||
ConvertAddItemToMemberItem(editedItem, member, GetAmbience()); |
||||
AddAddItem(parentGroupType, editedItem.Parent); |
||||
|
||||
IReturnType memberType = VoidReturnType.Instance; |
||||
|
||||
IMemberEventArgs memberargs = new IMemberEventArgs(member); |
||||
ClassMemberAdded(this, memberargs); |
||||
return; |
||||
} |
||||
|
||||
} |
||||
*/ |
||||
private void SetClassGroups (IClass classType) |
||||
{ |
||||
AddGroup<IMethod>("Methods", classType.Methods); |
||||
AddGroup<IProperty>("Properties", classType.Properties); |
||||
AddGroup<IField>("Fields", classType.Fields); |
||||
AddGroup<IEvent>("Events", classType.Events); |
||||
} |
||||
|
||||
private void SetEnumGroups (IClass classType) |
||||
{ |
||||
AddGroup<IField>("Fields", classType.Fields); |
||||
} |
||||
|
||||
private void SetDelegateGroups (IClass classType) |
||||
{ |
||||
} |
||||
|
||||
public void SetClass (IClass classType) |
||||
{ |
||||
membersList.BeginUpdate(); |
||||
model.Nodes.Clear(); |
||||
|
||||
currClass = classType; |
||||
if (classType != null) |
||||
classTypeGroupCreators[classType.ClassType](classType); |
||||
|
||||
membersList.EndUpdate(); |
||||
} |
||||
|
||||
private Node AddGroup<MT>(string title, ICollection<MT> members) where MT : IMember |
||||
{ |
||||
if (members == null) return null; |
||||
GroupNode group = new GroupNode(typeof(MT), title); |
||||
//TreeListViewItem group = new TreeListViewItem(title);
|
||||
// group.ForeColor = Color.Gray;
|
||||
// group.Font = new Font(group.Font, FontStyle.Bold);
|
||||
// group.Items.Sortable = false;
|
||||
// group.Tag = typeof(MT);
|
||||
|
||||
IAmbience ambience = GetAmbience(); |
||||
|
||||
if (members.Count != 0) |
||||
{ |
||||
foreach (IMember member in members) |
||||
{ |
||||
MemberNode memberItem = CreateMemberItem(member, ambience); |
||||
group.Nodes.Add(memberItem); |
||||
|
||||
IMethod methodMember = memberItem.Member as IMethod; |
||||
if (methodMember != null) |
||||
FillParams (memberItem, methodMember); |
||||
} |
||||
} |
||||
|
||||
AddAddItem(typeof(MT), group); |
||||
|
||||
model.Nodes.Add(group); |
||||
return group; |
||||
} |
||||
|
||||
private MemberNode CreateMemberItem(IMember member, IAmbience ambience) |
||||
{ |
||||
MemberNode memberItem = new MemberNode(member, ambience, this); |
||||
return memberItem; |
||||
} |
||||
|
||||
private void AddAddItem(Type memberType, GroupNode group) |
||||
{ |
||||
string str = ""; |
||||
|
||||
if (memberType == typeof(IMethod)) str = "<Add Method>"; |
||||
else if (memberType == typeof(IEvent)) str = "<Add Event>"; |
||||
else if (memberType == typeof(IProperty)) str = "<Add Property>"; |
||||
else if (memberType == typeof(IField)) str = "<Add Field>"; |
||||
|
||||
AddMemberNode addNewMember = new AddMemberNode(str); // TODO set color
|
||||
//addNewMember.ForeColor = SystemColors.GrayText;
|
||||
group.Nodes.Add(addNewMember); |
||||
addMemberItems[memberType] = addNewMember; |
||||
} |
||||
|
||||
private void ConvertAddItemToMemberItem(Node addItem, IMember member, IAmbience ambience) |
||||
{ |
||||
//addItem.
|
||||
// addItem.ForeColor = SystemColors.ControlText;
|
||||
// addItem.SubItems.Add(ambience.Convert(member.ReturnType));
|
||||
// addItem.SubItems.Add(member.Modifiers.ToString());
|
||||
// addItem.SubItems.Add(GetSummary(member));
|
||||
} |
||||
|
||||
private static string GetSummary (IEntity decoration) |
||||
{ |
||||
if (decoration == null) return String.Empty; |
||||
return GetSummary(decoration.Documentation, @"/docroot/summary"); |
||||
} |
||||
|
||||
private static string GetParameterSummary (IEntity decoration, string parameterName) |
||||
{ |
||||
if (decoration == null) return String.Empty; |
||||
return GetSummary(decoration.Documentation, @"/docroot/param[@name='"+parameterName+"']"); |
||||
} |
||||
|
||||
private static string GetSummary (string documentation, string xpath) |
||||
{ |
||||
StringReader strReader = new StringReader("<docroot>" + documentation + "</docroot>"); |
||||
XmlDocument doc = new XmlDocument(); |
||||
doc.Load(strReader); |
||||
XPathNavigator nav = doc.CreateNavigator(); |
||||
XPathNodeIterator ni = nav.Select(xpath); |
||||
if (ni.MoveNext()) |
||||
return ni.Current.InnerXml; |
||||
else |
||||
return String.Empty; |
||||
} |
||||
|
||||
private void FillParams(MemberNode item, IMethod method) |
||||
{ |
||||
Image comma = (Image)resources.GetObject("ClassEditor.Comma"); |
||||
Image openBrace = (Image)resources.GetObject("ClassEditor.OpenBrace"); |
||||
Image closeBrace = (Image)resources.GetObject("ClassEditor.CloseBrace"); |
||||
Image emptyBraces = (Image)resources.GetObject("ClassEditor.EmptyBraces"); |
||||
Image currentImage = openBrace; |
||||
foreach (IParameter param in method.Parameters) |
||||
{ |
||||
ParameterNode parameter = new ParameterNode(method, param, GetAmbience(), currentImage, this); |
||||
currentImage = comma; |
||||
item.Nodes.Add(parameter); |
||||
} |
||||
if (currentImage == openBrace) |
||||
currentImage = emptyBraces; |
||||
else |
||||
currentImage = closeBrace; |
||||
|
||||
AddParameterNode addParam = new AddParameterNode(currentImage); |
||||
item.Nodes.Add(addParam); |
||||
addParameterItems[method] = addParam; |
||||
} |
||||
|
||||
protected IAmbience GetAmbience() |
||||
{ |
||||
IAmbience ambience = AmbienceService.GetCurrentAmbience(); |
||||
ambience.ConversionFlags = ConversionFlags.None; |
||||
return ambience; |
||||
} |
||||
|
||||
private static TextEditorControl GetTextEditorControl() |
||||
{ |
||||
ITextEditorControlProvider textEditorProvider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider; |
||||
if (textEditorProvider != null) |
||||
return textEditorProvider.TextEditorControl; |
||||
else |
||||
return null; |
||||
} |
||||
|
||||
void _modifiersEditorShowing(object sender, CancelEventArgs e) |
||||
{ |
||||
MemberNode memberItem = membersList.SelectedNode.Tag as MemberNode; |
||||
ParameterNode parameterItem = membersList.SelectedNode.Tag as ParameterNode; |
||||
|
||||
if (memberItem != null) |
||||
{ |
||||
_modifiers.DropDownItems.Clear(); |
||||
|
||||
_modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Public); |
||||
_modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Private); |
||||
_modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Protected); |
||||
_modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Internal); |
||||
} |
||||
else if (parameterItem != null) |
||||
{ |
||||
_modifiers.DropDownItems.Clear(); |
||||
|
||||
_modifiers.DropDownItems.Add(ParameterModifiers.In); |
||||
_modifiers.DropDownItems.Add(ParameterModifiers.Out); |
||||
_modifiers.DropDownItems.Add(ParameterModifiers.Ref); |
||||
_modifiers.DropDownItems.Add(ParameterModifiers.Params); |
||||
_modifiers.DropDownItems.Add(ParameterModifiers.Optional); |
||||
} |
||||
else |
||||
e.Cancel = true; |
||||
} |
||||
|
||||
void MembersListNodeMouseDoubleClick(object sender, TreeNodeAdvMouseEventArgs e) |
||||
{ |
||||
Node item = e.Node.Tag as Node; |
||||
|
||||
if (item == null) return; |
||||
|
||||
MemberNode memberItem = item as MemberNode; |
||||
ParameterNode paramItem = item as ParameterNode; |
||||
AddMemberNode addMemberItem = item as AddMemberNode; |
||||
AddParameterNode addParamItem = item as AddParameterNode; |
||||
|
||||
if (addMemberItem != null)// && addMemberItems.ContainsValue(memberItem))
|
||||
{ |
||||
/* IAmbience ambience = GetAmbience(); |
||||
item.SubItems.Add(ambience.Convert(VoidReturnType.Instance)); |
||||
item.SubItems.Add(ModifierEnum.Public.ToString()); |
||||
item.SubItems.Add(""); |
||||
item.Text = "[method name]"; |
||||
item.BeginEdit(0);*/ |
||||
} |
||||
else if (addParamItem != null) //addParameterItems.ContainsValue(item))
|
||||
{ |
||||
|
||||
} |
||||
else if (memberItem != null) |
||||
{ |
||||
MemberActivated(this, new IMemberEventArgs(memberItem.Member)); |
||||
} |
||||
else if (paramItem != null) |
||||
{ |
||||
if (paramItem.Parameter != null && paramItem.Method != null) |
||||
ParameterActivated(this, new IParameterEventArgs(paramItem.Method, paramItem.Parameter)); |
||||
} |
||||
} |
||||
|
||||
void _nameDrawText(object sender, DrawEventArgs e) |
||||
{ |
||||
if ((e.Node.Tag is GroupNode || e.Node.Tag is AddParameterNode || e.Node.Tag is AddMemberNode) && e.Node.IsSelected == false) |
||||
e.TextColor = Color.Gray; |
||||
} |
||||
} |
||||
|
||||
public enum Modification { None, Name, Type, Modifier, Summary } |
||||
} |
@ -1,87 +0,0 @@
@@ -1,87 +0,0 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
<PropertyGroup> |
||||
<OutputType>Library</OutputType> |
||||
<RootNamespace>ClassEditor</RootNamespace> |
||||
<AssemblyName>ClassEditor</AssemblyName> |
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
<ProjectGuid>{F5E059BB-96C2-4398-BED0-8598CD434173}</ProjectGuid> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> |
||||
<OutputPath>bin\Debug\</OutputPath> |
||||
<Optimize>False</Optimize> |
||||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
<DebugSymbols>True</DebugSymbols> |
||||
<DebugType>Full</DebugType> |
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> |
||||
<OutputPath>bin\Release\</OutputPath> |
||||
<Optimize>True</Optimize> |
||||
<DefineConstants>TRACE</DefineConstants> |
||||
<DebugSymbols>False</DebugSymbols> |
||||
<DebugType>None</DebugType> |
||||
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> |
||||
</PropertyGroup> |
||||
<ItemGroup> |
||||
<Reference Include="System" /> |
||||
<Reference Include="System.Data" /> |
||||
<Reference Include="System.Drawing" /> |
||||
<Reference Include="System.Windows.Forms" /> |
||||
<Reference Include="System.Xml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> |
||||
<Link>GlobalAssemblyInfo.cs</Link> |
||||
</Compile> |
||||
<Compile Include="ClassEditor.cs" /> |
||||
<Compile Include="ClassEditor.Designer.cs"> |
||||
<DependentUpon>ClassEditor.cs</DependentUpon> |
||||
</Compile> |
||||
<Compile Include="AssemblyInfo.cs" /> |
||||
<Compile Include="MemberEventArgs.cs" /> |
||||
<Compile Include="ParameterEventArgs.cs" /> |
||||
<Compile Include="MemberDataEditors.cs" /> |
||||
<EmbeddedResource Include="ClassEditor.resx"> |
||||
<DependentUpon>ClassEditor.cs</DependentUpon> |
||||
</EmbeddedResource> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<ProjectReference Include="..\..\..\..\Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj"> |
||||
<Project>{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}</Project> |
||||
<Name>ICSharpCode.TextEditor</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Libraries\NRefactory\Project\NRefactory.csproj"> |
||||
<Project>{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}</Project> |
||||
<Name>NRefactory</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj"> |
||||
<Project>{E73BB233-D88B-44A7-A98F-D71EE158381D}</Project> |
||||
<Name>Aga.Controls</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> |
||||
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project> |
||||
<Name>ICSharpCode.SharpDevelop</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Main\Core\Project\ICSharpCode.Core.csproj"> |
||||
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project> |
||||
<Name>ICSharpCode.Core</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj"> |
||||
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project> |
||||
<Name>ICSharpCode.SharpDevelop.Dom</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj"> |
||||
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project> |
||||
<Name>ICSharpCode.SharpDevelop.Widgets</Name> |
||||
<Private>False</Private> |
||||
</ProjectReference> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> |
||||
</Project> |
@ -1,120 +0,0 @@
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<root> |
||||
<!-- |
||||
Microsoft ResX Schema |
||||
|
||||
Version 2.0 |
||||
|
||||
The primary goals of this format is to allow a simple XML format |
||||
that is mostly human readable. The generation and parsing of the |
||||
various data types are done through the TypeConverter classes |
||||
associated with the data types. |
||||
|
||||
Example: |
||||
|
||||
... ado.net/XML headers & schema ... |
||||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||
<resheader name="version">2.0</resheader> |
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||
</data> |
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||
<comment>This is a comment</comment> |
||||
</data> |
||||
|
||||
There are any number of "resheader" rows that contain simple |
||||
name/value pairs. |
||||
|
||||
Each data row contains a name, and value. The row also contains a |
||||
type or mimetype. Type corresponds to a .NET class that support |
||||
text/value conversion through the TypeConverter architecture. |
||||
Classes that don't support this are serialized and stored with the |
||||
mimetype set. |
||||
|
||||
The mimetype is used for serialized objects, and tells the |
||||
ResXResourceReader how to depersist the object. This is currently not |
||||
extensible. For a given mimetype the value must be set accordingly: |
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||
that the ResXResourceWriter will generate, however the reader can |
||||
read any of the formats listed below. |
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64 |
||||
value : The object must be serialized with |
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||
: and then encoded with base64 encoding. |
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64 |
||||
value : The object must be serialized with |
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||
: and then encoded with base64 encoding. |
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||
value : The object must be serialized into a byte array |
||||
: using a System.ComponentModel.TypeConverter |
||||
: and then encoded with base64 encoding. |
||||
--> |
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||
<xsd:element name="root" msdata:IsDataSet="true"> |
||||
<xsd:complexType> |
||||
<xsd:choice maxOccurs="unbounded"> |
||||
<xsd:element name="metadata"> |
||||
<xsd:complexType> |
||||
<xsd:sequence> |
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||
</xsd:sequence> |
||||
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||
<xsd:attribute name="type" type="xsd:string" /> |
||||
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||
<xsd:attribute ref="xml:space" /> |
||||
</xsd:complexType> |
||||
</xsd:element> |
||||
<xsd:element name="assembly"> |
||||
<xsd:complexType> |
||||
<xsd:attribute name="alias" type="xsd:string" /> |
||||
<xsd:attribute name="name" type="xsd:string" /> |
||||
</xsd:complexType> |
||||
</xsd:element> |
||||
<xsd:element name="data"> |
||||
<xsd:complexType> |
||||
<xsd:sequence> |
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||
</xsd:sequence> |
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||
<xsd:attribute ref="xml:space" /> |
||||
</xsd:complexType> |
||||
</xsd:element> |
||||
<xsd:element name="resheader"> |
||||
<xsd:complexType> |
||||
<xsd:sequence> |
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||
</xsd:sequence> |
||||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||
</xsd:complexType> |
||||
</xsd:element> |
||||
</xsd:choice> |
||||
</xsd:complexType> |
||||
</xsd:element> |
||||
</xsd:schema> |
||||
<resheader name="resmimetype"> |
||||
<value>text/microsoft-resx</value> |
||||
</resheader> |
||||
<resheader name="version"> |
||||
<value>2.0</value> |
||||
</resheader> |
||||
<resheader name="reader"> |
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
</resheader> |
||||
<resheader name="writer"> |
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
</resheader> |
||||
</root> |
@ -1,52 +0,0 @@
@@ -1,52 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 20/10/2006 |
||||
* Time: 20:08 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.ComponentModel; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
|
||||
using System.IO; |
||||
using System.Xml; |
||||
using System.Xml.XPath; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.TextEditor; |
||||
|
||||
namespace ClassDiagram |
||||
{ |
||||
internal class VisibilityModifiersEditor : ComboBox |
||||
{ |
||||
public VisibilityModifiersEditor() |
||||
{ |
||||
this.DropDownStyle = ComboBoxStyle.DropDownList; |
||||
Items.Add(ICSharpCode.NRefactory.Ast.Modifiers.Public); |
||||
Items.Add(ICSharpCode.NRefactory.Ast.Modifiers.Private); |
||||
Items.Add(ICSharpCode.NRefactory.Ast.Modifiers.Protected); |
||||
Items.Add(ICSharpCode.NRefactory.Ast.Modifiers.Internal); |
||||
} |
||||
} |
||||
|
||||
internal class ParameterModifiersEditor : ComboBox |
||||
{ |
||||
public ParameterModifiersEditor() |
||||
{ |
||||
this.DropDownStyle = ComboBoxStyle.DropDownList; |
||||
Items.Add(ParameterModifiers.In); |
||||
Items.Add(ParameterModifiers.Out); |
||||
Items.Add(ParameterModifiers.Ref); |
||||
Items.Add(ParameterModifiers.Params); |
||||
Items.Add(ParameterModifiers.Optional); |
||||
} |
||||
} |
||||
} |
@ -1,73 +0,0 @@
@@ -1,73 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 20/10/2006 |
||||
* Time: 20:08 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.ComponentModel; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
|
||||
using System.IO; |
||||
using System.Xml; |
||||
using System.Xml.XPath; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.TextEditor; |
||||
|
||||
namespace ClassDiagram |
||||
{ |
||||
public class IMemberEventArgs : EventArgs |
||||
{ |
||||
IMember member; |
||||
public IMemberEventArgs (IMember member) |
||||
{ |
||||
this.member = member; |
||||
} |
||||
|
||||
public IMember Member |
||||
{ |
||||
get { return member; } |
||||
} |
||||
} |
||||
|
||||
public class IMemberModificationEventArgs : IMemberEventArgs |
||||
{ |
||||
Modification modification; |
||||
string newValue; |
||||
|
||||
bool cancel = false; |
||||
|
||||
public IMemberModificationEventArgs(IMember member, Modification modification, string newValue) |
||||
: base (member) |
||||
{ |
||||
this.modification = modification; |
||||
this.newValue = newValue; |
||||
} |
||||
|
||||
public Modification Modification |
||||
{ |
||||
get { return modification; } |
||||
} |
||||
|
||||
public string NewValue |
||||
{ |
||||
get { return newValue; } |
||||
} |
||||
|
||||
public bool Cancel |
||||
{ |
||||
get { return cancel; } |
||||
set { cancel = value; } |
||||
} |
||||
} |
||||
|
||||
} |
@ -1,79 +0,0 @@
@@ -1,79 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: itai |
||||
* Date: 20/10/2006 |
||||
* Time: 20:08 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.ComponentModel; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
|
||||
using System.IO; |
||||
using System.Xml; |
||||
using System.Xml.XPath; |
||||
|
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; |
||||
using ICSharpCode.TextEditor; |
||||
|
||||
namespace ClassDiagram |
||||
{ |
||||
public class IParameterEventArgs : EventArgs |
||||
{ |
||||
IParameter parameter; |
||||
IMethod method; |
||||
public IParameterEventArgs (IMethod method, IParameter parameter) |
||||
{ |
||||
this.method = method; |
||||
this.parameter = parameter; |
||||
} |
||||
|
||||
public IParameter Parameter |
||||
{ |
||||
get { return parameter; } |
||||
} |
||||
|
||||
public IMethod Method |
||||
{ |
||||
get { return method; } |
||||
} |
||||
} |
||||
|
||||
public class IParameterModificationEventArgs : IParameterEventArgs |
||||
{ |
||||
Modification modification; |
||||
string newValue; |
||||
|
||||
bool cancel = false; |
||||
|
||||
public IParameterModificationEventArgs(IMethod method, IParameter parameter, Modification modification, string newValue) |
||||
: base (method, parameter) |
||||
{ |
||||
this.modification = modification; |
||||
this.newValue = newValue; |
||||
} |
||||
|
||||
public Modification Modification |
||||
{ |
||||
get { return modification; } |
||||
} |
||||
|
||||
public string NewValue |
||||
{ |
||||
get { return newValue; } |
||||
} |
||||
|
||||
public bool Cancel |
||||
{ |
||||
get { return cancel; } |
||||
set { cancel = value; } |
||||
} |
||||
} |
||||
} |
Before Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 246 B |
Loading…
Reference in new issue