summaryrefslogtreecommitdiff
path: root/protocols/Quotes/src/WinCtrlHelper.cpp
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-10-13 09:49:24 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-10-13 09:49:24 +0000
commitf7d2c07c102d940727b0f053864c04ed32a76ff8 (patch)
tree07ee5f7aeb9a85341d39f5566a065899dd4de3e9 /protocols/Quotes/src/WinCtrlHelper.cpp
parent221fd937a28a3254936c65ca06a98713e41528cc (diff)
Quotes: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1905 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Quotes/src/WinCtrlHelper.cpp')
-rw-r--r--protocols/Quotes/src/WinCtrlHelper.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/protocols/Quotes/src/WinCtrlHelper.cpp b/protocols/Quotes/src/WinCtrlHelper.cpp
new file mode 100644
index 0000000000..619fe3d41b
--- /dev/null
+++ b/protocols/Quotes/src/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<const IQuotesProvider*>(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(g_hInstance,
+ MAKEINTRESOURCE(IDD_DIALOG_VARIABLE_LIST),
+ hwndParent,
+ VariableListDlgProc,
+ reinterpret_cast<LPARAM>(pProvider));
+}