| ofs | hex dump | ascii |
|---|
| 0000 | 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 02 67 00 00 03 11 08 06 00 00 00 a9 be 11 | .PNG........IHDR...g............ |
| 0020 | 79 00 00 00 04 67 41 4d 41 00 00 b1 8f 0b fc 61 05 00 00 0a 3a 69 43 43 50 50 68 6f 74 6f 73 68 | y....gAMA......a....:iCCPPhotosh |
| 0040 | 6f 70 20 49 43 43 20 70 72 6f 66 69 6c 65 00 00 48 89 9d 96 77 54 54 d7 16 87 cf bd 77 7a a1 cd | op.ICC.profile..H...wTT.....wz.. |
| 0060 | 30 14 29 43 ef bd 0d 20 bd 37 a9 d2 44 61 98 19 60 28 03 0e 33 34 b1 21 a2 02 11 45 44 04 15 41 | 0.)C.....7..Da..`(..34.!...ED..A |
| 0080 | 82 22 06 8c 86 22 b1 22 8a 85 80 60 c1 1e 90 20 a0 c4 60 14 51 51 79 33 b2 56 74 e5 e5 bd 97 97 | ."..."."...`......`.QQy3.Vt..... |
| 00a0 | df 1f 67 7d 6b 9f bd f7 3d 67 ef 7d d6 ba 00 90 bc fd b9 bc 74 58 0a 80 34 9e 80 1f e2 e5 4a 8f | ..g}k...=g.}........tX..4.....J. |
| 00c0 | 8c 8a a6 63 fb 01 0c f0 00 03 cc 00 60 b2 32 33 02 42 3d c3 80 48 3e 1e 6e f4 4c 91 13 f8 22 08 | ...c........`.23.B=..H>.n.L...". |
| 00e0 | 80 37 77 c4 2b 00 37 8d bc 83 e8 74 f0 ff 49 9a 95 c1 17 88 d2 04 89 d8 82 cd c9 64 89 b8 50 c4 | .7w.+.7....t..I............d..P. |
| 0100 | a9 d9 82 0c b1 7d 46 c4 d4 f8 14 31 c3 28 31 f3 45 07 14 b1 bc 98 13 17 d9 f0 b3 cf 22 3b 8b 99 | .....}F....1.(1.E...........";.. |
| 0120 | 9d c6 63 8b 58 7c e6 0c 76 1a 5b cc 3d 22 de 9a 25 e4 88 18 f1 17 71 51 16 97 93 2d e2 5b 22 d6 | ..c.X|..v.[.="..%.....qQ...-.[". |
| 0140 | 4c 15 a6 71 45 fc 56 1c 9b c6 61 66 02 80 22 89 ed 02 0e 2b 49 c4 a6 22 26 f1 c3 42 dc 44 bc 14 | L..qE.V...af.."....+I.."&..B.D.. |
| 0160 | 00 1c 29 f1 2b 8e ff 8a 05 9c 1c 81 f8 52 6e e9 19 b9 7c 6e 62 92 80 ae cb d2 a3 9b d9 da 32 e8 | ..).+........Rn...|nb.........2. |
| 0180 | de 9c ec 54 8e 40 60 14 c4 64 a5 30 f9 6c ba 5b 7a 5a 06 93 97 0b c0 e2 9d 3f 4b 46 5c 5b ba a8 | ...T.@`..d.0.l.[zZ.......?KF\[.. |
| 01a0 | c8 d6 66 b6 d6 d6 46 e6 c6 66 5f 15 ea bf 6e fe 4d 89 7b bb 48 af 82 3f f7 0c a2 f5 7d b1 fd 95 | ..f...F..f_...n.M.{.H..?....}... |
| 01c0 | 5f 7a 3d 00 8c 59 51 6d 76 7c b1 c5 ef 05 a0 63 33 00 f2 f7 bf d8 34 0f 02 20 29 ea 5b fb c0 57 | _z=..YQmv// 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 System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using Tango.Scripting.Editors.Document;
namespace Tango.Scripting.Editors.Xml
{
/// <summary>
/// The root object of the XML document
/// </summary>
public class AXmlDocument: AXmlContainer
{
/// <summary> Parser that produced this document </summary>
internal AXmlParser Parser { get; set; }
/// <summary> Occurs when object is added to any part of the document </summary>
public event EventHandler<NotifyCollectionChangedEventArgs> ObjectInserted;
/// <summary> Occurs when object is removed from any part of the document </summary>
public event EventHandler<NotifyCollectionChangedEventArgs> ObjectRemoved;
/// <summary> Occurs before local data of any object in the document changes </summary>
public event EventHandler<AXmlObjectEventArgs> ObjectChanging;
/// <summary> Occurs after local data of any object in the document changed </summary>
public event EventHandler<AXmlObjectEventArgs> ObjectChanged;
internal void OnObjectInserted(int index, AXmlObject obj)
{
if (ObjectInserted != null)
ObjectInserted(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new AXmlObject[] { obj }.ToList(), index));
}
internal void OnObjectRemoved(int index, AXmlObject obj)
{
if (ObjectRemoved != null)
ObjectRemoved(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new AXmlObject[] { obj }.ToList(), index));
}
internal void OnObjectChanging(AXmlObject obj)
{
if (ObjectChanging != null)
ObjectChanging(this, new AXmlObjectEventArgs() { Object = obj } );
}
internal void OnObjectChanged(AXmlObject obj)
{
if (ObjectChanged != null)
ObjectChanged(this, new AXmlObjectEventArgs() { Object = obj } );
}
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
{
visitor.VisitDocument(this);
}
/// <inheritdoc/>
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "[{0} Chld:{1}]", base.ToString(), this.Children.Count);
}
}
}
|