2026-06-05 13:44:39 +09:00

109 lines
4.5 KiB
C#

using System.Security.Cryptography;
using System.Windows;
using System.Windows.Controls;
using VisionCommon;
namespace MilUI {
/// <summary>
/// Interaction logic for MultiLineSettingWindow.xaml
/// </summary>
public partial class MultiLineSettingWindow : Window, IPatternSettingWindow {
public string WINDOW_TITLE => "Multi Line Finder";
private PatternAgentBase _patternAgent;
private PatternInfo _patternInfo;
private CameraDisplay _cameraDisplay;
private FovInfo _fovInfo;
public MultiLineSettingWindow(
PatternAgentBase patternAgent, PatternInfo patternInfo, CameraDisplay milCameraDisplay, FovInfo fovInfo) {
InitializeComponent();
_patternAgent = patternAgent;
_patternInfo = patternInfo;
_cameraDisplay = milCameraDisplay;
_fovInfo = fovInfo;
SetTitle();
CreateView();
}
private void CreateView() {
var multiLineSettingView = new MultiLineSettingView(_patternAgent, _patternInfo, _cameraDisplay, _fovInfo);
multiLineSettingView.DataContext = new MultiLineSettingViewModel(_patternAgent, _patternInfo, _cameraDisplay, _fovInfo);
lineSettingScrollViewer.Content = multiLineSettingView;
//CreateSubPatternView();
}
//private void CreateSubPatternView() {
// var subPatternTabControl = new TabControl();
// subPatternTabControl.Style = FindResource("styleSubPatternTabControl") as Style;
// AddAllPatternTabControl(subPatternTabControl);
// AddMainPatternTabControl(subPatternTabControl);
// AddSubPatternTabControl(subPatternTabControl);
// lineSettingScrollViewer.Content = subPatternTabControl;
//}
//private void AddMainPatternTabControl(TabControl subPatternTabControl) {
// AddPatternTabControl(subPatternTabControl, _patternAgent, _patternInfo, _milCameraDisplay, _fovInfo);
//}
//private void AddAllPatternTabControl(TabControl subPatternTabControl) {
// var lineSettingView = new LineAllSettingView() {
// DataContext = new LineSettingAllViewModel(_patternAgent, _patternInfo, _milCameraDisplay, _fovInfo)
// };
// var subPatternTabItem = new TabItem() {
// Header = "ALL",
// Content = lineSettingView
// };
// subPatternTabItem.Style = FindResource("styleSubMenuRootTabItem") as Style;
// subPatternTabControl.Items.Add(subPatternTabItem);
//}
//private void AddSubPatternTabControl(TabControl subPatternTabControl) {
// for (int i = PatternConstants.MAIN_PATTERN_INDEX + 1; i < PatternConstants.MULTI_PATTERN_COUNT; i++) {
// PatternInfo mulPatternInfo;
// var mulPatternIndex = PatternAgentBase.GetSubPatternIndex(_patternInfo, i);
// if (_patternAgent.IsPatternExist(mulPatternIndex)) {
// mulPatternInfo = _patternAgent.GetPatternInfo(mulPatternIndex);
// }
// else {
// mulPatternInfo = _patternInfo.Clone() as PatternInfo;
// mulPatternInfo.SetPatternSubId(i);
// mulPatternInfo.Description += string.Format($"_{i}");
// }
// AddPatternTabControl(subPatternTabControl, _patternAgent, mulPatternInfo, _milCameraDisplay, _fovInfo);
// }
//}
//private void AddPatternTabControl(
// TabControl subPatternTabControl,
// PatternAgentBase patternAgent, PatternInfo patternInfo,
// CameraDisplay milCameraDisplay,
// FovInfo fovInfo) {
// var lineSettingView = new LineSettingView() {
// DataContext = new LineSettingViewModel(patternAgent, patternInfo, milCameraDisplay, fovInfo)
// };
// var subPatternTabItem = new TabItem() {
// Header = patternInfo.GetPatternSubId().ToString(),
// Content = lineSettingView
// };
// subPatternTabItem.Style = FindResource("styleSubMenuRootTabItem") as Style;
// subPatternTabControl.Items.Add(subPatternTabItem);
//}
public void SetTitle() {
Title = WINDOW_TITLE;
}
public void ResetPosition() {
Left = WindowUtil.GetLeftWithRatioOnMainWindow(0.6);
Top = WindowUtil.GetTopWithRatioOnMainWindow(0.2);
}
}
}