diff --git a/MultiTerm.Core/ViewModel/ShellViewModel.cs b/MultiTerm.Core/ViewModel/ShellViewModel.cs index 5823144..a564e49 100644 --- a/MultiTerm.Core/ViewModel/ShellViewModel.cs +++ b/MultiTerm.Core/ViewModel/ShellViewModel.cs @@ -39,6 +39,8 @@ public partial class ShellViewModel : ObservableObject public ShellViewModel(ITerminalViewModelFactory terminalViewModelFactory) { this.terminalViewModelFactory = terminalViewModelFactory; + // TEMP Init + this.AppendTerminalWithSelectedViewType(ProtocolType.Serial); } [RelayCommand] diff --git a/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.cs b/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.cs index edcfc7e..c1bdf27 100644 --- a/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.cs +++ b/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.cs @@ -1,4 +1,5 @@ -using System.Windows; +using System.Runtime.CompilerServices; +using System.Windows; using System.Windows.Controls; namespace MultiTerm.Wpf.CustomControl @@ -34,9 +35,44 @@ namespace MultiTerm.Wpf.CustomControl /// public class ExtendedTabControl : TabControl { + public static readonly RoutedEvent AddButtonClickedEvent; + + #region Dotnet Properties + /// + /// .NET Property for + /// + public event RoutedEventHandler AddButtonClicked + { + add { this.AddHandler(AddButtonClickedEvent, value); } + remove { this.RemoveHandler(AddButtonClickedEvent, value); } + } + #endregion + static ExtendedTabControl() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ExtendedTabControl), new FrameworkPropertyMetadata(typeof(ExtendedTabControl))); + + AddButtonClickedEvent = EventManager.RegisterRoutedEvent("AddButtonClicked", + RoutingStrategy.Bubble, typeof(RoutedEventArgs), + typeof(ExtendedTabControl)); + } + + public override void OnApplyTemplate() + { + base.OnApplyTemplate(); + + // get button from template + var button = GetTemplateChild("addButton") as Button; + if (button != null) + { + button.Click += OnAddButtonClicked; ; + } + } + + private void OnAddButtonClicked(object sender, RoutedEventArgs e) + { + RoutedEventArgs args = new RoutedEventArgs(AddButtonClickedEvent); + RaiseEvent(args); } } } diff --git a/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.xaml b/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.xaml index 9659fff..0c6b29e 100644 --- a/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.xaml +++ b/MultiTerm.Wpf.CustomControl/ExtendedTabControl/ExtendedTabControl.xaml @@ -26,7 +26,7 @@ - + diff --git a/MultiTerm.Wpf/View/ShellView.xaml b/MultiTerm.Wpf/View/ShellView.xaml index 2aab2c5..76a4e10 100644 --- a/MultiTerm.Wpf/View/ShellView.xaml +++ b/MultiTerm.Wpf/View/ShellView.xaml @@ -39,7 +39,6 @@ - @@ -73,14 +72,32 @@ + + - - - + + + + + + + + + + + + + + + + + + + + + + - + True @@ -113,48 +162,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + +