Cleaned up BCS2 code a bit; added scanner settings dialog code.
This commit is contained in:
parent
eca34f597a
commit
ebec983b9b
343
src/AppMain.c
343
src/AppMain.c
|
@ -35,6 +35,7 @@
|
||||||
|
|
||||||
#ifdef SCANLIB_BCS2
|
#ifdef SCANLIB_BCS2
|
||||||
#include "BCS2ScannerLib.h"
|
#include "BCS2ScannerLib.h"
|
||||||
|
#include "BCS2 Configuration Header.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SCANLIB_JANAM
|
#ifdef SCANLIB_JANAM
|
||||||
|
@ -87,7 +88,7 @@
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
#ifdef SCANLIB_BCS2
|
#ifdef SCANLIB_BCS2
|
||||||
UInt16 gBcs2RefNum = 0;
|
UInt16 gBCS2RefNum = sysInvalidRefNum;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SCANLIB_JANAM
|
#ifdef SCANLIB_JANAM
|
||||||
|
@ -110,7 +111,7 @@ Boolean gBabbo = false;
|
||||||
//UInt16 gNumRows = 11;
|
//UInt16 gNumRows = 11;
|
||||||
//MemHandle gHandles[11][3];
|
//MemHandle gHandles[11][3];
|
||||||
Int16 firstRecordIndex = -1;
|
Int16 firstRecordIndex = -1;
|
||||||
Boolean scanRecordsSelected[12];
|
Boolean scanRecordsSelected[12] = {false};
|
||||||
Int16 eventEnteredRow = -1;
|
Int16 eventEnteredRow = -1;
|
||||||
|
|
||||||
// This handle serves the barcode field.
|
// This handle serves the barcode field.
|
||||||
|
@ -193,12 +194,14 @@ static Boolean TableHitTest(TablePtr table, Int16 screenX, Int16 screenY);
|
||||||
static Int16 TableRowHitTest(TablePtr table, Int16 screenX, Int16 screenY);
|
static Int16 TableRowHitTest(TablePtr table, Int16 screenX, Int16 screenY);
|
||||||
static void ClearScanRecordSelection();
|
static void ClearScanRecordSelection();
|
||||||
|
|
||||||
|
static void* GetObjectPtr(UInt16 objectID);
|
||||||
|
static void UpdateBarcode(Char* scancode);
|
||||||
static void FocusBarcode();
|
static void FocusBarcode();
|
||||||
#ifdef SCANLIB_SYMBOL
|
#ifdef SCANLIB_SYMBOL
|
||||||
static void FetchScanData();
|
static void FetchScanData();
|
||||||
#endif
|
#endif
|
||||||
static void ProcessScan();
|
static void ProcessScan();
|
||||||
static void StoreScanData();
|
static void StoreScanRecord();
|
||||||
static Boolean IsChecked(FormPtr form, UInt16 controlID);
|
static Boolean IsChecked(FormPtr form, UInt16 controlID);
|
||||||
static void ShowQuantityForm(UInt16 triggerID, Boolean manual);
|
static void ShowQuantityForm(UInt16 triggerID, Boolean manual);
|
||||||
|
|
||||||
|
@ -209,10 +212,13 @@ static void AppendQuantityDigit(UInt16 digit);
|
||||||
static void UpdateQuantityDisplay();
|
static void UpdateQuantityDisplay();
|
||||||
static void QuantityFormAccept();
|
static void QuantityFormAccept();
|
||||||
|
|
||||||
|
// Scanner Settings Form
|
||||||
|
static Boolean ScannerSettingsFormHandleEvent(EventPtr event);
|
||||||
|
|
||||||
// Scanner-Specific
|
// Scanner-Specific
|
||||||
#ifdef SCANLIB_BCS2
|
#ifdef SCANLIB_BCS2
|
||||||
static Boolean OpenBCS2Scanner();
|
static Err OpenBCS2Scanner();
|
||||||
static void CloseBCS2Scanner();
|
static Err CloseBCS2Scanner();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -229,10 +235,6 @@ UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
|
||||||
#ifdef SCANLIB_BCS2
|
#ifdef SCANLIB_BCS2
|
||||||
SysNotifyParamType* notifyParams = (SysNotifyParamType*) cmdPBP;
|
SysNotifyParamType* notifyParams = (SysNotifyParamType*) cmdPBP;
|
||||||
Char* scancode;
|
Char* scancode;
|
||||||
FormPtr form;
|
|
||||||
FieldPtr barcode;
|
|
||||||
MemHandle barcodeH;
|
|
||||||
MemPtr barcodeP;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
@ -246,33 +248,12 @@ UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
|
||||||
#ifdef SCANLIB_BCS2
|
#ifdef SCANLIB_BCS2
|
||||||
case sysAppLaunchCmdNotify:
|
case sysAppLaunchCmdNotify:
|
||||||
if (notifyParams->notifyType == BCS2BarCodeReadyNotification) {
|
if (notifyParams->notifyType == BCS2BarCodeReadyNotification) {
|
||||||
|
scancode = (Char*) notifyParams->notifyDetailsP;
|
||||||
// Get pointer to scanned data.
|
if (StrCompare(scancode, "NO READ") == 0) {
|
||||||
scancode = (Char*) notifyParams->notifyDetailsP + 1;
|
|
||||||
|
|
||||||
// Verify we got a good read from the scanner.
|
|
||||||
if (StrCompareAscii(scancode, "NO READ") == 0) {
|
|
||||||
SndPlaySystemSound(sndWarning);
|
SndPlaySystemSound(sndWarning);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
SndPlaySystemSound(sndConfirmation);
|
SndPlaySystemSound(sndConfirmation);
|
||||||
|
UpdateBarcode(scancode);
|
||||||
form = FrmGetFormPtr(MainForm);
|
|
||||||
barcode = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormBarcode));
|
|
||||||
|
|
||||||
barcodeH = FldGetTextHandle(barcode);
|
|
||||||
FldSetTextHandle(barcode, NULL);
|
|
||||||
if (! barcodeH) {
|
|
||||||
barcodeH = MemHandleNew(15); // ugh
|
|
||||||
}
|
|
||||||
|
|
||||||
barcodeP = MemHandleLock(barcodeH);
|
|
||||||
StrCopy((Char*) barcodeP, scancode);
|
|
||||||
MemHandleUnlock(barcodeH);
|
|
||||||
|
|
||||||
FldSetTextHandle(barcode, barcodeH);
|
|
||||||
FldDrawField(barcode);
|
|
||||||
|
|
||||||
ProcessScan();
|
ProcessScan();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -380,7 +361,7 @@ static void AppEventLoop()
|
||||||
// the event bubble up to the application handler instead. This is
|
// the event bubble up to the application handler instead. This is
|
||||||
// possibly very bad form, but as of this writing I'm not sure how else
|
// possibly very bad form, but as of this writing I'm not sure how else
|
||||||
// to accomplish using that button for a trigger.
|
// to accomplish using that button for a trigger.
|
||||||
if (gBcs2RefNum && (event.eType == keyDownEvent) && (event.data.keyDown.chr == MzVCentreKey)) {
|
if ((gBCS2RefNum != sysInvalidRefNum) && (event.eType == keyDownEvent) && (event.data.keyDown.chr == MzVCentreKey)) {
|
||||||
defaultSysHandler = false;
|
defaultSysHandler = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -427,6 +408,9 @@ static Boolean AppHandleEvent(EventPtr event)
|
||||||
case QuantityForm:
|
case QuantityForm:
|
||||||
FrmSetEventHandler(form, QuantityFormHandleEvent);
|
FrmSetEventHandler(form, QuantityFormHandleEvent);
|
||||||
break;
|
break;
|
||||||
|
case ScannerSettingsForm:
|
||||||
|
FrmSetEventHandler(form, ScannerSettingsFormHandleEvent);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -576,8 +560,8 @@ static Boolean MainFormHandleEvent(EventPtr event)
|
||||||
// On Meazura devices, the "center" hardware key is our scan
|
// On Meazura devices, the "center" hardware key is our scan
|
||||||
// trigger. But we'll only trigger the scanner if the barcode
|
// trigger. But we'll only trigger the scanner if the barcode
|
||||||
// field has focus.
|
// field has focus.
|
||||||
if (gBcs2RefNum && (FrmGetFocus(form) == FrmGetObjectIndex(form, MainFormBarcode))) {
|
if ((gBCS2RefNum != sysInvalidRefNum) && (FrmGetFocus(form) == FrmGetObjectIndex(form, MainFormBarcode))) {
|
||||||
BCS2LibTriggerOn(gBcs2RefNum);
|
BCS2LibTriggerOn(gBCS2RefNum);
|
||||||
}
|
}
|
||||||
handled = true;
|
handled = true;
|
||||||
#endif
|
#endif
|
||||||
|
@ -596,11 +580,11 @@ static Boolean MainFormHandleEvent(EventPtr event)
|
||||||
/* if (GetCheckedValue(MainFormStopOnUnits)) { */
|
/* if (GetCheckedValue(MainFormStopOnUnits)) { */
|
||||||
/* SetFieldFocus(MainFormUnits); */
|
/* SetFieldFocus(MainFormUnits); */
|
||||||
/* } else { */
|
/* } else { */
|
||||||
/* StoreScanData(); */
|
/* StoreScanRecord(); */
|
||||||
/* } */
|
/* } */
|
||||||
/* *\/ */
|
/* *\/ */
|
||||||
/* } else if (objId == MainFormUnits) { */
|
/* } else if (objId == MainFormUnits) { */
|
||||||
/* StoreScanData(); */
|
/* StoreScanRecord(); */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
/* // Until I have more to go on, I'm assuming that if a handheld has */
|
/* // Until I have more to go on, I'm assuming that if a handheld has */
|
||||||
|
@ -608,9 +592,9 @@ static Boolean MainFormHandleEvent(EventPtr event)
|
||||||
/* // "center" navigational (hardware) key should be used as the scan */
|
/* // "center" navigational (hardware) key should be used as the scan */
|
||||||
/* // trigger. */
|
/* // trigger. */
|
||||||
/* } else if (event->data.keyDown.chr == MzVCentreKey) { */
|
/* } else if (event->data.keyDown.chr == MzVCentreKey) { */
|
||||||
/* if (gBcs2RefNum) { */
|
/* if (gBCS2RefNum) { */
|
||||||
/* if (FrmGetFocus(form) == FrmGetObjectIndex(form, MainFormBarcode)) */
|
/* if (FrmGetFocus(form) == FrmGetObjectIndex(form, MainFormBarcode)) */
|
||||||
/* BCS2LibTriggerOn(gBcs2RefNum); */
|
/* BCS2LibTriggerOn(gBCS2RefNum); */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
/* /\* */
|
/* /\* */
|
||||||
|
@ -679,11 +663,6 @@ static void MainFormInit(FormPtr form)
|
||||||
TablePtr table;
|
TablePtr table;
|
||||||
Int16 cols, col, rows, row;
|
Int16 cols, col, rows, row;
|
||||||
|
|
||||||
// Clear row selection state.
|
|
||||||
for (row = 0; row < 12; row++) {
|
|
||||||
scanRecordsSelected[row] = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
table = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormScanRecords));
|
table = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormScanRecords));
|
||||||
TblHasScrollBar(table, true);
|
TblHasScrollBar(table, true);
|
||||||
|
|
||||||
|
@ -789,6 +768,11 @@ static Boolean MainFormDoCommand(UInt16 command)
|
||||||
handled = true;
|
handled = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MainOptionsScannerSettings:
|
||||||
|
FrmPopupForm(ScannerSettingsForm);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
case MainOptionsAboutRattail:
|
case MainOptionsAboutRattail:
|
||||||
form = FrmInitForm(AboutForm);
|
form = FrmInitForm(AboutForm);
|
||||||
FrmDoDialog(form);
|
FrmDoDialog(form);
|
||||||
|
@ -1112,33 +1096,6 @@ static DmOpenRef OpenScanDatabase()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef SCANLIB_BCS2
|
|
||||||
/************************************************************
|
|
||||||
*
|
|
||||||
* FUNCTION: CloseBCS2Scanner
|
|
||||||
*
|
|
||||||
************************************************************/
|
|
||||||
|
|
||||||
static void CloseBCS2Scanner()
|
|
||||||
{
|
|
||||||
LocalID dbId;
|
|
||||||
|
|
||||||
if (! gBcs2RefNum) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
dbId = DmFindDatabase(cardNumber, appDbRattail);
|
|
||||||
if (dbId) {
|
|
||||||
SysNotifyUnregister(cardNumber, dbId, BCS2BarCodeReadyNotification,
|
|
||||||
sysNotifyNormalPriority);
|
|
||||||
}
|
|
||||||
BCS2LibClose(gBcs2RefNum);
|
|
||||||
SysLibRemove(gBcs2RefNum);
|
|
||||||
gBcs2RefNum = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: CreateScanDatabase
|
* FUNCTION: CreateScanDatabase
|
||||||
|
@ -1192,13 +1149,45 @@ static Boolean IsChecked(FormPtr form, UInt16 controlID)
|
||||||
*
|
*
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
/* static void *GetObjectPtr(UInt16 objectID) */
|
static void* GetObjectPtr(UInt16 objectID)
|
||||||
/* { */
|
{
|
||||||
/* FormPtr form; */
|
FormPtr form;
|
||||||
|
|
||||||
/* form = FrmGetActiveForm(); */
|
form = FrmGetActiveForm();
|
||||||
/* return FrmGetObjectPtr(form, FrmGetObjectIndex(form, objectID)); */
|
return FrmGetObjectPtr(form, FrmGetObjectIndex(form, objectID));
|
||||||
/* } */
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: UpdateBarcode
|
||||||
|
*
|
||||||
|
************************************************************/
|
||||||
|
|
||||||
|
static void UpdateBarcode(Char* scancode)
|
||||||
|
{
|
||||||
|
UInt16 size;
|
||||||
|
FieldPtr barcode;
|
||||||
|
MemHandle barcodeH;
|
||||||
|
MemPtr barcodeP;
|
||||||
|
|
||||||
|
size = StrLen(scancode) + 1;
|
||||||
|
barcode = GetObjectPtr(MainFormBarcode);
|
||||||
|
|
||||||
|
barcodeH = FldGetTextHandle(barcode);
|
||||||
|
if (barcodeH == NULL) {
|
||||||
|
barcodeH = MemHandleNew(size);
|
||||||
|
} else if (MemHandleSize(barcodeH) < size) {
|
||||||
|
MemHandleResize(barcodeH, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
barcodeP = MemHandleLock(barcodeH);
|
||||||
|
MemMove(barcodeP, scancode, size);
|
||||||
|
MemHandleUnlock(barcodeH);
|
||||||
|
|
||||||
|
FldSetTextHandle(barcode, barcodeH);
|
||||||
|
FldDrawField(barcode);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
|
@ -1333,18 +1322,18 @@ static void ProcessScan()
|
||||||
ShowQuantityForm(MainFormUnits, false);
|
ShowQuantityForm(MainFormUnits, false);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
StoreScanData();
|
StoreScanRecord();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: StoreScanData
|
* FUNCTION: StoreScanRecord
|
||||||
*
|
*
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
static void StoreScanData()
|
static void StoreScanRecord()
|
||||||
{
|
{
|
||||||
FormPtr form;
|
FormPtr form;
|
||||||
ControlPtr ctrl;
|
ControlPtr ctrl;
|
||||||
|
@ -1383,7 +1372,7 @@ static void StoreScanData()
|
||||||
FocusBarcode();
|
FocusBarcode();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static void StoreScanData() */
|
/* static void StoreScanRecord() */
|
||||||
/* { */
|
/* { */
|
||||||
/* FormPtr form; */
|
/* FormPtr form; */
|
||||||
/* FieldPtr barcode; */
|
/* FieldPtr barcode; */
|
||||||
|
@ -1536,65 +1525,83 @@ static Boolean OpenBabboScanner()
|
||||||
*
|
*
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
static Boolean OpenBCS2Scanner()
|
static Err OpenBCS2Scanner()
|
||||||
{
|
{
|
||||||
Err err;
|
Err err;
|
||||||
LocalID dbId;
|
LocalID dbID;
|
||||||
|
|
||||||
err = SysLibLoad('libr', 'BcAp', &gBcs2RefNum);
|
// Find the loaded BCS2 library, or attempt to load it.
|
||||||
if (err) {
|
if (SysLibFind(BCS2LibName, &gBCS2RefNum) != errNone) {
|
||||||
switch (err) {
|
err = SysLibLoad(BCS2LibTypeID, BCS2LibCreatorID, &gBCS2RefNum);
|
||||||
case sysErrLibNotFound:
|
|
||||||
SysFatalAlert("BCS2 library not found!");
|
|
||||||
break;
|
|
||||||
case sysErrNoFreeRAM:
|
|
||||||
SysFatalAlert("Out of memory (RAM)!");
|
|
||||||
break;
|
|
||||||
case sysErrNoFreeLibSlots:
|
|
||||||
SysFatalAlert("No free library slots!");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
SysFatalAlert("BCS2 library load failed!");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
gBcs2RefNum = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = BCS2LibOpen(gBcs2RefNum);
|
|
||||||
if (err) {
|
|
||||||
switch (err) {
|
|
||||||
case errBCS2MemoryError:
|
|
||||||
SysFatalAlert("BCS2 threw memory error");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
SysFatalAlert("BCS2 library open failed!");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
SysLibRemove(gBcs2RefNum);
|
|
||||||
gBcs2RefNum = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
dbId = DmFindDatabase(cardNumber, appDbRattail);
|
|
||||||
if (! dbId) {
|
|
||||||
SysFatalAlert("Find database failed!");
|
|
||||||
SysLibRemove(gBcs2RefNum);
|
|
||||||
gBcs2RefNum = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = SysNotifyRegister(cardNumber, dbId,
|
|
||||||
BCS2BarCodeReadyNotification, NULL,
|
|
||||||
sysNotifyNormalPriority, NULL);
|
|
||||||
if (err != errNone) {
|
if (err != errNone) {
|
||||||
SysFatalAlert("Notify registration failed!");
|
SysFatalAlert("BCS2 library not found!");
|
||||||
SysLibRemove(gBcs2RefNum);
|
return err;
|
||||||
gBcs2RefNum = 0;
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
// Open the BCS2 library.
|
||||||
|
err = BCS2LibOpen(gBCS2RefNum);
|
||||||
|
if (err != 0) {
|
||||||
|
SysFatalAlert("BCS2 library could not be opened!");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the Rattail database.
|
||||||
|
dbID = DmFindDatabase(cardNumber, appDbRattail);
|
||||||
|
if (dbID == 0) {
|
||||||
|
err = DmGetLastErr();
|
||||||
|
SysFatalAlert("Rattail application database not found!");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Register for barcode ready notification.
|
||||||
|
err = SysNotifyRegister(cardNumber, dbID, BCS2BarCodeReadyNotification, NULL, sysNotifyNormalPriority, NULL);
|
||||||
|
if (err != errNone) {
|
||||||
|
SysFatalAlert("Registering for barcode ready notification failed!");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return errNone;
|
||||||
|
|
||||||
|
error:
|
||||||
|
if (dbID != 0) {
|
||||||
|
SysNotifyUnregister(cardNumber, dbID, BCS2BarCodeReadyNotification, sysNotifyNormalPriority);
|
||||||
|
}
|
||||||
|
if (gBCS2RefNum != sysInvalidRefNum) {
|
||||||
|
SysLibRemove(gBCS2RefNum);
|
||||||
|
gBCS2RefNum = sysInvalidRefNum;
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: CloseBCS2Scanner
|
||||||
|
*
|
||||||
|
************************************************************/
|
||||||
|
|
||||||
|
static Err CloseBCS2Scanner()
|
||||||
|
{
|
||||||
|
Err err = errNone;
|
||||||
|
LocalID dbID;
|
||||||
|
|
||||||
|
dbID = DmFindDatabase(cardNumber, appDbRattail);
|
||||||
|
if (dbID != 0) {
|
||||||
|
SysNotifyUnregister(cardNumber, dbID, BCS2BarCodeReadyNotification, sysNotifyNormalPriority);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gBCS2RefNum != sysInvalidRefNum) {
|
||||||
|
err = BCS2LibClose(gBCS2RefNum);
|
||||||
|
if (err == errNone) {
|
||||||
|
err = SysLibRemove(gBCS2RefNum);
|
||||||
|
if (err == errNone) {
|
||||||
|
gBCS2RefNum = sysInvalidRefNum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1864,11 +1871,11 @@ static void QuantityFormAccept()
|
||||||
if (IsChecked(form, MainFormStopOnUnits)) {
|
if (IsChecked(form, MainFormStopOnUnits)) {
|
||||||
ShowQuantityForm(MainFormUnits, false);
|
ShowQuantityForm(MainFormUnits, false);
|
||||||
} else {
|
} else {
|
||||||
StoreScanData();
|
StoreScanRecord();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (gQuantityTriggerID == MainFormUnits) {
|
} else if (gQuantityTriggerID == MainFormUnits) {
|
||||||
StoreScanData();
|
StoreScanRecord();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SCANLIB_SYMBOLY
|
#ifdef SCANLIB_SYMBOLY
|
||||||
|
@ -1877,3 +1884,65 @@ static void QuantityFormAccept()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: ScannerSettingsFormHandleEvent
|
||||||
|
*
|
||||||
|
************************************************************/
|
||||||
|
|
||||||
|
static Boolean ScannerSettingsFormHandleEvent(EventPtr event)
|
||||||
|
{
|
||||||
|
Boolean handled = false;
|
||||||
|
FormPtr form;
|
||||||
|
Char settings[7] = {0};
|
||||||
|
|
||||||
|
switch (event->eType) {
|
||||||
|
|
||||||
|
case frmOpenEvent:
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
FrmDrawForm(form);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ctlSelectEvent:
|
||||||
|
switch (event->data.ctlSelect.controlID) {
|
||||||
|
|
||||||
|
case ScannerSettingsResetScanner:
|
||||||
|
BCS2LibReset(gBCS2RefNum);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ScannerSettingsSetFactoryDefaults:
|
||||||
|
BCS2LibSetToFactoryDefaults(gBCS2RefNum);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ScannerSettingsPushRattailSettings:
|
||||||
|
/* BCS2LibChangeSettings(gBCS2RefNum, BCS2ManualTrigger, 3); */
|
||||||
|
/* BCS2LibChangeSettings(gBCS2RefNum, BSC2EnableNOREAD, 3); */
|
||||||
|
/* BCS2LibChangeSettings(gBCS2RefNum, "R40R34", 6); */
|
||||||
|
|
||||||
|
StrCopy(settings, BCS2ManualTrigger);
|
||||||
|
StrCat(settings, BSC2EnableNOREAD);
|
||||||
|
BCS2LibChangeSettings(gBCS2RefNum, settings, StrLen(settings));
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ScannerSettingsDone:
|
||||||
|
FrmReturnToForm(MainForm);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue