mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-12 13:28:33 +00:00
Plugins - Allow config window to be mandatory
UI - Move profile editor into Profile screen, profile page no longer always has to show the editor
This commit is contained in:
parent
565647f1ed
commit
3c8d8b2387
@ -11,4 +11,10 @@ public interface IPluginConfigurationDialog
|
||||
/// The type of view model the tab contains
|
||||
/// </summary>
|
||||
Type Type { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A value indicating whether it's mandatory to configure this plugin.
|
||||
/// <remarks>If set to <see langword="true"/>, the dialog will open the first time the plugin is enabled.</remarks>
|
||||
/// </summary>
|
||||
bool IsMandatory { get; }
|
||||
}
|
||||
@ -1,6 +1,5 @@
|
||||
<ResourceDictionary xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:FluentAvalonia.UI.Controls"
|
||||
xmlns:tagsInput="clr-namespace:Artemis.UI.Shared.TagsInput"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
x:CompileBindings="True">
|
||||
|
||||
@ -6,6 +6,22 @@ namespace Artemis.UI.Shared;
|
||||
/// <inheritdoc />
|
||||
public class PluginConfigurationDialog<T> : PluginConfigurationDialog where T : PluginConfigurationViewModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a new instance of the <see cref="PluginConfigurationDialog{T}"/> class.
|
||||
/// </summary>
|
||||
public PluginConfigurationDialog()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new instance of the <see cref="PluginConfigurationDialog{T}"/> class with the specified <paramref name="isMandatory"/> flag.
|
||||
/// </summary>
|
||||
/// <param name="isMandatory">A value indicating whether the configuration dialog is mandatory.</param>
|
||||
public PluginConfigurationDialog(bool isMandatory)
|
||||
{
|
||||
IsMandatory = isMandatory;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override Type Type => typeof(T);
|
||||
}
|
||||
@ -17,4 +33,7 @@ public abstract class PluginConfigurationDialog : IPluginConfigurationDialog
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public abstract Type Type { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool IsMandatory { get; protected set; }
|
||||
}
|
||||
@ -1,6 +1,5 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia">
|
||||
<Design.PreviewWith>
|
||||
<HyperlinkButton Grid.Column="0" Classes="icon-button icon-button-small broken-state-button" Margin="50">
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia">
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia">
|
||||
<!-- Preview -->
|
||||
<Design.PreviewWith>
|
||||
<Border Padding="20">
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dataModel="clr-namespace:Artemis.UI.Shared.DataModelVisualization.Shared"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:dataModelPicker="clr-namespace:Artemis.UI.Shared.DataModelPicker">
|
||||
<Design.PreviewWith>
|
||||
<dataModelPicker:DataModelPicker />
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:dataModelPicker="clr-namespace:Artemis.UI.Shared.DataModelPicker"
|
||||
xmlns:gradientPicker="clr-namespace:Artemis.UI.Shared.Controls.GradientPicker">
|
||||
<Design.PreviewWith>
|
||||
|
||||
@ -42,4 +42,55 @@
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Screens\Profile\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\DisplayCondition\ConditionTypes\AlwaysOnConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\DisplayCondition\ConditionTypes\EventConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\DisplayCondition\ConditionTypes\PlayOnceConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\DisplayCondition\ConditionTypes\StaticConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\DisplayCondition\DisplayConditionScriptView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\MenuBar\MenuBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Playback\PlaybackView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\ContentDialogs\ProfileElementRenameView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\CategoryAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\DeviceAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\KeyboardSectionAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\SingleLedAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\Dialogs\LayerHintsDialogView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\FolderTreeItemView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\LayerTreeItemView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\ProfileTree\ProfileTreeView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\DataBinding\DataBindingView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Dialogs\AddEffectView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Dialogs\TimelineSegmentEditView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\PropertiesView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Keyframes\TimelineEasingView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Keyframes\TimelineKeyframeView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Segments\EndSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Segments\MainSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Segments\Segment.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\Segments\StartSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\TimelineGroupView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\TimelinePropertyView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Timeline\TimelineView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Tree\ContentDialogs\LayerEffectRenameView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Tree\Dialogs\LayerBrushPresetView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Tree\TreeGroupView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Tree\TreePropertyView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Windows\BrushConfigurationWindowView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\Properties\Windows\EffectConfigurationWindowView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\StatusBar\StatusBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\Tools\SelectionAddToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\Tools\SelectionRemoveToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\Tools\TransformToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\VisualEditorView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\Visualizers\LayerShapeVisualizerView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\Panels\VisualEditor\Visualizers\LayerVisualizerView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\ProfileEditorTitleBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profile\ProfileEditor\ProfileEditorView.axaml" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -1,5 +1,4 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=events/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cdebugger_005Ctabs/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cdevice_005Ctabs/@EntryIndexedValue">True</s:Boolean>
|
||||
@ -7,6 +6,8 @@
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cprofileeditor_005Cpanels/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cprofileeditor_005Cpanels_005Cproperties_005Ctimeline_005Ckeyframes/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cprofileeditor_005Ctools/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cprofile_005Cprofileeditor_005Cpanels_005Cproperties_005Ctimeline_005Ckeyframes/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Cprofile_005Cprofileeditor_005Cpanels/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Csettings_005Ctabs/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Csidebar_005Ccontentdialogs/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=screens_005Csidebar_005Cdialogs/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@ -4,8 +4,6 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avaloniaEdit="https://github.com/avaloniaui/avaloniaedit"
|
||||
xmlns:mdxaml="https://github.com/whistyun/Markdown.Avalonia.Tight"
|
||||
xmlns:fa="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:input="clr-namespace:System.Windows.Input;assembly=System.ObjectModel"
|
||||
xmlns:ui="clr-namespace:Artemis.UI"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Controls.SplitMarkdownEditor">
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Avalonia;
|
||||
using Avalonia.Data.Converters;
|
||||
|
||||
@ -14,6 +14,7 @@ using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using Artemis.UI.Shared.Services.PropertyInput;
|
||||
using Avalonia.Threading;
|
||||
using ReactiveUI;
|
||||
using LayerBrushPresetViewModel = Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree.Dialogs.LayerBrushPresetViewModel;
|
||||
|
||||
namespace Artemis.UI.DefaultTypes.PropertyInput;
|
||||
|
||||
|
||||
@ -11,12 +11,16 @@ using Artemis.UI.Screens.Device.Leds;
|
||||
using Artemis.UI.Screens.Plugins;
|
||||
using Artemis.UI.Screens.Plugins.Features;
|
||||
using Artemis.UI.Screens.Plugins.Prerequisites;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor;
|
||||
using Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers;
|
||||
@ -29,6 +33,14 @@ using Artemis.UI.Screens.VisualScripting.Pins;
|
||||
using Artemis.WebClient.Updating;
|
||||
using DryIoc;
|
||||
using ReactiveUI;
|
||||
using LayerShapeVisualizerViewModel = Artemis.UI.Screens.Profile.ProfileEditor.VisualEditor.Visualizers.LayerShapeVisualizerViewModel;
|
||||
using LayerVisualizerViewModel = Artemis.UI.Screens.Profile.ProfileEditor.VisualEditor.Visualizers.LayerVisualizerViewModel;
|
||||
using ProfileEditorViewModel = Artemis.UI.Screens.Profile.ProfileEditor.ProfileEditorViewModel;
|
||||
using PropertyGroupViewModel = Artemis.UI.Screens.Profile.ProfileEditor.Properties.PropertyGroupViewModel;
|
||||
using PropertyViewModel = Artemis.UI.Screens.Profile.ProfileEditor.Properties.PropertyViewModel;
|
||||
using SingleLedAdaptionHintViewModel = Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintViewModel;
|
||||
using TimelineGroupViewModel = Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.TimelineGroupViewModel;
|
||||
using TreeItemViewModel = Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.TreeItemViewModel;
|
||||
|
||||
namespace Artemis.UI.DryIoc.Factories;
|
||||
|
||||
|
||||
@ -2,10 +2,13 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Exceptions;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using DryIoc;
|
||||
using PropertyViewModel = Artemis.UI.Screens.Profile.ProfileEditor.Properties.PropertyViewModel;
|
||||
|
||||
namespace Artemis.UI.DryIoc.InstanceProviders;
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ using Artemis.UI.Screens.Workshop.Plugins;
|
||||
using Artemis.UI.Screens.Workshop.Profile;
|
||||
using Artemis.UI.Shared.Routing;
|
||||
using PluginDetailsViewModel = Artemis.UI.Screens.Workshop.Plugins.PluginDetailsViewModel;
|
||||
using ProfileEditorViewModel = Artemis.UI.Screens.Profile.ProfileEditor.ProfileEditorViewModel;
|
||||
|
||||
namespace Artemis.UI.Routing
|
||||
{
|
||||
|
||||
@ -2,8 +2,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:debugger="clr-namespace:Artemis.UI.Screens.Debugger.Performance;assembly=Artemis.UI"
|
||||
xmlns:debugger="clr-namespace:Artemis.UI.Screens.Debugger.Performance;assembly=Artemis.UI"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:DataType="debugger:PerformanceDebugViewModel"
|
||||
x:Class="Artemis.UI.Screens.Debugger.Performance.PerformanceDebugView">
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:local="clr-namespace:Artemis.UI.Screens.Device"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:converters="clr-namespace:Artemis.UI.Shared.Converters;assembly=Artemis.UI.Shared"
|
||||
xmlns:device="clr-namespace:Artemis.UI.Screens.Device"
|
||||
xmlns:general="clr-namespace:Artemis.UI.Screens.Device.General"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="650"
|
||||
x:Class="Artemis.UI.Screens.Device.General.DeviceGeneralTabView"
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:device="clr-namespace:Artemis.UI.Screens.Device"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:inputMappings="clr-namespace:Artemis.UI.Screens.Device.InputMappings"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:services="clr-namespace:Artemis.WebClient.Workshop.Services;assembly=Artemis.WebClient.Workshop"
|
||||
xmlns:layoutProviders="clr-namespace:Artemis.UI.Screens.Device.Layout.LayoutProviders"
|
||||
xmlns:models="clr-namespace:Artemis.WebClient.Workshop.Models;assembly=Artemis.WebClient.Workshop"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:device="clr-namespace:Artemis.UI.Screens.Device"
|
||||
xmlns:converters="clr-namespace:Artemis.UI.Converters"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared.Converters;assembly=Artemis.UI.Shared"
|
||||
xmlns:leds="clr-namespace:Artemis.UI.Screens.Device.Leds"
|
||||
|
||||
@ -3,8 +3,6 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:plugins="clr-namespace:Artemis.UI.Screens.Plugins"
|
||||
xmlns:features="clr-namespace:Artemis.UI.Screens.Plugins.Features"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Plugins.Features.PluginFeatureView"
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:windowing="clr-namespace:FluentAvalonia.UI.Windowing;assembly=FluentAvalonia"
|
||||
xmlns:plugins="clr-namespace:Artemis.UI.Screens.Plugins"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:plugins="clr-namespace:Artemis.UI.Screens.Plugins"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Plugins.PluginView"
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:plugins="clr-namespace:Artemis.UI.Screens.Plugins"
|
||||
xmlns:prerequisites="clr-namespace:Artemis.UI.Screens.Plugins.Prerequisites"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Plugins.Prerequisites.PluginPrerequisiteActionView"
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:plugins="clr-namespace:Artemis.UI.Screens.Plugins"
|
||||
xmlns:prerequisites="clr-namespace:Artemis.UI.Screens.Plugins.Prerequisites"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Plugins.Prerequisites.PluginPrerequisiteView"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition;
|
||||
|
||||
public class ConditionTypeViewModel : ViewModelBase
|
||||
{
|
||||
@ -4,7 +4,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="300" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.AlwaysOnConditionView">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes.AlwaysOnConditionView">
|
||||
|
||||
<DockPanel VerticalAlignment="Top" Margin="0 5">
|
||||
<avalonia:MaterialIcon Kind="InfoCircle" Margin="5 0" />
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class AlwaysOnConditionView : UserControl
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public class AlwaysOnConditionViewModel : ViewModelBase
|
||||
{
|
||||
@ -2,10 +2,10 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:conditionTypes="clr-namespace:Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
xmlns:dataModelPicker="clr-namespace:Artemis.UI.Shared.DataModelPicker;assembly=Artemis.UI.Shared"
|
||||
xmlns:conditionTypes="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.EventConditionView"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes.EventConditionView"
|
||||
x:DataType="conditionTypes:EventConditionViewModel">
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<DockPanel.Styles>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class EventConditionView : ReactiveUserControl<EventConditionViewModel>
|
||||
{
|
||||
@ -11,7 +11,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public class EventConditionViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -4,7 +4,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.PlayOnceConditionView">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes.PlayOnceConditionView">
|
||||
<DockPanel VerticalAlignment="Top" Margin="0 5">
|
||||
<avalonia:MaterialIcon Kind="InfoCircle" Margin="5 0" />
|
||||
<TextBlock Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class PlayOnceConditionView : UserControl
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public class PlayOnceConditionViewModel : ViewModelBase
|
||||
{
|
||||
@ -2,10 +2,10 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:conditionTypes="clr-namespace:Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:conditionTypes="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.StaticConditionView"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes.StaticConditionView"
|
||||
x:DataType="conditionTypes:StaticConditionViewModel">
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<DockPanel.Styles>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class StaticConditionView : ReactiveUserControl<StaticConditionViewModel>
|
||||
{
|
||||
@ -10,7 +10,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public class StaticConditionViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -2,9 +2,9 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:displayCondition="clr-namespace:Artemis.UI.Screens.ProfileEditor.DisplayCondition"
|
||||
xmlns:displayCondition="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition"
|
||||
mc:Ignorable="d" d:DesignWidth="200" d:DesignHeight="650"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.DisplayConditionScriptView"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition.DisplayConditionScriptView"
|
||||
x:DataType="displayCondition:DisplayConditionScriptViewModel">
|
||||
<UserControl.Styles>
|
||||
<Style Selector="ComboBox.condition-type /template/ ContentPresenter#ContentPresenter">
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition;
|
||||
|
||||
public partial class DisplayConditionScriptView : ReactiveUserControl<DisplayConditionScriptViewModel>
|
||||
{
|
||||
@ -9,7 +9,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.DisplayCondition;
|
||||
|
||||
public class DisplayConditionScriptViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -3,11 +3,11 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:menuBar="clr-namespace:Artemis.UI.Screens.ProfileEditor.MenuBar"
|
||||
xmlns:profileEditor="clr-namespace:Artemis.UI.Shared.Services.ProfileEditor;assembly=Artemis.UI.Shared"
|
||||
xmlns:menuBar1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.MenuBar"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.MenuBar.MenuBarView"
|
||||
x:DataType="menuBar:MenuBarViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.MenuBar.MenuBarView"
|
||||
x:DataType="menuBar1:MenuBarViewModel">
|
||||
<Menu VerticalAlignment="Top" Closed="MenuBase_OnMenuClosed">
|
||||
<MenuItem Header="_File">
|
||||
<MenuItem Header="New">
|
||||
@ -1,10 +1,9 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.VisualTree;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.MenuBar;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.MenuBar;
|
||||
|
||||
public partial class MenuBarView : ReactiveUserControl<MenuBarViewModel>
|
||||
{
|
||||
@ -16,7 +16,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.MenuBar;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.MenuBar;
|
||||
|
||||
public partial class MenuBarViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -42,7 +42,7 @@ public partial class MenuBarViewModel : ActivatableViewModelBase
|
||||
_profileService = profileService;
|
||||
_settingsService = settingsService;
|
||||
_windowService = windowService;
|
||||
this.WhenActivated(d =>
|
||||
ViewForMixins.WhenActivated((IActivatableViewModel) this, (CompositeDisposable d) =>
|
||||
{
|
||||
profileEditorService.History.Subscribe(history => History = history).DisposeWith(d);
|
||||
_profileConfiguration = profileEditorService.ProfileConfiguration.ToProperty(this, vm => vm.ProfileConfiguration).DisposeWith(d);
|
||||
@ -3,10 +3,10 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:playback="clr-namespace:Artemis.UI.Screens.ProfileEditor.Playback"
|
||||
xmlns:playback1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Playback"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="48"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Playback.PlaybackView"
|
||||
x:DataType="playback:PlaybackViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Playback.PlaybackView"
|
||||
x:DataType="playback1:PlaybackViewModel">
|
||||
<Grid Margin="8 0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Playback;
|
||||
|
||||
public partial class PlaybackView : ReactiveUserControl<PlaybackViewModel>
|
||||
{
|
||||
@ -11,7 +11,7 @@ using Avalonia.Threading;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Playback;
|
||||
|
||||
public partial class PlaybackViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -154,7 +154,7 @@ public partial class PlaybackViewModel : ActivatableViewModelBase
|
||||
{
|
||||
RepeatTimeline = false;
|
||||
RepeatSegment = true;
|
||||
this.RaisePropertyChanged(nameof(Repeating));
|
||||
this.RaisePropertyChanged(nameof(Screens.ProfileEditor.Playback.PlaybackViewModel.Repeating));
|
||||
}
|
||||
else if (RepeatSegment)
|
||||
{
|
||||
@ -8,7 +8,7 @@ using Avalonia.Interactivity;
|
||||
using Avalonia.VisualTree;
|
||||
using Avalonia.Xaml.Interactions.DragAndDrop;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Behaviors;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Behaviors;
|
||||
|
||||
public class ProfileTreeViewDropHandler : DropHandlerBase
|
||||
{
|
||||
@ -2,10 +2,10 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:contentDialogs="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs"
|
||||
xmlns:contentDialogs1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ContentDialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs.ProfileElementRenameView"
|
||||
x:DataType="contentDialogs:ProfileElementRenameViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ContentDialogs.ProfileElementRenameView"
|
||||
x:DataType="contentDialogs1:ProfileElementRenameViewModel">
|
||||
<StackPanel>
|
||||
<TextBox Name="NameTextBox" Text="{CompiledBinding ProfileElementName}" Watermark="Profile element name" />
|
||||
</StackPanel>
|
||||
@ -1,13 +1,10 @@
|
||||
using System.Threading.Tasks;
|
||||
using Artemis.UI.Shared.Extensions;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.Threading;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
|
||||
public partial class ProfileElementRenameView : ReactiveUserControl<ProfileElementRenameViewModel>
|
||||
{
|
||||
@ -8,7 +8,7 @@ using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
using ReactiveUI.Validation.Extensions;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
|
||||
public partial class ProfileElementRenameViewModel : ContentDialogViewModelBase
|
||||
{
|
||||
@ -23,7 +23,7 @@ public partial class ProfileElementRenameViewModel : ContentDialogViewModelBase
|
||||
_profileElementName = profileElement.Name;
|
||||
|
||||
Confirm = ReactiveCommand.Create(ExecuteConfirm, ValidationContext.Valid);
|
||||
this.ValidationRule(vm => vm.ProfileElementName, name => !string.IsNullOrWhiteSpace(name), "You must specify a valid name");
|
||||
this.ValidationRule<ProfileElementRenameViewModel, string>(vm => vm.ProfileElementName, name => !string.IsNullOrWhiteSpace(name), "You must specify a valid name");
|
||||
}
|
||||
|
||||
public ReactiveCommand<Unit, Unit> Confirm { get; }
|
||||
@ -3,7 +3,7 @@ using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public abstract class AdaptionHintViewModelBase : ViewModelBase
|
||||
{
|
||||
@ -3,12 +3,12 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:adaptionHints="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:adaptionHints1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.CategoryAdaptionHintView"
|
||||
x:DataType="adaptionHints:CategoryAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.CategoryAdaptionHintView"
|
||||
x:DataType="adaptionHints1:CategoryAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Category hint</TextBlock>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class CategoryAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public class CategoryAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -2,13 +2,13 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:adaptionHints="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:adaptionHints1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.DeviceAdaptionHintView"
|
||||
x:DataType="adaptionHints:DeviceAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.DeviceAdaptionHintView"
|
||||
x:DataType="adaptionHints1:DeviceAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Device type hint</TextBlock>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class DeviceAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public class DeviceAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -4,10 +4,10 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:adaptionHints="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
xmlns:adaptionHints1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.KeyboardSectionAdaptionHintView"
|
||||
x:DataType="adaptionHints:KeyboardSectionAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.KeyboardSectionAdaptionHintView"
|
||||
x:DataType="adaptionHints1:KeyboardSectionAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Keyboard section hint</TextBlock>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class KeyboardSectionAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public class KeyboardSectionAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -2,13 +2,12 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:adaptionHints="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:adaptionHints1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintView"
|
||||
x:DataType="adaptionHints:SingleLedAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintView"
|
||||
x:DataType="adaptionHints1:SingleLedAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Single LED hint</TextBlock>
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class SingleLedAdaptionHintView : UserControl
|
||||
{
|
||||
@ -7,7 +7,7 @@ using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class SingleLedAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -18,11 +18,11 @@ public partial class SingleLedAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
SingleLedAdaptionHint = adaptionHint;
|
||||
|
||||
this.WhenAnyValue(vm => vm.SelectedLed).WhereNotNull().Subscribe(l => SingleLedAdaptionHint.LedId = l.Value);
|
||||
this.WhenAnyValue<SingleLedAdaptionHintViewModel, AdaptionLed>(vm => vm.SelectedLed).WhereNotNull().Subscribe(l => SingleLedAdaptionHint.LedId = l.Value);
|
||||
Task.Run(() =>
|
||||
{
|
||||
AdaptionLeds = Enum.GetValues<LedId>().Select(l => new AdaptionLed(l)).ToList();
|
||||
SelectedLed = AdaptionLeds.FirstOrDefault(l => l.Value == adaptionHint.LedId);
|
||||
SelectedLed = Enumerable.FirstOrDefault<AdaptionLed>(AdaptionLeds, l => l.Value == adaptionHint.LedId);
|
||||
});
|
||||
}
|
||||
|
||||
@ -2,13 +2,12 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:dialogs="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:windowing="clr-namespace:FluentAvalonia.UI.Windowing;assembly=FluentAvalonia"
|
||||
xmlns:dialogs1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs"
|
||||
mc:Ignorable="d"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.LayerHintsDialogView"
|
||||
x:DataType="dialogs:LayerHintsDialogViewModel"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.LayerHintsDialogView"
|
||||
x:DataType="dialogs1:LayerHintsDialogViewModel"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Icon="/Assets/Images/Logo/application.ico"
|
||||
Title="Artemis | Adaption hints"
|
||||
@ -1,8 +1,6 @@
|
||||
using Artemis.UI.Shared;
|
||||
using Avalonia;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs;
|
||||
|
||||
public partial class LayerHintsDialogView : ReactiveAppWindow<LayerHintsDialogViewModel>
|
||||
{
|
||||
@ -6,12 +6,12 @@ using System.Reactive.Linq;
|
||||
using Artemis.Core;
|
||||
using Artemis.Core.Services;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Shared;
|
||||
using DynamicData;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs;
|
||||
|
||||
public class LayerHintsDialogViewModel : DialogViewModelBase<bool>
|
||||
{
|
||||
@ -3,11 +3,10 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:profileTree1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.FolderTreeItemView"
|
||||
x:DataType="profileTree:FolderTreeItemViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.FolderTreeItemView"
|
||||
x:DataType="profileTree1:FolderTreeItemViewModel">
|
||||
<Grid ColumnDefinitions="Auto,Auto,*,Auto,Auto">
|
||||
<HyperlinkButton Grid.Column="0"
|
||||
Classes="icon-button icon-button-small broken-state-button"
|
||||
@ -1,6 +1,6 @@
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public partial class FolderTreeItemView : ReactiveUserControl<FolderTreeItemViewModel>
|
||||
{
|
||||
@ -1,9 +1,7 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Artemis.Core;
|
||||
using Artemis.Core.Services;
|
||||
using Artemis.Storage.Entities.Profile;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Extensions;
|
||||
using Artemis.UI.Models;
|
||||
@ -11,7 +9,7 @@ using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public class FolderTreeItemViewModel : TreeItemViewModel
|
||||
{
|
||||
@ -3,11 +3,10 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:profileTree1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.LayerTreeItemView"
|
||||
x:DataType="profileTree:LayerTreeItemViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.LayerTreeItemView"
|
||||
x:DataType="profileTree1:LayerTreeItemViewModel">
|
||||
<Grid ColumnDefinitions="Auto,Auto,*,Auto,Auto">
|
||||
<HyperlinkButton Grid.Column="0"
|
||||
Classes="icon-button icon-button-small broken-state-button"
|
||||
@ -1,6 +1,6 @@
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public partial class LayerTreeItemView : ReactiveUserControl<LayerTreeItemViewModel>
|
||||
{
|
||||
@ -10,7 +10,7 @@ using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public class LayerTreeItemViewModel : TreeItemViewModel
|
||||
{
|
||||
@ -3,13 +3,13 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||
xmlns:profileBehaviors="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Behaviors"
|
||||
xmlns:behaviors="clr-namespace:Artemis.UI.Behaviors"
|
||||
xmlns:converters="clr-namespace:Artemis.UI.Converters"
|
||||
xmlns:profileTree1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree"
|
||||
xmlns:behaviors1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Behaviors"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ProfileTreeView"
|
||||
x:DataType="profileTree:ProfileTreeViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ProfileTreeView"
|
||||
x:DataType="profileTree1:ProfileTreeViewModel">
|
||||
<!-- These cause binding errors, not my fault - https://github.com/AvaloniaUI/Avalonia/issues/5762 -->
|
||||
<UserControl.KeyBindings>
|
||||
<KeyBinding Gesture="Escape" Command="{CompiledBinding ClearSelection}" />
|
||||
@ -26,7 +26,7 @@
|
||||
<StyleInclude Source="avares://Avalonia.Xaml.Interactions.Draggable/Styles.axaml" />
|
||||
<Style Selector="TreeView#Profile">
|
||||
<Style.Resources>
|
||||
<profileBehaviors:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
||||
<behaviors1:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
||||
</Style.Resources>
|
||||
<Setter Property="(Interaction.Behaviors)">
|
||||
<BehaviorCollectionTemplate>
|
||||
@ -101,7 +101,7 @@
|
||||
</TreeView.Styles>
|
||||
<TreeView.ItemTemplate>
|
||||
<TreeDataTemplate ItemsSource="{CompiledBinding Children}">
|
||||
<ContentControl Content="{CompiledBinding}" x:DataType="profileTree:TreeItemViewModel" Background="Transparent">
|
||||
<ContentControl Content="{CompiledBinding}" x:DataType="profileTree1:TreeItemViewModel" Background="Transparent">
|
||||
<ContentControl.ContextFlyout>
|
||||
<MenuFlyout IsOpen="{CompiledBinding IsFlyoutOpen, Mode=OneWayToSource}">
|
||||
<MenuItem Header="Add new folder" Command="{CompiledBinding AddFolder}">
|
||||
@ -10,7 +10,7 @@ using Avalonia.Media.Imaging;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.VisualTree;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public partial class ProfileTreeView : ReactiveUserControl<ProfileTreeViewModel>
|
||||
{
|
||||
@ -14,7 +14,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public partial class ProfileTreeViewModel : TreeItemViewModel
|
||||
{
|
||||
@ -51,13 +51,13 @@ public partial class ProfileTreeViewModel : TreeItemViewModel
|
||||
});
|
||||
|
||||
ClearSelection = ReactiveCommand.Create(() => profileEditorService.ChangeCurrentProfileElement(null), this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
RenameSelected = ReactiveCommand.Create(() => { SelectedChild?.Rename.Execute().Subscribe(); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
DeleteSelected = ReactiveCommand.Create(() => { SelectedChild?.Delete.Execute().Subscribe(); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
DuplicateSelected = ReactiveCommand.Create(() => { SelectedChild?.Duplicate.Execute().Subscribe(); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
CopySelected = ReactiveCommand.Create(() => { SelectedChild?.Copy.Execute().Subscribe(); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
PasteSelected = ReactiveCommand.Create(() => { SelectedChild?.Paste.Execute().Subscribe(); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
RenameSelected = ReactiveCommand.Create(() => { ObservableExtensions.Subscribe<Unit>(SelectedChild?.Rename.Execute()); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
DeleteSelected = ReactiveCommand.Create(() => { ObservableExtensions.Subscribe<Unit>(SelectedChild?.Delete.Execute()); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
DuplicateSelected = ReactiveCommand.Create(() => { ObservableExtensions.Subscribe<Unit>(SelectedChild?.Duplicate.Execute()); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
CopySelected = ReactiveCommand.Create(() => { ObservableExtensions.Subscribe<Unit>(SelectedChild?.Copy.Execute()); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
PasteSelected = ReactiveCommand.Create(() => { ObservableExtensions.Subscribe<Unit>(SelectedChild?.Paste.Execute()); }, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));
|
||||
|
||||
this.WhenAnyValue(vm => vm.SelectedChild).Subscribe(model =>
|
||||
this.WhenAnyValue<ProfileTreeViewModel, TreeItemViewModel>(vm => vm.SelectedChild).Subscribe(model =>
|
||||
{
|
||||
if (model?.ProfileElement is RenderProfileElement renderProfileElement)
|
||||
profileEditorService.ChangeCurrentProfileElement(renderProfileElement);
|
||||
@ -5,25 +5,23 @@ using System.Linq;
|
||||
using System.Reactive;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Artemis.Core;
|
||||
using Artemis.Core.Services;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Extensions;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree.Dialogs;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.Builders;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using Avalonia;
|
||||
using Avalonia.ReactiveUI;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.ProfileTree;
|
||||
|
||||
public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -57,13 +55,13 @@ public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
|
||||
AddLayer = ReactiveCommand.Create(ExecuteAddLayer);
|
||||
AddFolder = ReactiveCommand.Create(ExecuteAddFolder);
|
||||
OpenAdaptionHints = ReactiveCommand.CreateFromTask(ExecuteOpenAdaptionHints, this.WhenAnyValue(vm => vm.ProfileElement).Select(p => p is Layer));
|
||||
ApplyAdaptionHints = ReactiveCommand.Create(ExecuteApplyAdaptionHints, this.WhenAnyValue(vm => vm.ProfileElement).Select(p => p is Layer));
|
||||
OpenAdaptionHints = ReactiveCommand.CreateFromTask(ExecuteOpenAdaptionHints, this.WhenAnyValue<TreeItemViewModel, ProfileElement>(vm => vm.ProfileElement).Select(p => p is Layer));
|
||||
ApplyAdaptionHints = ReactiveCommand.Create(ExecuteApplyAdaptionHints, this.WhenAnyValue<TreeItemViewModel, ProfileElement>(vm => vm.ProfileElement).Select(p => p is Layer));
|
||||
Rename = ReactiveCommand.CreateFromTask(ExecuteRename);
|
||||
Delete = ReactiveCommand.Create(ExecuteDelete);
|
||||
Duplicate = ReactiveCommand.CreateFromTask(ExecuteDuplicate);
|
||||
Copy = ReactiveCommand.CreateFromTask(ExecuteCopy);
|
||||
Paste = ReactiveCommand.CreateFromTask(ExecutePaste, this.WhenAnyValue(vm => vm.CanPaste));
|
||||
Paste = ReactiveCommand.CreateFromTask(ExecutePaste, this.WhenAnyValue<TreeItemViewModel, bool>(vm => vm.CanPaste));
|
||||
AbsorbCommand = ReactiveCommand.Create(() => true);
|
||||
|
||||
this.WhenActivated(d =>
|
||||
@ -80,7 +78,7 @@ public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
CreateTreeItems();
|
||||
});
|
||||
|
||||
this.WhenAnyValue(vm => vm.IsFlyoutOpen).ObserveOn(AvaloniaScheduler.Instance).Subscribe(UpdateCanPaste);
|
||||
this.WhenAnyValue<TreeItemViewModel, bool>(vm => vm.IsFlyoutOpen).ObserveOn(AvaloniaScheduler.Instance).Subscribe(UpdateCanPaste);
|
||||
}
|
||||
|
||||
public ReactiveCommand<Unit, bool> AbsorbCommand { get; }
|
||||
@ -3,10 +3,9 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:dataBinding="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.DataBinding"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:dataBinding="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.DataBinding.DataBindingView"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding.DataBindingView"
|
||||
x:DataType="dataBinding:DataBindingViewModel">
|
||||
<Grid RowDefinitions="48,*">
|
||||
<Grid Grid.Row="0" ColumnDefinitions="Auto,Auto,*" Background="{DynamicResource ControlFillColorDefaultBrush}">
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.DataBinding;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding;
|
||||
|
||||
public partial class DataBindingView : ReactiveUserControl<DataBindingViewModel>
|
||||
{
|
||||
@ -14,7 +14,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.DataBinding;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding;
|
||||
|
||||
public class DataBindingViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -4,11 +4,11 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:layerEffects="clr-namespace:Artemis.Core.LayerEffects;assembly=Artemis.Core"
|
||||
xmlns:dialogs="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Dialogs"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:dialogs1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Dialogs.AddEffectView"
|
||||
x:DataType="dialogs:AddEffectViewModel"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs.AddEffectView"
|
||||
x:DataType="dialogs1:AddEffectViewModel"
|
||||
Width="500">
|
||||
<Grid RowDefinitions="Auto,*">
|
||||
<TextBox Name="SearchBox" Text="{CompiledBinding SearchText}" Margin="0 0 0 15" Watermark="Search" />
|
||||
@ -1,10 +1,9 @@
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Avalonia;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public partial class AddEffectView : ReactiveUserControl<AddEffectViewModel>
|
||||
{
|
||||
@ -11,7 +11,7 @@ using DynamicData;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public partial class AddEffectViewModel : ContentDialogViewModelBase
|
||||
{
|
||||
@ -26,7 +26,7 @@ public partial class AddEffectViewModel : ContentDialogViewModelBase
|
||||
|
||||
SourceList<LayerEffectDescriptor> layerEffectSourceList = new();
|
||||
layerEffectSourceList.AddRange(layerEffectService.GetLayerEffects());
|
||||
IObservable<Func<LayerEffectDescriptor, bool>> layerEffectFilter = this.WhenAnyValue(vm => vm.SearchText).Select(CreatePredicate);
|
||||
IObservable<Func<LayerEffectDescriptor, bool>> layerEffectFilter = this.WhenAnyValue<AddEffectViewModel, string>(vm => vm.SearchText).Select(CreatePredicate);
|
||||
|
||||
layerEffectSourceList.Connect()
|
||||
.Filter(layerEffectFilter)
|
||||
@ -3,11 +3,11 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
xmlns:dialogs="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Dialogs"
|
||||
xmlns:attachedProperties="clr-namespace:Artemis.UI.Shared.AttachedProperties;assembly=Artemis.UI.Shared"
|
||||
xmlns:dialogs1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Dialogs.TimelineSegmentEditView"
|
||||
x:DataType="dialogs:TimelineSegmentEditViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs.TimelineSegmentEditView"
|
||||
x:DataType="dialogs1:TimelineSegmentEditViewModel">
|
||||
<StackPanel>
|
||||
<controls:NumberBox Name="LengthNumberBox"
|
||||
Minimum="0.1"
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public partial class TimelineSegmentEditView : ReactiveUserControl<TimelineSegmentEditViewModel>
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public class TimelineSegmentEditViewModel : ContentDialogViewModelBase
|
||||
{
|
||||
@ -3,11 +3,11 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:controls="clr-namespace:Artemis.UI.Controls"
|
||||
xmlns:local="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties"
|
||||
xmlns:converters="clr-namespace:Artemis.UI.Converters"
|
||||
xmlns:properties="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties"
|
||||
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="350"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.PropertiesView"
|
||||
x:DataType="local:PropertiesViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.PropertiesView"
|
||||
x:DataType="properties:PropertiesViewModel">
|
||||
<UserControl.Styles>
|
||||
<StyleInclude Source="/Screens/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
</UserControl.Styles>
|
||||
@ -30,7 +30,7 @@
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<ItemsControl ItemsSource="{CompiledBinding PropertyGroupViewModels}" Padding="0 0 8 0">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<TreeDataTemplate DataType="{x:Type local:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<TreeDataTemplate DataType="{x:Type properties:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<ContentControl Content="{CompiledBinding TreeGroupViewModel}" />
|
||||
</TreeDataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
@ -3,11 +3,10 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Avalonia;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.VisualTree;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertiesView : ReactiveUserControl<PropertiesViewModel>
|
||||
{
|
||||
@ -11,17 +11,17 @@ using Artemis.Core.LayerBrushes;
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Artemis.Core.Services;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Screens.ProfileEditor.Playback;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Playback;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Dialogs;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertiesViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -7,16 +7,15 @@ using Artemis.Core;
|
||||
using Artemis.Core.LayerBrushes;
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Shared.Services.PropertyInput;
|
||||
using DynamicData;
|
||||
using DynamicData.Binding;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertyGroupViewModel : PropertyViewModelBase, IDisposable
|
||||
{
|
||||
@ -2,12 +2,12 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Tree;
|
||||
using DynamicData;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertyViewModel : PropertyViewModelBase, IDisposable
|
||||
{
|
||||
@ -2,7 +2,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties;
|
||||
|
||||
public abstract class PropertyViewModelBase : ViewModelBase
|
||||
{
|
||||
@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public interface ITimelinePropertyViewModel : IReactiveObject
|
||||
{
|
||||
@ -3,7 +3,7 @@ using System.Reactive;
|
||||
using Artemis.Core;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public interface ITimelineKeyframeViewModel
|
||||
{
|
||||
@ -2,11 +2,11 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:keyframes="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:keyframes1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes.TimelineEasingView"
|
||||
x:DataType="keyframes:TimelineEasingViewModel">
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes.TimelineEasingView"
|
||||
x:DataType="keyframes1:TimelineEasingViewModel">
|
||||
<Grid ColumnDefinitions="25,30,*">
|
||||
<avalonia:MaterialIcon Grid.Column="0" Kind="Check" IsVisible="{CompiledBinding IsEasingModeSelected}" HorizontalAlignment="Left"/>
|
||||
<Polyline Grid.Column="1"
|
||||
@ -1,7 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public partial class TimelineEasingView : UserControl
|
||||
{
|
||||
@ -6,7 +6,7 @@ using Avalonia;
|
||||
using Humanizer;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public class TimelineEasingViewModel : ViewModelBase
|
||||
{
|
||||
@ -3,9 +3,9 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:keyframes="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
xmlns:keyframes1="clr-namespace:Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes.TimelineKeyframeView"
|
||||
x:Class="Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes.TimelineKeyframeView"
|
||||
ClipToBounds="False">
|
||||
<Ellipse Fill="{DynamicResource SystemAccentColorLight2}"
|
||||
Stroke="White"
|
||||
@ -35,7 +35,7 @@
|
||||
<MenuFlyout Opening="FlyoutBase_OnOpening">
|
||||
<MenuItem Header="Easing" ItemsSource="{Binding EasingViewModels}">
|
||||
<MenuItem.Styles>
|
||||
<Style Selector="MenuItem > MenuItem" x:DataType="keyframes:TimelineEasingViewModel">
|
||||
<Style Selector="MenuItem > MenuItem" x:DataType="keyframes1:TimelineEasingViewModel">
|
||||
<Setter Property="Command" Value="{CompiledBinding SelectEasingFunction}" />
|
||||
<Setter Property="CommandParameter" Value="{CompiledBinding EasingFunction}" />
|
||||
</Style>
|
||||
@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.LogicalTree;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.Profile.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public partial class TimelineKeyframeView : ReactiveUserControl<ITimelineKeyframeViewModel>
|
||||
{
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user