From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Gestor.Application/Componentes/DialogTrilha.cs | 134 +++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Codemerx/Gestor.Application/Componentes/DialogTrilha.cs (limited to 'Codemerx/Gestor.Application/Componentes/DialogTrilha.cs') diff --git a/Codemerx/Gestor.Application/Componentes/DialogTrilha.cs b/Codemerx/Gestor.Application/Componentes/DialogTrilha.cs new file mode 100644 index 0000000..e4f3011 --- /dev/null +++ b/Codemerx/Gestor.Application/Componentes/DialogTrilha.cs @@ -0,0 +1,134 @@ +using Gestor.Application.Helpers; +using Gestor.Application.ViewModels.Generic; +using Gestor.Model.Domain.Ferramentas; +using System; +using System.CodeDom.Compiler; +using System.ComponentModel; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Markup; +using System.Windows.Media; + +namespace Gestor.Application.Componentes +{ + public class DialogTrilha : UserControl, IComponentConnector, IStyleConnector + { + private bool _contentLoaded; + + public DialogTrilhaViewModel ViewModel + { + get; + set; + } + + public DialogTrilha(DialogTrilhaViewModel viewModel) + { + this.ViewModel = viewModel; + base.DataContext = this.ViewModel; + this.InitializeComponent(); + } + + private void AdicionarFase_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.AdicionarFase(); + } + + private void ExcluirFase_OnClick(object sender, RoutedEventArgs e) + { + Fase dataContext = ((Button)sender).DataContext as Fase; + if (dataContext == null) + { + return; + } + this.ViewModel.ExcluirFase(dataContext); + } + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() + { + if (this._contentLoaded) + { + return; + } + this._contentLoaded = true; + System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/componentes/dialogtrilha.xaml", UriKind.Relative)); + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + if (connectionId != 1) + { + this._contentLoaded = true; + return; + } + ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionarFase_OnClick); + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 2: + { + ((TextBox)target).GotFocus += new RoutedEventHandler(this.UIElement_OnGotFocus); + ((TextBox)target).LostFocus += new RoutedEventHandler(this.UIElement_OnLostFocus); + return; + } + case 3: + { + ((TextBox)target).GotFocus += new RoutedEventHandler(this.UIElement_OnGotFocus); + ((TextBox)target).LostFocus += new RoutedEventHandler(this.UIElement_OnLostFocus); + return; + } + case 4: + { + ((Button)target).Click += new RoutedEventHandler(this.ExcluirFase_OnClick); + return; + } + default: + { + return; + } + } + } + + private void UIElement_OnGotFocus(object sender, RoutedEventArgs e) + { + DependencyObject parent = VisualTreeHelper.GetParent((UIElement)sender); + while (!(parent is ListBoxItem)) + { + if (parent == null) + { + continue; + } + parent = VisualTreeHelper.GetParent(parent); + } + ListBoxItem listBoxItem = (ListBoxItem)parent; + if (!listBoxItem.IsSelected) + { + listBoxItem.IsSelected = true; + } + } + + private void UIElement_OnLostFocus(object sender, RoutedEventArgs e) + { + ListBox listBox = ViewHelper.FindAncestor((TextBox)sender).FirstOrDefault(); + if (listBox == null) + { + return; + } + this.ViewModel.UpdateFase(listBox.SelectedIndex); + } + } +} \ No newline at end of file -- cgit v1.2.3