Skip to content

Commit

Permalink
Merge pull request #205 from mohammadKarimi/183-add-pinunpin-option-t…
Browse files Browse the repository at this point in the history
…o-panels

Add pin/unpin option to Color Panel
  • Loading branch information
mohammadKarimi authored Jan 29, 2025
2 parents 794ebbb + ba485e1 commit da07055
Show file tree
Hide file tree
Showing 11 changed files with 182 additions and 27 deletions.
8 changes: 0 additions & 8 deletions src/Riter/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,6 @@
</Style>

<Style x:Key="ColorPallateStyle" TargetType="Border">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="#EEE"
BlurRadius="8"
ShadowDepth="1"
Opacity="0.5"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Tag" Value="Selected">
<Setter Property="Background" Value="#FFF"/>
Expand Down
2 changes: 1 addition & 1 deletion src/Riter/Core/UI/SettingPanel.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
xmlns:viewmodel="clr-namespace:Riter.ViewModel"
d:DataContext="{d:DesignInstance Type=viewmodel:PaletteStateOrchestratorViewModel}"
mc:Ignorable="d"
Width="620" Height="355" DataContext="{Binding}" >
Width="625" Height="355" DataContext="{Binding}" >
<Grid Margin="0,0,0,4">
<Border Padding="8,8" CornerRadius="12" Visibility="{Binding SettingPanelViewModel.SettingPanelVisibility}" Background="#FFF" BorderBrush="#E5E5E5" BorderThickness="1">
<Border.Effect>
Expand Down
26 changes: 21 additions & 5 deletions src/Riter/Core/UI/SubPanels/ColorPalettePanel.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,30 @@
xmlns:viewmodel="clr-namespace:Riter.ViewModel"
d:DataContext="{d:DesignInstance Type=viewmodel:PaletteStateOrchestratorViewModel}"
mc:Ignorable="d"
d:DesignHeight="260" d:DesignWidth="200">
d:DesignHeight="260">

<Grid Background="#FFF">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Left" Margin="0,0,0,8">
<Label Content="Select Your Color" Foreground="Black"/>
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Left">
<Grid>
<Label Content="Select Your Color" Foreground="Black"/>
<Border HorizontalAlignment="Right" >
<Button ToolTip="Pin" Content="{StaticResource Icon_Pin}" Command="{Binding SettingPanelViewModel.SetPinCommand}" CommandParameter="ColorPanel">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource ToolboxButtonStyle}">
<Setter Property="Tag" Value="UnSelected"/>
<Style.Triggers>
<DataTrigger Binding="{Binding SettingPanelViewModel.PinPanel}" Value="ColorPanel">
<Setter Property="Tag" Value="Selected"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Border>
</Grid>
<StackPanel VerticalAlignment="Top" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,4,0,0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Right" VerticalAlignment="Top" >
<StackPanel Orientation="Horizontal">
Expand Down
68 changes: 68 additions & 0 deletions src/Riter/Core/UI/SubPanels/Pinable/ColorPalettePanel.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<UserControl x:Class="Riter.Core.UI.SubPanels.Pinable.ColorPalettePanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewmodel="clr-namespace:Riter.ViewModel"
d:DataContext="{d:DesignInstance Type=viewmodel:PaletteStateOrchestratorViewModel}"
mc:Ignorable="d"
d:DesignHeight="260">

