|
22 | 22 | <RowDefinition Height="Auto"/> |
23 | 23 | </Grid.RowDefinitions> |
24 | 24 | <Menu Width="Auto" Height="20" VerticalAlignment="Top" Grid.Row="0"> |
25 | | - <MenuItem Header="Lab1"> |
| 25 | + <MenuItem Header="File"> |
26 | 26 | <MenuItem x:Name="Open" Header="{x:Static resx:Strings.Open}"> |
27 | 27 | <MenuItem x:Name="OpenGray" Header="{x:Static resx:Strings.OpenGray}" Command="{Binding OpenGray_ClickCommand}"/> |
28 | 28 | <MenuItem x:Name="OpenRGB" Header="{x:Static resx:Strings.OpenRGB}" Command="{Binding OpenRgb_ClickCommand}"/> |
29 | 29 | </MenuItem> |
30 | | - <MenuItem x:Name="Duplicate" Header="{x:Static resx:Strings.Duplicate}" Command="{Binding Duplicate_CommandClick}"/> |
31 | 30 | <MenuItem x:Name="Save" Header="{x:Static resx:Strings.Save}" Command="{Binding Save_ClickCommand}"/> |
32 | 31 | <MenuItem x:Name="SaveAs" Header="{x:Static resx:Strings.SaveAs}" Command="{Binding SaveAs_ClickCommand}"/> |
33 | 32 | <MenuItem x:Name="SaveAll" Header="{x:Static resx:Strings.SaveAll}" Command="{Binding SaveAll_ClickCommand}"/> |
34 | 33 | <Separator/> |
| 34 | + <MenuItem x:Name="Exit" Header="{x:Static resx:Strings.Exit}" Command="{Binding Exit_ClickCommand}"/> |
| 35 | + </MenuItem> |
| 36 | + <MenuItem Header="Image"> |
| 37 | + <MenuItem x:Name="Duplicate" Header="{x:Static resx:Strings.Duplicate}" Command="{Binding Duplicate_CommandClick}"/> |
35 | 38 | <MenuItem x:Name="Convert" Header="{x:Static resx:Strings.Convert}"> |
36 | 39 | <MenuItem x:Name="Grayize" Header="{x:Static resx:Strings.Grayize}" Command="{Binding Grayize_ClickCommand}"/> |
37 | 40 | <MenuItem x:Name="ConvertRgbToHsv" Header="{x:Static resx:Strings.RgbToHsv}" Command="{Binding ConvertRgbToHsv_ClickCommand}"/> |
38 | 41 | <MenuItem x:Name="ConvertRgbToLab" Header="{x:Static resx:Strings.RgbToLab}" Command="{Binding ConvertRgbToLab_ClickCommand}"/> |
39 | 42 | </MenuItem> |
40 | 43 | <Separator/> |
41 | | - <MenuItem x:Name="Negate" Header="{x:Static resx:Strings.Negate}" Command="{Binding Negate_ClickCommand}"/> |
42 | | - <Separator/> |
43 | | - <MenuItem x:Name="ShowHistogram" Header="{x:Static resx:Strings.ShowHistogram}" Command="{Binding ShowHistogram_ClickCommand}"/> |
44 | | - <MenuItem x:Name="StretchHistogram" Header="{x:Static resx:Strings.StretchHistogram}" Command="{Binding StretchHistogram_ClickCommand}"/> |
45 | | - <MenuItem x:Name="StretchContrast" Header="{x:Static resx:Strings.StretchContrast}" Command="{Binding StretchContrast_ClickCommand}"/> |
46 | | - <MenuItem x:Name="EqualizeHistogram" Header="{x:Static resx:Strings.EqualizeHistogram}" Command="{Binding EqualizeHistogram_ClickCommand}" /> |
| 44 | + <MenuItem Header="Histogram"> |
| 45 | + <MenuItem x:Name="ShowHistogram" Header="{x:Static resx:Strings.ShowHistogram}" Command="{Binding ShowHistogram_ClickCommand}"/> |
| 46 | + <MenuItem x:Name="StretchHistogram" Header="{x:Static resx:Strings.StretchHistogram}" Command="{Binding StretchHistogram_ClickCommand}"/> |
| 47 | + <MenuItem x:Name="StretchContrast" Header="{x:Static resx:Strings.StretchContrast}" Command="{Binding StretchContrast_ClickCommand}"/> |
| 48 | + <MenuItem x:Name="EqualizeHistogram" Header="{x:Static resx:Strings.EqualizeHistogram}" Command="{Binding EqualizeHistogram_ClickCommand}" /> |
| 49 | + </MenuItem> |
47 | 50 | <Separator/> |
48 | 51 | <MenuItem x:Name="SplitChannels" Header="{x:Static resx:Strings.SplitChannels}" Command="{Binding SplitChannels_ClickCommand}"/> |
49 | 52 | <Separator/> |
50 | | - <MenuItem x:Name="Exit" Header="{x:Static resx:Strings.Exit}" Command="{Binding Exit_ClickCommand}"/> |
| 53 | + <MenuItem Header="{x:Static resx:Strings.PyramidUp}" Command="{Binding PyramidUp_ClickCommand}"/> |
| 54 | + <MenuItem Header="{x:Static resx:Strings.PyramidDown}" Command="{Binding PyramidDown_ClickCommand}"/> |
51 | 55 | </MenuItem> |
52 | | - <MenuItem Header="Lab2"> |
| 56 | + <MenuItem Header="Basic operations"> |
| 57 | + <MenuItem x:Name="Negate" Header="{x:Static resx:Strings.Negate}" Command="{Binding Negate_ClickCommand}"/> |
53 | 58 | <MenuItem Header="{x:Static resx:Strings.Posterize}" Command="{Binding Posterize_ClickCommand}"/> |
54 | 59 | <MenuItem Header="{x:Static resx:Strings.Filters}"> |
55 | 60 | <MenuItem Header="{x:Static resx:Strings.Convolve}" Command="{Binding Convolve_ClickCommand}"/> |
|
58 | 63 | </MenuItem> |
59 | 64 | <MenuItem Header="{x:Static resx:Strings.ImageCalculator}" Command="{Binding ImageCalculator_ClickCommand}"/> |
60 | 65 | </MenuItem> |
61 | | - <MenuItem Header="Lab3"> |
| 66 | + <MenuItem Header="Process"> |
62 | 67 | <MenuItem Header="{x:Static resx:Strings.MorphologicalOperations}"> |
63 | 68 | <MenuItem Header="{x:Static resx:Strings.Erode}" Command="{Binding Erode_ClickCommand}"/> |
64 | 69 | <MenuItem Header="{x:Static resx:Strings.Dilate}" Command="{Binding Dilate_ClickCommand}"/> |
|
69 | 74 | <MenuItem Header="{x:Static resx:Strings.EdgeDetection_Hough}" Command="{Binding Hough_ClickCommand}"/> |
70 | 75 | <Separator/> |
71 | 76 | <MenuItem Header="{x:Static resx:Strings.PlotProfile}" Command="{Binding PlotProfile_ClickCommand}"/> |
72 | | - <Separator/> |
73 | | - <MenuItem Header="{x:Static resx:Strings.PyramidUp}" Command="{Binding PyramidUp_ClickCommand}"/> |
74 | | - <MenuItem Header="{x:Static resx:Strings.PyramidDown}" Command="{Binding PyramidDown_ClickCommand}"/> |
75 | 77 | </MenuItem> |
76 | | - <MenuItem Header="Lab4"> |
| 78 | + <MenuItem Header="Advanced operations"> |
77 | 79 | <MenuItem Header="{x:Static resx:Strings.Thresholding}" Command="{Binding SimpleThreshold_ClickCommand}"/> |
| 80 | + <MenuItem Header="{x:Static resx:Project.Thresholding}" Command="{Binding Threshold_ClickCommand}"/> |
78 | 81 | <!--<MenuItem Header="{x:Static resx:Strings.Watershed}" Command="{Binding Watershed_ClickCommand}"/>--> |
79 | 82 | <MenuItem Header="{x:Static resx:Strings.Inpaint}" Command="{Binding Inpaint_ClickCommand}"/> |
80 | 83 | <!--<MenuItem Header="{x:Static resx:Strings.GrabCut}" Command="{Binding GrabCut_ClickCommand}"/>--> |
81 | 84 | <!--<MenuItem Header="Analyze" Command="{Binding DetailedAnalyze_ClickCommand}"/>--> |
82 | 85 | </MenuItem> |
83 | 86 | <!--<MenuItem Header="{x:Static resx:Strings.Settings}"/>--> |
84 | | - <MenuItem x:Name="Help" Header="{x:Static resx:Strings.Help}"> |
85 | | - <MenuItem x:Name="About" Header="{x:Static resx:Strings.About}" Click="About_Click"/> |
86 | | - </MenuItem> |
87 | | - <MenuItem Header="{x:Static resx:Project.ProjectStr}"> |
88 | | - <MenuItem Header="{x:Static resx:Project.Thresholding}" Command="{Binding Threshold_ClickCommand}"/> |
| 87 | + <MenuItem Header="Analyze"> |
89 | 88 | <MenuItem Header="{x:Static resx:Project.SimpleAnalyze}" Command="{Binding SimpleAnalyze_ClickCommand}"/> |
90 | 89 | <MenuItem Header="{x:Static resx:Project.Analyze}" Command="{Binding Analyze_ClickCommand}"/> |
91 | 90 | </MenuItem> |
| 91 | + <MenuItem Header="Settings" Command="{Binding OpenSettings_ClickCommand}"/> |
| 92 | + <MenuItem x:Name="Help" Header="{x:Static resx:Strings.Help}"> |
| 93 | + <MenuItem x:Name="About" Header="{x:Static resx:Strings.About}" Click="About_Click"/> |
| 94 | + </MenuItem> |
92 | 95 | </Menu> |
93 | | - <Label x:Name="LblFocusedImage" Content="{Binding LblFocusedImageContent, TargetNullValue=null}" HorizontalAlignment="Center" Margin="100,-3,0,0" VerticalAlignment="Top" Height="31" Width="Auto"/> |
94 | | - <ToolBar HorizontalAlignment="Left" Height="36" Margin="-3,0,0,0" VerticalAlignment="Top" Width="300" Grid.Row="1" ToolBarTray.IsLocked="True"> |
| 96 | + <Label x:Name="LblFocusedImage" Content="{Binding LblFocusedImageContent, TargetNullValue=null}" Grid.Row="1" HorizontalAlignment="Left" Margin="0,-3,0,0" VerticalAlignment="Top" Height="31" Width="Auto"/> |
| 97 | + <ToolBar HorizontalAlignment="Left" Height="36" VerticalAlignment="Top" Width="300" Grid.Row="2" ToolBarTray.IsLocked="True"> |
95 | 98 | <RadioButton x:Name="RadioBtnNone" GroupName="ToolGroup" Checked="RadioButton_Checked" Unchecked="RadioButton_Unchecked"> |
96 | 99 | <RadioButton.Background> |
97 | 100 | <ImageBrush ImageSource="/Resources/NoneIcon.ico"/> |
|
0 commit comments