using System.Security.Cryptography; using System.Windows; using System.Windows.Controls; using VisionCommon; namespace MilUI { /// /// Interaction logic for MultiLineSettingWindow.xaml /// 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); } } }