using MaterialDesignThemes.Wpf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Tango.Core.DI;
using Tango.MachineStudio.DB.Messages;
using Tango.MachineStudio.DB.ViewModels;
using Tango.MachineStudio.DB.Views.DBViews;
using Tango.SharedUI;
using Tango.SharedUI.Controls;
namespace Tango.MachineStudio.DB.Views
{
///
/// Interaction logic for MainView.xaml
///
public partial class MainDBView : UserControl
{
public MainDBView() : base()
{
InitializeComponent();
TangoMessenger.Default.Register(HandleOpenEntityViewMessage);
TangoMessenger.Default.Register(HandleCloseEntityViewMessage);
}
public bool IsEditViewOpen
{
get { return (bool)GetValue(IsEditViewOpenProperty); }
set { SetValue(IsEditViewOpenProperty, value); }
}
public static readonly DependencyProperty IsEditViewOpenProperty =
DependencyProperty.Register("IsEditViewOpen", typeof(bool), typeof(MainDBView), new PropertyMetadata(false));
private void HandleCloseEntityViewMessage(CloseEntityEditViewMessage message)
{
IsEditViewOpen = false;
}
private void HandleOpenEntityViewMessage(OpenEntityEditViewMessage message)
{
Type viewType = typeof(MainDBView).Assembly.GetType(typeof(OrganizationView).Namespace + "." + message.EntityType.Name + "View");
presenter.DataContext = message.Context;
var view = Activator.CreateInstance(viewType) as FrameworkElement;
view.DataContext = message.Context;
grid.DataContext = message.Context;
presenter.Content = view;
icon.Kind = (message.DialogOpenMode == DialogOpenMode.Editing ? PackIconKind.TableEdit : PackIconKind.Plus);
txtTitle.Text = (message.DialogOpenMode == DialogOpenMode.Editing ? "Edit " : "Add New ") + (message.EntityType.Name.Length < 5 ? message.EntityType.Name.ToUpper() : message.EntityType.Name).ToTitle();
IsEditViewOpen = true;
}
private void Thumb_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e)
{
if (double.IsNaN(grid.Width))
{
grid.Width = grid.ActualWidth;
}
if (grid.Width + -e.HorizontalChange > 100)
{
grid.Width += -e.HorizontalChange;
}
}
}
}