public frmMain() { InitializeComponent(); skHost1.Canvas = m_canvas; m_canvas.SelectedShapes.CollectionModified += SelectedShapes_CollectionModified; foreach (var scan in m_scanEngine.GetWiaDevices()) { ToolStripItem tsi = new ToolStripMenuItem(scan.Name); tsi.Tag = scan; tsi.Click += tsi_Click; mnuScanner.DropDownItems.Add(tsi); ToolStripItem newTsi = new ToolStripMenuItem(scan.Name); newTsi.Tag = scan; newTsi.Click += newTsi_Click; mnuNewFromScanner.DropDownItems.Add(newTsi); } // Scan completed m_scanEngine.ScanCompleted += m_scanEngine_ScanCompleted; if (m_scanEngine.GetWiaDevices().Count == 0) { mnuScanner.DropDownItems.Add("No Scanners Available"); mnuNewFromScanner.DropDownItems.Add("No Scanners Available"); } // Output types foreach ( var itm in typeof(Engine).Assembly.GetTypes().Where(o => o.GetInterface(typeof(IOutputTransform).FullName) != null) ) { var tx = Activator.CreateInstance(itm) as IOutputTransform; m_transforms.Add(tx); } }
/// <summary> /// Reload devices /// </summary> private void ReloadDevices() { cboScanners.Items.Clear(); cboScanners.Items.AddRange(m_scanEngine.GetWiaDevices().ToArray()); }