public MainWindow() { InitializeComponent(); ui = this; GCodeViewer = viewer; int res; if ((res = Profile.SetupAndOpen(Title, App.Current.Dispatcher)) != 0) { Environment.Exit(res); } BaseWindowTitle = Title; GrblInfo.LatheModeEnabled = Profile.Config.LatheMode; turningWizard.ApplySettings(Profile.Config.Lathe); threadingWizard.ApplySettings(Profile.Config.Lathe); if (Profile.Config.EnableGCodeViewer) { GCodeViewer.ApplySettings(Profile.Config.GCodeViewer); } else { ShowView(false, ViewType.GCodeViewer); } #if ADD_CAMERA enableCamera(this); #else menuCamera.Visibility = Visibility.Hidden; #endif turningWizard.GCodePush += wizard_GCodePush; threadingWizard.GCodePush += wizard_GCodePush; //facingWizard.GCodePush += wizard_GCodePush; //SDCardControl.FileSelected += new CNC_Controls.SDCardControl.FileSelectedHandler(SDCardControl_FileSelected); tabMode.SelectedIndex = 0; foreach (TabItem tab in UIUtils.FindLogicalChildren <TabItem>(ui.tabMode)) { tab.IsEnabled = GetRenderer(tab).mode == ViewType.GRBL; } currentRenderer = GetRenderer((TabItem)tabMode.Items[tabMode.SelectedIndex]); }
private void TabMode_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (currentRenderer != null && e.AddedItems.Count > 0) { ViewType prevMode = currentRenderer.mode; CNCView nextRenderer = GetRenderer((TabItem)tabMode.Items[tabMode.SelectedIndex]); if (nextRenderer != currentRenderer) { currentRenderer.Activate(false, nextRenderer.mode); currentRenderer = nextRenderer; currentRenderer.Activate(true, prevMode); } } }
private static CNCView GetRenderer(TabItem tab) { CNCView renderer = null; foreach (UserControl uc in UIUtils.FindLogicalChildren <UserControl>(tab)) { if (uc is CNCView) { renderer = (CNCView)uc; break; } } return(renderer); }
private void fileCloseMenuItem_Click(object sender, RoutedEventArgs e) { CNCView view, grbl = GetRenderer(getTab(ViewType.GRBL)); grbl.CloseFile(); foreach (TabItem tabitem in UIUtils.FindLogicalChildren <TabItem>(ui.tabMode)) { if ((view = GetRenderer(tabitem)) != null && view != grbl) { view.CloseFile(); } } }