From 162e60d66c78bd51aa44c691fe4f4e2f1deb990f Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sat, 19 May 2012 14:24:27 +0000 Subject: added Quotes git-svn-id: http://svn.miranda-ng.org/main/trunk@76 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Quotes/WinCtrlHelper.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 plugins/Quotes/WinCtrlHelper.cpp (limited to 'plugins/Quotes/WinCtrlHelper.cpp') diff --git a/plugins/Quotes/WinCtrlHelper.cpp b/plugins/Quotes/WinCtrlHelper.cpp new file mode 100644 index 0000000000..dba445958e --- /dev/null +++ b/plugins/Quotes/WinCtrlHelper.cpp @@ -0,0 +1,49 @@ +#include "stdafx.h" +#include "QuotesProviderVisitorFormatSpecificator.h" +#include "IQuotesProvider.h" +#include "resource.h" +#include "ModuleInfo.h" + +namespace +{ + INT_PTR CALLBACK VariableListDlgProc(HWND hWnd,UINT msg,WPARAM wp,LPARAM lp) + { + switch(msg) + { + case WM_INITDIALOG: + { + TranslateDialogDefault(hWnd); + const IQuotesProvider* pProvider = reinterpret_cast(lp); + CQuotesProviderVisitorFormatSpecificator visitor; + pProvider->Accept(visitor); + + tostringstream o; + const CQuotesProviderVisitorFormatSpecificator::TFormatSpecificators& raSpec = visitor.GetSpecificators(); + std::for_each(raSpec.begin(),raSpec.end(), + [&o](const CQuotesProviderVisitorFormatSpecificator::CFormatSpecificator& spec) + { + o << spec.m_sSymbol << _T('\t') << spec.m_sDesc << _T("\r\n"); + }); + ::SetDlgItemText(hWnd,IDC_EDIT_VARIABLE,o.str().c_str()); + } + break; + case WM_COMMAND: + if(BN_CLICKED == HIWORD(wp) && (IDOK == LOWORD(wp) || IDCANCEL == LOWORD(wp))) + { + ::EndDialog(hWnd,IDOK); + } + break; + } + + return FALSE; + } +} + +void show_variable_list(HWND hwndParent,const IQuotesProvider* pProvider) +{ + ::DialogBoxParam(CModuleInfo::GetModuleHandle(), + MAKEINTRESOURCE(IDD_DIALOG_VARIABLE_LIST), + hwndParent, + VariableListDlgProc, + reinterpret_cast(pProvider)); +} -- cgit v1.2.3