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 @@ |
|||||||
<?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 @@ |
|||||||
<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 @@ |
|||||||
|
|
||||||
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 @@ |
|||||||
// <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 @@ |
|||||||
<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 @@ |
|||||||
<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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
namespace ClassWizard |
|
||||||
{ |
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using ICSharpCode.Core; |
|
||||||
|
|
||||||
public class AddNewInterfaceCommand : AbstractCommand |
|
||||||
{ |
|
||||||
public override void Run() |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
// <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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
<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 @@ |
|||||||
<?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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
/* |
|
||||||
* 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 @@ |
|||||||
/* |
|
||||||
* 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