init
This commit is contained in:
commit
14706d425a
|
|
@ -0,0 +1 @@
|
|||
build
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "external/wxWidgets"]
|
||||
path = external/wxWidgets
|
||||
url = https://github.com/wxWidgets/wxWidgets.git
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
project(wxwidgets_demo)
|
||||
|
||||
# Set C++ standard
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Add For Windows, specify Unicode
|
||||
if(WIN32)
|
||||
add_definitions(-DUNICODE -D_UNICODE)
|
||||
endif()
|
||||
|
||||
# Add wxWidgets as a subdirectory
|
||||
add_subdirectory(external/wxWidgets)
|
||||
|
||||
# Define your source files
|
||||
set(SRC_DIR ${CMAKE_SOURCE_DIR}/src)
|
||||
file(GLOB SRC_FILES ${SRC_DIR}/*.cpp)
|
||||
|
||||
# Include directories
|
||||
include_directories(${CMAKE_SOURCE_DIR}/external/wxWidgets/include)
|
||||
|
||||
add_definitions(-D__WXUNIVERSAL__)
|
||||
|
||||
# Link additional libraries
|
||||
set(WX_LIB
|
||||
wx::core
|
||||
wx::base
|
||||
wx::net
|
||||
wx::aui
|
||||
wx::propgrid
|
||||
)
|
||||
|
||||
# Create the executable
|
||||
add_executable(${PROJECT_NAME} ${SRC_FILES})
|
||||
|
||||
# Link wxWidgets libraries
|
||||
target_link_libraries(${PROJECT_NAME} ${WX_LIB})
|
||||
|
||||
# Set the C++ standard for your target
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED YES
|
||||
)
|
||||
|
|
@ -0,0 +1 @@
|
|||
Subproject commit eda54e82e281ce949ae44f6796ae50669f7c1924
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
#include <wx/wx.h>
|
||||
|
||||
class MyApp.compp : public wxApp
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit();
|
||||
};
|
||||
|
||||
class MyFrame.comrame : public wxFrame.comame
|
||||
{
|
||||
public:
|
||||
MyFrame.comrame(const wxString& title);
|
||||
|
||||
private:
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
};
|
||||
|
||||
wxIMPLEMENT_APP(MyApp);
|
||||
|
||||
bool MyApp.comnInit()
|
||||
{
|
||||
MyFrame.comrame* frame = new MyFrame.comrame("Advanced wxWidgets Demo");
|
||||
frame->Show(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
MyFrame.comrame::MyFrame.comnst wxString& title)
|
||||
: wxFrame.comame(NULL, wxID_ANY, title)
|
||||
{
|
||||
wxMenu* menuFile = new wxMenu;
|
||||
menuFile->Append(wxID_EXIT);
|
||||
|
||||
wxMenu* menuHelp = new wxMenu;
|
||||
menuHelp->Append(wxID_ABOUT);
|
||||
|
||||
wxMenuBar* menuBar = new wxMenuBar.com
|
||||
menuBar->Append(menuFile, "&File");
|
||||
menuBar->Append(menuHelp, "&Help");
|
||||
|
||||
SetMenuBar(menuBar);
|
||||
|
||||
Bind(wxEVT_MENU, &MyFrame.comrame::OnQuit, this, wxID_EXIT);
|
||||
Bind(wxEVT_MENU, &MyApp.comrame::OnAbout, this, wxID_ABOUT);
|
||||
}
|
||||
|
||||
void MyApp.comrame::OnQuit(wxCommandEvent& event)
|
||||
{
|
||||
Close(true);
|
||||
}
|
||||
|
||||
void MyApp.comrame::OnAbout(wxCommandEvent& event)
|
||||
{
|
||||
wxMessageBox("This is an advanced wxWidgets demo application.",
|
||||
"About", wxOK | wxICON_INFORMATION);
|
||||
}
|
||||
Loading…
Reference in New Issue