<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Left">
<StackPanel VerticalAlignment="Top" Orientation="Horizontal" HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal">
<Border Background="Yellow" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Width="32" Height="32" Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="Yellow"/>
</Border>
<Border Background="#7853DE" Tag="Selected" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#7853DE"/>
</Border>
<Border Background="#3BE1A9" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#3BE1A9"/>
</Border>
<Border Background="#FF8C82" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#FF8C82"/>
</Border>
<Border Background="#FFFF5656" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#FFFF5656"/>
</Border>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Background="#01C7FC" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#01C7FC"/>
</Border>
<Border Background="#DB6EBD" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#DB6EBD"/>
</Border>
<Border Background="#D6D6D6" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="#D6D6D6"/>
</Border>
<Border Background="Black" Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="Black"/>
</Border>
<Border Margin="8,0,0,0" CornerRadius="16" Height="32" Width="32" Style="{StaticResource ColorPallateStyle}">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Red" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.16" />
<GradientStop Color="Yellow" Offset="0.33" />
<GradientStop Color="Green" Offset="0.5" />
<GradientStop Color="Blue" Offset="0.66" />
<GradientStop Color="Indigo" Offset="0.83" />
<GradientStop Color="Violet" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<Button Style="{StaticResource ButtonColorStyle}" Command="{Binding BrushSettingsViewModel.SetInkColorCommand}" CommandParameter="RainBow"/>
</Border>
</StackPanel>
</StackPanel>

</StackPanel>
</Grid>

</UserControl>

17 changes: 17 additions & 0 deletions src/Riter/Core/UI/SubPanels/Pinable/ColorPalettePanel.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System.Windows.Controls;

namespace Riter.Core.UI.SubPanels.Pinable;

/// <summary>
/// Interaction logic for StrokeSizePanel.xaml.
/// </summary>
public partial class ColorPalettePanel : UserControl
{
/// <summary>
/// Initializes a new instance of the <see cref="ColorPalettePanel"/> class.
/// </summary>
public ColorPalettePanel()
{
InitializeComponent();
}
}
36 changes: 29 additions & 7 deletions src/Riter/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@
xmlns:localCore="clr-namespace:Riter.Core"
xmlns:local="clr-namespace:Riter.Core.UI"
xmlns:subpanel="clr-namespace:Riter.Core.UI.SubPanels"
xmlns:pinableSubPanel="clr-namespace:Riter.Core.UI.SubPanels.Pinable"
x:Class="Riter.MainWindow"
mc:Ignorable="d" ResizeMode="NoResize"
UseLayoutRounding="True"
WindowStartupLocation="Manual"
WindowState="Maximized"
AllowsTransparency="True"
WindowStyle="None">

