Ejemplo n.º 1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="mainWindow">親コントロール</param>
        public Stage(IMainWindow mainWindow)
            : base(mainWindow)
        {
            this.window           = mainWindow;
            this.parameterManager = window.ParameterManager;
            this.coordManager     = window.CoordManager;
            InitializeComponent();

            this.KeyDown += KeyHandleStageControl_KeyDown_1;

            this.parameterManager.PlateChanged        += emulsionNumber_Changed;
            this.parameterManager.ModuleChanged       += emulsionNumber_Changed;
            this.parameterManager.EmulsionTypeChanged += emulsionType_Changed;
            this.parameterManager.LensTypeChanged     += lensType_Changed;
            this.window.RibbonTabSelected             += windowRibbonTab_Selected;
            MotorControler mc = MotorControler.GetInstance(parameterManager);

            mc.SpiralMoved += spiralMoved_Completed;

            this.parametersTimer          = new DispatcherTimer(DispatcherPriority.Normal);
            this.parametersTimer.Interval = new TimeSpan(ParameterManager.ParamtersIntervalMilliSec * 1000);
            this.parametersTimer.Tick    += parametersTimer_Tick;
            this.messages = new MessageList();
            this.messages.CallbackOfAdd = delegate(string latestStr) {
                Dispatcher.BeginInvoke(new Action(delegate() {
                    string wrapCode  = System.Environment.NewLine;
                    infoTextBox.Text = latestStr + wrapCode + infoTextBox.Text;
                }), null);
            };
            this.emulsionViewerCanvas.MouseDown += delegate(object sender, MouseButtonEventArgs e) {
                if (viewMouseDownAction != null)
                {
                    viewMouseDownAction(sender, e);
                }
            };

            parametersTimer.Start();
#if !NoHardware
            Led led = Led.GetInstance();
            led.SetDcPower(0);
            led.OnPulse();
#endif
            this.Focus();

            //ActivityManager manager = ActivityManager.GetInstance(parameterManager);
            //TigerScan scan = new TigerScan(parameterManager);
            //manager.Enqueue(scan);
            //manager.Start();
        }