From de688dfbe324b63cec4cf775107f7b7574457c94 Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Thu, 14 Sep 2023 11:27:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E9=99=A4=E5=86=85=E5=AD=98=E6=B3=84?= =?UTF-8?q?=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/apps/hgjson/CDlgMain.cpp | 18 ++++++ tools/apps/hgjson/CDlgMain.h | 1 + tools/apps/hgjson/DlgCondition.cpp | 2 +- tools/apps/hgjson/DlgOptJson.cpp | 100 ++++++++++++++++++++++++----- tools/apps/hgjson/DlgOptJson.h | 1 + tools/apps/hgjson/DlgRange.cpp | 26 +++++--- tools/apps/hgjson/hgjson.rc | Bin 65852 -> 65778 bytes 7 files changed, 121 insertions(+), 27 deletions(-) diff --git a/tools/apps/hgjson/CDlgMain.cpp b/tools/apps/hgjson/CDlgMain.cpp index eb3c84c..6506f16 100644 --- a/tools/apps/hgjson/CDlgMain.cpp +++ b/tools/apps/hgjson/CDlgMain.cpp @@ -115,6 +115,7 @@ void CDlgMain::insert_page(CDialogEx* page, const wchar_t* title) BEGIN_MESSAGE_MAP(CDlgMain, CDialogEx) ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CDlgMain::OnTcnSelchangeTab1) ON_NOTIFY(TCN_SELCHANGING, IDC_TAB1, &CDlgMain::OnTcnSelchangingTab1) + ON_WM_DESTROY() END_MESSAGE_MAP() @@ -141,3 +142,20 @@ void CDlgMain::OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult) tab_.GetItem(tab_.GetCurSel(), &item); ((CWnd*)item.lParam)->ShowWindow(SW_HIDE); } + + +void CDlgMain::OnDestroy() +{ + CDialogEx::OnDestroy(); + + // TODO: 在此处添加消息处理程序代码 + for (int i = 0; i < tab_.GetItemCount(); ++i) + { + TCITEM item = { 0 }; + + item.mask = TCIF_PARAM; + tab_.GetItem(i, &item); + + delete (CDialogEx*)item.lParam; + } +} diff --git a/tools/apps/hgjson/CDlgMain.h b/tools/apps/hgjson/CDlgMain.h index 861290e..2cbac0e 100644 --- a/tools/apps/hgjson/CDlgMain.h +++ b/tools/apps/hgjson/CDlgMain.h @@ -27,4 +27,5 @@ public: CTabCtrl tab_; afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnDestroy(); }; diff --git a/tools/apps/hgjson/DlgCondition.cpp b/tools/apps/hgjson/DlgCondition.cpp index 1bf0ec6..bbd7954 100644 --- a/tools/apps/hgjson/DlgCondition.cpp +++ b/tools/apps/hgjson/DlgCondition.cpp @@ -118,7 +118,7 @@ BOOL CDlgCondition::OnInitDialog() { if (data->type != SANE_TYPE_GROUP) { - int ind = items_.AddString(data->name.c_str()); + int ind = items_.AddString(data->title.c_str()); items_.SetItemData(ind, (DWORD_PTR)data); data = new OPTITEM; } diff --git a/tools/apps/hgjson/DlgOptJson.cpp b/tools/apps/hgjson/DlgOptJson.cpp index a00ffc2..a068067 100644 --- a/tools/apps/hgjson/DlgOptJson.cpp +++ b/tools/apps/hgjson/DlgOptJson.cpp @@ -11,6 +11,7 @@ #include +#include "../../../../sdk/include/lang/app_language.h" static std::string device_opt_json[] = { "{\"restore\":{\"cat\":\"base\",\"group\":\"\",\"title\":\"\\u6062\\u590d\\u9ed8\\u8ba4\\u8bbe\\u7f6e\",\"desc\":\"\\u6062\\u590d\\u9ed8\\u8ba4\\u8bbe\\u7f6e\",\"ver\":0,\"pos\":0,\"fix-id\":0,\"type\":\"button\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4},\"help\":{\"cat\":\"base\",\"group\":\"\",\"title\":\"\\u5e2e\\u52a9\",\"desc\":\"\\u663e\\u793a\\u8f6f\\u4ef6\\u5e2e\\u52a9\\u6587\\u6863\",\"ver\":0,\"pos\":0,\"fix-id\":34897,\"type\":\"button\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4},\"is-multiout\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u591a\\u6d41\\u8f93\\u51fa\",\"desc\":\"\\u540c\\u65f6\\u8f93\\u51fa\\u591a\\u79cd\\u989c\\u8272\\u6a21\\u5f0f\\u7684\\u56fe\\u50cf\",\"ver\":0,\"pos\":0,\"fix-id\":34817,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false},\"multiout-type\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u591a\\u6d41\\u8f93\\u51fa\\u7c7b\\u578b\",\"desc\":\"\\u9009\\u62e9\\u591a\\u6d41\\u8f93\\u51fa\\u7684\\u7c7b\\u578b\",\"ver\":0,\"pos\":0,\"fix-id\":34818,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":66,\"cur\":\"\\u5f69\\u8272+\\u7070\\u5ea6+\\u9ed1\\u767d\",\"default\":\"\\u5f69\\u8272+\\u7070\\u5ea6+\\u9ed1\\u767d\",\"range\":[\"\\u5f69\\u8272+\\u7070\\u5ea6+\\u9ed1\\u767d\",\"\\u5f69\\u8272+\\u7070\\u5ea6\",\"\\u5f69\\u8272+\\u9ed1\\u767d\",\"\\u7070\\u5ea6+\\u9ed1\\u767d\"],\"depend\":\"is-multiout==true\"},\"mode\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u989c\\u8272\\u6a21\\u5f0f\",\"desc\":\"\\u9009\\u62e9\\u8272\\u5f69\\u6a21\\u5f0f\",\"ver\":0,\"pos\":0,\"fix-id\":34819,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":54,\"cur\":\"24\\u4f4d\\u5f69\\u8272\",\"default\":\"24\\u4f4d\\u5f69\\u8272\",\"range\":[\"24\\u4f4d\\u5f69\\u8272\",\"256\\u7ea7\\u7070\\u5ea6\",\"\\u9ed1\\u767d\",\"\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"],\"depend\":\"is-multiout!=true\"},\"binary-threshold\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9ed1\\u767d\\u56fe\\u50cf\\u9608\\u503c\",\"desc\":\"\\u9ad8\\u4e8e\\u8be5\\u9608\\u503c\\u4e3a1\\uff08\\u767d\\uff09\\uff0c\\u4f4e\\u4e8e\\u8be5\\u9608\\u503c\\u4e3a0\\uff08\\u9ed1\\uff09\",\"ver\":0,\"pos\":0,\"fix-id\":34870,\"type\":\"int\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":127,\"default\":127,\"range\":{\"min\":0,\"max\":255,\"step\":1},\"depend\":\"multiout-type!=\\u5f69\\u8272+\\u7070\\u5ea6||mode==\\u9ed1\\u767d\"},\"reverse-bw\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9ed1\\u767d\\u56fe\\u50cf\\u53cd\\u8272\\u8f93\\u51fa\",\"desc\":\"\\u8f93\\u51fa\\u7684\\u9ed1\\u767d\\u56fe\\u50cf\\u4ee5\\u201c1\\u201d\\u4ee3\\u8868\\u9ed1\\u8272\\uff0c\\u201c0\\u201d\\u4ee3\\u8868\\u767d\\u8272\",\"ver\":0,\"pos\":0,\"fix-id\":34878,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"multiout-type!=\\u5f69\\u8272+\\u7070\\u5ea6||mode==\\u9ed1\\u767d\"},\"filter\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u7070\\u5ea6\\u6216\\u9ed1\\u767d\\u56fe\\u50cf - \\u9664\\u8272\\u4e0e\\u589e\\u5f3a\",\"desc\":\"\\u6d88\\u9664\\u6216\\u589e\\u5f3a\\u6307\\u5b9a\\u8272\\u5f69\",\"ver\":0,\"pos\":0,\"fix-id\":34820,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":42,\"cur\":\"\\u4e0d\\u9664\\u8272\",\"default\":\"\\u4e0d\\u9664\\u8272\",\"range\":[\"\\u4e0d\\u9664\\u8272\",\"\\u9664\\u7ea2\\u8272\",\"\\u9664\\u7eff\\u8272\",\"\\u9664\\u84dd\\u8272\",\"\\u7ea2\\u8272\\u589e\\u5f3a\",\"\\u7eff\\u8272\\u589e\\u5f3a\",\"\\u84dd\\u8272\\u589e\\u5f3a\"],\"depend\":\"is-multiout!=true&&mode!=24\\u4f4d\\u5f69\\u8272&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-rid-multiout-red\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"24\\u4f4d\\u5f69\\u8272\\u56fe\\u50cf - \\u591a\\u6d41\\u8f93\\u51fa\\u9664\\u7ea2\",\"desc\":\"\\u540c\\u65f6\\u8f93\\u51fa\\u5f69\\u8272\\u56fe\\u50cf\\u548c\\u7070\\u5ea6\\u9664\\u7ea2\\u56fe\\u50cf\",\"ver\":0,\"pos\":0,\"fix-id\":34821,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"is-multiout!=true&&mode!=256\\u7ea7\\u7070\\u5ea6&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-rid-answer-sheet-red\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"24\\u4f4d\\u5f69\\u8272\\u56fe\\u50cf - \\u7b54\\u9898\\u5361\\u9664\\u7ea2\",\"desc\":\"\\u8f93\\u51fa\\u9664\\u7ea2\\u5f69\\u8272\\u56fe\\u50cf\",\"ver\":0,\"pos\":0,\"fix-id\":34822,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"is-multiout!=true&&mode!=256\\u7ea7\\u7070\\u5ea6&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-erase-bkg\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u80cc\\u666f\\u79fb\\u9664\",\"desc\":\"\\u79fb\\u9664\\u6587\\u7a3f\\u80cc\\u666f\\u5e95\\u8272\",\"ver\":0,\"pos\":0,\"fix-id\":34823,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"is-multiout!=true&&mode!=256\\u7ea7\\u7070\\u5ea6&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"bkg-color-range\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\" \\u80cc\\u666f\\u8272\\u5f69\\u6d6e\\u52a8\\u8303\\u56f4\",\"desc\":\"\\u4e0e\\u80cc\\u666f\\u5e95\\u8272\\u504f\\u5dee\\u5728\\u8be5\\u503c\\u8303\\u56f4\\u5185\\u7684\\u989c\\u8272\\uff0c\\u90fd\\u5c06\\u88ab\\u79fb\\u9664\",\"ver\":0,\"pos\":0,\"fix-id\":34824,\"type\":\"int\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":20,\"default\":20,\"range\":{\"min\":1,\"max\":128,\"step\":1},\"depend\":\"is-erase-bkg==true\"},\"sharpen\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9510\\u5316\\u4e0e\\u6a21\\u7cca\",\"desc\":\"\\u9009\\u62e9\\u9510\\u5316\\u6548\\u679c\\u6216\\u6a21\\u7cca\\u6548\\u679c\",\"ver\":0,\"pos\":0,\"fix-id\":34825,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":48,\"cur\":\"\\u65e0\",\"default\":\"\\u65e0\",\"range\":[\"\\u65e0\",\"\\u9510\\u5316\",\"\\u8fdb\\u4e00\\u6b65\\u9510\\u5316\",\"\\u6a21\\u7cca\",\"\\u8fdb\\u4e00\\u6b65\\u6a21\\u7cca\"],\"depend\":\"is-multiout!=true&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-rid-morr\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u53bb\\u9664\\u6469\\u5c14\\u7eb9\",\"desc\":\"\\u53bb\\u9664\\u56fe\\u50cf\\u4e2d\\u7684\\u6469\\u5c14\\u7eb9\",\"ver\":0,\"pos\":0,\"fix-id\":34826,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"resolution<500&&is-multiout!=true&&paper!=\\u4e09\\u8054\\u8bd5\\u5377&&paper!=\\u6700\\u5927\\u626b\\u63cf\\u5c3a\\u5bf8&&paper!=\\u6700\\u5927\\u626b\\u63cf\\u5c3a\\u5bf8\\u81ea\\u52a8\\u88c1\\u5207&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-rid-grid\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9664\\u7f51\\u7eb9\",\"desc\":\"\\u53bb\\u9664\\u56fe\\u50cf\\u4e2d\\u7684\\u7f51\\u7eb9\",\"ver\":0,\"pos\":0,\"fix-id\":34827,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"resolution<500&&is-multiout!=true&&paper!=\\u4e09\\u8054\\u8bd5\\u5377&&paper!=\\u6700\\u5927\\u626b\\u63cf\\u5c3a\\u5bf8&&paper!=\\u6700\\u5927\\u626b\\u63cf\\u5c3a\\u5bf8\\u81ea\\u52a8\\u88c1\\u5207&&mode!=\\u9ed1\\u767d&&mode!=\\u989c\\u8272\\u81ea\\u52a8\\u8bc6\\u522b\"},\"is-err-extension\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9519\\u8bef\\u6269\\u6563\",\"desc\":\"\\u4ee5\\u70b9\\u9635\\u5f62\\u5f0f\\u6784\\u5efa\\u56fe\\u50cf\",\"ver\":0,\"pos\":0,\"fix-id\":34828,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"mode==\\u9ed1\\u767d\"},\"is-noise-optimize\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u9ed1\\u767d\\u56fe\\u50cf\\u566a\\u70b9\\u4f18\\u5316\",\"desc\":\"\\u53bb\\u9664\\u56fe\\u50cf\\u4e2d\\u7684\\u5b64\\u7acb\\u9ed1\\u70b9\",\"ver\":0,\"pos\":0,\"fix-id\":34829,\"type\":\"bool\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":false,\"default\":false,\"depend\":\"mode==\\u9ed1\\u767d\"},\"noise-size\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\" \\u566a\\u70b9\\u4f18\\u5316\\u5c3a\\u5bf8\",\"desc\":\"\\u8bbe\\u7f6e\\u9700\\u8981\\u53bb\\u9664\\u7684\\u9ed1\\u8272\\u5b64\\u7acb\\u70b9\\u7684\\u8fde\\u901a\\u4e2a\\u6570\",\"ver\":0,\"pos\":0,\"fix-id\":34830,\"type\":\"int\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":4,\"cur\":10,\"default\":10,\"range\":{\"min\":1,\"max\":50,\"step\":1},\"depend\":\"is-noise-optimize==true\"},\"paper\":{\"cat\":\"base\",\"group\":\"base\",\"title\":\"\\u7eb8\\u5f20\\u5c3a\\u5bf8\",\"desc\":\"\\u8bbe\\u7f6e\\u51fa\\u56fe\\u5927\\u5c0f\",\"ver\":0,\"pos\":0,\"fix-id\":34831,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"readonly\":false,\"visible\":true,\"enabled\":true,\"size\":96,\"cur\":\"\\u5339\\u914d\\u539f\\u59cb\\u5c3a\\u5bf8\",\"default\":\"\\u5339\\u914d\\u539f\\u59cb\\u5c3a\\u5bf8\",\"range\":[\"A3\",\"8\\u5f00\",\"A4\",\"A4\\u6a2a\\u5411\",\"16\\u5f00\",\"16\\u5f00\\u6a2a\\u5411\",\"A5\",\"A5\\u6a2a\\u5411\",\"A6\",\"A6\\u6a2a\\u5411\",\"B4\",\"B5\",\"B5\\u6a2a\\u5411\",\"B6\",\"B6\\u6a2a\\u5411\",\"Letter\",\"Letter\\u6a2a\\u5411\",\"Double Letter\",\"LEGAL\",\"\\u5339\\u914d\\u539f", @@ -195,6 +196,24 @@ namespace known_name return 0; } + + static void erase_trans_letter(std::wstring& str) + { + size_t splash = str.find(L"\\\\"); + + while (splash != std::wstring::npos) + { + str.erase(splash++, 1); + splash = str.find(L"\\\\", splash); + } + + splash = str.find(L"\\\""); + while (splash != std::wstring::npos) + { + str.erase(splash++, 1); + splash = str.find(L"\\\"", splash); + } + } }; @@ -206,11 +225,13 @@ IMPLEMENT_DYNAMIC(CDlgOptJson, CDialogEx) CDlgOptJson::CDlgOptJson(CWnd* pParent /*=NULL*/) : CDialogEx(CDlgOptJson::IDD, pParent) { - + //_CrtSetBreakAlloc(350252); } CDlgOptJson::~CDlgOptJson() { + delete_from_tree(); + lang_initialize((void*)0xde1e); } known_file_util::IJsonW* CDlgOptJson::SANEOPT::to_json(void) @@ -1400,26 +1421,42 @@ bool CDlgOptJson::load_from_json_text(const wchar_t* txt, std::wstring* err_msg) // try code-text ... { std::wstring code(txt); - size_t splash = code.find(L"\\\\"); + size_t splash = 0; - while (splash != std::wstring::npos) - { - code.erase(splash++, 1); - splash = code.find(L"\\\\", splash); - } - - splash = code.find(L"\\\""); - while (splash != std::wstring::npos) - { - code.erase(splash++, 1); - splash = code.find(L"\\\"", splash); - } - splash = 0; + known_name::erase_trans_letter(code); jsn = known_file_util::create_jsonW(&code[0], (int*)&splash); if (jsn) break; } + // try device_opt_json + { + std::wstring code(txt), tag(L"static std::string device_opt_json[] = {"); + size_t pos = code.find(tag); + + if (pos == 0) + { + code.erase(0, tag.length()); + tag = L"\r\n\t\""; + while ((pos = code.find(tag)) != std::wstring::npos) + { + if (pos > 2 && code[pos - 1] == L',' && code[pos - 2] == L'\"') + code.erase(pos - 2, tag.length() + 2); + else + code.erase(pos, tag.length()); + } + tag = L"\"\r\n"; + pos = code.find(tag); + if (pos != std::wstring::npos) + code.erase(pos); + known_name::erase_trans_letter(code); + pos = 0; + jsn = known_file_util::create_jsonW(&code[0], (int*)&pos); + } + if (jsn) + break; + } + int ep = 10, len = 10; if (lstrlenW(txt + pos) < 10) len = lstrlenW(txt + pos); @@ -1526,6 +1563,14 @@ BOOL CDlgOptJson::OnInitDialog() } +void CDlgOptJson::OnDestroy() +{ + CDialogEx::OnDestroy(); + + // TODO: ڴ˴Ϣ + delete_from_tree(); +} + BEGIN_MESSAGE_MAP(CDlgOptJson, CDialogEx) ON_WM_PASTE() ON_CBN_SELCHANGE(IDC_COMBO_DATA_TYPE, &CDlgOptJson::OnCbnDataTypeSelchange) @@ -1550,6 +1595,7 @@ BEGIN_MESSAGE_MAP(CDlgOptJson, CDialogEx) ON_COMMAND(ID_SORT_GROUP, &CDlgOptJson::OnSortGroup) ON_COMMAND(ID_SORT_POSITION, &CDlgOptJson::OnSortPosition) ON_BN_CLICKED(IDC_BUTTON_SHOWUI, &CDlgOptJson::OnBnClickedButtonShowui) + ON_WM_DESTROY() END_MESSAGE_MAP() @@ -2870,6 +2916,25 @@ void CDlgOptJson::OnBnClickedButtonShowui() std::string utf8(local_trans::u2a(text.c_str(), CP_UTF8)); test_sane_ui::SANEOBJ sane; + { + gb_json* jsn = new gb_json(); + + if (jsn->attach_text(&utf8[0])) + { + std::string tmp(jsn->to_string()), cp(""); + int cmp = strcmp(utf8.c_str(), tmp.c_str()); + + for (int i = 0; i < 10; ++i) + { + if (jsn->attach_text(&tmp[0])) + { + cp = jsn->to_string(); + cmp = strcmp(cp.c_str(), tmp.c_str()); + } + } + } + jsn->release(); + } text.clear(); if (sane.dev_opt.init(utf8.c_str())) { @@ -2880,10 +2945,11 @@ void CDlgOptJson::OnBnClickedButtonShowui() test_sane_ui::init_api(&api); { - dlg_setting dlg(m_hWnd, &api, (SANE_Handle)&sane, false, L"Test"); + dlg_setting dlg(::GetParent(m_hWnd), &api, (SANE_Handle)&sane, false, L"Test"); - dlg.do_modal(m_hWnd); + dlg.do_modal(::GetParent(m_hWnd)); } } } } + diff --git a/tools/apps/hgjson/DlgOptJson.h b/tools/apps/hgjson/DlgOptJson.h index e520398..4b289fe 100644 --- a/tools/apps/hgjson/DlgOptJson.h +++ b/tools/apps/hgjson/DlgOptJson.h @@ -207,4 +207,5 @@ public: afx_msg void OnSortGroup(); afx_msg void OnSortPosition(); afx_msg void OnBnClickedButtonShowui(); + afx_msg void OnDestroy(); }; diff --git a/tools/apps/hgjson/DlgRange.cpp b/tools/apps/hgjson/DlgRange.cpp index d731c2c..054637b 100644 --- a/tools/apps/hgjson/DlgRange.cpp +++ b/tools/apps/hgjson/DlgRange.cpp @@ -55,7 +55,7 @@ BOOL CDlgRange::OnInitDialog() // when the application's main window is not a dialog list_.SetExtendedStyle(list_.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); list_.InsertColumn(0, TEXT("Value lists"), 0, 150); - list_.InsertColumn(1, TEXT("Condition"), 0, 111); + list_.InsertColumn(1, TEXT("Condition"), 0, 159); //list_.InsertColumn(2, TEXT("Default"), 0, 48); GetDlgItem(IDC_EDIT_VAL)->EnableWindow(type_ != TYPE_FIELDS); @@ -372,22 +372,30 @@ void CDlgRange::OnBnClickedOk() val.val = buf; list_.GetItemText(i, 1, buf, _countof(buf) - 1); val.cond = buf; + if (val.cond.find(L"default:") == 0) + { + val.cond.erase(0, lstrlenW(L"default:")); + init_.push_back(val); + } if (range) { if (val.cond.find(L"min:") == 0) + { + vals_.push_back(val); bl = true; + } else if (val.cond.find(L"max:") == 0) + { + vals_.push_back(val); bu = true; - else if(val.cond.find(L"step:") == 0) + } + else if (val.cond.find(L"step:") == 0) + { + vals_.push_back(val); bs = true; + } } - if (val.cond.find(L"default:") == 0) - { - init_.push_back(val); - val.cond.erase(0, lstrlenW(L"default:")); - } - - if(type_ == TYPE_LIST) + else if(type_ == TYPE_LIST) vals_.push_back(val); } diff --git a/tools/apps/hgjson/hgjson.rc b/tools/apps/hgjson/hgjson.rc index 9f6730ae2c0b2a1ef8bc250e2db65522b428b212..7caf6cee6a133465fce089d11d95868797cfdc1d 100644 GIT binary patch delta 93 zcmdnf#PX?;WrM={$qh@y6ipa(7!()`7%CXd7z}~f42hr2V9sDVdGCAU$s6YKOn$Xq pZt{V7LX(%RPnxW-zGQO23!%vgv-vh_Y&f7Z*`UB@v(P;)WdK9rAY}jm delta 252 zcmXX;y$-=(6g`6n5R0{8lal_>mX$$*u-F<&s|XRK2BYu_-y{;R&?a3CCh-yyuRvmV z@>Oo`Irp4<&;1-S*JCDDB5}LqL?iYk-y>hVPFXQJXOnAuQ};de(L@JB44^`RCb9PC zRHazpT>~yJx0oO#y3kn`yUMwRHFj8GN%j!P{hWGA9WpUS83z9v5_O5?Hp2$$@EI}S raB^U>HO2yZ8uuQ