<Window.Style>
<Style TargetType="Window">
<Setter Property="Background" Value="{StaticResource NoneTransparent}"/>
Expand All @@ -30,15 +31,15 @@
<StackPanel x:Name="MainPalette" Orientation="Vertical" VerticalAlignment="Center">
<Grid VerticalAlignment="Bottom">
<local:SettingPanel DataContext="{Binding}" x:Name="SettingPanel" />
<Border Padding="8,8" Visibility="{Binding SettingPanelViewModel.ShapePanelVisibility}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="75,0,0,8" Width="250" Height="300" CornerRadius="12" Background="#FFF" BorderBrush="#1E1E1E" BorderThickness="1">
<Border Padding="8,8" Visibility="{Binding SettingPanelViewModel.ShapePanelVisibility}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="75,0,0,4" Width="250" Height="300" CornerRadius="12" Background="#FFF" BorderBrush="#1E1E1E" BorderThickness="1">
<Border.Effect>
<DropShadowEffect Opacity="0.2" ShadowDepth="3" BlurRadius="10" />
</Border.Effect>
<subpanel:DrawingShapePanel x:Name="DrawindShapePanel"/>
<subpanel:DrawingShapePanel x:Name="DrawingShapePanel"/>
</Border>
<Border Visibility="{Binding SettingPanelViewModel.BrushPanelVisibility}"
Padding="8,8" HorizontalAlignment="Left"
Margin="8,0,0,8" VerticalAlignment="Bottom"
Margin="0,0,0,4" VerticalAlignment="Bottom"
CornerRadius="12"
Background="#FFF"
BorderBrush="#1E1E1E" BorderThickness="1">
Expand All @@ -49,7 +50,7 @@
</Border>
<Border Visibility="{Binding SettingPanelViewModel.ColorPanelVisibility}"
Padding="8,8" HorizontalAlignment="Left"
Margin="8,0,0,8" VerticalAlignment="Bottom"
Margin="0,0,0,4" VerticalAlignment="Bottom"
CornerRadius="12"
Background="#FFF"
BorderBrush="#1E1E1E" BorderThickness="1">
Expand All @@ -60,10 +61,10 @@
</Border>
<Border Visibility="{Binding SettingPanelViewModel.TimerPanelVisibility}"
Padding="8,8" HorizontalAlignment="Center"
Margin="175,0,0,8" VerticalAlignment="Bottom"
Margin="175,0,0,4" VerticalAlignment="Bottom"
CornerRadius="12"
Background="#FFF"
BorderBrush="#1E1E1E" BorderThickness="1">
BorderBrush="#1E1E1E" BorderThickness="1">
<Border.Effect>
<DropShadowEffect Opacity="0.2" ShadowDepth="3" BlurRadius="10" />
</Border.Effect>
Expand All @@ -76,6 +77,27 @@
<local:ToolBox x:Name="ToolBox" DataContext="{Binding}"/>
<local:WindowControl x:Name="WindowControl"/>
</StackPanel>
<Border
Padding="4" HorizontalAlignment="Left"
Margin="0,4,0,0" VerticalAlignment="Bottom"
CornerRadius="12"
Background="Transparent"
MinWidth="505">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding SettingPanelViewModel.PinPanel}" Value="ColorPanel">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Border.Effect>
<DropShadowEffect Opacity="0.2" ShadowDepth="3" BlurRadius="10" />
</Border.Effect>
<pinableSubPanel:ColorPalettePanel x:Name="PinColorPalettePanel"/>
</Border>
</StackPanel>
</Canvas>
</Grid>
Expand Down
5 changes: 5 additions & 0 deletions src/Riter/Resources/Icons.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -379,5 +379,10 @@
<Path Data="M2 9.5C2 9.5 2 9.08579 2.29289 8.79289C2.29289 8.79289 2.58579 8.5 3 8.5H13C13 8.5 13.4142 8.5 13.7071 8.79289C13.7071 8.79289 14 9.08579 14 9.5V12C14 12 14 12.4142 13.7071 12.7071C13.7071 12.7071 13.4142 13 13 13H3C3 13 2.58579 13 2.29289 12.7071C2.29289 12.7071 2 12.4142 2 12V9.5ZM3 9.5V12H13V9.5H3Z" Fill="#1C1C1C"/>
</Canvas>

