aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/ViewModelLocator.cs
blob: 054310e9951caa681be7c8fcdef888cef3e4b590 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.DI;
using Tango.PPC.Browser.ViewModels;

namespace Tango.PPC.Browser
{
    public static class ViewModelLocator
    {
        /// <summary>
        /// Initializes a new instance of the ViewModelLocator class.
        /// </summary>
        static ViewModelLocator()
        {
            TangoIOC.Default.Register<BrowserViewVM>();
        }

        /// <summary>
        /// Gets the main view VM.
        /// </summary>
        public static BrowserViewVM BrowserViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<BrowserViewVM>();
            }
        }
    }
}
{ DocumentLine start, end; HeightTree heightTree; #if DEBUG internal string ID; static int nextId; #else const string ID = ""; #endif internal CollapsedLineSection(HeightTree heightTree, DocumentLine start, DocumentLine end) { this.heightTree = heightTree; this.start = start; this.end = end; #if DEBUG unchecked { this.ID = " #" + (nextId++); } #endif } /// <summary> /// Gets if the document line is collapsed. /// This property initially is true and turns to false when uncollapsing the section. /// </summary> public bool IsCollapsed { get { return start != null; } } /// <summary> /// Gets the start line of the section. /// When the section is uncollapsed or the text containing it is deleted, /// this property returns null. /// </summary> public DocumentLine Start { get { return start; } internal set { start = value; } } /// <summary> /// Gets the end line of the section. /// When the section is uncollapsed or the text containing it is deleted, /// this property returns null. /// </summary> public DocumentLine End { get { return end; } internal set { end = value; } } /// <summary> /// Uncollapses the section. /// This causes the Start and End properties to be set to null! /// Does nothing if the section is already uncollapsed. /// </summary> public void Uncollapse() { if (start == null) return; heightTree.Uncollapse(this); #if DEBUG heightTree.CheckProperties(); #endif start = null; end = null; } /// <summary> /// Gets a string representation of the collapsed section. /// </summary> [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.Int32.ToString")] public override string ToString() { return "[CollapsedSection" + ID + " Start=" + (start != null ? start.LineNumber.ToString() : "null") + " End=" + (end != null ? end.LineNumber.ToString() : "null") + "]"; } } }