10 changed files with 10 additions and 643 deletions
@ -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 @@ |
|||||||
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 @@ |
|||||||
#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 @@ |
|||||||
#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 @@ |
|||||||
// <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 @@ |
|||||||
<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 @@ |
|||||||
// <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 @@ |
|||||||
<?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 @@ |
|||||||
|
|
||||||
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