协议调试器切换到改框架实现
This commit is contained in:
parent
dca8b90bc0
commit
b17d7f3246
@ -1,15 +1,17 @@
|
|||||||
#include "base_form.h"
|
#include "base_form.h"
|
||||||
#include "new_monitor_form.h"
|
|
||||||
|
|
||||||
const std::wstring BasicForm::kClassName = L"Basic";
|
const std::wstring BasicForm::kClassName = L"Basic";
|
||||||
#define WM_USER_POS_CHANGED (WM_USER + 2)
|
#define WM_USER_POS_CHANGED (WM_USER + 2)
|
||||||
|
|
||||||
BasicForm::BasicForm()
|
BasicForm::BasicForm():
|
||||||
|
mMonitorNewSelect(nullptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicForm::~BasicForm()
|
BasicForm::~BasicForm()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring BasicForm::GetSkinFolder()
|
std::wstring BasicForm::GetSkinFolder()
|
||||||
@ -27,15 +29,10 @@ std::wstring BasicForm::GetWindowClassName() const
|
|||||||
return kClassName;
|
return kClassName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (uMsg == WM_USER_POS_CHANGED) {
|
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);
|
return WindowImplBase::HandleMessage(uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
@ -43,38 +40,71 @@ LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
void BasicForm::InitWindow()
|
void BasicForm::InitWindow()
|
||||||
{
|
{
|
||||||
/* Show settings menu */
|
/* Show settings menu */
|
||||||
ui::Button* settings = dynamic_cast<ui::Button*>(FindControl(L"test_customize"));
|
ui::Button* btn_add_new = dynamic_cast<ui::Button*>(FindControl(L"add_new"));
|
||||||
if (nullptr != settings) {
|
btn_add_new->SetText(L"н¨¼àÌýÏî");
|
||||||
settings->AttachClick([this](ui::EventArgs* args) {
|
if (nullptr != btn_add_new) {
|
||||||
printf("%d\r\n", ::PostMessage(this->GetHWND(), WM_USER_POS_CHANGED, 0, 0));
|
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;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
ui::TreeView* tree = dynamic_cast<ui::TreeView*>(FindControl(L"tree"));
|
ui::TreeView* tree = dynamic_cast<ui::TreeView*>(FindControl(L"tree"));
|
||||||
if (nullptr != tree) {
|
if (nullptr != tree) {
|
||||||
ui::TreeNode* parent_node = nullptr;
|
|
||||||
for (auto j = 0; j < 8; j++)
|
|
||||||
{
|
|
||||||
ui::TreeNode* node = new ui::TreeNode;
|
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->SetClass(L"listitem");
|
||||||
node->SetFixedHeight(20);
|
node->SetFixedHeight(20);
|
||||||
if (parent_node)
|
|
||||||
{
|
|
||||||
node->SetText(nbase::StringPrintf(L"Child node %d", j));
|
|
||||||
node->SetMargin({ 10, 0, 0, 0 });
|
node->SetMargin({ 10, 0, 0, 0 });
|
||||||
parent_node->AddChildNode(node);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
node->SetText(nbase::StringPrintf(L"Parent node", j));
|
|
||||||
tree->GetRootNode()->AddChildNode(node);
|
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
|
// duilib
|
||||||
#include "duilib/UIlib.h"
|
#include "duilib/UIlib.h"
|
||||||
#include "ui_components/ui_components.h"
|
#include "ui_components/ui_components.h"
|
||||||
|
#include "new_monitor_form.h"
|
||||||
|
|
||||||
|
|
||||||
class BasicForm : public ui::WindowImplBase
|
class BasicForm : public ui::WindowImplBase
|
||||||
@ -43,4 +44,7 @@ public:
|
|||||||
virtual LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
virtual LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
||||||
|
|
||||||
static const std::wstring kClassName;
|
static const std::wstring kClassName;
|
||||||
|
private:
|
||||||
|
NewMonitorForm* mMonitorNewSelect;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -32,10 +32,86 @@ LRESULT NewMonitorForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
void NewMonitorForm::InitWindow()
|
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)
|
LRESULT NewMonitorForm::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||||||
{
|
{
|
||||||
PostQuitMessage(0L);
|
|
||||||
return __super::OnClose(uMsg, wParam, lParam, bHandled);
|
return __super::OnClose(uMsg, wParam, lParam, bHandled);
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// base header
|
|
||||||
#include "base/base.h"
|
#include "base/base.h"
|
||||||
|
|
||||||
// duilib
|
// duilib
|
||||||
|
Loading…
Reference in New Issue
Block a user