配置JSON增加只读和只在设备操作属性
This commit is contained in:
parent
f46b7a5ebc
commit
cbeaa1145e
Binary file not shown.
|
@ -5849,7 +5849,6 @@ struct
|
||||||
, {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , OPTION_TITLE_JZSBL}
|
, {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , OPTION_TITLE_JZSBL}
|
||||||
, {SANE_STD_OPT_NAME_WAIT_TO_SCAN , OPTION_TITLE_DZSM}
|
, {SANE_STD_OPT_NAME_WAIT_TO_SCAN , OPTION_TITLE_DZSM}
|
||||||
, {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS}
|
, {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS}
|
||||||
, {SANE_STD_OPT_NAME_COLOR_CORRECTION , OPTION_TITLE_SPJZ}
|
|
||||||
},
|
},
|
||||||
g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 黑白图像反色输出(正常颜色为:0-黑色;1-白色)
|
g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 黑白图像反色输出(正常颜色为:0-黑色;1-白色)
|
||||||
, {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 灰度或黑白图像 - 除色
|
, {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 灰度或黑白图像 - 除色
|
||||||
|
@ -6223,6 +6222,8 @@ void ChgjsonDlg::init_control_statu(void)
|
||||||
|
|
||||||
GetDlgItem(IDC_EDIT_DESC)->EnableWindow(valid);
|
GetDlgItem(IDC_EDIT_DESC)->EnableWindow(valid);
|
||||||
GetDlgItem(IDC_CHECK_ADVANCED)->EnableWindow(valid);
|
GetDlgItem(IDC_CHECK_ADVANCED)->EnableWindow(valid);
|
||||||
|
GetDlgItem(IDC_CHECK_READONLY)->EnableWindow(valid);
|
||||||
|
GetDlgItem(IDC_CHECK_DEVICEONLY)->EnableWindow(valid);
|
||||||
constraint_.EnableWindow(valid);
|
constraint_.EnableWindow(valid);
|
||||||
depends_.EnableWindow(valid);
|
depends_.EnableWindow(valid);
|
||||||
type_.EnableWindow(valid);
|
type_.EnableWindow(valid);
|
||||||
|
@ -6316,6 +6317,8 @@ void ChgjsonDlg::set_control_status(const HGITEM& item)
|
||||||
type_.SetCurSel(4);
|
type_.SetCurSel(4);
|
||||||
|
|
||||||
((CButton*)GetDlgItem(IDC_CHECK_ADVANCED))->SetCheck(item.advanced ? BST_CHECKED : BST_UNCHECKED);
|
((CButton*)GetDlgItem(IDC_CHECK_ADVANCED))->SetCheck(item.advanced ? BST_CHECKED : BST_UNCHECKED);
|
||||||
|
((CButton*)GetDlgItem(IDC_CHECK_READONLY))->SetCheck(item.readonly ? BST_CHECKED : BST_UNCHECKED);
|
||||||
|
((CButton*)GetDlgItem(IDC_CHECK_DEVICEONLY))->SetCheck(item.deviceonly ? BST_CHECKED : BST_UNCHECKED);
|
||||||
|
|
||||||
// value ...
|
// value ...
|
||||||
GetDlgItem(IDC_STATIC_FROM)->ShowWindow(SW_HIDE);
|
GetDlgItem(IDC_STATIC_FROM)->ShowWindow(SW_HIDE);
|
||||||
|
@ -6433,6 +6436,8 @@ void* ChgjsonDlg::create_json(int item, std::vector<DEFH>* def_h, std::wstring*
|
||||||
const char* opt_name = title_to_name(hg_items_[item].title);
|
const char* opt_name = title_to_name(hg_items_[item].title);
|
||||||
|
|
||||||
jsn->set_value(L"category", hg_items_[item].advanced ? L"advanced" : L"base");
|
jsn->set_value(L"category", hg_items_[item].advanced ? L"advanced" : L"base");
|
||||||
|
jsn->set_value(L"readonly", hg_items_[item].readonly);
|
||||||
|
jsn->set_value(L"hwonly", hg_items_[item].deviceonly);
|
||||||
if (name)
|
if (name)
|
||||||
{
|
{
|
||||||
if (opt_name)
|
if (opt_name)
|
||||||
|
@ -6629,6 +6634,8 @@ std::string ChgjsonDlg::to_json_text(bool for_const, std::wstring* dev)
|
||||||
if (item)
|
if (item)
|
||||||
{
|
{
|
||||||
item->set_value(L"category", hg_items_[ind].advanced ? L"advanced" : L"base");
|
item->set_value(L"category", hg_items_[ind].advanced ? L"advanced" : L"base");
|
||||||
|
item->set_value(L"readonly", hg_items_[ind].readonly);
|
||||||
|
item->set_value(L"hwonly", hg_items_[ind].deviceonly);
|
||||||
item->release();
|
item->release();
|
||||||
}
|
}
|
||||||
std::wstring key(L"");
|
std::wstring key(L"");
|
||||||
|
@ -6727,6 +6734,9 @@ void ChgjsonDlg::add_item(void* jsn_root, void* jsn_obj, HTREEITEM parent, bool
|
||||||
jsn->get_value(L"category", &val);
|
jsn->get_value(L"category", &val);
|
||||||
if (val && wcscmp(val, L"advanced") == 0)
|
if (val && wcscmp(val, L"advanced") == 0)
|
||||||
item.advanced = true;
|
item.advanced = true;
|
||||||
|
jsn->get_value(L"readonly", item.readonly);
|
||||||
|
jsn->get_value(L"hwonly", item.deviceonly);
|
||||||
|
|
||||||
|
|
||||||
jsn->get_value(L"depend_and", &child);
|
jsn->get_value(L"depend_and", &child);
|
||||||
if (child)
|
if (child)
|
||||||
|
@ -7738,6 +7748,8 @@ void ChgjsonDlg::OnBnClickedButton4()
|
||||||
::GetWindowTextW(type_.m_hWnd, str, _countof(str) - 1);
|
::GetWindowTextW(type_.m_hWnd, str, _countof(str) - 1);
|
||||||
it->type = str;
|
it->type = str;
|
||||||
it->advanced = ((CButton*)GetDlgItem(IDC_CHECK_ADVANCED))->GetCheck() == BST_CHECKED;
|
it->advanced = ((CButton*)GetDlgItem(IDC_CHECK_ADVANCED))->GetCheck() == BST_CHECKED;
|
||||||
|
it->readonly = ((CButton*)GetDlgItem(IDC_CHECK_READONLY))->GetCheck() == BST_CHECKED;
|
||||||
|
it->deviceonly = ((CButton*)GetDlgItem(IDC_CHECK_DEVICEONLY))->GetCheck() == BST_CHECKED;
|
||||||
it->range.type = constraint_.GetCurSel();
|
it->range.type = constraint_.GetCurSel();
|
||||||
if (wcscmp(str, L"bool") == 0)
|
if (wcscmp(str, L"bool") == 0)
|
||||||
it->bytes = sizeof(SANE_Bool);
|
it->bytes = sizeof(SANE_Bool);
|
||||||
|
|
|
@ -62,6 +62,8 @@ public:
|
||||||
int index;
|
int index;
|
||||||
int bytes;
|
int bytes;
|
||||||
bool advanced;
|
bool advanced;
|
||||||
|
bool readonly;
|
||||||
|
bool deviceonly; // 只能在设备上操作的属性
|
||||||
bool depend_or; // or or and
|
bool depend_or; // or or and
|
||||||
std::vector<DEPENDITEM> depend;
|
std::vector<DEPENDITEM> depend;
|
||||||
RANGE range;
|
RANGE range;
|
||||||
|
@ -77,7 +79,7 @@ public:
|
||||||
type = L"bool";
|
type = L"bool";
|
||||||
init_val = L"true";
|
init_val = L"true";
|
||||||
bytes = 4;
|
bytes = 4;
|
||||||
advanced = false;
|
advanced = readonly = deviceonly = false;
|
||||||
depend_or = true;
|
depend_or = true;
|
||||||
range.type = RANGE_TYPE_NONE;
|
range.type = RANGE_TYPE_NONE;
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue