wxwidgets quick starter

Pierre Fromager a1fea234cf doc : README build win32 3 years ago
doc 989415a895 doc : readme + assets screenshots 3 years ago
include 26000e75b2 doc : readme 3 years ago
src a1fea234cf doc : README build win32 3 years ago
.gitignore a1fea234cf doc : README build win32 3 years ago
Makefile 33be50c95f doc : readme 3 years ago
README.md a1fea234cf doc : README build win32 3 years ago
buildw32.cmd a1fea234cf doc : README build win32 3 years ago
c_cpp_properties.json 18db8d0e68 wxtest : init repo 3 years ago

README.md

WxTest

Basic ranking c++17 wxWidget App starter kit.
wxWidget GUI lib is cross-platform compliant.
To go further, if you want to play with mqtt, checkout mqtt branch.

Screenshots

UI

ui

Log

log

Components

App uses :

  • wxApp ready for wxGetApp feature as singleton pattern.
  • wxLog as file logger with efficient log level managment.
  • wxFrame inherited as single frame design.
  • wxPanel multiple panels used by wxSplitter.
  • wxSplitter & wxSiser for h/v auto layout adjustments.
  • wxCommandEvent subclassing for custom event design (MyFooEvent).
  • wxListCtrl for list management with XPM icons design.
  • wxTimer for timestamp management.
  • Most common widgets like wxMenuBar,wxMenu,wxStatusBar,wxButton,wxRadio,etc...

Requirements

Compiler

  • g++

wxWidget dev lib

wWidget dev library (3.0) and above.

  • Check installed version on debian.
dpkg -l | grep 'wxWidget' | grep dev
  • Check all wWidget available dev lib to be installed.
apt-cache search 'wxWidget' | grep dev
  • Minimal install on debian.
sudo apt-get install libwxbase3.0-dev libwxgtk-media3.0-dev libwxgtk3.0-dev  

Doxygen

  • doc generator.

Cppcheck

  • C++ code checker.
  • Hereby used with std c++11 but should be c++17.

Build

Linux

Build app

make

Clean build

make clean

Build doc

make doc

Doc will be generated in doc/html folder.

Clean doc

make cleandoc

Code check

make check

Win32

Build app

Install mingw64 from MSYS2 with gcc/g++ package using pacman.
Download wxwidget prebuild (Download Windows Binaries) mathing your arch x86/x86_64 :

  • Header Files.
  • Development File.
  • Release DLLs.

Edit buildw32.cmd changing the base path.
Create a build folder at project root.
Then run the command below.

buildw32.cmd

As non static built you should add 2 dlls to distribute the runtime :

  • wxbase315u_gcc1020_x64.dll
  • wxmsw315u_core_gcc1020_x64.dll

Both of them should be found in your prebuild.

Test

  • WIP but may be through boost tests.

Links