From 37c2ff38e278e02cc1c7ec9e396c19e62bca7e75 Mon Sep 17 00:00:00 2001 From: polarboy Date: Fri, 23 Aug 2024 09:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20Dropdown=20=E7=B1=BB?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Build.props | 4 ++-- Directory.Packages.props | 2 +- src/AtomUI.Controls/AtomUI.Controls.csproj | 1 - src/AtomUI.Controls/Buttons/Button.cs | 2 -- .../DropdownButton/DropdownButton.cs | 12 ++++++++++++ .../DropdownButton/DropdownButtonTheme.cs | 15 +++++++++++++++ .../DropdownButton/DropdownButtonToken.cs | 6 ++++++ .../ControlThemeRegister.g.cs | 1 + 8 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 src/AtomUI.Controls/DropdownButton/DropdownButton.cs create mode 100644 src/AtomUI.Controls/DropdownButton/DropdownButtonTheme.cs create mode 100644 src/AtomUI.Controls/DropdownButton/DropdownButtonToken.cs diff --git a/Directory.Build.props b/Directory.Build.props index fe95d7d45..ad1163d56 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,7 +7,7 @@ latest - - + + diff --git a/Directory.Packages.props b/Directory.Packages.props index 4a4953092..933384ba9 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,5 +1,5 @@ - + true diff --git a/src/AtomUI.Controls/AtomUI.Controls.csproj b/src/AtomUI.Controls/AtomUI.Controls.csproj index aafb9ecda..bd0d35927 100644 --- a/src/AtomUI.Controls/AtomUI.Controls.csproj +++ b/src/AtomUI.Controls/AtomUI.Controls.csproj @@ -20,7 +20,6 @@ - diff --git a/src/AtomUI.Controls/Buttons/Button.cs b/src/AtomUI.Controls/Buttons/Button.cs index e59fe4068..cda7b30d4 100644 --- a/src/AtomUI.Controls/Buttons/Button.cs +++ b/src/AtomUI.Controls/Buttons/Button.cs @@ -1,5 +1,4 @@ using AtomUI.Controls.Utils; -using AtomUI.Data; using AtomUI.Icon; using AtomUI.Media; using AtomUI.Theme.Styling; @@ -12,7 +11,6 @@ using Avalonia.Controls.Metadata; using Avalonia.Controls.Primitives; using Avalonia.LogicalTree; using Avalonia.Media; -using Avalonia.Rendering; namespace AtomUI.Controls; diff --git a/src/AtomUI.Controls/DropdownButton/DropdownButton.cs b/src/AtomUI.Controls/DropdownButton/DropdownButton.cs new file mode 100644 index 000000000..a00c1ecc3 --- /dev/null +++ b/src/AtomUI.Controls/DropdownButton/DropdownButton.cs @@ -0,0 +1,12 @@ +namespace AtomUI.Controls; + +public enum DropdownTriggerType +{ + Hover, + Click +} + +public class DropdownButton : Button +{ + +} \ No newline at end of file diff --git a/src/AtomUI.Controls/DropdownButton/DropdownButtonTheme.cs b/src/AtomUI.Controls/DropdownButton/DropdownButtonTheme.cs new file mode 100644 index 000000000..cbe8148ca --- /dev/null +++ b/src/AtomUI.Controls/DropdownButton/DropdownButtonTheme.cs @@ -0,0 +1,15 @@ +using AtomUI.Theme.Styling; + +namespace AtomUI.Controls; + +[ControlThemeProvider] +internal class DropdownButtonTheme : BaseButtonTheme +{ + public const string ID = "DropdownButton"; + + public DropdownButtonTheme() + : base(typeof(DropdownButton)) + { + } + +} \ No newline at end of file diff --git a/src/AtomUI.Controls/DropdownButton/DropdownButtonToken.cs b/src/AtomUI.Controls/DropdownButton/DropdownButtonToken.cs new file mode 100644 index 000000000..ca3038260 --- /dev/null +++ b/src/AtomUI.Controls/DropdownButton/DropdownButtonToken.cs @@ -0,0 +1,6 @@ +namespace AtomUI.Controls; + +public class DropdownButtonToken +{ + +} \ No newline at end of file diff --git a/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.ControlThemeRegisterGenerator/ControlThemeRegister.g.cs b/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.ControlThemeRegisterGenerator/ControlThemeRegister.g.cs index 6a62aac4b..84def6fcd 100644 --- a/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.ControlThemeRegisterGenerator/ControlThemeRegister.g.cs +++ b/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.ControlThemeRegisterGenerator/ControlThemeRegister.g.cs @@ -21,6 +21,7 @@ ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.ComboBoxItemTheme()); ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.ComboBoxSpinnerInnerBoxTheme()); ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.ComboBoxTheme()); + ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.DropdownButtonTheme()); ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.EmptyIndicatorTheme()); ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.ExpanderTheme()); ThemeManager.Current.RegisterControlTheme(new AtomUI.Controls.MenuFlyoutPresenterTheme());