Browse Source

remove unused hint flags.

pull/3967/head
Dan Walmsley 6 years ago
parent
commit
122821317f
  1. 6
      samples/ControlCatalog/Pages/WindowCustomizationsPage.xaml
  2. 71
      samples/ControlCatalog/ViewModels/MainWindowViewModel.cs
  3. 11
      src/Avalonia.Controls/Platform/ExtendClientAreaChromeHints.cs

6
samples/ControlCatalog/Pages/WindowCustomizationsPage.xaml

@ -6,10 +6,8 @@
x:Class="ControlCatalog.Pages.WindowCustomizationsPage">
<StackPanel Spacing="10" Margin="25">
<CheckBox Content="Extend Client Area to Decorations" IsChecked="{Binding ExtendClientAreaEnabled}" />
<CheckBox Content="Titlebar" IsChecked="{Binding SystemTitleBarEnabled}" />
<CheckBox Content="System Chrome Buttons" IsChecked="{Binding SystemChromeButtonsEnabled}" />
<CheckBox Content="Managed Chrome Buttons" IsChecked="{Binding ManagedChromeButtonsEnabled}" />
<CheckBox Content="Prefer System Chrome Buttons" IsChecked="{Binding PreferSystemChromeButtonsEnabled}" />
<CheckBox Content="Titlebar" IsChecked="{Binding SystemTitleBarEnabled}" />
<CheckBox Content="Prefer System Chrome" IsChecked="{Binding PreferSystemChromeEnabled}" />
<Slider Minimum="-1" Maximum="200" Value="{Binding TitleBarHeight}" />
<ComboBox x:Name="TransparencyLevels" SelectedIndex="{Binding TransparencyLevel}">
<ComboBoxItem>None</ComboBoxItem>

71
samples/ControlCatalog/ViewModels/MainWindowViewModel.cs

@ -16,6 +16,12 @@ namespace ControlCatalog.ViewModels
private bool _isMenuItemChecked = true;
private WindowState _windowState;
private WindowState[] _windowStates;
private int _transparencyLevel;
private ExtendClientAreaChromeHints _chromeHints;
private bool _extendClientAreaEnabled;
private bool _systemTitleBarEnabled;
private bool _preferSystemChromeEnabled;
private double _titleBarHeight;
public MainWindowViewModel(IManagedNotificationManager notificationManager)
{
@ -65,27 +71,17 @@ namespace ControlCatalog.ViewModels
WindowState.FullScreen,
};
this.WhenAnyValue(x => x.SystemChromeButtonsEnabled, x=>x.ManagedChromeButtonsEnabled, x => x.SystemTitleBarEnabled, x=>x.PreferSystemChromeButtonsEnabled)
this.WhenAnyValue(x => x.SystemTitleBarEnabled, x=>x.PreferSystemChromeEnabled)
.Subscribe(x =>
{
var hints = ExtendClientAreaChromeHints.NoChrome | ExtendClientAreaChromeHints.OSXThickTitleBar;
if(x.Item1)
{
hints |= ExtendClientAreaChromeHints.SystemChromeButtons;
}
if(x.Item2)
{
hints |= ExtendClientAreaChromeHints.ManagedChromeButtons;
}
if(x.Item3)
{
hints |= ExtendClientAreaChromeHints.SystemTitleBar;
}
if(x.Item4)
if(x.Item2)
{
hints |= ExtendClientAreaChromeHints.PreferSystemChromeButtons;
}
@ -93,69 +89,39 @@ namespace ControlCatalog.ViewModels
ChromeHints = hints;
});
SystemTitleBarEnabled = true;
SystemChromeButtonsEnabled = true;
SystemTitleBarEnabled = true;
TitleBarHeight = -1;
}
private int _transparencyLevel;
}
public int TransparencyLevel
{
get { return _transparencyLevel; }
set { this.RaiseAndSetIfChanged(ref _transparencyLevel, value); }
}
private ExtendClientAreaChromeHints _chromeHints;
}
public ExtendClientAreaChromeHints ChromeHints
{
get { return _chromeHints; }
set { this.RaiseAndSetIfChanged(ref _chromeHints, value); }
}
private bool _extendClientAreaEnabled;
}
public bool ExtendClientAreaEnabled
{
get { return _extendClientAreaEnabled; }
set { this.RaiseAndSetIfChanged(ref _extendClientAreaEnabled, value); }
}
private bool _systemTitleBarEnabled;
}
public bool SystemTitleBarEnabled
{
get { return _systemTitleBarEnabled; }
set { this.RaiseAndSetIfChanged(ref _systemTitleBarEnabled, value); }
}
private bool _systemChromeButtonsEnabled;
}
public bool SystemChromeButtonsEnabled
public bool PreferSystemChromeEnabled
{
get { return _systemChromeButtonsEnabled; }
set { this.RaiseAndSetIfChanged(ref _systemChromeButtonsEnabled, value); }
}
private bool _managedChromeButtonsEnabled;
public bool ManagedChromeButtonsEnabled
{
get { return _managedChromeButtonsEnabled; }
set { this.RaiseAndSetIfChanged(ref _managedChromeButtonsEnabled, value); }
}
private bool _preferSystemChromeButtonsEnabled;
public bool PreferSystemChromeButtonsEnabled
{
get { return _preferSystemChromeButtonsEnabled; }
set { this.RaiseAndSetIfChanged(ref _preferSystemChromeButtonsEnabled, value); }
}
private double _titleBarHeight;
get { return _preferSystemChromeEnabled; }
set { this.RaiseAndSetIfChanged(ref _preferSystemChromeEnabled, value); }
}
public double TitleBarHeight
{
@ -163,7 +129,6 @@ namespace ControlCatalog.ViewModels
set { this.RaiseAndSetIfChanged(ref _titleBarHeight, value); }
}
public WindowState WindowState
{
get { return _windowState; }

11
src/Avalonia.Controls/Platform/ExtendClientAreaChromeHints.cs

@ -8,14 +8,7 @@ namespace Avalonia.Platform
NoChrome,
Default = SystemTitleBar,
SystemTitleBar = 0x01,
ManagedChromeButtons = 0x02,
SystemChromeButtons = 0x04,
OSXThickTitleBar = 0x08,
PreferSystemChromeButtons = 0x10,
AdaptiveChromeWithTitleBar = SystemTitleBar | PreferSystemChromeButtons,
AdaptiveChromeWithoutTitleBar = PreferSystemChromeButtons,
PreferSystemChromeButtons = 0x02,
OSXThickTitleBar = 0x08,
}
}

Loading…
Cancel
Save