10 changed files with 10 additions and 643 deletions
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
<Application x:Class="XmlDOM.App" |
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
StartupUri="Window1.xaml"> |
||||
<Application.Resources> |
||||
|
||||
</Application.Resources> |
||||
</Application> |
@ -1,19 +0,0 @@
@@ -1,19 +0,0 @@
|
||||
using System; |
||||
using System.Windows; |
||||
using System.Data; |
||||
using System.Xml; |
||||
using System.Configuration; |
||||
|
||||
namespace XmlDOM |
||||
{ |
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application |
||||
{ |
||||
public App() |
||||
{ |
||||
InitializeComponent(); |
||||
} |
||||
} |
||||
} |
@ -1,31 +0,0 @@
@@ -1,31 +0,0 @@
|
||||
#region Using directives
|
||||
|
||||
using System; |
||||
using System.Reflection; |
||||
using System.Runtime.InteropServices; |
||||
|
||||
#endregion
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("XmlDOM")] |
||||
[assembly: AssemblyDescription("")] |
||||
[assembly: AssemblyConfiguration("")] |
||||
[assembly: AssemblyCompany("")] |
||||
[assembly: AssemblyProduct("XmlDOM")] |
||||
[assembly: AssemblyCopyright("Copyright 2009")] |
||||
[assembly: AssemblyTrademark("")] |
||||
[assembly: AssemblyCulture("")] |
||||
|
||||
// This sets the default COM visibility of types in the assembly to invisible.
|
||||
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
|
||||
[assembly: ComVisible(false)] |
||||
|
||||
// The assembly version has following format :
|
||||
//
|
||||
// Major.Minor.Build.Revision
|
||||
//
|
||||
// You can specify all the values or you can use the default the Revision and
|
||||
// Build Numbers by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.*")] |
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
#region Using directives
|
||||
|
||||
using System.Resources; |
||||
using System.Windows; |
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
|
||||
[assembly: ThemeInfo( |
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)] |
@ -1,267 +0,0 @@
@@ -1,267 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <author name="Daniel Grunwald"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using ICSharpCode.AvalonEdit.Editing; |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.Linq; |
||||
using System.Windows.Media; |
||||
using System.Windows.Threading; |
||||
using ICSharpCode.AvalonEdit.Document; |
||||
using ICSharpCode.AvalonEdit.Rendering; |
||||
|
||||
namespace XmlDOM |
||||
{ |
||||
/// <summary>
|
||||
/// Handles the text markers for a code editor.
|
||||
/// </summary>
|
||||
sealed class TextMarkerService : DocumentColorizingTransformer, IBackgroundRenderer, ITextMarkerService |
||||
{ |
||||
internal TextSegmentCollection<TextMarker> markers; |
||||
|
||||
TextArea area; |
||||
|
||||
public TextMarkerService(TextArea area) |
||||
{ |
||||
this.area = area; |
||||
markers = new TextSegmentCollection<TextMarker>(area.Document); |
||||
this.area.TextView.BackgroundRenderers.Add(this); |
||||
this.area.TextView.LineTransformers.Add(this); |
||||
} |
||||
|
||||
#region ITextMarkerService
|
||||
public ITextMarker Create(int startOffset, int length) |
||||
{ |
||||
TextMarker m = new TextMarker(this, startOffset, length); |
||||
markers.Add(m); |
||||
// no need to mark segment for redraw: the text marker is invisible until a property is set
|
||||
return m; |
||||
} |
||||
|
||||
public IEnumerable<ITextMarker> TextMarkers { |
||||
get { return markers.Cast<ITextMarker>(); } |
||||
} |
||||
|
||||
public void RemoveAll(Predicate<ITextMarker> predicate) |
||||
{ |
||||
if (predicate == null) |
||||
throw new ArgumentNullException("predicate"); |
||||
foreach (TextMarker m in markers.ToArray()) { |
||||
if (predicate(m)) |
||||
m.Delete(); |
||||
} |
||||
} |
||||
|
||||
internal void Remove(TextMarker marker) |
||||
{ |
||||
markers.Remove(marker); |
||||
Redraw(marker); |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// Redraws the specified text segment.
|
||||
/// </summary>
|
||||
internal void Redraw(ISegment segment) |
||||
{ |
||||
area.TextView.Redraw(segment, DispatcherPriority.Normal); |
||||
} |
||||
#endregion
|
||||
|
||||
#region DocumentColorizingTransformer
|
||||
protected override void ColorizeLine(DocumentLine line) |
||||
{ |
||||
if (markers == null) |
||||
return; |
||||
int lineStart = line.Offset; |
||||
int lineEnd = lineStart + line.Length; |
||||
foreach (TextMarker marker in markers.FindOverlappingSegments(lineStart, line.Length)) { |
||||
Brush foregroundBrush = null; |
||||
if (marker.ForegroundColor != null) { |
||||
foregroundBrush = new SolidColorBrush(marker.ForegroundColor.Value); |
||||
foregroundBrush.Freeze(); |
||||
} |
||||
ChangeLinePart( |
||||
Math.Max(marker.StartOffset, lineStart), |
||||
Math.Min(marker.EndOffset, lineEnd), |
||||
element => { |
||||
if (foregroundBrush != null) { |
||||
element.TextRunProperties.SetForegroundBrush(foregroundBrush); |
||||
} |
||||
} |
||||
); |
||||
} |
||||
} |
||||
#endregion
|
||||
|
||||
#region IBackgroundRenderer
|
||||
public KnownLayer Layer { |
||||
get { |
||||
// draw behind selection
|
||||
return KnownLayer.Selection; |
||||
} |
||||
} |
||||
|
||||
public void Draw(TextView textView, DrawingContext drawingContext) |
||||
{ |
||||
if (textView == null) |
||||
throw new ArgumentNullException("textView"); |
||||
if (drawingContext == null) |
||||
throw new ArgumentNullException("drawingContext"); |
||||
if (markers == null || !textView.VisualLinesValid) |
||||
return; |
||||
var visualLines = textView.VisualLines; |
||||
if (visualLines.Count == 0) |
||||
return; |
||||
int viewStart = visualLines.First().FirstDocumentLine.Offset; |
||||
int viewEnd = visualLines.Last().LastDocumentLine.Offset + visualLines.Last().LastDocumentLine.Length; |
||||
foreach (TextMarker marker in markers.FindOverlappingSegments(viewStart, viewEnd - viewStart)) { |
||||
if (marker.BackgroundColor != null) { |
||||
BackgroundGeometryBuilder geoBuilder = new BackgroundGeometryBuilder(); |
||||
geoBuilder.AddSegment(textView, marker); |
||||
Geometry geometry = geoBuilder.CreateGeometry(); |
||||
if (geometry != null) { |
||||
Color color = marker.BackgroundColor.Value; |
||||
SolidColorBrush brush = new SolidColorBrush(color); |
||||
brush.Freeze(); |
||||
drawingContext.DrawGeometry(brush, null, geometry); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
#endregion
|
||||
} |
||||
|
||||
sealed class TextMarker : TextSegment, ITextMarker |
||||
{ |
||||
readonly TextMarkerService service; |
||||
|
||||
public TextMarker(TextMarkerService service, int startOffset, int length) |
||||
{ |
||||
if (service == null) |
||||
throw new ArgumentNullException("service"); |
||||
this.service = service; |
||||
this.StartOffset = startOffset; |
||||
this.Length = length; |
||||
} |
||||
|
||||
public event EventHandler Deleted; |
||||
|
||||
public bool IsDeleted { |
||||
get { return !this.IsConnectedToCollection; } |
||||
} |
||||
|
||||
public void Delete() |
||||
{ |
||||
if (this.IsConnectedToCollection) { |
||||
service.Remove(this); |
||||
if (Deleted != null) |
||||
Deleted(this, EventArgs.Empty); |
||||
} |
||||
} |
||||
|
||||
void Redraw() |
||||
{ |
||||
service.Redraw(this); |
||||
} |
||||
|
||||
Color? backgroundColor; |
||||
|
||||
public Color? BackgroundColor { |
||||
get { return backgroundColor; } |
||||
set { |
||||
if (backgroundColor != value) { |
||||
backgroundColor = value; |
||||
Redraw(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
Color? foregroundColor; |
||||
|
||||
public Color? ForegroundColor { |
||||
get { return foregroundColor; } |
||||
set { |
||||
if (foregroundColor != value) { |
||||
foregroundColor = value; |
||||
Redraw(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public object Tag { get; set; } |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// Represents a text marker.
|
||||
/// </summary>
|
||||
public interface ITextMarker |
||||
{ |
||||
/// <summary>
|
||||
/// Gets the start offset of the marked text region.
|
||||
/// </summary>
|
||||
int StartOffset { get; } |
||||
|
||||
/// <summary>
|
||||
/// Gets the end offset of the marked text region.
|
||||
/// </summary>
|
||||
int EndOffset { get; } |
||||
|
||||
/// <summary>
|
||||
/// Gets the length of the marked region.
|
||||
/// </summary>
|
||||
int Length { get; } |
||||
|
||||
/// <summary>
|
||||
/// Deletes the text marker.
|
||||
/// </summary>
|
||||
void Delete(); |
||||
|
||||
/// <summary>
|
||||
/// Gets whether the text marker was deleted.
|
||||
/// </summary>
|
||||
bool IsDeleted { get; } |
||||
|
||||
/// <summary>
|
||||
/// Event that occurs when the text marker is deleted.
|
||||
/// </summary>
|
||||
event EventHandler Deleted; |
||||
|
||||
/// <summary>
|
||||
/// Gets/Sets the background color.
|
||||
/// </summary>
|
||||
Color? BackgroundColor { get; set; } |
||||
|
||||
/// <summary>
|
||||
/// Gets/Sets the foreground color.
|
||||
/// </summary>
|
||||
Color? ForegroundColor { get; set; } |
||||
|
||||
/// <summary>
|
||||
/// Gets/Sets an object with additional data for this text marker.
|
||||
/// </summary>
|
||||
object Tag { get; set; } |
||||
} |
||||
|
||||
public interface ITextMarkerService |
||||
{ |
||||
/// <summary>
|
||||
/// Creates a new text marker. The text marker will be invisible at first,
|
||||
/// you need to set one of the Color properties to make it visible.
|
||||
/// </summary>
|
||||
ITextMarker Create(int startOffset, int length); |
||||
|
||||
/// <summary>
|
||||
/// Gets the list of text markers.
|
||||
/// </summary>
|
||||
IEnumerable<ITextMarker> TextMarkers { get; } |
||||
|
||||
/// <summary>
|
||||
/// Removes all text markers that match the condition.
|
||||
/// </summary>
|
||||
void RemoveAll(Predicate<ITextMarker> predicate); |
||||
} |
||||
} |
@ -1,44 +0,0 @@
@@ -1,44 +0,0 @@
|
||||
<Window x:Class="XmlDOM.Window1" |
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
xmlns:clr="clr-namespace:ICSharpCode.AvalonEdit.Xml;assembly=ICSharpCode.AvalonEdit" |
||||
xmlns:ic="http://icsharpcode.net/sharpdevelop/avalonedit" |
||||
Title="XmlEditor" Height="450" Width="600" |
||||
TextOptions.TextFormattingMode="Display" |
||||
> |
||||
<Window.Resources> |
||||
<Storyboard x:Key="anim"> |
||||
<ColorAnimation Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)" To="Transparent" Duration="0:0:4"/> |
||||
</Storyboard> |
||||
<HierarchicalDataTemplate DataType="{x:Type clr:AXmlDocument}" ItemsSource="{Binding Elements}"> |
||||
<TextBlock Text="XML Document" Margin="2"/> |
||||
</HierarchicalDataTemplate> |
||||
<HierarchicalDataTemplate DataType="{x:Type clr:AXmlElement}" ItemsSource="{Binding AttributesAndElements}"> |
||||
<TextBlock Text="{Binding Name}" Margin="2" Initialized="BindObject"/> |
||||
</HierarchicalDataTemplate> |
||||
<HierarchicalDataTemplate DataType="{x:Type clr:AXmlAttribute}"> |
||||
<StackPanel Orientation="Horizontal" Margin="2"> |
||||
<TextBlock Text="{Binding Name}" Foreground="Blue" Initialized="BindObject"/> |
||||
<TextBlock Text="=" VerticalAlignment="Center"/> |
||||
<TextBlock Text="{Binding Value}" Foreground="Blue" Initialized="BindObject"/> |
||||
</StackPanel> |
||||
</HierarchicalDataTemplate> |
||||
<HierarchicalDataTemplate DataType="{x:Type clr:AXmlText}" ItemContainerStyle="{x:Null}"> |
||||
<Border BorderBrush="LightGray" Height="1" BorderThickness="1"/> |
||||
</HierarchicalDataTemplate> |
||||
</Window.Resources> |
||||
<Grid> |
||||
<Grid.ColumnDefinitions> |
||||
<ColumnDefinition Width="2*"/> |
||||
<ColumnDefinition Width="*"/> |
||||
</Grid.ColumnDefinitions> |
||||
<DockPanel Grid.Column="0"> |
||||
<TextBlock DockPanel.Dock="Top" Name="errorText" Margin="2" Background="WhiteSmoke"/> |
||||
<ic:TextEditor x:Name="editor"/> |
||||
</DockPanel> |
||||
<DockPanel Grid.Column="1"> |
||||
<Button DockPanel.Dock="Top" Content="Parse" Click="Button_Click"/> |
||||
<TreeView Name="treeView"/> |
||||
</DockPanel> |
||||
</Grid> |
||||
</Window> |
@ -1,118 +0,0 @@
@@ -1,118 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using ICSharpCode.AvalonEdit.Document; |
||||
using System; |
||||
using System.Linq; |
||||
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.Animation; |
||||
using System.Windows.Threading; |
||||
using ICSharpCode.AvalonEdit.Xml; |
||||
|
||||
namespace XmlDOM |
||||
{ |
||||
/// <summary>
|
||||
/// Interaction logic for Window1.xaml
|
||||
/// </summary>
|
||||
public partial class Window1 : Window |
||||
{ |
||||
AXmlParser parser; |
||||
|
||||
bool textDirty = true; |
||||
|
||||
public Window1() |
||||
{ |
||||
InitializeComponent(); |
||||
} |
||||
|
||||
TextMarkerService markerService; |
||||
List<DocumentChangeEventArgs> changes = new List<DocumentChangeEventArgs>(); |
||||
|
||||
protected override void OnInitialized(EventArgs e) |
||||
{ |
||||
markerService = new TextMarkerService(editor.TextArea); |
||||
|
||||
editor.TextArea.TextView.MouseMove += new MouseEventHandler(editor_TextArea_TextView_MouseMove); |
||||
|
||||
editor.Document.Changed += delegate(object sender, DocumentChangeEventArgs e2) { |
||||
textDirty = true; |
||||
changes.Add(e2); |
||||
}; |
||||
parser = new AXmlParser(); |
||||
|
||||
DispatcherTimer timer = new DispatcherTimer(); |
||||
timer.Interval = TimeSpan.FromSeconds(0.5); |
||||
timer.Tick += delegate { Button_Click(null, null); }; |
||||
timer.Start(); |
||||
|
||||
base.OnInitialized(e); |
||||
} |
||||
|
||||
void editor_TextArea_TextView_MouseMove(object sender, MouseEventArgs e) |
||||
{ |
||||
var pos = editor.TextArea.TextView.GetPosition(e.GetPosition(editor.TextArea.TextView)); |
||||
if (pos.HasValue) { |
||||
int offset = editor.Document.GetOffset(new TextLocation(pos.Value.Line, pos.Value.Column)); |
||||
var marker = markerService.markers.FindSegmentsContaining(offset).FirstOrDefault(); |
||||
if (marker != null) { |
||||
errorText.Text = (string)marker.Tag; |
||||
} else { |
||||
errorText.Text = string.Empty; |
||||
} |
||||
} |
||||
} |
||||
|
||||
void Button_Click(object sender, RoutedEventArgs e) |
||||
{ |
||||
if (!textDirty) return; |
||||
AXmlDocument doc; |
||||
parser.Lock.EnterWriteLock(); |
||||
try { |
||||
doc = parser.Parse(editor.Document.Text, changes); |
||||
changes.Clear(); |
||||
} finally { |
||||
parser.Lock.ExitWriteLock(); |
||||
} |
||||
if (treeView.Items.Count == 0) { |
||||
treeView.Items.Add(doc); |
||||
} |
||||
PrettyPrintAXmlVisitor visitor = new PrettyPrintAXmlVisitor(); |
||||
visitor.VisitDocument(doc); |
||||
string prettyPrintedText = visitor.Output; |
||||
if (prettyPrintedText != editor.Document.Text) { |
||||
MessageBox.Show("Error - Original and pretty printed version of XML differ"); |
||||
} |
||||
markerService.RemoveAll(m => true); |
||||
foreach(var error in doc.SyntaxErrors) { |
||||
var marker = markerService.Create(error.StartOffset, error.EndOffset - error.StartOffset); |
||||
marker.Tag = error.Message; |
||||
marker.BackgroundColor = Color.FromRgb(255, 150, 150); |
||||
} |
||||
textDirty = false; |
||||
} |
||||
|
||||
void BindObject(object sender, EventArgs e) |
||||
{ |
||||
TextBlock textBlock = (TextBlock)sender; |
||||
AXmlObject node = (AXmlObject)textBlock.DataContext; |
||||
node.Changed += delegate { |
||||
BindingOperations.GetBindingExpression(textBlock, TextBlock.TextProperty).UpdateTarget(); |
||||
textBlock.Background = new SolidColorBrush(Colors.LightGreen); |
||||
Storyboard sb = ((Storyboard)this.FindResource("anim")); |
||||
Storyboard.SetTarget(sb, textBlock); |
||||
sb.Begin(); |
||||
}; |
||||
} |
||||
} |
||||
} |
@ -1,87 +0,0 @@
@@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> |
||||
<PropertyGroup> |
||||
<ProjectGuid>{AF8CA20E-58AC-423E-95A8-5AA464938D19}</ProjectGuid> |
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
<OutputType>WinExe</OutputType> |
||||
<RootNamespace>XmlDOM</RootNamespace> |
||||
<AssemblyName>XmlDOM</AssemblyName> |
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
<AllowUnsafeBlocks>False</AllowUnsafeBlocks> |
||||
<NoStdLib>False</NoStdLib> |
||||
<WarningLevel>4</WarningLevel> |
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> |
||||
<OutputPath>bin\Debug\</OutputPath> |
||||
<DebugSymbols>true</DebugSymbols> |
||||
<DebugType>Full</DebugType> |
||||
<Optimize>False</Optimize> |
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> |
||||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
<StartAction>Project</StartAction> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> |
||||
<OutputPath>bin\Release\</OutputPath> |
||||
<DebugSymbols>False</DebugSymbols> |
||||
<DebugType>None</DebugType> |
||||
<Optimize>True</Optimize> |
||||
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> |
||||
<DefineConstants>TRACE</DefineConstants> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' "> |
||||
<RegisterForComInterop>False</RegisterForComInterop> |
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies> |
||||
<BaseAddress>4194304</BaseAddress> |
||||
<PlatformTarget>AnyCPU</PlatformTarget> |
||||
<FileAlignment>4096</FileAlignment> |
||||
</PropertyGroup> |
||||
<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> |
||||
</Reference> |
||||
<Reference Include="System.Data" /> |
||||
<Reference Include="System.Xaml"> |
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework> |
||||
</Reference> |
||||
<Reference Include="System.Xml" /> |
||||
<Reference Include="WindowsBase"> |
||||
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
||||
</Reference> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<ApplicationDefinition Include="App.xaml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Compile Include="App.xaml.cs"> |
||||
<SubType>Code</SubType> |
||||
<DependentUpon>App.xaml</DependentUpon> |
||||
</Compile> |
||||
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
<Compile Include="Properties\WPFAssemblyInfo.cs" /> |
||||
<Compile Include="TextMarkerService.cs" /> |
||||
<Compile Include="Window1.xaml.cs"> |
||||
<SubType>Code</SubType> |
||||
<DependentUpon>Window1.xaml</DependentUpon> |
||||
</Compile> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Page Include="Window1.xaml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<ProjectReference Include="..\..\src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj"> |
||||
<Project>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</Project> |
||||
<Name>ICSharpCode.AvalonEdit</Name> |
||||
</ProjectReference> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> |
||||
</Project> |
@ -1,30 +0,0 @@
@@ -1,30 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00 |
||||
# Visual Studio 2010 |
||||
# SharpDevelop 4.0.0.6517 |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlDOM", "XmlDOM.csproj", "{AF8CA20E-58AC-423E-95A8-5AA464938D19}" |
||||
EndProject |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "..\..\src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" |
||||
EndProject |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "..\..\src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" |
||||
EndProject |
||||
Global |
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
Debug|Any CPU = Debug|Any CPU |
||||
Release|Any CPU = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
{AF8CA20E-58AC-423E-95A8-5AA464938D19}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{AF8CA20E-58AC-423E-95A8-5AA464938D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{AF8CA20E-58AC-423E-95A8-5AA464938D19}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
{AF8CA20E-58AC-423E-95A8-5AA464938D19}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
EndGlobalSection |
||||
EndGlobal |
Loading…
Reference in new issue