/////////////////////////////////////////////////////////////////////////// // C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif //__BORLANDC__ #ifndef WX_PRECOMP #include #endif //WX_PRECOMP #include "GUIFrame.h" // Using the construction of a static object to ensure that the help provider is set // wx Manages the most recent HelpProvider passed to ::Set, but not the previous ones // If ::Set gets called more than once, the previous one is returned and should be deleted class wxFBContextSensitiveHelpSetter { public: wxFBContextSensitiveHelpSetter() { wxSimpleHelpProvider* help = new wxSimpleHelpProvider(); wxHelpProvider* old = wxHelpProvider::Set( help ); if (old != 0){ delete old; } } }; static wxFBContextSensitiveHelpSetter s_wxFBSetTheHelpProvider; /////////////////////////////////////////////////////////////////////////// GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxSize( 800,600 ), wxDefaultSize ); m_mgr.SetManagedWindow(this); m_mgr.SetFlags(wxAUI_MGR_DEFAULT); m_menubar = new wxMenuBar( 0 ); MenuFile = new wxMenu(); wxMenuItem* MenuFileQuit; MenuFileQuit = new wxMenuItem( MenuFile, ID_MenuFileQuit, wxString( wxT("退出") ) + wxT('\t') + wxT("Alt-F4"), wxT("退出"), wxITEM_NORMAL ); MenuFile->Append( MenuFileQuit ); m_menubar->Append( MenuFile, wxT("文件") ); MenuOperate = new wxMenu(); wxMenuItem* MenuReFreshAdapterList; MenuReFreshAdapterList = new wxMenuItem( MenuOperate, ID_MenuReFreshAdapterList, wxString( wxT("刷新适配器列表") ) , wxT("刷新适配器列表"), wxITEM_NORMAL ); MenuOperate->Append( MenuReFreshAdapterList ); m_menubar->Append( MenuOperate, wxT("操作") ); MenuHelp = new wxMenu(); wxMenuItem* MenuHelpAbout; MenuHelpAbout = new wxMenuItem( MenuHelp, ID_MenuHelpAbout, wxString( wxT("关于") ) + wxT('\t') + wxT("F1"), wxT("关于"), wxITEM_NORMAL ); MenuHelp->Append( MenuHelpAbout ); m_menubar->Append( MenuHelp, wxT("帮助") ); this->SetMenuBar( m_menubar ); m_statusBar = this->CreateStatusBar( 2, wxSTB_DEFAULT_STYLE, wxID_ANY ); m_Updatetimer.SetOwner( this, wxID_Updatetimer ); m_textCtrlLog = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY ); m_mgr.AddPane( m_textCtrlLog, wxAuiPaneInfo() .Center() .CaptionVisible( false ).CloseButton( false ).PinButton( true ).Dock().Resizable().FloatingSize( wxDefaultSize ).DockFixed( true ).BottomDockable( false ).TopDockable( false ).LeftDockable( false ).RightDockable( false ).Floatable( false ).CentrePane() ); m_treeCtrl_adapter = new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxTR_DEFAULT_STYLE|wxTR_HIDE_ROOT|wxTR_SINGLE ); m_mgr.AddPane( m_treeCtrl_adapter, wxAuiPaneInfo() .Left() .Caption( wxT("适配器") ).CloseButton( false ).PinButton( true ).Dock().Resizable().FloatingSize( wxDefaultSize ).BottomDockable( false ).TopDockable( false ).MinSize( wxSize( 300,600 ) ) ); m_UpdateTimer.SetOwner( this, wxID_UpdateTimer ); m_UpdateTimer.Start( 5 ); m_mgr.Update(); // Connect Events this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) ); MenuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuClose ), this, MenuFileQuit->GetId()); MenuOperate->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuReFreshAdapterList ), this, MenuReFreshAdapterList->GetId()); MenuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnMenuAbout ), this, MenuHelpAbout->GetId()); this->Connect( wxID_Updatetimer, wxEVT_TIMER, wxTimerEventHandler( GUIFrame::OnUpdateTimer ) ); m_treeCtrl_adapter->Connect( wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, wxTreeEventHandler( GUIFrame::OnTreeAdapterRightClick ), NULL, this ); this->Connect( wxID_UpdateTimer, wxEVT_TIMER, wxTimerEventHandler( GUIFrame::OnUpdateTimer ) ); } GUIFrame::~GUIFrame() { // Disconnect Events this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) ); this->Disconnect( wxID_Updatetimer, wxEVT_TIMER, wxTimerEventHandler( GUIFrame::OnUpdateTimer ) ); m_treeCtrl_adapter->Disconnect( wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, wxTreeEventHandler( GUIFrame::OnTreeAdapterRightClick ), NULL, this ); this->Disconnect( wxID_UpdateTimer, wxEVT_TIMER, wxTimerEventHandler( GUIFrame::OnUpdateTimer ) ); m_mgr.UnInit(); } GUIAboutDialog::GUIAboutDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxHORIZONTAL ); bSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); wxBoxSizer* bSizer4; bSizer4 = new wxBoxSizer( wxVERTICAL ); bSizer4->Add( 0, 0, 1, wxEXPAND, 5 ); wxBoxSizer* bSizer2; bSizer2 = new wxBoxSizer( wxHORIZONTAL ); m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("SimpleBLETool BY 何亚红"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL ); m_staticText1->Wrap( -1 ); bSizer2->Add( m_staticText1, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); bSizer4->Add( bSizer2, 1, wxEXPAND, 5 ); wxBoxSizer* bSizer3; bSizer3 = new wxBoxSizer( wxHORIZONTAL ); m_staticText2 = new wxStaticText( this, wxID_ANY, wxT("依赖库:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText2->Wrap( -1 ); bSizer3->Add( m_staticText2, 0, wxALL, 5 ); bSizer4->Add( bSizer3, 1, wxEXPAND, 5 ); m_hyperlink1 = new wxHyperlinkCtrl( this, wxID_ANY, wxT("wxWidgets"), wxT("https://www.wxwidgets.org/"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); bSizer4->Add( m_hyperlink1, 0, wxALL, 5 ); m_hyperlink2 = new wxHyperlinkCtrl( this, wxID_ANY, wxT("SimpleBLE"), wxT("https://github.com/OpenBluetoothToolbox/SimpleBLE.git"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); bSizer4->Add( m_hyperlink2, 0, wxALL, 5 ); bSizer4->Add( 0, 0, 1, wxEXPAND, 5 ); bSizer1->Add( bSizer4, 1, wxEXPAND, 5 ); bSizer1->Add( 0, 0, 1, wxEXPAND, 5 ); this->SetSizer( bSizer1 ); this->Layout(); bSizer1->Fit( this ); this->Centre( wxBOTH ); } GUIAboutDialog::~GUIAboutDialog() { } GUIBLERSSIDialog::GUIBLERSSIDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); wxBoxSizer* bSizer5; bSizer5 = new wxBoxSizer( wxVERTICAL ); m_dataViewListCtrl = new wxDataViewListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); m_dataViewListColumn_RSSI = m_dataViewListCtrl->AppendTextColumn( wxT("RSSI(dbm)"), wxDATAVIEW_CELL_INERT, -1, static_cast(wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL), wxDATAVIEW_COL_RESIZABLE ); m_dataViewListColumn_Time = m_dataViewListCtrl->AppendTextColumn( wxT("时间"), wxDATAVIEW_CELL_INERT, -1, static_cast(wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL), wxDATAVIEW_COL_RESIZABLE ); bSizer5->Add( m_dataViewListCtrl, 1, wxALL|wxEXPAND, 5 ); this->SetSizer( bSizer5 ); this->Layout(); this->Centre( wxBOTH ); // Connect Events this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIBLERSSIDialog::OnClose ) ); } GUIBLERSSIDialog::~GUIBLERSSIDialog() { // Disconnect Events this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIBLERSSIDialog::OnClose ) ); } GUIPeripheral::GUIPeripheral( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxSize( 600,400 ), wxDefaultSize ); m_mgr.SetManagedWindow(this); m_mgr.SetFlags(wxAUI_MGR_DEFAULT); m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL ); m_button_unpair = new wxButton( m_toolBar, wxID_ANY, wxT("取消配对"), wxDefaultPosition, wxDefaultSize, 0 ); m_toolBar->AddControl( m_button_unpair ); m_button_connect = new wxButton( m_toolBar, wxID_ANY, wxT("连接"), wxDefaultPosition, wxDefaultSize, 0 ); m_toolBar->AddControl( m_button_connect ); m_button_disconnect = new wxButton( m_toolBar, wxID_ANY, wxT("断开连接"), wxDefaultPosition, wxDefaultSize, 0 ); m_toolBar->AddControl( m_button_disconnect ); m_toolBar->Realize(); m_mgr.AddPane( m_toolBar, wxAuiPaneInfo() .Top() .CaptionVisible( false ).CloseButton( false ).PinButton( true ).Dock().Resizable().FloatingSize( wxDefaultSize ).LeftDockable( false ).RightDockable( false ).Floatable( false ) ); m_treeCtrl = new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxTR_SINGLE ); m_mgr.AddPane( m_treeCtrl, wxAuiPaneInfo() .Left() .CaptionVisible( false ).CloseButton( false ).Movable( false ).Dock().Resizable().FloatingSize( wxDefaultSize ).BottomDockable( false ).TopDockable( false ).LeftDockable( false ).RightDockable( false ).Floatable( false ).CentrePane() ); m_statusBar = this->CreateStatusBar( 2, wxSTB_DEFAULT_STYLE, wxID_ANY ); m_mgr.Update(); this->Centre( wxBOTH ); // Connect Events this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIPeripheral::OnClose ) ); m_button_unpair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnUnpair ), NULL, this ); m_button_connect->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnConnect ), NULL, this ); m_button_disconnect->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnDisConnect ), NULL, this ); m_treeCtrl->Connect( wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, wxTreeEventHandler( GUIPeripheral::OnTreeItemRightClick ), NULL, this ); } GUIPeripheral::~GUIPeripheral() { // Disconnect Events this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIPeripheral::OnClose ) ); m_button_unpair->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnUnpair ), NULL, this ); m_button_connect->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnConnect ), NULL, this ); m_button_disconnect->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIPeripheral::OnDisConnect ), NULL, this ); m_treeCtrl->Disconnect( wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, wxTreeEventHandler( GUIPeripheral::OnTreeItemRightClick ), NULL, this ); m_mgr.UnInit(); } GUIInputDialog::GUIInputDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxWrapSizer* wSizer; wSizer = new wxWrapSizer( wxHORIZONTAL, wxWRAPSIZER_DEFAULT_FLAGS ); m_textCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 500,200 ), 0 ); wSizer->Add( m_textCtrl, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 ); wxBoxSizer* bSizer; bSizer = new wxBoxSizer( wxHORIZONTAL ); bSizer->Add( 400, 0, 1, wxEXPAND, 5 ); m_checkBox_Hex = new wxCheckBox( this, wxID_ANY, wxT("HEX"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer->Add( m_checkBox_Hex, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_button_ok = new wxButton( this, wxID_ANY, wxT("确定"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer->Add( m_button_ok, 0, wxALL, 5 ); wSizer->Add( bSizer, 1, wxEXPAND, 5 ); this->SetSizer( wSizer ); this->Layout(); this->Centre( wxBOTH ); // Connect Events m_button_ok->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIInputDialog::OnOk ), NULL, this ); } GUIInputDialog::~GUIInputDialog() { // Disconnect Events m_button_ok->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIInputDialog::OnOk ), NULL, this ); }