mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-12 13:28:33 +00:00
Think better of move
This commit is contained in:
parent
bfffa99737
commit
2ad5f974e8
@ -46,51 +46,4 @@
|
||||
<ItemGroup>
|
||||
<Folder Include="Screens\Profiles\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\DisplayCondition\ConditionTypes\AlwaysOnConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\DisplayCondition\ConditionTypes\EventConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\DisplayCondition\ConditionTypes\PlayOnceConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\DisplayCondition\ConditionTypes\StaticConditionView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\DisplayCondition\DisplayConditionScriptView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\MenuBar\MenuBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Playback\PlaybackView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\ContentDialogs\ProfileElementRenameView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\CategoryAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\DeviceAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\KeyboardSectionAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\Dialogs\AdaptionHints\SingleLedAdaptionHintView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\Dialogs\LayerHintsDialogView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\FolderTreeItemView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\LayerTreeItemView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\ProfileTree\ProfileTreeView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\DataBinding\DataBindingView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Dialogs\AddEffectView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Dialogs\TimelineSegmentEditView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\PropertiesView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Keyframes\TimelineEasingView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Keyframes\TimelineKeyframeView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Segments\EndSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Segments\MainSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Segments\Segment.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\Segments\StartSegmentView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\TimelineGroupView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\TimelinePropertyView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Timeline\TimelineView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Tree\ContentDialogs\LayerEffectRenameView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Tree\Dialogs\LayerBrushPresetView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Tree\TreeGroupView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Tree\TreePropertyView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Windows\BrushConfigurationWindowView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\Properties\Windows\EffectConfigurationWindowView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\StatusBar\StatusBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\Tools\SelectionAddToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\Tools\SelectionRemoveToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\Tools\TransformToolView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\VisualEditorView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\Visualizers\LayerShapeVisualizerView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\Panels\VisualEditor\Visualizers\LayerVisualizerView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\ProfileEditorTitleBarView.axaml" />
|
||||
<AdditionalFiles Include="Screens\Profiles\ProfileEditor\ProfileEditorView.axaml" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Avalonia;
|
||||
using Avalonia.Data.Converters;
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Reactive.Linq;
|
||||
using Artemis.Core;
|
||||
using Artemis.Core.LayerBrushes;
|
||||
using Artemis.Core.Services;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree.Dialogs;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree.Dialogs;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.Builders;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
@ -14,7 +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.Profiles.ProfileEditor.Properties.Tree.Dialogs.LayerBrushPresetViewModel;
|
||||
using LayerBrushPresetViewModel = Artemis.UI.Screens.ProfileEditor.Properties.Tree.Dialogs.LayerBrushPresetViewModel;
|
||||
|
||||
namespace Artemis.UI.DefaultTypes.PropertyInput;
|
||||
|
||||
|
||||
@ -11,12 +11,12 @@ 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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
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.DataBinding;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.Settings;
|
||||
using Artemis.UI.Screens.Settings.Updating;
|
||||
using Artemis.UI.Screens.Sidebar;
|
||||
@ -26,14 +26,14 @@ using Artemis.UI.Screens.VisualScripting.Pins;
|
||||
using Artemis.WebClient.Updating;
|
||||
using DryIoc;
|
||||
using ReactiveUI;
|
||||
using LayerShapeVisualizerViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.VisualEditor.Visualizers.LayerShapeVisualizerViewModel;
|
||||
using LayerVisualizerViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.VisualEditor.Visualizers.LayerVisualizerViewModel;
|
||||
using ProfileEditorViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.ProfileEditorViewModel;
|
||||
using PropertyGroupViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.Properties.PropertyGroupViewModel;
|
||||
using PropertyViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.Properties.PropertyViewModel;
|
||||
using SingleLedAdaptionHintViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintViewModel;
|
||||
using TimelineGroupViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.TimelineGroupViewModel;
|
||||
using TreeItemViewModel = Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.TreeItemViewModel;
|
||||
using LayerShapeVisualizerViewModel = Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers.LayerShapeVisualizerViewModel;
|
||||
using LayerVisualizerViewModel = Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers.LayerVisualizerViewModel;
|
||||
using ProfileEditorViewModel = Artemis.UI.Screens.ProfileEditor.ProfileEditorViewModel;
|
||||
using PropertyGroupViewModel = Artemis.UI.Screens.ProfileEditor.Properties.PropertyGroupViewModel;
|
||||
using PropertyViewModel = Artemis.UI.Screens.ProfileEditor.Properties.PropertyViewModel;
|
||||
using SingleLedAdaptionHintViewModel = Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintViewModel;
|
||||
using TimelineGroupViewModel = Artemis.UI.Screens.ProfileEditor.Properties.Timeline.TimelineGroupViewModel;
|
||||
using TreeItemViewModel = Artemis.UI.Screens.ProfileEditor.ProfileTree.TreeItemViewModel;
|
||||
|
||||
namespace Artemis.UI.DryIoc.Factories;
|
||||
|
||||
|
||||
@ -2,13 +2,13 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Exceptions;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.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.Profiles.ProfileEditor.Properties.PropertyViewModel;
|
||||
using PropertyViewModel = Artemis.UI.Screens.ProfileEditor.Properties.PropertyViewModel;
|
||||
|
||||
namespace Artemis.UI.DryIoc.InstanceProviders;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using Artemis.UI.Screens.Home;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor;
|
||||
using Artemis.UI.Screens.ProfileEditor;
|
||||
using Artemis.UI.Screens.Root;
|
||||
using Artemis.UI.Screens.Settings;
|
||||
using Artemis.UI.Screens.Settings.Updating;
|
||||
@ -16,7 +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.Profiles.ProfileEditor.ProfileEditorViewModel;
|
||||
using ProfileEditorViewModel = Artemis.UI.Screens.ProfileEditor.ProfileEditorViewModel;
|
||||
|
||||
namespace Artemis.UI.Routing
|
||||
{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes.AlwaysOnConditionView">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.AlwaysOnConditionView">
|
||||
|
||||
<DockPanel VerticalAlignment="Top" Margin="0 5">
|
||||
<avalonia:MaterialIcon Kind="InfoCircle" Margin="5 0" />
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class AlwaysOnConditionView : UserControl
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes.EventConditionView"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.EventConditionView"
|
||||
x:DataType="conditionTypes:EventConditionViewModel">
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<DockPanel.Styles>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes.PlayOnceConditionView">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.PlayOnceConditionView">
|
||||
<DockPanel VerticalAlignment="Top" Margin="0 5">
|
||||
<avalonia:MaterialIcon Kind="InfoCircle" Margin="5 0" />
|
||||
<TextBlock Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
|
||||
public partial class PlayOnceConditionView : UserControl
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes.StaticConditionView"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.ConditionTypes.StaticConditionView"
|
||||
x:DataType="conditionTypes:StaticConditionViewModel">
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<DockPanel.Styles>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition.ConditionTypes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition"
|
||||
xmlns:displayCondition="clr-namespace:Artemis.UI.Screens.ProfileEditor.DisplayCondition"
|
||||
mc:Ignorable="d" d:DesignWidth="200" d:DesignHeight="650"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition.DisplayConditionScriptView"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.DisplayCondition.DisplayConditionScriptView"
|
||||
x:DataType="displayCondition:DisplayConditionScriptViewModel">
|
||||
<UserControl.Styles>
|
||||
<Style Selector="ComboBox.condition-type /template/ ContentPresenter#ContentPresenter">
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.DisplayCondition;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.MenuBar"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.MenuBar.MenuBarView"
|
||||
x:DataType="menuBar1:MenuBarViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.MenuBar.MenuBarView"
|
||||
x:DataType="menuBar:MenuBarViewModel">
|
||||
<Menu VerticalAlignment="Top" Closed="MenuBase_OnMenuClosed">
|
||||
<MenuItem Header="_File">
|
||||
<MenuItem Header="New">
|
||||
@ -1,9 +1,10 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.VisualTree;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.MenuBar;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.MenuBar;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.MenuBar;
|
||||
|
||||
public partial class MenuBarViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -42,7 +42,7 @@ public partial class MenuBarViewModel : ActivatableViewModelBase
|
||||
_profileService = profileService;
|
||||
_settingsService = settingsService;
|
||||
_windowService = windowService;
|
||||
ViewForMixins.WhenActivated((IActivatableViewModel) this, (CompositeDisposable d) =>
|
||||
this.WhenActivated(d =>
|
||||
{
|
||||
profileEditorService.History.Subscribe(history => History = history).DisposeWith(d);
|
||||
_profileConfiguration = profileEditorService.ProfileConfiguration.ToProperty(this, vm => vm.ProfileConfiguration).DisposeWith(d);
|
||||
@ -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:playback="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Playback"
|
||||
xmlns:playback="clr-namespace:Artemis.UI.Screens.ProfileEditor.Playback"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="48"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Playback.PlaybackView"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Playback.PlaybackView"
|
||||
x:DataType="playback:PlaybackViewModel">
|
||||
<Grid Margin="8 0">
|
||||
<Grid.ColumnDefinitions>
|
||||
@ -1,7 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Playback;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
||||
|
||||
public partial class PlaybackView : ReactiveUserControl<PlaybackViewModel>
|
||||
{
|
||||
@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Reactive;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
@ -11,7 +11,7 @@ using Avalonia.Threading;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Playback;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
||||
|
||||
public partial class PlaybackViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -8,7 +8,7 @@ using Avalonia.Interactivity;
|
||||
using Avalonia.VisualTree;
|
||||
using Avalonia.Xaml.Interactions.DragAndDrop;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Behaviors;
|
||||
namespace Artemis.UI.Screens.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:contentDialogs1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.ContentDialogs"
|
||||
xmlns:contentDialogs="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.ContentDialogs.ProfileElementRenameView"
|
||||
x:DataType="contentDialogs1:ProfileElementRenameViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs.ProfileElementRenameView"
|
||||
x:DataType="contentDialogs:ProfileElementRenameViewModel">
|
||||
<StackPanel>
|
||||
<TextBox Name="NameTextBox" Text="{CompiledBinding ProfileElementName}" Watermark="Profile element name" />
|
||||
</StackPanel>
|
||||
@ -1,10 +1,13 @@
|
||||
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.Profiles.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
namespace Artemis.UI.Screens.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<ProfileElementRenameViewModel, string>(vm => vm.ProfileElementName, name => !string.IsNullOrWhiteSpace(name), "You must specify a valid name");
|
||||
this.ValidationRule(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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.CategoryAdaptionHintView"
|
||||
x:DataType="adaptionHints1:CategoryAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.CategoryAdaptionHintView"
|
||||
x:DataType="adaptionHints:CategoryAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Category hint</TextBlock>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class CategoryAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.DeviceAdaptionHintView"
|
||||
x:DataType="adaptionHints1:DeviceAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.DeviceAdaptionHintView"
|
||||
x:DataType="adaptionHints:DeviceAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Device type hint</TextBlock>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class DeviceAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.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:adaptionHints1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
xmlns:adaptionHints="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.KeyboardSectionAdaptionHintView"
|
||||
x:DataType="adaptionHints1:KeyboardSectionAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.KeyboardSectionAdaptionHintView"
|
||||
x:DataType="adaptionHints:KeyboardSectionAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Keyboard section hint</TextBlock>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class KeyboardSectionAdaptionHintView : UserControl
|
||||
{
|
||||
@ -1,6 +1,6 @@
|
||||
using Artemis.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public class KeyboardSectionAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -2,12 +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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintView"
|
||||
x:DataType="adaptionHints1:SingleLedAdaptionHintViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints.SingleLedAdaptionHintView"
|
||||
x:DataType="adaptionHints:SingleLedAdaptionHintViewModel">
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="Auto,Auto">
|
||||
<StackPanel Grid.ColumnSpan="2" Margin="0 0 0 5">
|
||||
<TextBlock Classes="h5">Single LED hint</TextBlock>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
|
||||
public partial class SingleLedAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
@ -18,11 +18,11 @@ public partial class SingleLedAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||
{
|
||||
SingleLedAdaptionHint = adaptionHint;
|
||||
|
||||
this.WhenAnyValue<SingleLedAdaptionHintViewModel, AdaptionLed>(vm => vm.SelectedLed).WhereNotNull().Subscribe(l => SingleLedAdaptionHint.LedId = l.Value);
|
||||
this.WhenAnyValue(vm => vm.SelectedLed).WhereNotNull().Subscribe(l => SingleLedAdaptionHint.LedId = l.Value);
|
||||
Task.Run(() =>
|
||||
{
|
||||
AdaptionLeds = Enum.GetValues<LedId>().Select(l => new AdaptionLed(l)).ToList();
|
||||
SelectedLed = Enumerable.FirstOrDefault<AdaptionLed>(AdaptionLeds, l => l.Value == adaptionHint.LedId);
|
||||
SelectedLed = AdaptionLeds.FirstOrDefault(l => l.Value == adaptionHint.LedId);
|
||||
});
|
||||
}
|
||||
|
||||
@ -2,12 +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: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.Profiles.ProfileEditor.ProfileTree.Dialogs"
|
||||
mc:Ignorable="d"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs.LayerHintsDialogView"
|
||||
x:DataType="dialogs1:LayerHintsDialogViewModel"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.LayerHintsDialogView"
|
||||
x:DataType="dialogs:LayerHintsDialogViewModel"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Icon="/Assets/Images/Logo/application.ico"
|
||||
Title="Artemis | Adaption hints"
|
||||
@ -1,6 +1,8 @@
|
||||
using Artemis.UI.Shared;
|
||||
using Avalonia;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
||||
using Artemis.UI.Shared;
|
||||
using DynamicData;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs;
|
||||
|
||||
public class LayerHintsDialogViewModel : DialogViewModelBase<bool>
|
||||
{
|
||||
@ -3,10 +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:profileTree1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree"
|
||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.FolderTreeItemView"
|
||||
x:DataType="profileTree1:FolderTreeItemViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.FolderTreeItemView"
|
||||
x:DataType="profileTree: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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
|
||||
public partial class FolderTreeItemView : ReactiveUserControl<FolderTreeItemViewModel>
|
||||
{
|
||||
@ -1,7 +1,9 @@
|
||||
using System.Linq;
|
||||
using System;
|
||||
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;
|
||||
@ -9,7 +11,7 @@ using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
|
||||
public class FolderTreeItemViewModel : TreeItemViewModel
|
||||
{
|
||||
@ -3,10 +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:profileTree1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree"
|
||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.LayerTreeItemView"
|
||||
x:DataType="profileTree1:LayerTreeItemViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.LayerTreeItemView"
|
||||
x:DataType="profileTree: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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree"
|
||||
xmlns:behaviors1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Behaviors"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.ProfileTreeView"
|
||||
x:DataType="profileTree1:ProfileTreeViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ProfileTreeView"
|
||||
x:DataType="profileTree: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>
|
||||
<behaviors1:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
||||
<profileBehaviors: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="profileTree1:TreeItemViewModel" Background="Transparent">
|
||||
<ContentControl Content="{CompiledBinding}" x:DataType="profileTree: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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.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(() => { 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));
|
||||
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));
|
||||
|
||||
this.WhenAnyValue<ProfileTreeViewModel, TreeItemViewModel>(vm => vm.SelectedChild).Subscribe(model =>
|
||||
this.WhenAnyValue(vm => vm.SelectedChild).Subscribe(model =>
|
||||
{
|
||||
if (model?.ProfileElement is RenderProfileElement renderProfileElement)
|
||||
profileEditorService.ChangeCurrentProfileElement(renderProfileElement);
|
||||
@ -5,23 +5,25 @@ 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.Profiles.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.ProfileTree.Dialogs;
|
||||
using Artemis.UI.Screens.ProfileEditor.ProfileTree.ContentDialogs;
|
||||
using Artemis.UI.Screens.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.Profiles.ProfileEditor.ProfileTree;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||
|
||||
public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -55,13 +57,13 @@ public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
|
||||
AddLayer = ReactiveCommand.Create(ExecuteAddLayer);
|
||||
AddFolder = ReactiveCommand.Create(ExecuteAddFolder);
|
||||
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));
|
||||
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));
|
||||
Rename = ReactiveCommand.CreateFromTask(ExecuteRename);
|
||||
Delete = ReactiveCommand.Create(ExecuteDelete);
|
||||
Duplicate = ReactiveCommand.CreateFromTask(ExecuteDuplicate);
|
||||
Copy = ReactiveCommand.CreateFromTask(ExecuteCopy);
|
||||
Paste = ReactiveCommand.CreateFromTask(ExecutePaste, this.WhenAnyValue<TreeItemViewModel, bool>(vm => vm.CanPaste));
|
||||
Paste = ReactiveCommand.CreateFromTask(ExecutePaste, this.WhenAnyValue(vm => vm.CanPaste));
|
||||
AbsorbCommand = ReactiveCommand.Create(() => true);
|
||||
|
||||
this.WhenActivated(d =>
|
||||
@ -78,7 +80,7 @@ public abstract partial class TreeItemViewModel : ActivatableViewModelBase
|
||||
CreateTreeItems();
|
||||
});
|
||||
|
||||
this.WhenAnyValue<TreeItemViewModel, bool>(vm => vm.IsFlyoutOpen).ObserveOn(AvaloniaScheduler.Instance).Subscribe(UpdateCanPaste);
|
||||
this.WhenAnyValue(vm => vm.IsFlyoutOpen).ObserveOn(AvaloniaScheduler.Instance).Subscribe(UpdateCanPaste);
|
||||
}
|
||||
|
||||
public ReactiveCommand<Unit, bool> AbsorbCommand { get; }
|
||||
@ -3,9 +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:dataBinding="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.DataBinding"
|
||||
xmlns:dataBinding="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.DataBinding"
|
||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.DataBinding.DataBindingView"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.DataBinding.DataBindingView"
|
||||
x:DataType="dataBinding:DataBindingViewModel">
|
||||
<Grid RowDefinitions="48,*">
|
||||
<Grid Grid.Row="0" ColumnDefinitions="Auto,Auto,*" Background="{DynamicResource ControlFillColorDefaultBrush}">
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.DataBinding;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.Properties.DataBinding;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.Properties.Dialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs.AddEffectView"
|
||||
x:DataType="dialogs1:AddEffectViewModel"
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Dialogs.AddEffectView"
|
||||
x:DataType="dialogs:AddEffectViewModel"
|
||||
Width="500">
|
||||
<Grid RowDefinitions="Auto,*">
|
||||
<TextBox Name="SearchBox" Text="{CompiledBinding SearchText}" Margin="0 0 0 15" Watermark="Search" />
|
||||
@ -1,9 +1,10 @@
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Avalonia;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public partial class AddEffectView : ReactiveUserControl<AddEffectViewModel>
|
||||
{
|
||||
@ -11,7 +11,7 @@ using DynamicData;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.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<AddEffectViewModel, string>(vm => vm.SearchText).Select(CreatePredicate);
|
||||
IObservable<Func<LayerEffectDescriptor, bool>> layerEffectFilter = this.WhenAnyValue(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.Profiles.ProfileEditor.Properties.Dialogs"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs.TimelineSegmentEditView"
|
||||
x:DataType="dialogs1:TimelineSegmentEditViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Dialogs.TimelineSegmentEditView"
|
||||
x:DataType="dialogs:TimelineSegmentEditViewModel">
|
||||
<StackPanel>
|
||||
<controls:NumberBox Name="LengthNumberBox"
|
||||
Minimum="0.1"
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public partial class TimelineSegmentEditView : ReactiveUserControl<TimelineSegmentEditViewModel>
|
||||
{
|
||||
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
|
||||
public class TimelineSegmentEditViewModel : ContentDialogViewModelBase
|
||||
{
|
||||
@ -3,13 +3,13 @@
|
||||
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.Profiles.ProfileEditor.Properties"
|
||||
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="350"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.PropertiesView"
|
||||
x:DataType="properties:PropertiesViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.PropertiesView"
|
||||
x:DataType="local:PropertiesViewModel">
|
||||
<UserControl.Styles>
|
||||
<StyleInclude Source="/Screens/Profiles/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
<StyleInclude Source="/Screens/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
</UserControl.Styles>
|
||||
<UserControl.Resources>
|
||||
<converters:DoubleToGridLengthConverter x:Key="DoubleToGridLengthConverter" />
|
||||
@ -30,7 +30,7 @@
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<ItemsControl ItemsSource="{CompiledBinding PropertyGroupViewModels}" Padding="0 0 8 0">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<TreeDataTemplate DataType="{x:Type properties:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<TreeDataTemplate DataType="{x:Type local:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<ContentControl Content="{CompiledBinding TreeGroupViewModel}" />
|
||||
</TreeDataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
@ -3,10 +3,11 @@ 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.Profiles.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.Playback;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.DataBinding;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
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.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertiesViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -7,15 +7,16 @@ using Artemis.Core;
|
||||
using Artemis.Core.LayerBrushes;
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Artemis.UI.DryIoc.Factories;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
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.Shared.Services.PropertyInput;
|
||||
using DynamicData;
|
||||
using DynamicData.Binding;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Tree;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||
using DynamicData;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
|
||||
public partial class PropertyViewModel : PropertyViewModelBase, IDisposable
|
||||
{
|
||||
@ -2,7 +2,7 @@
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties;
|
||||
|
||||
public abstract class PropertyViewModelBase : ViewModelBase
|
||||
{
|
||||
@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public interface ITimelinePropertyViewModel : IReactiveObject
|
||||
{
|
||||
@ -3,7 +3,7 @@ using System.Reactive;
|
||||
using Artemis.Core;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.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.Profiles.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes.TimelineEasingView"
|
||||
x:DataType="keyframes1:TimelineEasingViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes.TimelineEasingView"
|
||||
x:DataType="keyframes:TimelineEasingViewModel">
|
||||
<Grid ColumnDefinitions="25,30,*">
|
||||
<avalonia:MaterialIcon Grid.Column="0" Kind="Check" IsVisible="{CompiledBinding IsEasingModeSelected}" HorizontalAlignment="Left"/>
|
||||
<Polyline Grid.Column="1"
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public partial class TimelineEasingView : UserControl
|
||||
{
|
||||
@ -6,7 +6,7 @@ using Avalonia;
|
||||
using Humanizer;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.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:keyframes1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
xmlns:keyframes="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes.TimelineKeyframeView"
|
||||
x:Class="Artemis.UI.Screens.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="keyframes1:TimelineEasingViewModel">
|
||||
<Style Selector="MenuItem > MenuItem" x:DataType="keyframes:TimelineEasingViewModel">
|
||||
<Setter Property="Command" Value="{CompiledBinding SelectEasingFunction}" />
|
||||
<Setter Property="CommandParameter" Value="{CompiledBinding EasingFunction}" />
|
||||
</Style>
|
||||
@ -1,9 +1,10 @@
|
||||
using System;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.LogicalTree;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public partial class TimelineKeyframeView : ReactiveUserControl<ITimelineKeyframeViewModel>
|
||||
{
|
||||
@ -13,13 +13,14 @@ using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Extensions;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using Avalonia;
|
||||
using Avalonia.Input;
|
||||
using DynamicData;
|
||||
using DynamicData.Binding;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
|
||||
public partial class TimelineKeyframeViewModel<T> : ActivatableViewModelBase, ITimelineKeyframeViewModel
|
||||
{
|
||||
@ -48,7 +49,7 @@ public partial class TimelineKeyframeViewModel<T> : ActivatableViewModelBase, IT
|
||||
profileEditorService.PixelsPerSecond.Subscribe(_ => Update()).DisposeWith(d);
|
||||
this.WhenAnyValue(vm => vm.LayerPropertyKeyframe.Position).Subscribe(_ => Update()).DisposeWith(d);
|
||||
});
|
||||
this.WhenAnyValue<TimelineKeyframeViewModel<T>, bool>(vm => vm.IsFlyoutOpen).Subscribe(UpdateCanPaste);
|
||||
this.WhenAnyValue(vm => vm.IsFlyoutOpen).Subscribe(UpdateCanPaste);
|
||||
|
||||
Duplicate = ReactiveCommand.Create(ExecuteDuplicate);
|
||||
Copy = ReactiveCommand.CreateFromTask(ExecuteCopy);
|
||||
@ -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:segments1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments"
|
||||
xmlns:segments="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="18"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments.EndSegmentView"
|
||||
x:DataType="segments1:EndSegmentViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments.EndSegmentView"
|
||||
x:DataType="segments:EndSegmentViewModel">
|
||||
<UserControl.Styles>
|
||||
<StyleInclude Source="/Screens/Profiles/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
<StyleInclude Source="/Screens/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
</UserControl.Styles>
|
||||
<Border Classes="segment-container">
|
||||
<Grid Name="SegmentGrid"
|
||||
@ -1,7 +1,8 @@
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public partial class EndSegmentView : ReactiveUserControl<EndSegmentViewModel>
|
||||
{
|
||||
@ -7,7 +7,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public class EndSegmentViewModel : TimelineSegmentViewModel
|
||||
{
|
||||
@ -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:segments1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments"
|
||||
xmlns:segments="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="18"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments.MainSegmentView"
|
||||
x:DataType="segments1:MainSegmentViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments.MainSegmentView"
|
||||
x:DataType="segments:MainSegmentViewModel">
|
||||
<UserControl.Styles>
|
||||
<StyleInclude Source="/Screens/Profiles/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
<StyleInclude Source="/Screens/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
</UserControl.Styles>
|
||||
<Border Classes="segment-container">
|
||||
<Grid Name="SegmentGrid"
|
||||
@ -1,7 +1,8 @@
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public partial class MainSegmentView : ReactiveUserControl<MainSegmentViewModel>
|
||||
{
|
||||
@ -7,7 +7,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public class MainSegmentViewModel : TimelineSegmentViewModel
|
||||
{
|
||||
@ -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:segments1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments"
|
||||
xmlns:segments="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="18"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments.StartSegmentView"
|
||||
x:DataType="segments1:StartSegmentViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments.StartSegmentView"
|
||||
x:DataType="segments:StartSegmentViewModel">
|
||||
<UserControl.Styles>
|
||||
<StyleInclude Source="/Screens/Profiles/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
<StyleInclude Source="/Screens/ProfileEditor/Panels/Properties/Timeline/Segments/Segment.axaml" />
|
||||
</UserControl.Styles>
|
||||
<Border Classes="segment-container">
|
||||
<Grid Name="SegmentGrid"
|
||||
@ -1,7 +1,8 @@
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public partial class StartSegmentView : ReactiveUserControl<StartSegmentViewModel>
|
||||
{
|
||||
@ -7,7 +7,7 @@ using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public class StartSegmentViewModel : TimelineSegmentViewModel
|
||||
{
|
||||
@ -6,7 +6,7 @@ using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Dialogs;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Dialogs;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Shared.Services.Builders;
|
||||
@ -15,7 +15,7 @@ using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Segments;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||
|
||||
public abstract partial class TimelineSegmentViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -38,7 +38,7 @@ public abstract partial class TimelineSegmentViewModel : ActivatableViewModelBas
|
||||
|
||||
EditTime = ReactiveCommand.CreateFromTask(ExecuteEditTime);
|
||||
|
||||
ViewForMixins.WhenActivated((IActivatableViewModel) this, (CompositeDisposable d) =>
|
||||
this.WhenActivated(d =>
|
||||
{
|
||||
profileEditorService.ProfileElement.Subscribe(p => _profileElement = p).DisposeWith(d);
|
||||
profileEditorService.PixelsPerSecond.Subscribe(p => _pixelsPerSecond = p).DisposeWith(d);
|
||||
@ -2,12 +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:properties="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties"
|
||||
xmlns:timeline="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline"
|
||||
xmlns:system="clr-namespace:System;assembly=netstandard"
|
||||
xmlns:timeline1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline"
|
||||
xmlns:properties1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.TimelineGroupView"
|
||||
x:DataType="timeline1:TimelineGroupViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.TimelineGroupView"
|
||||
x:DataType="timeline:TimelineGroupViewModel">
|
||||
<Grid RowDefinitions="28,1,Auto">
|
||||
<ItemsControl Grid.Row="0"
|
||||
Height="28"
|
||||
@ -44,10 +44,10 @@
|
||||
IsVisible="{CompiledBinding PropertyGroupViewModel.IsExpanded}"
|
||||
HorizontalAlignment="Stretch">
|
||||
<ItemsControl.DataTemplates>
|
||||
<DataTemplate DataType="properties1:PropertyGroupViewModel">
|
||||
<DataTemplate DataType="properties:PropertyGroupViewModel">
|
||||
<ContentControl Content="{CompiledBinding TimelineGroupViewModel}" IsVisible="{CompiledBinding IsVisible}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="properties1:PropertyViewModel">
|
||||
<DataTemplate DataType="properties:PropertyViewModel">
|
||||
<ContentControl Content="{CompiledBinding TimelinePropertyViewModel}" IsVisible="{CompiledBinding IsVisible}" />
|
||||
</DataTemplate>
|
||||
</ItemsControl.DataTemplates>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public partial class TimelineGroupView : ReactiveUserControl<TimelineGroupViewModel>
|
||||
{
|
||||
@ -8,7 +8,7 @@ using DynamicData.Binding;
|
||||
using PropertyChanged.SourceGenerator;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public partial class TimelineGroupViewModel : ActivatableViewModelBase
|
||||
{
|
||||
@ -20,11 +20,11 @@ public partial class TimelineGroupViewModel : ActivatableViewModelBase
|
||||
PropertyGroupViewModel = propertyGroupViewModel;
|
||||
_keyframePositions = new ReadOnlyObservableCollection<double>(new ObservableCollection<double>());
|
||||
|
||||
ViewForMixins.WhenActivated((IActivatableViewModel) this, (CompositeDisposable d) =>
|
||||
this.WhenActivated(d =>
|
||||
{
|
||||
profileEditorService.PixelsPerSecond.Subscribe(p => _pixelsPerSecond = p).DisposeWith(d);
|
||||
|
||||
PropertyGroupViewModel.WhenAnyValue<PropertyGroupViewModel, bool>(vm => vm.IsExpanded).Subscribe(_ => this.RaisePropertyChanged(nameof(Children))).DisposeWith(d);
|
||||
PropertyGroupViewModel.WhenAnyValue(vm => vm.IsExpanded).Subscribe(_ => this.RaisePropertyChanged(nameof(Children))).DisposeWith(d);
|
||||
PropertyGroupViewModel.Keyframes
|
||||
.ToObservableChangeSet()
|
||||
.AutoRefreshOnObservable(_ => profileEditorService.PixelsPerSecond)
|
||||
@ -3,7 +3,7 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.TimelinePropertyView">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.TimelinePropertyView">
|
||||
<Border Height="29" BorderThickness="0,0,0,1" BorderBrush="{DynamicResource ButtonBorderBrush}">
|
||||
<ItemsControl ItemsSource="{Binding KeyframeViewModels}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
@ -1,6 +1,7 @@
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public partial class TimelinePropertyView : ReactiveUserControl<ITimelinePropertyViewModel>
|
||||
{
|
||||
@ -5,13 +5,13 @@ using System.Linq;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||
using DynamicData;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public class TimelinePropertyViewModel<T> : ActivatableViewModelBase, ITimelinePropertyViewModel
|
||||
{
|
||||
@ -2,12 +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:local="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties"
|
||||
xmlns:timeline="clr-namespace:Artemis.UI.Screens.ProfileEditor.Properties.Timeline"
|
||||
xmlns:shared="clr-namespace:Artemis.UI.Shared;assembly=Artemis.UI.Shared"
|
||||
xmlns:timeline1="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline"
|
||||
xmlns:properties="clr-namespace:Artemis.UI.Screens.Profiles.ProfileEditor.Properties"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.TimelineView"
|
||||
x:DataType="timeline1:TimelineViewModel">
|
||||
x:Class="Artemis.UI.Screens.ProfileEditor.Properties.Timeline.TimelineView"
|
||||
x:DataType="timeline:TimelineViewModel">
|
||||
<UserControl.Resources>
|
||||
</UserControl.Resources>
|
||||
<Grid Background="Transparent" PointerReleased="InputElement_OnPointerReleased" Focusable="True" MinWidth="{CompiledBinding MinWidth}">
|
||||
@ -19,7 +19,7 @@
|
||||
</Grid.KeyBindings>
|
||||
<ItemsControl ItemsSource="{CompiledBinding PropertyGroupViewModels}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<TreeDataTemplate DataType="{x:Type properties:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<TreeDataTemplate DataType="{x:Type local:PropertyGroupViewModel}" ItemsSource="{CompiledBinding Children}">
|
||||
<ContentControl Content="{CompiledBinding TimelineGroupViewModel}" />
|
||||
</TreeDataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
@ -1,14 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||
using Artemis.UI.Shared.Events;
|
||||
using Artemis.UI.Shared.Extensions;
|
||||
using Avalonia;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.VisualTree;
|
||||
|
||||
namespace Artemis.UI.Screens.Profiles.ProfileEditor.Properties.Timeline;
|
||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||
|
||||
public partial class TimelineView : ReactiveUserControl<TimelineViewModel>
|
||||
{
|
||||
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