<Canvas Width="16" Height="16" x:Key="Icon_Pin">
<Path Data="M9.64331 1.8562L5.74951 5.74994C5.74951 5.74994 4.01831 4.88116 2.16199 6.38116C2.10742 6.42542 2.06274 6.48059 2.03088 6.54327C1.99902 6.6059 1.98071 6.6745 1.97717 6.74469C1.97363 6.81488 1.98499 6.88501 2.01038 6.9505C2.03577 7.01605 2.07458 7.0755 2.12451 7.12494L8.86206 13.8624C8.91248 13.9138 8.97339 13.9536 9.04065 13.9792C9.10791 14.0048 9.17981 14.0156 9.25159 14.0109C9.32336 14.0062 9.39331 13.986 9.45667 13.9517C9.5199 13.9175 9.57507 13.8699 9.61829 13.8124C10.1433 13.1187 10.9683 11.6812 10.2495 10.2499L14.1433 6.3562C14.1906 6.30969 14.228 6.25421 14.2537 6.19305C14.2793 6.1319 14.2925 6.06622 14.2925 5.99994C14.2925 5.93365 14.2793 5.86798 14.2537 5.80682C14.228 5.74567 14.1906 5.69025 14.1433 5.64368L10.3558 1.8562C10.3092 1.80896 10.2538 1.77142 10.1926 1.74585C10.1315 1.72021 10.0658 1.70703 9.99951 1.70703C9.93323 1.70703 9.86755 1.72021 9.8064 1.74585C9.74524 1.77142 9.68982 1.80896 9.64331 1.8562Z" Fill="black" Opacity="0.1"/>
<Path Data="M5.85337 10.8537L5.85355 10.8536C5.94732 10.7598 6 10.6326 6 10.5C6 10.3674 5.94732 10.2402 5.85355 10.1464L5.85327 10.1462L5.84924 10.1422L5.84895 10.1419C5.75558 10.0509 5.63037 10 5.5 10C5.36739 10 5.24021 10.0527 5.14645 10.1464L5.14626 10.1466L2.64663 12.6463L2.64645 12.6464C2.55268 12.7402 2.5 12.8674 2.5 13C2.5 13.1326 2.55268 13.2598 2.64645 13.3536C2.74021 13.4473 2.86739 13.5 3 13.5C3.13261 13.5 3.25979 13.4473 3.35355 13.3536L3.35374 13.3534L5.85337 10.8537Z" Fill="#1C1C1C"/>
<Path Data="M9.61405 1.28462C9.61405 1.28462 9.79936 1.20703 10.0003 1.20703C10.0003 1.20703 10.2012 1.20703 10.3865 1.28462C10.3865 1.28462 10.5718 1.36222 10.7101 1.50264L14.4949 5.28745C14.4949 5.28745 14.638 5.42842 14.7156 5.61373C14.7156 5.61373 14.7932 5.79904 14.7932 5.99995C14.7932 5.99995 14.7932 6.20085 14.7156 6.38616C14.7156 6.38616 14.638 6.57147 14.4976 6.70975L10.8439 10.3634C10.8439 10.3634 11.2036 11.3403 10.8811 12.4476C10.8811 12.4476 10.6322 13.3022 10.0187 14.1129C10.0187 14.1129 9.88741 14.2875 9.69534 14.3914C9.69534 14.3914 9.50326 14.4954 9.28534 14.5098C9.28534 14.5098 9.06742 14.5242 8.86334 14.4464C8.86334 14.4464 8.65925 14.3687 8.50921 14.216L1.77324 7.48002C1.77324 7.48002 1.62186 7.32994 1.54485 7.13117C1.54485 7.13117 1.46783 6.93241 1.47857 6.71952C1.47857 6.71952 1.4893 6.50663 1.58592 6.31662C1.58592 6.31662 1.68253 6.12661 1.84851 5.9923C1.84851 5.9923 3.15599 4.93574 4.67492 5.00357C4.67492 5.00357 5.21134 5.02752 5.63014 5.16297L9.28777 1.50536C9.28777 1.50536 9.42874 1.36222 9.61405 1.28462ZM10.0003 2.20703L6.10382 6.1035C5.95145 6.25587 5.71861 6.29348 5.52602 6.19684C5.52602 6.19684 5.18856 6.0275 4.63031 6.00257C4.63031 6.00257 3.49 5.95165 2.4773 6.76987L9.21632 13.5089L9.21937 13.512C9.21937 13.512 9.72361 12.8456 9.92099 12.1679C9.92099 12.1679 10.19 11.2442 9.80344 10.4743C9.70672 10.2817 9.74431 10.0488 9.89671 9.89639L13.7905 6.00264L13.7932 5.99995L10.003 2.20975L10.0003 2.20703Z" Fill="#1C1C1C"/>
</Canvas>

</ResourceDictionary>
3 changes: 3 additions & 0 deletions src/Riter/Riter.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
<Compile Update="Core\UI\SubPanels\ColorPalettePanel.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Core\UI\SubPanels\Pinable\ColorPalettePanel.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Core\UI\SubPanels\TimerPanel.xaml.cs">
<SubType>Code</SubType>
</Compile>
Expand Down
Loading

0 comments on commit da07055

Please sign in to comment.