Browse Source

XML view working again

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/XmlEditor@4117 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Siegfried Pammer 16 years ago
parent
commit
6b1e3e0e82
  1. 2
      src/AddIns/BackendBindings/XmlBinding/Src/Gui/Dialogs/SelectXmlSchema.xaml
  2. 31
      src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeView.cs
  3. 7
      src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeViewContainer.xaml
  4. 28
      src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeViewContainer.xaml.cs
  5. 17
      src/AddIns/BackendBindings/XmlBinding/XmlBinding.csproj

2
src/AddIns/BackendBindings/XmlBinding/Src/Gui/Dialogs/SelectXmlSchema.xaml

@ -4,6 +4,6 @@ @@ -4,6 +4,6 @@
Title="ICSharpCode.XmlBinding.Gui" Height="300" Width="300"
>
<Grid>
</Grid>
</Window>

31
src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeView.cs

@ -12,21 +12,24 @@ using System.Windows.Forms; @@ -12,21 +12,24 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Core.WinForms;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.XmlBinding.Gui;
using System.Xml;
namespace ICSharpCode.XmlEditor
{
/// <summary>
/// The secondary view content that displays the XML document as a tree view.
/// </summary>
public class XmlTreeView : AbstractViewContent, IClipboardHandler
public class XmlTreeView : AbstractSecondaryViewContent, IClipboardHandler
{
XmlTreeViewContainerControl treeViewContainer;
public XmlTreeView(IViewContent parent)
: base(parent)
{
this.TabPageText = "XML Tree";
this.Files.Add(parent.PrimaryFile);
this.treeViewContainer = new XmlTreeViewContainerControl();
treeViewContainer.AttributesGrid.ContextMenuStrip = MenuService.CreateContextMenu(treeViewContainer, "/AddIns/XmlEditor/XmlTree/AttributesGrid/ContextMenu");
treeViewContainer.TreeView.ContextMenuStrip = MenuService.CreateContextMenu(treeViewContainer, "/AddIns/XmlEditor/XmlTree/ContextMenu");
@ -126,20 +129,24 @@ namespace ICSharpCode.XmlEditor @@ -126,20 +129,24 @@ namespace ICSharpCode.XmlEditor
}
}
public override void Load(OpenedFile file, Stream stream)
protected override void LoadFromPrimary()
{
LoggingService.Debug("XmlTreeView.LoadFromPrimary");
treeViewContainer.LoadXml(new StreamReader(this.PrimaryFile.OpenRead()).ReadToEnd());
// XmlCompletionDataProvider completionDataProvider = new XmlCompletionDataProvider(xmlEditor.SchemaCompletionDataItems, xmlEditor.DefaultSchemaCompletionData, xmlEditor.DefaultNamespacePrefix);
// treeViewContainer.LoadXml(xmlView.Text, completionDataProvider);
// xmlView.CheckIsWellFormed();
var provider = this.PrimaryViewContent as ITextEditorProvider;
treeViewContainer.LoadXml(provider.TextEditor.Document.Text);
}
public override void Save(OpenedFile file, Stream stream)
protected override void SaveToPrimary()
{
treeViewContainer.
// Do not modify text in the primary view if the data is not well-formed XML
if (!treeViewContainer.IsErrorMessageTextBoxVisible) {
var provider = this.PrimaryViewContent as ITextEditorProvider;
var str = new StringWriter();
var writer = new XmlTextWriter(str);
writer.Formatting = Formatting.Indented;
treeViewContainer.Document.WriteTo(writer);
provider.TextEditor.Document.Text = str.ToString();
}
}
public override bool SupportsSwitchFromThisWithoutSaveLoad(OpenedFile file, IViewContent newView)

7
src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeViewContainer.xaml

@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
<UserControl x:Class="ICSharpCode.XmlBinding.Gui.XmlTreeViewContainer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
</Grid>
</UserControl>

28
src/AddIns/BackendBindings/XmlBinding/Src/Gui/XmlTreeViewContainer.xaml.cs

@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ICSharpCode.XmlBinding.Gui
{
/// <summary>
/// Interaction logic for XmlTreeViewContainer.xaml
/// </summary>
public partial class XmlTreeViewContainer : UserControl
{
public XmlTreeViewContainer()
{
InitializeComponent();
}
}
}

17
src/AddIns/BackendBindings/XmlBinding/XmlBinding.csproj

@ -37,6 +37,12 @@ @@ -37,6 +37,12 @@
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
@ -47,10 +53,16 @@ @@ -47,10 +53,16 @@
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Presentation">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="XmlBinding.addin">
@ -69,10 +81,6 @@ @@ -69,10 +81,6 @@
<DependentUpon>XmlSchemasPanel.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\Gui\XmlTreeViewContainer.xaml.cs">
<DependentUpon>XmlTreeViewContainer.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\XmlFormattingStrategy.cs">
</Compile>
<Compile Include="Src\CodeCompletion\XmlCompletionData.cs" />
@ -183,6 +191,5 @@ @@ -183,6 +191,5 @@
<Page Include="Src\Gui\Dialogs\SelectXmlSchema.xaml" />
<Page Include="Src\Gui\Dialogs\XmlEditorOptionsPanel.xaml" />
<Page Include="Src\Gui\Dialogs\XmlSchemasPanel.xaml" />
<Page Include="Src\Gui\XmlTreeViewContainer.xaml" />
</ItemGroup>
</Project>
Loading…
Cancel
Save