コード例 #1
0
        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]);
        }
コード例 #2
0
 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);
         }
     }
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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();
                }
            }
        }