aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModelLocator.cs
blob: 0473fd028e3a4c720cd82b51efdb6526fb553d28 (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 Tango.Core.DI;
using Tango.MachineStudio.UsersAndRoles.Navigation;
using Tango.MachineStudio.UsersAndRoles.ViewModels;

namespace Tango.MachineStudio.UsersAndRoles
{
    /// <summary>
    /// This class contains static references to all the view models in the
    /// application and provides an entry point for the bindings.
    /// </summary>
    public static class ViewModelLocator
    {
        /// <summary>
        /// Initializes a new instance of the ViewModelLocator class.
        /// </summary>
        static ViewModelLocator()
        {
            TangoIOC.Default.Register<MainViewVM>();

            TangoIOC.Default.Unregister<UsersAndRolesNavigationManager>();
            TangoIOC.Default.Register<UsersAndRolesNavigationManager>(new UsersAndRolesNavigationManager());
        }

        public static MainViewVM MainViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<MainViewVM>();
            }
        }
    }
}
elements. /// </summary> /// <remarks>This layer is between the Selection and the Caret layers.</remarks> Text, /// <summary> /// This layer contains the blinking caret. /// </summary> /// <remarks>This layer is above the Text layer.</remarks> Caret } /// <summary> /// Specifies where a new layer is inserted, in relation to an old layer. /// </summary> public enum LayerInsertionPosition { /// <summary> /// The new layer is inserted below the specified layer. /// </summary> Below, /// <summary> /// The new layer replaces the specified layer. The old layer is removed /// from the <see cref="TextView.Layers"/> collection. /// </summary> Replace, /// <summary> /// The new layer is inserted above the specified layer. /// </summary> Above } sealed class LayerPosition : IComparable<LayerPosition> { internal static readonly DependencyProperty LayerPositionProperty = DependencyProperty.RegisterAttached("LayerPosition", typeof(LayerPosition), typeof(LayerPosition)); public static void SetLayerPosition(UIElement layer, LayerPosition value) { layer.SetValue(LayerPositionProperty, value); } public static LayerPosition GetLayerPosition(UIElement layer) { return (LayerPosition)layer.GetValue(LayerPositionProperty); } internal readonly KnownLayer KnownLayer; internal readonly LayerInsertionPosition Position; public LayerPosition(KnownLayer knownLayer, LayerInsertionPosition position) { this.KnownLayer = knownLayer; this.Position = position; } public int CompareTo(LayerPosition other) { int r = this.KnownLayer.CompareTo(other.KnownLayer); if (r != 0) return r; else return this.Position.CompareTo(other.Position); } } }