diff options
| author | Michael <[email protected]> | 2017-02-13 09:05:25 -0500 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-02-13 09:05:25 -0500 |
| commit | e8dfafa17a492bdba99151379d5d4926c267dde5 (patch) | |
| tree | bdc21f8c028e03f987920d581c0aaad3b1168938 /ShiftOS.Wpf/WpfWindowBorder.xaml.cs | |
| parent | 14bd25bab6dbed116c194d392e887c68a90c4d73 (diff) | |
| download | shiftos_thereturn-e8dfafa17a492bdba99151379d5d4926c267dde5.tar.gz shiftos_thereturn-e8dfafa17a492bdba99151379d5d4926c267dde5.tar.bz2 shiftos_thereturn-e8dfafa17a492bdba99151379d5d4926c267dde5.zip | |
ugh more debugging
Diffstat (limited to 'ShiftOS.Wpf/WpfWindowBorder.xaml.cs')
| -rw-r--r-- | ShiftOS.Wpf/WpfWindowBorder.xaml.cs | 399 |
1 files changed, 0 insertions, 399 deletions
diff --git a/ShiftOS.Wpf/WpfWindowBorder.xaml.cs b/ShiftOS.Wpf/WpfWindowBorder.xaml.cs deleted file mode 100644 index f902c7e..0000000 --- a/ShiftOS.Wpf/WpfWindowBorder.xaml.cs +++ /dev/null @@ -1,399 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -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.Forms.Integration; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; -using ShiftOS.Engine; -using static ShiftOS.Engine.SkinEngine; - -namespace ShiftOS.Wpf -{ - /// <summary> - /// Interaction logic for WpfWindowBorder.xaml - /// </summary> - public partial class WpfWindowBorder : UserControl, IWindowBorder - { - private bool _isWPF = true; - - public WpfWindowBorder(IShiftOSWindow ctrl) - { - InitializeComponent(); - if (ctrl is UserControl) - { - _parent = ctrl as UserControl; - _isWPF = true; - } - else if (ctrl is System.Windows.Forms.UserControl) - { - _isWPF = false; - _wParent = ctrl as System.Windows.Forms.UserControl; - _wParent.Show(); - } - Shiftorium.Installed += () => - { - SetupUpgradeables(); - ParentWindow.OnUpgrade(); - }; - SkinEngine.SkinLoaded += () => - { - SetupSkin(); - ParentWindow.OnSkinLoad(); - }; - SaveSystem.GameReady += () => - { - Dispatcher.Invoke(() => - { - SetupUpgradeables(); - SetupSkin(); - }); - }; - if (_isWPF) - { - this.Width = borderleft.Width + _parent.Width + borderright.Width; - this.Height = titlemaster.Height + _parent.Height + borderbottom.Height; - pgcontents.Content = _parent; - } - else - { - pgcontents.Width = _wParent.Width; - pgcontents.Height = _wParent.Height; - - this.Width = borderleft.Width + _wParent.Width + borderright.Width; - this.Height = titlemaster.Height + _wParent.Height + borderbottom.Height; - pgcontents.Content = new WindowsFormsHost(); - (pgcontents.Content as WindowsFormsHost).Child = _wParent; - _wParent.DoWinformsSkinningMagicOnWpf(); - } - Desktop.ShowWindow(this); - SetupUpgradeables(); - Loaded += (o,a) => - { - SetupSkin(); - ParentWindow.OnSkinLoad(); - ParentWindow.OnLoad(); - }; - - if (!_isWPF) - { - _wParent.TextChanged += (o, a) => - { - this.Text = _wParent.Text; - }; - this.Text = _wParent.Text; - } - } - - private System.Windows.Forms.UserControl _wParent = null; - - public void SetupUpgradeables() - { - close.Upgrade("close_button"); - max.Upgrade("maximize_button"); - min.Upgrade("minimize_button"); - - titlemaster.Upgrade("wm_titlebar"); - - borderleft.Upgrade("wm_free_placement"); - borderright.Upgrade("wm_free_placement"); - borderbottom.Upgrade("wm_free_placement"); - borderbottoml.Upgrade("wm_free_placement"); - borderbottomr.Upgrade("wm_free_placement"); - - - } - - public void SetupSkin() - { - if (LoadedSkin.ShowTitleCorners) - { - titleleft.Visibility = Visibility.Visible; - titleright.Visibility = Visibility.Visible; - } - else - { - titleleft.Visibility = Visibility.Hidden; - titleright.Visibility = Visibility.Hidden; - } - - try - { - _parent.Background = LoadedSkin.ControlColor.CreateBrush(); - _parent.Foreground = LoadedSkin.ControlTextColor.CreateBrush(); - } - catch - { - _wParent.BackColor = LoadedSkin.ControlColor; - _wParent.ForeColor = LoadedSkin.ControlTextColor; - } - - - titlemaster.Height = LoadedSkin.TitlebarHeight; - if(LoadedSkin.TitleTextCentered == true) - { - titletext.SetValue(Canvas.LeftProperty, (double)(titlemaster.ActualWidth - titletext.ActualWidth) / 2); - titletext.SetValue(Canvas.TopProperty, (double)LoadedSkin.TitleTextLeft.Y); - } - else - { - titletext.SetValue(Canvas.LeftProperty, (double)LoadedSkin.TitleTextLeft.X); - titletext.SetValue(Canvas.TopProperty, (double)LoadedSkin.TitleTextLeft.Y); - } - - titletext.SetFont(LoadedSkin.TitleFont); - - titletext.Foreground = LoadedSkin.TitleTextColor.CreateBrush(); - - titlebar.Background = LoadedSkin.TitleBackgroundColor.CreateBrush(); - - close.SetValue(Canvas.LeftProperty, this.ActualWidth - LoadedSkin.CloseButtonSize.Width - LoadedSkin.CloseButtonFromSide.X); - close.SetValue(Canvas.TopProperty, (double)LoadedSkin.CloseButtonFromSide.Y); - - min.SetValue(Canvas.LeftProperty, this.ActualWidth - LoadedSkin.MinimizeButtonSize.Width - LoadedSkin.MinimizeButtonFromSide.X); - min.SetValue(Canvas.TopProperty, (double)LoadedSkin.MinimizeButtonFromSide.Y); - - max.SetValue(Canvas.LeftProperty, this.ActualWidth - LoadedSkin.MaximizeButtonSize.Width - LoadedSkin.MaximizeButtonFromSide.X); - max.SetValue(Canvas.TopProperty, (double)LoadedSkin.MaximizeButtonFromSide.Y); - - close.Background = LoadedSkin.CloseButtonColor.CreateBrush(); - min.Background = LoadedSkin.MinimizeButtonColor.CreateBrush(); - max.Background = LoadedSkin.MaximizeButtonColor.CreateBrush(); - - close.BorderThickness = new Thickness(0.0); - min.BorderThickness = new Thickness(0.0); - max.BorderThickness = new Thickness(0.0); - - borderleft.Background = LoadedSkin.BorderLeftBackground.CreateBrush(); - borderright.Background = LoadedSkin.BorderRightBackground.CreateBrush(); - borderbottom.Background = LoadedSkin.BorderBottomBackground.CreateBrush(); - borderbottoml.Background = LoadedSkin.BorderBottomLeftBackground.CreateBrush(); - borderbottomr.Background = LoadedSkin.BorderBottomRightBackground.CreateBrush(); - - borderleft.Width = LoadedSkin.LeftBorderWidth; - borderright.Width = LoadedSkin.RightBorderWidth; - bottommaster.Height = LoadedSkin.BottomBorderWidth; - - } - - - protected override Size MeasureOverride(Size constraint) - { - int topHeight = 0; - int bottomHeight = 0; - int leftHeight = 0; - int rightHeight = 0; - - if (Shiftorium.UpgradeInstalled("wm_titlebar")) - topHeight = LoadedSkin.TitlebarHeight; - if (Shiftorium.UpgradeInstalled("wm_free_placement")) - { - bottomHeight = LoadedSkin.BottomBorderWidth; - leftHeight = LoadedSkin.LeftBorderWidth; - rightHeight = LoadedSkin.RightBorderWidth; - } - - if (_isWPF) - { - return new Size( - leftHeight + _parent.Width + rightHeight, - topHeight + _parent.Height + bottomHeight); - - } - else - { - return new Size( - leftHeight + _wParent.Width + rightHeight, - topHeight + _wParent.Height + bottomHeight); - } - } - - public double ActualActualHeight - { - get - { - int topHeight = 0; - int bottomHeight = 0; - - if (Shiftorium.UpgradeInstalled("wm_titlebar")) - topHeight = LoadedSkin.TitlebarHeight; - if (Shiftorium.UpgradeInstalled("wm_free_placement")) - { - bottomHeight = LoadedSkin.BottomBorderWidth; - } - - if (_isWPF) - { - return (topHeight + _parent.Height + bottomHeight); - - } - else - { - return (topHeight + _wParent.Height + bottomHeight); - } - } - } - - private bool _isDialog = false; - - public bool IsDialog - { - get - { - return _isDialog; - } - set - { - _isDialog = value; - SetupDialog(); - } - } - - public void SetupDialog() - { - if (IsDialog) - { - min.Upgrade("minimize_button"); - max.Upgrade("maximize_button"); - } - else - { - min.Visibility = Visibility.Collapsed; - max.Visibility = Visibility.Collapsed; - } - } - - private UserControl _parent = null; - - public IShiftOSWindow ParentWindow - { - get - { - if (_isWPF) - { - return (IShiftOSWindow)_parent; - } - else - { - return (IShiftOSWindow)_wParent; - } - } - - set - { - if (_isWPF) - { - _parent = (UserControl)value; - } - else - { - _wParent = (System.Windows.Forms.UserControl)value; - (this.pgcontents.Content as WindowsFormsHost).Child = _wParent; - } - } - } - - public string Text - { - get - { - return titletext.Text; - } - - set - { - titletext.Text = value; - } - } - - public void Close() - { - Desktop.RemoveWindow(this); - } - - private void close_Click(object sender, RoutedEventArgs e) - { - this.Close(); - } - - private void max_Click(object sender, RoutedEventArgs e) - { - AppearanceManager.Maximize(this); - } - - private void min_Click(object sender, RoutedEventArgs e) - { - AppearanceManager.Minimize(this); - } - - private Point currentPoint; - private TranslateTransform transform = new TranslateTransform(); - private Point anchorPoint; - - private void titlebar_MouseDown(object sender, MouseEventArgs e) - { - if (Shiftorium.UpgradeInstalled("draggable_windows") && isInDrag == true) - { - var element = sender as FrameworkElement; - currentPoint = e.GetPosition(null); - - transform.X += (currentPoint.X - anchorPoint.X); - transform.Y += (currentPoint.Y - anchorPoint.Y); - this.RenderTransform = transform; - anchorPoint = currentPoint; - if(_isWPF == false) - { - _wParent.Refresh(); - (pgcontents.Content as WindowsFormsHost).InvalidateVisual(); - } - } - } - - bool isInDrag = false; - - private void titlebar_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) - { - var element = sender as FrameworkElement; - anchorPoint = e.GetPosition(null); - isInDrag = true; - e.Handled = true; - } - - private void titlebar_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) - { - isInDrag = false; - } - } -} |
