void ReleaseDesignerOutlets() { if (StatusText != null) { StatusText.Dispose(); StatusText = null; } if (ProgressIndicator != null) { ProgressIndicator.Dispose(); ProgressIndicator = null; } if (FunctionalUnitMenu != null) { FunctionalUnitMenu.Dispose(); FunctionalUnitMenu = null; } if (ScannersController != null) { ScannersController.Dispose(); ScannersController = null; } if (ScannersTableView != null) { ScannersTableView.Dispose(); ScannersTableView = null; } }
public override void ViewDidLoad() { base.ViewDidLoad(); ScannersController.SelectsInsertedObjects = false; DeviceBrowser.Delegate = this; DeviceBrowser.BrowsedDeviceTypeMask = ICBrowsedDeviceType.Scanner | ICBrowsedDeviceType.Local | ICBrowsedDeviceType.Remote; DeviceBrowser.Start(); FunctionalUnitMenu.RemoveAllItems(); FunctionalUnitMenu.Enabled = false; }
public void DidBecomeReady(ICDevice device) { var scanner = device as ICScannerDevice; var availabeTypes = scanner.AvailableFunctionalUnitTypes; var functionalUnit = scanner.SelectedFunctionalUnit; Console.WriteLine($"{nameof (DidBecomeReady)}: {scanner}"); FunctionalUnitMenu.RemoveAllItems(); FunctionalUnitMenu.Enabled = false; if (availabeTypes.Length > 0) { var menu = new NSMenu(); FunctionalUnitMenu.Enabled = true; foreach (var item in availabeTypes) { NSMenuItem menuItem; switch ((ICScannerFunctionalUnitType)item.Int32Value) { case ICScannerFunctionalUnitType.Flatbed: menuItem = new NSMenuItem("Flatbed", "", SelectFunctionalUnit) { Tag = (nint)(long)ICScannerFunctionalUnitType.Flatbed }; menu.AddItem(menuItem); break; case ICScannerFunctionalUnitType.PositiveTransparency: menuItem = new NSMenuItem("PositiveTransparency", "", SelectFunctionalUnit) { Tag = (nint)(long)ICScannerFunctionalUnitType.PositiveTransparency }; menu.AddItem(menuItem); break; case ICScannerFunctionalUnitType.NegativeTransparency: menuItem = new NSMenuItem("NegativeTransparency", "", SelectFunctionalUnit) { Tag = (nint)(long)ICScannerFunctionalUnitType.NegativeTransparency }; menu.AddItem(menuItem); break; case ICScannerFunctionalUnitType.DocumentFeeder: menuItem = new NSMenuItem("DocumentFeeder", "", SelectFunctionalUnit) { Tag = (nint)(long)ICScannerFunctionalUnitType.DocumentFeeder }; menu.AddItem(menuItem); break; } } FunctionalUnitMenu.Menu = menu; } Console.WriteLine($"observeValueForKeyPath - functionalUnit: {functionalUnit}"); if (functionalUnit != null) { FunctionalUnitMenu.SelectItemWithTag((nint)(long)functionalUnit.Type); } }