mirror of
https://github.com/soukoku/ntwain.git
synced 2025-09-20 02:37:57 +08:00
Test setting cap value in wpf sample.
This commit is contained in:
@@ -51,7 +51,13 @@
|
||||
<ListBox x:Name="CapDetailList" Grid.Row="1" Grid.Column="2" MinWidth="100"
|
||||
SelectionChanged="CapDetailList_SelectionChanged"
|
||||
ScrollViewer.CanContentScroll="True"
|
||||
Style="{StaticResource AppListBox}"></ListBox>
|
||||
Style="{StaticResource AppListBox}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding}"></TextBlock>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Grid.Column="3" >
|
||||
<Label Content="State:"></Label>
|
||||
|
@@ -3,6 +3,7 @@ using ModernWPF.Controls;
|
||||
using NTwain;
|
||||
using NTwain.Data;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
@@ -102,11 +103,7 @@ namespace Tester.WPF
|
||||
//rc = DGControl.Status.Get(dsId, ref stat);
|
||||
if (rc == ReturnCode.Success)
|
||||
{
|
||||
var caps = dsId.DS.SupportedCaps.Select(o => new CapVM
|
||||
{
|
||||
Cap = o,
|
||||
Supports = dsId.DS.CapQuerySupport(o)
|
||||
}).OrderBy(o => o.Name).ToList();
|
||||
var caps = dsId.DS.SupportedCaps.Select(o => new CapVM(dsId, o)).OrderBy(o => o.Name).ToList();
|
||||
CapList.ItemsSource = caps;
|
||||
}
|
||||
}
|
||||
@@ -122,520 +119,8 @@ namespace Tester.WPF
|
||||
var capVM = CapList.SelectedItem as CapVM;
|
||||
if (capVM != null)
|
||||
{
|
||||
var cap = capVM.Cap;
|
||||
switch (cap)
|
||||
{
|
||||
case CapabilityId.ACapXferMech:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ACapXferMech.Get();
|
||||
break;
|
||||
case CapabilityId.CapAlarms:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAlarmVolume.Get();
|
||||
break;
|
||||
case CapabilityId.CapAlarmVolume:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAlarmVolume.Get();
|
||||
break;
|
||||
case CapabilityId.CapAuthor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapAutoFeed:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAutoFeed.Get();
|
||||
break;
|
||||
case CapabilityId.CapAutomaticCapture:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAutomaticCapture.Get();
|
||||
break;
|
||||
case CapabilityId.CapAutomaticSenseMedium:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAutomaticSenseMedium.Get();
|
||||
break;
|
||||
case CapabilityId.CapAutoScan:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapAutoScan.Get();
|
||||
break;
|
||||
case CapabilityId.CapBatteryMinutes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapBatteryMinutes.Get();
|
||||
break;
|
||||
case CapabilityId.CapBatteryPercentage:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapBatteryPercentage.Get();
|
||||
break;
|
||||
case CapabilityId.CapCameraEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCameraEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapCameraOrder:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCameraOrder.Get();
|
||||
break;
|
||||
case CapabilityId.CapCameraPreviewUI:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCameraPreviewUI.Get();
|
||||
break;
|
||||
case CapabilityId.CapCameraSide:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCameraSide.Get();
|
||||
break;
|
||||
case CapabilityId.CapCaption:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapClearBuffers:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapClearBuffers.Get();
|
||||
break;
|
||||
case CapabilityId.CapClearPage:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapClearPage.Get();
|
||||
break;
|
||||
case CapabilityId.CapCustomDSData:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCustomDSData.Get();
|
||||
break;
|
||||
case CapabilityId.CapCustomInterfaceGuid:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapCustomInterfaceGuid.Get();
|
||||
break;
|
||||
case CapabilityId.CapDeviceEvent:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDeviceEvent.Get();
|
||||
break;
|
||||
case CapabilityId.CapDeviceOnline:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDeviceOnline.Get();
|
||||
break;
|
||||
case CapabilityId.CapDeviceTimeDate:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapDoubleFeedDetection:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDoubleFeedDetection.Get();
|
||||
break;
|
||||
case CapabilityId.CapDoubleFeedDetectionLength:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDoubleFeedDetectionLength.Get();
|
||||
break;
|
||||
case CapabilityId.CapDoubleFeedDetectionResponse:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDoubleFeedDetectionResponse.Get();
|
||||
break;
|
||||
case CapabilityId.CapDoubleFeedDetectionSensitivity:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDoubleFeedDetectionSensitivity.Get();
|
||||
break;
|
||||
case CapabilityId.CapDuplex:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDuplex.Get();
|
||||
break;
|
||||
case CapabilityId.CapDuplexEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapDuplexEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapEnableDSUIOnly:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapEnableDSUIOnly.Get();
|
||||
break;
|
||||
case CapabilityId.CapEndorser:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapEndorser.Get();
|
||||
break;
|
||||
case CapabilityId.CapExtendedCaps:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapExtendedCaps.Get()
|
||||
.Select(v => v > CapabilityId.CustomBase ? CapabilityId.CustomBase : v).ToList();;
|
||||
break;
|
||||
case CapabilityId.CapFeederAlignment:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederAlignment.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeederEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeederLoaded:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederLoaded.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeederOrder:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederOrder.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeederPocket:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederPocket.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeederPrep:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeederPrep.Get();
|
||||
break;
|
||||
case CapabilityId.CapFeedPage:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapFeedPage.Get();
|
||||
break;
|
||||
case CapabilityId.CapIndicators:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapIndicators.Get();
|
||||
break;
|
||||
case CapabilityId.CapIndicatorsMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapIndicatorsMode.Get();
|
||||
break;
|
||||
case CapabilityId.CapJobControl:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapJobControl.Get();
|
||||
break;
|
||||
case CapabilityId.CapLanguage:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapLanguage.Get();
|
||||
break;
|
||||
case CapabilityId.CapMaxBatchBuffers:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapMaxBatchBuffers.Get();
|
||||
break;
|
||||
case CapabilityId.CapMicrEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapMicrEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapPaperDetectable:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPaperDetectable.Get();
|
||||
break;
|
||||
case CapabilityId.CapPaperHandling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPaperHandling.Get();
|
||||
break;
|
||||
case CapabilityId.CapPowerSaveTime:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPowerSaveTime.Get();
|
||||
break;
|
||||
case CapabilityId.CapPowerSupply:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPowerSupply.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinter.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterCharRotation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterCharRotation.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterFontStyle:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterFontStyle.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndex:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterIndex.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndexLeadChar:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndexMaxValue:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterIndexMaxValue.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndexNumDigits:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterIndexNumDigits.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndexStep:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterIndexStep.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterIndexTrigger:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterIndexTrigger.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterMode.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterString:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapPrinterStringPreview:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterStringPreview.Get();
|
||||
break;
|
||||
case CapabilityId.CapPrinterSuffix:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapPrinterVerticalOffset:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapPrinterVerticalOffset.Get();
|
||||
break;
|
||||
case CapabilityId.CapReacquireAllowed:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapReacquireAllowed.Get();
|
||||
break;
|
||||
case CapabilityId.CapRewindPage:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapRewindPage.Get();
|
||||
break;
|
||||
case CapabilityId.CapSegmented:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapSegmented.Get();
|
||||
break;
|
||||
case CapabilityId.CapSerialNumber:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapSerialNumber.Get();
|
||||
break;
|
||||
case CapabilityId.CapSupportedCaps:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapSupportedCaps.Get()
|
||||
.Select(v => v > CapabilityId.CustomBase ? CapabilityId.CustomBase : v).ToList();
|
||||
break;
|
||||
case CapabilityId.CapSupportedCapsSegmentUnique:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapSupportedCapsSegmentUnique.Get()
|
||||
.Select(v => v > CapabilityId.CustomBase ? CapabilityId.CustomBase : v).ToList();
|
||||
break;
|
||||
case CapabilityId.CapSupportedDATs:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapSupportedDATs.Get();
|
||||
break;
|
||||
case CapabilityId.CapThumbnailsEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapThumbnailsEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.CapTimeBeforeFirstCapture:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapTimeBeforeFirstCapture.Get();
|
||||
break;
|
||||
case CapabilityId.CapTimeBetweenCaptures:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapTimeBetweenCaptures.Get();
|
||||
break;
|
||||
case CapabilityId.CapTimeDate:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.CapUIControllable:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapUIControllable.Get();
|
||||
break;
|
||||
case CapabilityId.CapXferCount:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapXferCount.Get();
|
||||
break;
|
||||
case CapabilityId.CustomBase:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapAutoBright:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoBright.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutoDiscardBlankPages:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoDiscardBlankPages.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticBorderDetection:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticBorderDetection.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticColorEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticColorEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticColorNonColorPixelType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticColorNonColorPixelType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticCropUsesFrame:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticCropUsesFrame.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticDeskew:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticDeskew.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticLengthDetection:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticLengthDetection.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutomaticRotate:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutomaticRotate.Get();
|
||||
break;
|
||||
case CapabilityId.ICapAutoSize:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapAutoSize.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeDetectionEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeDetectionEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeMaxRetries:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeMaxRetries.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeMaxSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeSearchMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchMode.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBarcodeTimeout:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBarcodeTimeout.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitDepth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitDepth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitDepthReduction:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitDepthReduction.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitOrder:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitOrder.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBitOrderCodes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBitOrderCodes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapBrightness:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapBrightness.Get();
|
||||
break;
|
||||
case CapabilityId.ICapCCITTKFactor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapCCITTKFactor.Get();
|
||||
break;
|
||||
case CapabilityId.ICapColorManagementEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapColorManagementEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapCompression:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapCompression.Get();
|
||||
break;
|
||||
case CapabilityId.ICapContrast:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapContrast.Get();
|
||||
break;
|
||||
case CapabilityId.ICapCustHalftone:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapCustHalftone.Get();
|
||||
break;
|
||||
case CapabilityId.ICapExposureTime:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapExposureTime.Get();
|
||||
break;
|
||||
case CapabilityId.ICapExtImageInfo:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapExtImageInfo.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFeederType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFeederType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFilmType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFilmType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFilter.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFlashUsed:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapFlashUsed2:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFlashUsed2.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFlipRotation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapFlipRotation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapFrames:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapGamma:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapGamma.Get();
|
||||
break;
|
||||
case CapabilityId.ICapHalftones:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapHighlight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapHighlight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapICCProfile:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapICCProfile.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageDataSet:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
break;
|
||||
case CapabilityId.ICapImageFileFormat:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapImageFileFormat.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapImageFilter.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageMerge:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapImageMerge.Get();
|
||||
break;
|
||||
case CapabilityId.ICapImageMergeHeightThreshold:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapImageMergeHeightThreshold.Get();
|
||||
break;
|
||||
case CapabilityId.ICapJpegPixelType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapJpegPixelType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapJpegQuality:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapJpegQuality.Get();
|
||||
break;
|
||||
case CapabilityId.ICapJpegSubsampling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapJpegSubsampling.Get();
|
||||
break;
|
||||
case CapabilityId.ICapLampState:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLampState.Get();
|
||||
break;
|
||||
case CapabilityId.ICapLightPath:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLightPath.Get();
|
||||
break;
|
||||
case CapabilityId.ICapLightSource:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapLightSource.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMaxFrames:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMaxFrames.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMinimumHeight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMinimumHeight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMinimumWidth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMinimumWidth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapMirror:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapMirror.Get();
|
||||
break;
|
||||
case CapabilityId.ICapNoiseFilter:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapNoiseFilter.Get();
|
||||
break;
|
||||
case CapabilityId.ICapOrientation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapOrientation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapOverScan:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapOverScan.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeDetectionEnabled:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeDetectionEnabled.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeMaxRetries:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeMaxRetries.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeMaxSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeMaxSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeSearchMode:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeSearchMode.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeSearchPriorities:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeSearchPriorities.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPatchCodeTimeout:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPatchCodeTimeout.Get();
|
||||
break;
|
||||
// TODO phys size are twfix32
|
||||
case CapabilityId.ICapPhysicalHeight:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPhysicalHeight.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPhysicalWidth:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPhysicalWidth.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelFlavor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelFlavor.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelFlavorCodes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelFlavorCodes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPixelType:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPixelType.Get();
|
||||
break;
|
||||
case CapabilityId.ICapPlanarChunky:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapPlanarChunky.Get();
|
||||
break;
|
||||
case CapabilityId.ICapRotation:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapRotation.Get();
|
||||
break;
|
||||
case CapabilityId.ICapShadow:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapShadow.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedBarcodeTypes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedBarcodeTypes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedExtImageInfo:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedExtImageInfo.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedPatchCodeTypes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedPatchCodeTypes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapSupportedSizes:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapSupportedSizes.Get();
|
||||
break;
|
||||
case CapabilityId.ICapThreshold:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapThreshold.Get();
|
||||
break;
|
||||
case CapabilityId.ICapTiles:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapTiles.Get();
|
||||
break;
|
||||
case CapabilityId.ICapTimeFill:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapTimeFill.Get();
|
||||
break;
|
||||
case CapabilityId.ICapUndefinedImageSize:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapUndefinedImageSize.Get();
|
||||
break;
|
||||
case CapabilityId.ICapUnits:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapUnits.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXferMech:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXferMech.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXNativeResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXNativeResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapXScaling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapXScaling.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYNativeResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYNativeResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYResolution:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYResolution.Get();
|
||||
break;
|
||||
case CapabilityId.ICapYScaling:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapYScaling.Get();
|
||||
break;
|
||||
case CapabilityId.ICapZoomFactor:
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.ICapZoomFactor.Get();
|
||||
break;
|
||||
default:
|
||||
if (cap > CapabilityId.CustomBase)
|
||||
{
|
||||
CapDetailList.ItemsSource = _twainVM.CurrentSource.CapGet(cap);
|
||||
}
|
||||
else
|
||||
{
|
||||
CapDetailList.ItemsSource = null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
CapDetailList.ItemsSource = capVM.Get();
|
||||
CapDetailList.SelectedItem = capVM.GetCurrent();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -645,7 +130,21 @@ namespace Tester.WPF
|
||||
|
||||
private void CapDetailList_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
|
||||
var capVM = CapList.SelectedItem as CapVM;
|
||||
if (capVM != null)
|
||||
{
|
||||
if (capVM.Supports.HasFlag(QuerySupports.Set))
|
||||
{
|
||||
try
|
||||
{
|
||||
capVM.Set(CapDetailList.SelectedItem);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ModernMessageBox.Show(this, ex.Message, "Cannot Set", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,8 @@
|
||||
using NTwain.Data;
|
||||
using NTwain;
|
||||
using NTwain.Data;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Tester.WPF
|
||||
{
|
||||
@@ -7,7 +11,57 @@ namespace Tester.WPF
|
||||
/// </summary>
|
||||
class CapVM
|
||||
{
|
||||
public CapabilityId Cap { get; set; }
|
||||
DataSource _ds;
|
||||
object _wrapper;
|
||||
MethodInfo _getMethod;
|
||||
MethodInfo _getCurrentMethod;
|
||||
MethodInfo _setMethod;
|
||||
|
||||
public CapVM(DSVM ds, CapabilityId cap)
|
||||
{
|
||||
_ds = ds.DS;
|
||||
Cap = cap;
|
||||
Supports = ds.DS.CapQuerySupport(cap);
|
||||
|
||||
var capName = cap.ToString();
|
||||
var wrapProperty = ds.DS.GetType().GetProperty(capName);
|
||||
if (wrapProperty != null)
|
||||
{
|
||||
_wrapper = wrapProperty.GetGetMethod().Invoke(ds.DS, null);
|
||||
var wrapperType = _wrapper.GetType();
|
||||
_getMethod = wrapperType.GetMethod("Get");
|
||||
_getCurrentMethod = wrapperType.GetMethod("GetCurrent");
|
||||
_setMethod = wrapperType.GetMethods().FirstOrDefault(m => m.Name == "Set");
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable Get()
|
||||
{
|
||||
if (_getMethod == null)
|
||||
{
|
||||
return _ds.CapGet(Cap);
|
||||
}
|
||||
return _getMethod.Invoke(_wrapper, null) as IEnumerable;
|
||||
}
|
||||
public object GetCurrent()
|
||||
{
|
||||
if (_getMethod == null)
|
||||
{
|
||||
return _ds.CapGetCurrent(Cap);
|
||||
}
|
||||
return _getCurrentMethod.Invoke(_wrapper, null);
|
||||
}
|
||||
public void Set(object value)
|
||||
{
|
||||
if (_setMethod != null && value != null)
|
||||
{
|
||||
_setMethod.Invoke(_wrapper, new object[] { value });
|
||||
}
|
||||
}
|
||||
|
||||
public object MyProperty { get; set; }
|
||||
|
||||
public CapabilityId Cap { get; private set; }
|
||||
|
||||
public string Name
|
||||
{
|
||||
@@ -21,11 +75,12 @@ namespace Tester.WPF
|
||||
}
|
||||
}
|
||||
|
||||
public QuerySupports Supports { get; set; }
|
||||
public QuerySupports Supports { get; private set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Name;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -123,15 +123,15 @@ namespace Tester.WPF
|
||||
{
|
||||
if (State == 4)
|
||||
{
|
||||
if (this.CurrentSource.ICapPixelType.Get().Contains(PixelType.BlackWhite))
|
||||
{
|
||||
this.CurrentSource.ICapPixelType.Set(PixelType.BlackWhite);
|
||||
}
|
||||
//if (this.CurrentSource.ICapPixelType.Get().Contains(PixelType.BlackWhite))
|
||||
//{
|
||||
// this.CurrentSource.ICapPixelType.Set(PixelType.BlackWhite);
|
||||
//}
|
||||
|
||||
if (this.CurrentSource.ICapXferMech.Get().Contains(XferMech.File))
|
||||
{
|
||||
this.CurrentSource.ICapXferMech.Set(XferMech.File);
|
||||
}
|
||||
//if (this.CurrentSource.ICapXferMech.Get().Contains(XferMech.File))
|
||||
//{
|
||||
// this.CurrentSource.ICapXferMech.Set(XferMech.File);
|
||||
//}
|
||||
|
||||
var rc = this.CurrentSource.Enable(SourceEnableMode.NoUI, false, hwnd);
|
||||
}
|
||||
|
Reference in New Issue
Block a user