协议调试器切换到改框架实现
This commit is contained in:
parent
dca8b90bc0
commit
b17d7f3246
@ -1,15 +1,17 @@
|
||||
#include "base_form.h"
|
||||
#include "new_monitor_form.h"
|
||||
|
||||
const std::wstring BasicForm::kClassName = L"Basic";
|
||||
#define WM_USER_POS_CHANGED (WM_USER + 2)
|
||||
|
||||
BasicForm::BasicForm()
|
||||
BasicForm::BasicForm():
|
||||
mMonitorNewSelect(nullptr)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
BasicForm::~BasicForm()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::wstring BasicForm::GetSkinFolder()
|
||||
@ -27,15 +29,10 @@ std::wstring BasicForm::GetWindowClassName() const
|
||||
return kClassName;
|
||||
}
|
||||
|
||||
|
||||
LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (uMsg == WM_USER_POS_CHANGED) {
|
||||
NewMonitorForm* window = new NewMonitorForm();
|
||||
window->Create(NULL, NewMonitorForm::kClassName.c_str(), WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0);
|
||||
window->CenterWindow();
|
||||
window->ShowModalFake(this->m_hWnd);
|
||||
nim_comp::Toast::ShowToast(L"×Ô¶¨ÒåÏûÏ¢±»µ÷ÓÃ", 1000, this->GetHWND());
|
||||
|
||||
}
|
||||
return WindowImplBase::HandleMessage(uMsg, wParam, lParam);
|
||||
}
|
||||
@ -43,38 +40,71 @@ LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
void BasicForm::InitWindow()
|
||||
{
|
||||
/* Show settings menu */
|
||||
ui::Button* settings = dynamic_cast<ui::Button*>(FindControl(L"test_customize"));
|
||||
if (nullptr != settings) {
|
||||
settings->AttachClick([this](ui::EventArgs* args) {
|
||||
printf("%d\r\n", ::PostMessage(this->GetHWND(), WM_USER_POS_CHANGED, 0, 0));
|
||||
ui::Button* btn_add_new = dynamic_cast<ui::Button*>(FindControl(L"add_new"));
|
||||
btn_add_new->SetText(L"н¨¼àÌýÏî");
|
||||
if (nullptr != btn_add_new) {
|
||||
btn_add_new->AttachClick([this](ui::EventArgs* args) {
|
||||
if (mMonitorNewSelect == nullptr) {
|
||||
mMonitorNewSelect = new NewMonitorForm();
|
||||
mMonitorNewSelect->Create(this->GetHWND(), NewMonitorForm::kClassName.c_str(),
|
||||
WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0);
|
||||
mMonitorNewSelect->CenterWindow();
|
||||
mMonitorNewSelect->ShowModalFake(this->GetHWND());
|
||||
}
|
||||
else {
|
||||
mMonitorNewSelect = new NewMonitorForm();
|
||||
mMonitorNewSelect->Create(this->GetHWND(), NewMonitorForm::kClassName.c_str(),
|
||||
WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0);
|
||||
mMonitorNewSelect->CenterWindow();
|
||||
mMonitorNewSelect->ShowModalFake(this->GetHWND());
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
ui::TreeView* tree = dynamic_cast<ui::TreeView*>(FindControl(L"tree"));
|
||||
if (nullptr != tree) {
|
||||
ui::TreeNode* parent_node = nullptr;
|
||||
for (auto j = 0; j < 8; j++)
|
||||
{
|
||||
ui::TreeNode* node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"uart"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
|
||||
node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"tcp client"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
|
||||
|
||||
node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"tcp server"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
|
||||
node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"udp client"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
|
||||
node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"udp server"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
|
||||
node = new ui::TreeNode;
|
||||
node->SetText(nbase::StringPrintf(L"udp group"));
|
||||
node->SetClass(L"listitem");
|
||||
node->SetFixedHeight(20);
|
||||
if (parent_node)
|
||||
{
|
||||
node->SetText(nbase::StringPrintf(L"Child node %d", j));
|
||||
node->SetMargin({ 10, 0, 0, 0 });
|
||||
parent_node->AddChildNode(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
node->SetText(nbase::StringPrintf(L"Parent node", j));
|
||||
tree->GetRootNode()->AddChildNode(node);
|
||||
parent_node = node;
|
||||
parent_node->AttachClick([this](ui::EventArgs* args) {
|
||||
printf("%d\r\n", ::PostMessage(this->GetHWND(), WM_USER_POS_CHANGED, 0, 0));
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
// duilib
|
||||
#include "duilib/UIlib.h"
|
||||
#include "ui_components/ui_components.h"
|
||||
#include "new_monitor_form.h"
|
||||
|
||||
|
||||
class BasicForm : public ui::WindowImplBase
|
||||
@ -43,4 +44,7 @@ public:
|
||||
virtual LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
||||
|
||||
static const std::wstring kClassName;
|
||||
private:
|
||||
NewMonitorForm* mMonitorNewSelect;
|
||||
|
||||
};
|
||||
|
@ -32,10 +32,86 @@ LRESULT NewMonitorForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
void NewMonitorForm::InitWindow()
|
||||
{
|
||||
}
|
||||
ui::Button* btn_add_new = dynamic_cast<ui::Button*>(FindControl(L"exit_button"));
|
||||
if (nullptr != btn_add_new) {
|
||||
btn_add_new->SetText(L"Í˳ö");
|
||||
btn_add_new->AttachClick([this](ui::EventArgs*) {
|
||||
this->Close();
|
||||
return true;
|
||||
});
|
||||
}
|
||||
ui::Combo* combo_add_new = dynamic_cast<ui::Combo*>(FindControl(L"combo"));
|
||||
if (NULL != combo_add_new) {
|
||||
ui::ListContainerElement* element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L""));
|
||||
|
||||
combo_add_new->Add(element);
|
||||
|
||||
element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L"uart"));
|
||||
|
||||
combo_add_new->Add(element);
|
||||
|
||||
element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L"tcp client"));
|
||||
combo_add_new->Add(element);
|
||||
|
||||
element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L"tcp server"));
|
||||
combo_add_new->Add(element);
|
||||
|
||||
element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L"udp client"));
|
||||
combo_add_new->Add(element);
|
||||
|
||||
element = new ui::ListContainerElement;
|
||||
element->SetClass(L"listitem");
|
||||
element->SetFixedHeight(30);
|
||||
element->SetBkColor(L"white");
|
||||
element->SetTextPadding({ 6,0,6,0 });
|
||||
element->SetText(nbase::StringPrintf(L"udp server"));
|
||||
combo_add_new->Add(element);
|
||||
|
||||
|
||||
}
|
||||
|
||||
combo_add_new->AttachAllEvents([this](ui::EventArgs* ev) {
|
||||
if (nullptr != ev) {
|
||||
if (ev->Type == 42) {
|
||||
auto text = p->GetText();
|
||||
wprintf(L"%s\r\n", text.c_str());
|
||||
}
|
||||
printf("%d\r\n", ev->Type);
|
||||
auto p = static_cast<ui::Combo*>(ev->pSender);
|
||||
auto text = p->GetText();
|
||||
wprintf(L"%s\r\n", text.c_str());
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
LRESULT NewMonitorForm::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||||
{
|
||||
PostQuitMessage(0L);
|
||||
return __super::OnClose(uMsg, wParam, lParam, bHandled);
|
||||
}
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
// base header
|
||||
#include "base/base.h"
|
||||
|
||||
// duilib
|
||||
|
Loading…
Reference in New Issue
Block a user