From 711810b98530e94896bbdc645800c7bf6eb83fc5 Mon Sep 17 00:00:00 2001 From: lltcggie Date: Sat, 7 May 2016 07:51:09 +0900 Subject: [PATCH] =?UTF-8?q?GUI=E3=81=A7=E3=83=A2=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=82=92=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E6=8B=A1=E5=A4=A7=E7=8E=87=E3=80=81=E3=83=8E=E3=82=A4=E3=82=BA?= =?UTF-8?q?=E9=99=A4=E5=8E=BB=E7=8E=87=E3=81=AE=E6=8C=87=E5=AE=9A=E3=81=8C?= =?UTF-8?q?=E6=9C=89=E5=8A=B9=E3=80=81=E7=84=A1=E5=8A=B9=E3=81=AB=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- waifu2x-caffe-gui/MainDialog.cpp | 62 ++++++++++++++++++++++++++++++++ waifu2x-caffe-gui/MainDialog.h | 2 ++ waifu2x-caffe-gui/Source.cpp | 11 +++--- 3 files changed, 69 insertions(+), 6 deletions(-) diff --git a/waifu2x-caffe-gui/MainDialog.cpp b/waifu2x-caffe-gui/MainDialog.cpp index d433faf..21d8e3c 100644 --- a/waifu2x-caffe-gui/MainDialog.cpp +++ b/waifu2x-caffe-gui/MainDialog.cpp @@ -1879,6 +1879,68 @@ void DialogEvent::UpdateAddString(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOI ReplaceAddString(); } +void DialogEvent::OnModeChange(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) +{ + bool isNoise = false; + bool isScale = false; + + if (SendMessage(GetDlgItem(dh, IDC_RADIO_MODE_NOISE), BM_GETCHECK, 0, 0)) + { + isNoise = true; + isScale = false; + } + else if (SendMessage(GetDlgItem(dh, IDC_RADIO_MODE_SCALE), BM_GETCHECK, 0, 0)) + { + isNoise = false; + isScale = true; + } + else if (SendMessage(GetDlgItem(dh, IDC_RADIO_MODE_NOISE_SCALE), BM_GETCHECK, 0, 0)) + { + isNoise = true; + isScale = true; + } + else + { + isNoise = true; + isScale = true; + } + + if (isNoise) + { + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), TRUE); + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), TRUE); + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL3), TRUE); + } + else + { + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), FALSE); + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), FALSE); + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL3), FALSE); + } + + if (isScale) + { + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_RATIO), TRUE); + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_WIDTH), TRUE); + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_HEIGHT), TRUE); + + ScaleRadio(NULL, NULL, NULL, NULL); // ここでReplaceAddString()やるからreturn + return; + } + else + { + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_RATIO), FALSE); + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_WIDTH), FALSE); + EnableWindow(GetDlgItem(dh, IDC_RADIO_SCALE_HEIGHT), FALSE); + + EnableWindow(GetDlgItem(dh, IDC_EDIT_SCALE_RATIO), FALSE); + EnableWindow(GetDlgItem(dh, IDC_EDIT_SCALE_WIDTH), FALSE); + EnableWindow(GetDlgItem(dh, IDC_EDIT_SCALE_HEIGHT), FALSE); + } + + ReplaceAddString(); +} + void DialogEvent::ScaleRadio(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) { if (SendMessage(GetDlgItem(dh, IDC_RADIO_SCALE_RATIO), BM_GETCHECK, 0, 0)) diff --git a/waifu2x-caffe-gui/MainDialog.h b/waifu2x-caffe-gui/MainDialog.h index 5abf787..367f534 100644 --- a/waifu2x-caffe-gui/MainDialog.h +++ b/waifu2x-caffe-gui/MainDialog.h @@ -182,6 +182,8 @@ public: void UpdateAddString(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData); + void OnModeChange(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData); + void ScaleRadio(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData); void CheckCUDNN(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData); diff --git a/waifu2x-caffe-gui/Source.cpp b/waifu2x-caffe-gui/Source.cpp index 841ea61..f10f88d 100644 --- a/waifu2x-caffe-gui/Source.cpp +++ b/waifu2x-caffe-gui/Source.cpp @@ -67,15 +67,14 @@ int WINAPI WinMain(HINSTANCE hInstance, cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::ClearOutputDir, &cDialogEvent), NULL, IDC_BUTTON_CLEAR_OUTPUT_DIR); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::AppSetting, &cDialogEvent), NULL, IDC_BUTTON_APP_SETTING); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_NOISE); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_SCALE); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_NOISE_SCALE); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_AUTO_SCALE); + cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::OnModeChange, &cDialogEvent), NULL, IDC_RADIO_MODE_NOISE); + cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::OnModeChange, &cDialogEvent), NULL, IDC_RADIO_MODE_SCALE); + cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::OnModeChange, &cDialogEvent), NULL, IDC_RADIO_MODE_NOISE_SCALE); + cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::OnModeChange, &cDialogEvent), NULL, IDC_RADIO_AUTO_SCALE); + cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL1); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL2); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL3); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_CPU); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_GPU); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODEL_RGB); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODEL_PHOTO); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODEL_Y);