aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/MainView.xaml
blob: efe58b363469592d19ea064012ba5e14dbdb2edf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<UserControl x:Class="Tango.MachineStudio.UsersAndRoles.Views.MainView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:global="clr-namespace:Tango.MachineStudio.UsersAndRoles"
             xmlns:vm="clr-namespace:Tango.MachineStudio.UsersAndRoles.ViewModels"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:local="clr-namespace:Tango.MachineStudio.UsersAndRoles.Views"
             mc:Ignorable="d" 
             d:DesignHeight="1080" d:DesignWidth="1920" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
    <Grid>
        <controls:NavigationControl x:Name="TransitionControl" TransitionType="Slide">
            <local:OrganizationSelectionView controls:NavigationControl.NavigationName="OrganizationSelectionView" />
            <local:OrganizationManagementView controls:NavigationControl.NavigationName="OrganizationManagementView" />
            <local:UserManagementView controls:NavigationControl.NavigationName="UserManagementView" />
        </controls:NavigationControl>
    </Grid>
</UserControl>
/* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
using MaterialDesignThemes.Wpf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using Tango.Core.Commands;
using Tango.MachineStudio.Common.Controls;

namespace Tango.MachineStudio.DB.Managers
{
    /// <summary>
    /// Represents a registered MDI child (data table) view
    /// </summary>
    /// <seealso cref="Tango.MachineStudio.Common.Controls.MdiChild" />
    public class RegisteredView : MdiChild
    {
        private static Random rnd = new Random();

        /// <summary>
        /// Adds the view to the display.
        /// </summary>
        public RelayCommand AddCommand { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="RegisteredView"/> class.
        /// </summary>
        /// <param name="header">The header.</param>
        /// <param name="view">The view.</param>
        /// <param name="action">The action.</param>
        public RegisteredView(String header, FrameworkElement view, Action action)
        {
            Location = new Point(rnd.Next(30, 200), rnd.Next(30, 200));
            Icon = PackIconKind.Table;

            if (header.Length < 5)
            {
                header = header.ToUpper();
            }

            Header = header;

            View = view;

            View.MaxWidth = 1500;
            View.MaxHeight = 800;

            if (action != null)
            {
                AddCommand = new RelayCommand(action);
            }
            else
            {
                AddCommand = new RelayCommand(() =>
                {
                    if (!ViewsManager.DisplayedViews.Contains(this))
                    {
                        ViewsManager.DisplayedViews.Add(this);
                        View.BringIntoView();
                        View.Focus();
                    }
                    else
                    {
                        View.BringIntoView();
                        View.Focus();
                    }
                });
            }
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="RegisteredView"/> class.
        /// </summary>
        /// <param name="header">The header.</param>
        /// <param name="view">The view.</param>
        public RegisteredView(String header, FrameworkElement view) : this(header, view, null)
        {
            if (header.Length < 5)
            {
                header = header.ToUpper();
            }

            view.MaxWidth = 1500;
            view.MaxHeight = 800;

            Header = header;
            View = view;
        }

        /// <summary>
        /// Returns a <see cref="System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        /// A <see cref="System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            return Header;
        }
    }
}