配置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_WAIT_TO_SCAN , OPTION_TITLE_DZSM}
|
||||
, {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-白色)
|
||||
, {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_CHECK_ADVANCED)->EnableWindow(valid);
|
||||
GetDlgItem(IDC_CHECK_READONLY)->EnableWindow(valid);
|
||||
GetDlgItem(IDC_CHECK_DEVICEONLY)->EnableWindow(valid);
|
||||
constraint_.EnableWindow(valid);
|
||||
depends_.EnableWindow(valid);
|
||||
type_.EnableWindow(valid);
|
||||
|
@ -6316,6 +6317,8 @@ void ChgjsonDlg::set_control_status(const HGITEM& item)
|
|||
type_.SetCurSel(4);
|
||||
|
||||
((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 ...
|
||||
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);
|
||||
|
||||
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 (opt_name)
|
||||
|
@ -6629,6 +6634,8 @@ std::string ChgjsonDlg::to_json_text(bool for_const, std::wstring* dev)
|
|||
if (item)
|
||||
{
|
||||
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();
|
||||
}
|
||||
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);
|
||||
if (val && wcscmp(val, L"advanced") == 0)
|
||||
item.advanced = true;
|
||||
jsn->get_value(L"readonly", item.readonly);
|
||||
jsn->get_value(L"hwonly", item.deviceonly);
|
||||
|
||||
|
||||
jsn->get_value(L"depend_and", &child);
|
||||
if (child)
|
||||
|
@ -7738,6 +7748,8 @@ void ChgjsonDlg::OnBnClickedButton4()
|
|||
::GetWindowTextW(type_.m_hWnd, str, _countof(str) - 1);
|
||||
it->type = str;
|
||||
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();
|
||||
if (wcscmp(str, L"bool") == 0)
|
||||
it->bytes = sizeof(SANE_Bool);
|
||||
|
|
|
@ -62,6 +62,8 @@ public:
|
|||
int index;
|
||||
int bytes;
|
||||
bool advanced;
|
||||
bool readonly;
|
||||
bool deviceonly; // 只能在设备上操作的属性
|
||||
bool depend_or; // or or and
|
||||
std::vector<DEPENDITEM> depend;
|
||||
RANGE range;
|
||||
|
@ -77,7 +79,7 @@ public:
|
|||
type = L"bool";
|
||||
init_val = L"true";
|
||||
bytes = 4;
|
||||
advanced = false;
|
||||
advanced = readonly = deviceonly = false;
|
||||
depend_or = true;
|
||||
range.type = RANGE_TYPE_NONE;
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue