Browse Source

Fix right click menu in XML tree view.

pull/15/head
mrward 15 years ago
parent
commit
85c7b54d85
  1. 21
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/CopyXmlTreeNode.cs
  2. 21
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/CutXmlTreeNode.cs
  3. 21
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/DeleteXmlTreeNode.cs
  4. 21
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/PasteXmlTreeNode.cs
  5. 40
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlTreeNodeClipboardCommand.cs
  6. 67
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.addin
  7. 5
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj

21
src/AddIns/DisplayBindings/XmlEditor/Project/Src/CopyXmlTreeNode.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.XmlEditor
{
public class CopyXmlTreeNode : XmlTreeNodeClipboardCommand
{
protected override bool GetEnabled(IClipboardHandler editable)
{
return editable.EnableCopy;
}
protected override void Run(IClipboardHandler editable)
{
editable.Copy();
}
}
}

21
src/AddIns/DisplayBindings/XmlEditor/Project/Src/CutXmlTreeNode.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.XmlEditor
{
public class CutXmlTreeNode : XmlTreeNodeClipboardCommand
{
protected override bool GetEnabled(IClipboardHandler editable)
{
return editable.EnableCut;
}
protected override void Run(IClipboardHandler editable)
{
editable.Cut();
}
}
}

21
src/AddIns/DisplayBindings/XmlEditor/Project/Src/DeleteXmlTreeNode.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.XmlEditor
{
public class DeleteXmlTreeNode : XmlTreeNodeClipboardCommand
{
protected override bool GetEnabled(IClipboardHandler editable)
{
return editable.EnableDelete;
}
protected override void Run(IClipboardHandler editable)
{
editable.Delete();
}
}
}

21
src/AddIns/DisplayBindings/XmlEditor/Project/Src/PasteXmlTreeNode.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.XmlEditor
{
public class PasteXmlTreeNode: XmlTreeNodeClipboardCommand
{
protected override bool GetEnabled(IClipboardHandler editable)
{
return editable.EnablePaste;
}
protected override void Run(IClipboardHandler editable)
{
editable.Paste();
}
}
}

40
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlTreeNodeClipboardCommand.cs

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.XmlEditor
{
public abstract class XmlTreeNodeClipboardCommand : AbstractMenuCommand
{
public override bool IsEnabled {
get {
IClipboardHandler editable = GetClipboardHandler();
if (editable != null) {
return GetEnabled(editable);
}
return false;
}
}
IClipboardHandler GetClipboardHandler()
{
return WorkbenchSingleton.Workbench.ActiveContent as IClipboardHandler;
}
protected abstract bool GetEnabled(IClipboardHandler editable);
protected abstract void Run(IClipboardHandler editable);
public override void Run()
{
if (IsEnabled) {
IClipboardHandler editable = GetClipboardHandler();
if (editable != null) {
Run(editable);
}
}
}
}
}

67
src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.addin

@ -129,60 +129,6 @@ @@ -129,60 +129,6 @@
</ComplexCondition>
</Path>
<!-- Right click menu -->
<Path name="/SharpDevelop/ViewContent/XmlEditor/ContextMenu">
<MenuItem id="Cut"
label="${res:XML.TextAreaContextMenu.Cut}"
icon="Icons.16x16.CutIcon"
shortcut="Control|X"
class="ICSharpCode.SharpDevelop.Commands.Cut"/>
<MenuItem id="Copy"
label="${res:XML.TextAreaContextMenu.Copy}"
icon="Icons.16x16.CopyIcon"
shortcut="Control|C"
class="ICSharpCode.SharpDevelop.Commands.Copy"/>
<MenuItem id="Paste"
label="${res:XML.TextAreaContextMenu.Paste}"
icon="Icons.16x16.PasteIcon"
shortcut="Control|V"
class="ICSharpCode.SharpDevelop.Commands.Paste"/>
<MenuItem id="Delete"
label="${res:XML.MainMenu.EditMenu.Delete}"
icon="Icons.16x16.DeleteIcon"
class="ICSharpCode.SharpDevelop.Commands.Delete"/>
<MenuItem id="Separator1" type="Separator"/>
<MenuItem id="Save"
label="${res:XML.MainMenu.FileMenu.Save}"
icon="Icons.16x16.SaveIcon"
shortcut="Control|S"
class="ICSharpCode.SharpDevelop.Commands.SaveFile"/>
<MenuItem id="SaveAs"
label="${res:XML.MainMenu.FileMenu.SaveAs}"
class="ICSharpCode.SharpDevelop.Commands.SaveFileAs"/>
<MenuItem id="File"
label="${res:XML.MainMenu.FileMenu.Close}"
class="ICSharpCode.SharpDevelop.Commands.CloseFile"/>
<MenuItem id="Separator2" type="Separator"/>
<MenuItem id="Indent"
label="${res:XML.TextAreaContextMenu.Indent}"
shortcut="Control|I"
class="ICSharpCode.SharpDevelop.DefaultEditor.Commands.IndentSelection"/>
<MenuItem id="HideXPathResults"
label="${res:ICSharpCode.XmlEditor.HideXPathResults}"
class="ICSharpCode.XmlEditor.RemoveXPathHighlightingCommand"/>
<MenuItem id="GoToDefinition"
label="${res:ICSharpCode.NAntAddIn.GotoDefinitionMenuLabel}"
class="ICSharpCode.XmlEditor.GoToSchemaDefinitionCommand"/>
<MenuItem id="FileMode" label="${res:XML.TextAreaContextMenu.FileMode}" type="Menu">
<MenuItem id="HighlightBuilder" type="Builder" class="ICSharpCode.SharpDevelop.DefaultEditor.Commands.HighlightingTypeBuilder"/>
</MenuItem>
<MenuItem id="Separator3" type="Separator"/>
<MenuItem id="Options"
label="${res:XML.TextAreaContextMenu.BufferOptions}"
icon="Icons.16x16.PropertiesIcon"
class="ICSharpCode.SharpDevelop.DefaultEditor.Commands.ShowBufferOptions"/>
</Path>
<!-- Options panel -->
<Path path="/SharpDevelop/Dialogs/OptionsDialog/TextEditorOptions">
<OptionPanel id="XmlSchemasPanel"
@ -196,11 +142,6 @@ @@ -196,11 +142,6 @@
class="ICSharpCode.XmlEditor.XmlEditorOptionsPanel"/>
</Path>
<Path path="/AddIns/XmlEditor/EditActions">
<EditAction id="XmlCompletionPopup" class="ICSharpCode.XmlEditor.CodeCompletionPopupCommand" keys="Control|Space"/>
<EditAction id="GoToDefinition" class="ICSharpCode.XmlEditor.GoToSchemaDefinitionEditAction" keys="Control|Enter"/>
</Path>
<!-- XPath Query pad -->
<Path name="/SharpDevelop/Workbench/Pads">
<Pad id="XPathQueryPad"
@ -242,21 +183,21 @@ @@ -242,21 +183,21 @@
label="${res:XML.TextAreaContextMenu.Cut}"
icon="Icons.16x16.CutIcon"
shortcut="Control|X"
class="ICSharpCode.SharpDevelop.Commands.Cut"/>
class="ICSharpCode.XmlEditor.CutXmlTreeNode"/>
<MenuItem id="Copy"
label="${res:XML.TextAreaContextMenu.Copy}"
icon="Icons.16x16.CopyIcon"
shortcut="Control|C"
class="ICSharpCode.SharpDevelop.Commands.Copy"/>
class="ICSharpCode.XmlEditor.CopyXmlTreeNode"/>
<MenuItem id="Paste"
label="${res:XML.TextAreaContextMenu.Paste}"
icon="Icons.16x16.PasteIcon"
shortcut="Control|V"
class="ICSharpCode.SharpDevelop.Commands.Paste"/>
class="ICSharpCode.XmlEditor.PasteXmlTreeNode"/>
<MenuItem id="Delete"
label="${res:XML.MainMenu.EditMenu.Delete}"
icon="Icons.16x16.DeleteIcon"
class="ICSharpCode.SharpDevelop.Commands.Delete"/>
class="ICSharpCode.XmlEditor.DeleteXmlTreeNode"/>
<MenuItem id="EditItemsSeparator" type="Separator"/>
<ComplexCondition action="Disable">
<Or>

5
src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj

@ -83,10 +83,13 @@ @@ -83,10 +83,13 @@
<SubType>Form</SubType>
</Compile>
<Compile Include="Src\AssignStylesheetCommand.cs" />
<Compile Include="Src\CopyXmlTreeNode.cs" />
<Compile Include="Src\CreateSchemaCommand.cs" />
<Compile Include="Src\CutXmlTreeNode.cs" />
<Compile Include="Src\DefaultParserService.cs" />
<Compile Include="Src\DefaultXmlFileExtensions.cs" />
<Compile Include="Src\DefaultXmlSchemaFileAssociations.cs" />
<Compile Include="Src\DeleteXmlTreeNode.cs" />
<Compile Include="Src\EncodedStringWriter.cs" />
<Compile Include="Src\FileSystem.cs" />
<Compile Include="Src\FoldingManagerAdapter.cs" />
@ -109,6 +112,7 @@ @@ -109,6 +112,7 @@
<Compile Include="Src\IXmlSchemasPanel.cs" />
<Compile Include="Src\IXmlTreeView.cs" />
<Compile Include="Src\OpenStylesheetCommand.cs" />
<Compile Include="Src\PasteXmlTreeNode.cs" />
<Compile Include="Src\QualifiedName.cs" />
<Compile Include="Src\QualifiedNameCollection.cs" />
<Compile Include="Src\RegisteredXmlSchemaError.cs" />
@ -168,6 +172,7 @@ @@ -168,6 +172,7 @@
</Compile>
<Compile Include="Src\XmlTextTreeNode.cs" />
<Compile Include="Src\XmlTreeEditor.cs" />
<Compile Include="Src\XmlTreeNodeClipboardCommand.cs" />
<Compile Include="Src\XmlTreeView.cs" />
<Compile Include="Src\XmlTreeViewContainerControl.cs">
<SubType>UserControl</SubType>

Loading…
Cancel
Save