wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

Overview

About

wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

wxWidgets Logo

wxWidgets allows you to write native-looking GUI applications for all the major desktop platforms and also helps with abstracting the differences in the non-GUI aspects between them. It is free for the use in both open source and commercial applications, comes with the full, easy to read and modify, source and extensive documentation and a collection of more than a hundred examples. You can learn more about wxWidgets at https://www.wxwidgets.org/ and read its documentation online at https://docs.wxwidgets.org/

Platforms

AppVeyor Unix (make) Unix (CMake) MSW (MSVC) MSW (gcc) Mac OSS-Fuzz

This version of wxWidgets supports the following primary platforms:

  • Windows XP, Vista, 7, 8 and 10 (32/64 bits).
  • Most Unix variants using the GTK+ toolkit (version 2.6 or newer or 3.x).
  • macOS (10.10 or newer) using Cocoa under both amd64 and ARM platforms.

Most popular C++ compilers are supported including but not limited to:

  • Microsoft Visual C++ 2005 or later (up to 2022).
  • g++ 4 or later, including MinGW/MinGW-64/TDM under Windows.
  • Clang under macOS and Linux.
  • Intel icc compiler.
  • Oracle (ex-Sun) CC.

Licence

wxWidgets licence is a modified version of LGPL explicitly allowing not distributing the sources of an application using the library even in the case of static linking.

Building

For building the library, please see platform-specific documentation under docs/ directory, e.g. here are the instructions for wxGTK, wxMSW and wxOSX.

If you're building the sources checked out from Git, and not from a released version, please see these additional Git-specific notes.

Further information

If you are looking for community support, you can get it from

Commercial support is also available.

Finally, keep in mind that wxWidgets is an open source project collaboratively developed by its users and your contributions to it are always welcome. Please check our guidelines if you'd like to do it.

Have fun!

The wxWidgets Team.

Issues
  • Add macro wxNO_UNSAFE_WXSTRING_CONV2 disallowing any implicit conversion between wxString and const char *

    Add macro wxNO_UNSAFE_WXSTRING_CONV2 disallowing any implicit conversion between wxString and const char *

    This is a follow-up of bug #18113.

    The codec used for converting between wxString and const char* is wxConvLibc. This may not be appropriate for everyone.

    This pull request is to enable the macro wxNO_UNSAFE_WXSTRING_CONV2 that, when set, disallows any implicit conversion to and from const char*. An encoding must always be indicated instead.

    In order to let everything compile with and without the macro, all the inline strings must be converted from char to wchar_t.

    tests needed 
    opened by ardovm 88
  • wxExecute() bug with Unix child processes closing all their open descriptors

    wxExecute() bug with Unix child processes closing all their open descriptors

    Issue migrated from trac ticket # 10258

    component: base | priority: normal | resolution: fixed | keywords: wxProcess wxExecute

    2008-12-10 09:42:39: lmichalski (Lukasz Michalski) created the issue


    wxEndProcessFDIOHandler::OnExceptionWaiting is called when child process exits and closes all its descriptors.

    On recent linux kernels (I've tested 2.6.25 to 2.6.27) process descriptors are closed first, then process changes state from Running to 'On Hold' and remains in that state until waitpid is called.

    If controlling pipe notification arrives before child process changed its state waitpid with WNOHANG flag returns 0.

    In this case wxEndProcessFDIOHandler assumes that only pipe was closed and pretends that process exited.

    Lack of subsequent waitpid() calls leaves child process in "On Hold" state forever.

    My solution to this problem is to remove WNOHANG flag from wxEndProcessFDIOHandler::OnExceptionWaiting. This could possibly lock parent process if child will do something nasty to controlling pipe, but for now I don't see better solution to this.

    base v3.0 
    opened by wxtrac 87
  • Merge 'dynamic notebook' branch of AUI

    Merge 'dynamic notebook' branch of AUI

    Issue migrated from trac ticket # 14756

    component: wxAui | priority: normal | resolution: wontfix | keywords: aui notebook dynamic

    2012-10-17 22:22:50: mmacleod (Malcolm MacLeod) created the issue


    Please find attached a patch containing all changes from the 'dynamic notebook' branch of AUI that I have been maintaining. While far from perfect at this point I think that it is time (and the pragmatic thing to do) to go ahead with this and then iron out the problems as they happen, with my work load and the huge amount of other patches coming in it is unlikely that a better opportunity will arise to do this merge and if we wait too much longer we risk it just becoming simply impossible. It is also crucial I think that this must make it into wxWidgets 3, and therefore 2.9.5 is the last opportunity for proper testing and stability fixes, so it makes sense to push this before 2.9.5

    This patch regresses the following revisions that will have to be looked at again after merging (one of them overly critical I don't think): 72641 72627 71560

    The following (minor) documentation patches will have to be looked at again and/or redone, I unfortunately don't have the time currently for this, but can try get around to it in the coming weeks after the merge, of course if anybody else wants to assist thats even better... 72686 72418 71907 71204 70807 70708 70691 70541 70248 70183 69280 69267 67428 67280 67279 66698 66670 66007 65096 64940

    In addition to the above there are some small visual regressions in wxAuiNotebook art to look into, and probably also various other wxAuiNotebook regressions that will appear with more testing. The new functionality of course is also bound to have numerous bugs.

    invalid feature 
    opened by wxtrac 81
  • Doc/View framework for wxAUI MDI

    Doc/View framework for wxAUI MDI

    Issue migrated from trac ticket # 8945

    component: wxAui | priority: normal | resolution: outdated | keywords: wxAuiDocMDI

    2008-01-07 13:22:33: ru10 created the issue


    Here is my patch for including Doc/View framework into wxAUI MDI concept.

    I created the classes wxAuiDocMDIParent/ChildFrame which derives from the corresponding wxAuiMDI classes. I took back the wxDocMDI code and adapted it to the wxAui needs.

    I thus added the files tabdocmdi.h/cpp and modified the VS project of wxAUI and wxWidgets to take them in care. I created a sample app but you should probably create de folder 'samples\auidocvwmdi' before applying the patch. Moreover, I created the related doc in tex format. The doc makes reference to the wxAuiMDI classes which do not exist at this time.

    It seem to work fine under Windows XP sp2, I do not test it under other platforms.

    I'm waiting for any remark, critic, idea...

    invalid v3.0 feature 
    opened by wxtrac 79
  • Modern HTTP(s) Support

    Modern HTTP(s) Support

    This is my proposal for a simple HTTP request class which would allow modern HTTP and HTTP/s connections based on APIs provided by the operating system.

    Please have a look at the interface file to see the complete documentation.

    Usage would look like this:

    // Create the request object
    wxObjectDataPtr<wxWebRequest> request(
        wxWebSession::GetDefault().CreateRequest("https://www.wxwidgets.org/downloads/logos/blocks.png"));
    // Bind events
    request->Bind(wxEVT_WEBREQUEST_STATE, [](wxWebRequestEvent& evt) {
        switch (evt.GetState())
        {
            // Request completed
            case wxWebRequest::State_Completed:
            {
                wxImage logoImage(*evt->GetResponse()->GetStream());
                if (logoImage.IsOK())
                    wxLogInfo("Image loaded");
                break;
            }
            // Request failed
            case wxWebRequest::State_Failed:
                wxLogError("Could not load logo: %s", evt.GetErrorDescription());
                break;
        }
    });
    // Start the request
    request->Start();
    

    As always any feedback is welcome. I don't have an ETA on when or if I would implement this, but I've experience with the proposed underlying APIs and it should be easy to get started.

    Initial todo for a basic (but functional) implementation:

    • [x] Interface Documentation
    • [x] Finalize API
      • [x] Storage_File event params
      • [x] Storage_None event params
      • [x] Authentification params and event
    • [x] Add generic wxCredentialEntryDialog
    • [x] Sample application with common usage scenarios
    • [x] WinHTTP implementation
    • [ ] NSURLSession implementation
    • [x] libcurl implementation
    • [ ] Improve error handling

    Further improvements in the future could be:

    The following APIs would be used:

    Operating SystemAPIHTTPSHTTP/2
    Windows WinHTTP Yes Windows 10 1607
    macOS NSURLSession macOS 10.9 macOS 10.11
    iOS NSURLSession iOS 7.0 iOS 9.0
    Linux libcurl Yes 7.47.0

    Sample App Screenshots

    image image

    high priority 
    opened by TcT2k 79
  • Make wxWidgets Per-Monitor DPI-Aware

    Make wxWidgets Per-Monitor DPI-Aware

    This PR makes wxWidgets Per-Monitor DPI-Aware on Windows.

    Per-Monitor DPI support is added for standard (GDI-based) Windows controls and controls drawn using wxDC*. Other objects, like wxBitmap, wxImage, wxDC*, wxGraphicsContext, wxGLCanvas and any other image/drawing related controls are not affected.
    *The font in wxDC based controls will change if it has an associated wxWindow, anything else (e.g. line width) is based on the DPI of the main monitor.


    In short, it works as follows:

    • When a new top-level window is created:
      • Check if the process is Per-Monitor DPI-Aware, and if so:
      • Determine active DPI.
      • Adjust the PPI of the fonts to the new DPI.
    • React to WM_DPICHANGED events:
      • Invalidate sizes of the window and all its (non-top-level) children.
      • Call MSWUpdateFontOnDPIChange which will adjust the PPI of the wxFont to the new DPI. This function can be overridden by classes implementing wxWindow to do their own DPI specific handling.
      • Generate the new wxDPIChangedEvent to inform application.
      • Change the window size to the new size suggested by WM_DPICHANGED.
    • Let FromDIP(), ToDIP() and GetContentScaleFactor() use the active DPI of the window.

    It is usable with Windows 10 Creators Update (build 1703) or later, as it correctly scales Checkboxes, RadioButtons and other native GUI items, and all non-client areas (blog).

    To use it, add <dpiAwareness>PerMonitorV2</dpiAwareness> to the manifest. This option is currently not available directly in Visual Studio. Move (a dialog of) the application to a monitor with a different DPI, or change the DPI of the current monitor, and voilà.

    Patch to enable Per-Monitor DPI-Awareness in samples for CMake build system.
     build/cmake/functions.cmake | 1 +
     samples/dpi.manifest        | 8 ++++++++
     2 files changed, 9 insertions(+)
    
    diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake
    index 6e0e528c0d..7397b62780 100644
    --- a/build/cmake/functions.cmake
    +++ b/build/cmake/functions.cmake
    @@ -622,6 +622,7 @@ function(wx_add_sample name)
                 # Include default sample.rc
                 list(APPEND src_files ${wxSOURCE_DIR}/samples/sample.rc)
             endif()
    +        list(APPEND src_files ${wxSOURCE_DIR}/samples/dpi.manifest)
         elseif(APPLE AND NOT IPHONE)
             list(APPEND src_files ${wxSOURCE_DIR}/src/osx/carbon/wxmac.icns)
         endif()
    diff --git a/samples/dpi.manifest b/samples/dpi.manifest
    new file mode 100644
    index 0000000000..5891f961eb
    --- /dev/null
    +++ b/samples/dpi.manifest
    @@ -0,0 +1,8 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    +  <asmv3:application>
    +    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
    +      <dpiAwareness>PerMonitorV2</dpiAwareness>
    +    </asmv3:windowsSettings>
    +  </asmv3:application>
    +</assembly>
    

    The table in the collapsed panel below shows the results of the wxWidgets components tested for Per-Monitor DPI-Awareness.

    Test Results (last updated 28-04-2019)

    | Object | Result | Comment | | :--- | :---: | :--- | | Controls | | | | wxActivityIndicator | ☑ | | | wxAddRemoveCtrl | ☑ | | | wxAnimationCtrl | ☑ | | | wxBitmapButton | ☑ | | | wxBitmapComboBox | ☑ | | | wxBitmapToggleButton | ☑ | | | wxButton | ☑ | | | wxCalendarCtrl | ☑ | | | wxCheckBox | ☑ | | | wxCheckListBox | ☑ | | | wxChoice | ☑ | | | wxCollapsibleHeaderCtrl | ☑ | | | wxCollapsiblePane | ☑ | | | wxComboBox | ☑ | | | wxComboCtrl | ☑ | | | wxCommandLinkButton | ☑ | | | wxDataViewCtrl | ☑ | | | wxDataViewListCtrl | ☑ | | | wxDataViewTreeCtrl | ☑ | | | wxGenericDirCtrl | ☑ | | | wxEditableListBox | ☑ | | | wxFileCtrl | ☑ | | | wxGauge | ☑ | | | wxHeaderCtrlSimple | ☑ | | | wxHyperlinkCtrl | ☑ | | | wxListBox | ☑ | | | wxListCtrl | ☑ | Report and List view | | wxNativeWindow | ☑ | | | wxOwnerDrawnComboBox | ☑ | | | wxRadioBox | ☑ | | | wxRadioButton | ☑ | | | wxRearrangeList | ☑ | | | wxScrollBar | ☑ | | | wxSearchCtrl | ☑ | | | wxSimpleHtmlListBox | ☑ | | | wxSlider | ☑ | | | wxSpinButton | ☑ | | | wxSpinCtrl | ☑ | | | wxSpinCtrlDouble | ☑ | | | wxStaticBitmap | ☑ | | | wxStaticBox | ☑ | | | wxStaticLine | ☑ | | | wxStaticText | ☑ | | | wxTextCtrl | ☑ | | | wxToggleButton | ☑ | | | wxTreeCtrl | ☑ | | | wxTreeListCtrl | ☑ | | | wxWebView | ☒ | not supported? Change zoom level? | | Dialogs | | | | wxColourDialog | ☑ | Colour panel does not resize when dialog is opened. Size is correct when dialog is created after a DPI change (native issue) | | wxGenericColourDialog | ☒ | No HiDPI support (not used on Windows) | | wxDirDialog | ☑ | | | wxGenericDirDialog | ☑ | | | wxFileDialog | ☑ | Uses AutoSystemDpiAware when dialog has custom panel | | wxGenericFileDialog | ☑ | | | wxFindReplaceDialog | ☑ | | | wxFontDialog | ☑ | Some controls do not resize. Dialog is fine when created after a DPI change (native issue) | | wxGenericFontDialog | ☑ | | | wxGenericProgressDialog | ☑ | | | wxProgressDialog | ☑ | | | wxMessageDialog | ☑ | | | wxMultiChoiceDialog | ☑ | | | wxNumberEntryDialog | ☑ | | | wxPrintAbortDialog | ☑ | | | wxPropertySheetDialog | ☑ | | | wxRichTextFormattingDialog | ☑ | | | wxRearrangeDialog | ☑ | | | wxRichTextStyleOrganiserDialog | ☑ | | | wxSingleChoiceDialog | ☑ | | | wxSymbolPickerDialog | ☑ | | | wxTextEntryDialog | ☑ | | | wxPasswordEntryDialog | ☑ | | | wxWizard | ☑ | | | Picker Controls | | | | wxColourPickerCtrl | ☑ | | | wxDatePickerCtrl | ☑ | | | wxDirPickerCtrl | ☑ | | | wxFilePickerCtrl | ☑ | | | wxFontPickerCtrl | ☑ | | | wxTimePickerCtrl | ☑ | | | Book Controls | | | | wxChoicebook | ☑ | | | wxListbook | ☑ | | | wxNotebook | ☑ | | | wxSimplebook | ☑ | | | wxToolbook | ☑ | | | wxTreebook | ☑ | | | Other | | | | wxAUI | ☐ | | | wxGrid | ☐ | | | wxMDIParentFrame | ☒ | needs its own WM_DPICHANGED event handling | | wxMenu | ☑ | | | wxPropertyGrid | ☑ | | | wxPopupWindow | ☒ | Support can be added by moving DPI Event handling from wxTopLevelWindow to wxNonOwnedWindow | | wxRibbon | ☐ | | | wxRichTextCtrl | ☑ | | | wxStatusBar | ☑ | | | wxStyledTextCtrl | ☑ | Zoom-level and margin width adjusted | | wxToolBar | ☑ | |


    It seems checkboxes cannot be used inside tables, so Unicode symbols are used

    | Not Tested | Success | Failure | | --- | --- | --- | | ☐ | ☑ | ☒ | | &#9744; | &#9745; | &#9746; |

    review needed 
    opened by MaartenBent 73
  • crash under OS X 10.9 when using the 10.9 Xcode build environment of Mavericks

    crash under OS X 10.9 when using the 10.9 Xcode build environment of Mavericks

    Issue migrated from trac ticket # 15589

    component: wxOSX | priority: normal | resolution: fixed

    2013-10-17 11:07:04: rocrail (Rob Versluis) created the issue


    I can run the minimal example on Mac OS X 10.9 Mavericks. But after compiling my own application, which runs OK on Mac OS X 10.8 Mountain Lion, it crashes. How can I fix this problem in my application?

    • thread #1: tid # 0x18d54, 0x00007fff889c108a libstdc++.6.dylibstd::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_grab(std::allocator<wchar_t> const&, std::allocator<wchar_t> const&) + 4, queue'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x76fffffffc) frame #0: 0x00007fff889c108a libstdc++.6.dylibstd::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_grab(std::allocator<wchar_t> const&, std::allocator<wchar_t> const&) + 4 frame #1: 0x00007fff889c1656 libstdc++.6.dylibstd::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) + 32 frame #2: 0x0000000100b47f24 libwx_osx_cocoau-3.0.dylibwxLog::IsLevelEnabled(unsigned long, wxString) + 84 frame #3: 0x0000000100bf6afd libwx_osx_cocoau-3.0.dylibwxCSConv::DoCreate() const + 61 frame #4: 0x0000000100bf8dea libwx_osx_cocoau-3.0.dylibwxGet_wxConvLocalPtr() + 106 frame #5: 0x0000000100bfa9f3 libwx_osx_cocoau-3.0.dylib_GLOBAL__I_a + 419 frame #6: 0x00007fff5fc11c2e dyldImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 268 frame #7: 0x00007fff5fc11dba dyldImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40 frame #8: 0x00007fff5fc0ea62 dyldImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&) + 308 frame #9: 0x00007fff5fc0e9eb dyldImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&) + 189 frame #10: 0x00007fff5fc0e8f6 dyldImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 54 frame #11: 0x00007fff5fc021da dylddyld::initializeMainExecutable() + 189 frame #12: 0x00007fff5fc05560 dylddyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 2419 frame #13: 0x00007fff5fc0127b dylddyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 477 frame #14: 0x00007fff5fc0105e dyld_dyld_start + 54
    macOS v3.0.0 
    opened by wxtrac 65
  • Bind() doesn't work with protected and private inheritance

    Bind() doesn't work with protected and private inheritance

    Issue migrated from trac ticket # 17623

    component: base | priority: low | resolution: fixed | keywords: work-needed

    2016-08-10 11:28:32: tambre (Raul Tambre) created the issue


    Whenever a class is derived from a class for which events can be bound and the inheritance of the class is either private or protected, the Bind() fails with a compile-time error about the conversion to wxEvtHandler* being inaccessible.

    The error message on MSVC14 is as follows:

    wxWidgets\include\wx/meta/convertible.h(31): error C2243: 'type cast': conversion from 'Test *' to 'wxEvtHandler *' exists, but is inaccessible
      wxWidgets\include\wx/event.h(335): note: see reference to class template instantiation 'wxConvertibleTo<Class,wxEvtHandler>' being compiled
              with
              [
                  Class=Test
              ]
      wxWidgets\include\wx/event.h(3568): note: see reference to class template instantiation 'wxEventFunctorMethod<EventTag,Test,EventArg,EventHandler>' being compiled
              with
              [
                  EventTag=wxEventTypeTag<wxSizeEvent>,
                  EventArg=wxSizeEvent,
                  EventHandler=Test
              ]
      Test.cpp(78): note: see reference to function template instantiation 'void wxEvtHandler::Bind<wxEventTypeTag<wxSizeEvent>,Test,wxSizeEvent,Test>(const EventTag &,void (__cdecl Test::* )(EventArg &),EventHandler *,int,int,wxObject *)' being compiled
              with
              [
                  EventTag=wxEventTypeTag<wxSizeEvent>,
                  EventArg=wxSizeEvent,
                  EventHandler=Test
              ]
    

    The issue was discovered as a bug in this SO question: http://stackoverflow.com/questions/38833116/conversion-in-derived-class-inaccessible-if-base-class-is-protected

    The error is caused by the wxConvertibleTo template incorrectly not detecting that protected and private inheritance is also fine.

    I have attached a minimal sample and a patch for C++11 versions. I would like to get the patch merged, but I'm guessing it would likely require making it work with the ancient compilers wxWidgets supports.

    low priority base v3.1.0 
    opened by wxtrac 61
  • The new Generic wxFileCtrl

    The new Generic wxFileCtrl

    Issue migrated from trac ticket # 8690

    priority: normal

    2007-07-29 18:18:30: xeee created the issue


    This patch renames the existing wxFileCtrl to wxFileList(I think it's a proper name, it just displays a file list and it's even inherited from wxListCtrl) and adds the new generic wxFileCtrl to the current trunk along with its latex docs and a page in widgets sample for the new control. The only part that is not very ready is the sample, but the control itself and its docs are fine, I'm working on the sample right now and I'll send a newer version soon.

    opened by wxtrac 58
  • wxMemoryDC::DrawBitmap() with a bitmap with alpha loses the existing memory DC contents

    wxMemoryDC::DrawBitmap() with a bitmap with alpha loses the existing memory DC contents

    Issue migrated from trac ticket # 14403

    component: wxMSW | priority: normal | resolution: fixed | keywords: DrawBitmap alpha

    2012-06-15 11:55:08: GP89 (Paul) created the issue


    Link to question on wxpython user list: [https://groups.google.com/forum/?fromgroups#!topic/wxpython-users/Iqtjj37sxXo ]

    I'm experiencing a weird problem on windows where I create a bitmap in a memory dc, but if I try and draw a bitmap onto it with DrawBitmap I lose everything else in the image.

    As Robin pointed out in my post the issue can be fixed by setting the banner_bmp image to use a bit depth of 24

    I've attached a sample showing the issue and the bitmap in question (although other pngs I've tried all have the same effect)

    windows 7 64bit, python 2.7.3 32bit, wx 2.8.12.1 (msw-unicode)

    MSW v3.0 
    opened by wxtrac 57
  • Conflict between _T macro and Sun Studio 12 headers

    Conflict between _T macro and Sun Studio 12 headers

    Issue migrated from trac ticket # 10660

    component: base | priority: high | resolution: fixed | keywords: _T() macro-conflict suncc

    2009-03-30 11:02:31: jroemmler (Jochen Roemmler) created the issue


    Hi, I'm compiling and using wxWidgets library in various versions and platforms on a number of different machines. Lately, I came across a serious problem with macro _T which is defined in wxWidgets header files (see [http://docs.wxwidgets.org/stable/wx_stringfunctions.html#underscoret]). A simple "program" like this won't compile any longer:

    // file bad.cpp
    #include <wx/wx.h>
    
    # /opt/SUNWspro/bin/CC -V
    CC: Sun C++ 5.8 Patch 121018-18 2009/02/25
    # /opt/SUNWspro/bin/CC -I/usr/local/wxWidgets-2.6.3/build_Motif_CC_shared/lib/wx/include/motif-ansi-release-2.6 -I/usr/local/wxWidgets-2.6.3/include -I/usr/local/wxWidgets-2.6.3/contrib/include -D__WXMOTIF__ -I/usr/openwin/include -I/usr/dt/include -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -xarch=amd64 -o /dev/null -c bad.cpp
    "/opt/SUNWspro/prod/include/CC/Cstd/./memory", line 107: Error: Type name expected instead of "{".
    "/opt/SUNWspro/prod/include/CC/Cstd/./string", line 850:     Where: While specializing "__rwstd::__rw_basis<__rwstd::_T, __rwstd::_Base>".
    "/opt/SUNWspro/prod/include/CC/Cstd/./string", line 850:     Where: Specialized in std::string .
    "/opt/SUNWspro/prod/include/CC/Cstd/./stdexcept", line 65:     Where: Specialized in non-template code.
    

    The problem is because _T is also used in template code by latest Sun Studio (11 and 12) STL header files (see my posting here: [http://forums.sun.com/thread.jspa?threadID=5376645]). I think using names with underscore-prefix in (public) header files is definitely a bad idea.

    My suggestion for wxWidgets 3.0 would be to break source code compatibility and get rid of _T() (and _() while we're at it); using existing wxT() instead is a simple search'n'replace operation - or making it a #define like so:

    #ifdef wxUSE_DEPRECATED_T_MACRO #define T ... #else do not define _T because it may lead to name clashes in user code _ or STL compiler header files. #endif

    What do you think? Jochen

    high priority build base 
    opened by wxtrac 57
  • GTK error message handling should be left to the application

    GTK error message handling should be left to the application

    Describe the bug

    Currently, wxNotebookPage contains a call to wxGTKImpl::LogFilterByMessage:filterLog, which will go through the GLib logging stack and try to attach a handler to quiet that one error message (it was added in #22176). This is not the correct behavior for a library though, because as the GLib documentation for log_set_writer_func (this is the function that is used to attach the log handler to null out that message) says here https://docs.gtk.org/glib/func.log_set_writer_func.html:

    Libraries must not call this function — only programs are allowed to install a writer function, as there must be a single, central point where log messages are formatted and outputted.

    This then will cause an assertion when a program has already set a custom log handler on their own and the wxNotebookPage is being deleted.

    Expected vs observed behaviour

    Expected behavior: The application should not crash when destructing a wxNotebookPage. Observed behavior: The application crases with a sample backtrace:

    #1  0x00007ffff731f862 in g_log_default_handler
        ([email protected]=0x7ffff73720a9 "GLib", [email protected]=6, [email protected]=0x5555559c1540 "g_log_set_writer_func() called multiple times", [email protected]=0x0)
        at ../glib/gmessages.c:3307
    #2  0x00007ffff7320c62 in g_logv
        (log_domain=0x7ffff73720a9 "GLib", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1389
    #3  0x00007ffff7320f13 in g_log
        ([email protected]=0x7ffff73720a9 "GLib", [email protected]=G_LOG_LEVEL_ERROR, [email protected]=0x7ffff737d1f8 "g_log_set_writer_func() called multiple times")
        at ../glib/gmessages.c:1458
    #4  0x00007ffff7323664 in g_log_set_writer_func
        (func=0x7ffff7757f10 <wxGTKImpl::LogFilter::wx_log_writer(GLogLevelFlags, _GLogField const*, unsigned long, void*)>, user_data=0x0, user_data_free=<optimized out>) at ../glib/gmessages.c:2068
    #5  0x00007ffff775df36 in wxGTKImpl::LogFilter::Install() (this=0x7fffffffc470) at ../src/gtk/app.cpp:216
    #6  0x00007ffff77f52ff in wxGTKImpl::LogFilterByMessage::LogFilterByMessage(char const*)
        (message=0x7ffff7a89b48 "gtk_notebook_get_tab_label: assertion 'list != NULL' failed", this=0x7fffffffc470) at ../include/wx/gtk/private/log.h:108
    #7  wxNotebook::DoRemovePage(unsigned long) (this=0x55555626ce70, page=8) at ../src/gtk/notebook.cpp:434
    #8  0x00007ffff7843fa1 in wxBookCtrlBase::DeletePage(unsigned long)
        (this=0x55555626ce70, nPage=<optimized out>) at ../src/common/bookctrl.cpp:404
    #9  0x00007ffff77f4e4f in wxNotebook::DeleteAllPages() ([email protected]=0x55555626ce70)
        at ../src/gtk/notebook.cpp:414
    #10 0x00007ffff77fa39c in wxNotebook::~wxNotebook() (this=0x55555626ce70, this=<optimized out>)
        at ../src/gtk/notebook.cpp:163
    #11 0x00007ffff77fa47d in wxNotebook::~wxNotebook() (this=0x55555626ce70, this=<optimized out>)
        at ../src/gtk/notebook.cpp:164
    #12 0x00007ffff7955f2b in wxWindowBase::Destroy() ([email protected]=0x55555626ce70)
        at ../src/common/wincmn.cpp:572
    --Type <RET> for more, q to quit, c to continue without paging--c
    #13 0x00007ffff7955f64 in wxWindowBase::DestroyChildren() (this=0x7fffffffca10) at ../src/common/wincmn.cpp:604
    #14 0x00007ffff779d6a4 in wxWindow::~wxWindow() (this=0x7fffffffca10, this=<optimized out>) at ../src/gtk/window.cpp:2768
    #15 0x0000555555772989 in DIALOG_ABOUT::~DIALOG_ABOUT() (this=0x7fffffffca10, this=<optimized out>) at /usr/include/c++/12/bits/allocator.h:174
    #16 ShowAboutDialog(EDA_BASE_FRAME*) (aParent=<optimized out>) at /usr/src/debug/kicad-6.0.7-2.fc38.x86_64/common/dialog_about/AboutDialog_main.cpp:963
    

    This backtrace was pulled from the KiCad bug report https://gitlab.com/kicad/code/kicad/-/issues/12217 (about.box.gdb.log in the first comment).

    Patch or snippet allowing to reproduce the problem I haven't had a chance to reproduce this in the sample code yet, but I think it can be reproduced by adding

    static GLogWriterOutput nullLogWriter( GLogLevelFlags log_level, const GLogField* fields,
                                           gsize n_fields, gpointer user_data )
    {
        return G_LOG_WRITER_HANDLED;
    }
    

    as a new function in the notebook sample, and then adding this to the MyApp::OnInit() call in the notebook sample:

        // Attach a logger that will consume the annoying GTK error messages
        g_log_set_writer_func( nullLogWriter, nullptr, nullptr );
    

    Then it should crash with that error when a notebook page is deleted.

    To Reproduce Steps to reproduce the behaviour, please make them as detailed as possible, e.g.

    1. Add a custom g_log handler in your user application that uses a wxNotebook
    2. Delete a notebook page
    3. See crash/error

    Platform and version information

    • wxWidgets version you use: 3.2.0 in Fedora
    • wxWidgets port you use: wxGTK
    • OS and its version: Fedora 37
    • For wxGTK only (remove this if not using wxGTK)
      • GTK version: [e.g. 3.24.5]
      • Which GDK backend is used: X11
    opened by imciner2 3
  • CMake Config mode issues

    CMake Config mode issues

    I am building wxWidgets myself on Windows using CMake and use it in my projects, which are beeing build by CMake as well, and wanted to use find_package() in Config mode instead of Module mode. I am using a monolithic build of wxWidgets and link statically. The switch from Module mode to Config mode was not that simple because both modes apparently work a bit different. I am not sure if all of these differences are by intent, so here are my observations.

    1. Config mode always requires an exact match of the library version. Currently, this is 3.3.0, so the following call works: find_package(wxWidgets 3.3.0 CONFIG COMPONENTS mono), while this one doesn't: find_package(wxWidgets 3.1.5 CONFIG COMPONENTS mono). Since i'm not requesting an exact match, the second call should also succeed. Or at least it should accept 3.2.0, which is the current release version.
    2. Config mode links internal libraries automatically while Module mode doesn't. In my case, i need png, in Module mode i have to specify mono png but in Config mode this errors out because png cannot be found. The automatic linking seems to be the right thing to do, not sure if Module mode can be changed to do this as well.
    3. In Config mode i have to search manually for the OpenGL package or i get an error because of a missing library. I am not using OpenGL so in Module mode i didn't get any error, i'm not sure whats the right thing to do in this case.
    4. Config Mode does not search for wxrc and does not populate the CMake Variable wxWidgets_wxrc_EXECUTABLE. Granted, this is not really part of the wxWidgets library and cannot really be expressed by targets, but Module Mode does populate this variable automatically.
    opened by sodevel 0
  • Set default build compatibility in CMake builds to 3.2

    Set default build compatibility in CMake builds to 3.2

    Remove "2.8" and "3.1" from wxBUILD_COMPATIBILITY options.

    Add "3.2" to wxBUILD_COMPATIBILITY options and set it as its default value.

    opened by PBfordev 1
  • autoconf vs. cmake: different files installed

    autoconf vs. cmake: different files installed

    While packaging wxWidgets-3.2.0 for pkgsrc, we noticed that the list of installed files have big differences depending on if configure or CMake is used. This happens on both NetBSD and macOS.

    Basically, CMake does not install the locale files and some bakefile presets; on the other hand, it installs a lot of extra headers, some of them with private in the path, which looks unintended.

    Files only installed using configure:

    share/wx-3.2/bakefile/presets/wx.bkl
    share/wx-3.2/bakefile/presets/wx_presets.py
    share/wx-3.2/bakefile/presets/wx_unix.bkl
    share/wx-3.2/bakefile/presets/wx_win32.bkl
    share/wx-3.2/bakefile/presets/wx_xrc.bkl
    share/wx-3.2/locale/ca/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/cs/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/da/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/de/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/el/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/es/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/fi/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/fr/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/hu/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/id/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/it/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/ja/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/nl/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/pl/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/ru/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/sl/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/sv/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/tr/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/uk/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/zh_CN/LC_MESSAGES/wxstd-3.2.mo
    share/wx-3.2/locale/zh_TW/LC_MESSAGES/wxstd-3.2.mo
    

    Files only installed using CMake:

    include/wx-3.2/wx/android/chkconf.h
    include/wx-3.2/wx/android/config_android.h
    include/wx-3.2/wx/android/setup.h
    include/wx-3.2/wx/aui/barartmsw.h
    include/wx-3.2/wx/aui/tabartgtk.h
    include/wx-3.2/wx/aui/tabartmsw.h
    include/wx-3.2/wx/catch_cppunit.h
    include/wx-3.2/wx/dfb/app.h
    include/wx-3.2/wx/dfb/bitmap.h
    include/wx-3.2/wx/dfb/brush.h
    include/wx-3.2/wx/dfb/chkconf.h
    include/wx-3.2/wx/dfb/cursor.h
    include/wx-3.2/wx/dfb/dc.h
    include/wx-3.2/wx/dfb/dcclient.h
    include/wx-3.2/wx/dfb/dcmemory.h
    include/wx-3.2/wx/dfb/dcscreen.h
    include/wx-3.2/wx/dfb/dfbptr.h
    include/wx-3.2/wx/dfb/evtloop.h
    include/wx-3.2/wx/dfb/font.h
    include/wx-3.2/wx/dfb/nonownedwnd.h
    include/wx-3.2/wx/dfb/pen.h
    include/wx-3.2/wx/dfb/popupwin.h
    include/wx-3.2/wx/dfb/private.h
    include/wx-3.2/wx/dfb/private/fontmgr.h
    include/wx-3.2/wx/dfb/private/overlay.h
    include/wx-3.2/wx/dfb/region.h
    include/wx-3.2/wx/dfb/toplevel.h
    include/wx-3.2/wx/dfb/window.h
    include/wx-3.2/wx/dfb/wrapdfb.h
    include/wx-3.2/wx/generic/activityindicator.h
    include/wx-3.2/wx/generic/colour.h
    include/wx-3.2/wx/generic/ctrlsub.h
    include/wx-3.2/wx/generic/mask.h
    include/wx-3.2/wx/generic/mdig.h
    include/wx-3.2/wx/generic/paletteg.h
    include/wx-3.2/wx/generic/private/addremovectrl.h
    include/wx-3.2/wx/generic/private/animate.h
    include/wx-3.2/wx/generic/private/grid.h
    include/wx-3.2/wx/generic/private/listctrl.h
    include/wx-3.2/wx/generic/private/markuptext.h
    include/wx-3.2/wx/generic/private/notifmsg.h
    include/wx-3.2/wx/generic/private/richtooltip.h
    include/wx-3.2/wx/generic/private/rowheightcache.h
    include/wx-3.2/wx/generic/private/textmeasure.h
    include/wx-3.2/wx/generic/private/timer.h
    include/wx-3.2/wx/generic/private/widthcalc.h
    include/wx-3.2/wx/generic/statline.h
    include/wx-3.2/wx/generic/tabg.h
    include/wx-3.2/wx/gtk/accel.h
    include/wx-3.2/wx/gtk/activityindicator.h
    include/wx-3.2/wx/gtk/animate.h
    include/wx-3.2/wx/gtk/anybutton.h
    include/wx-3.2/wx/gtk/app.h
    include/wx-3.2/wx/gtk/assertdlg_gtk.h
    include/wx-3.2/wx/gtk/bitmap.h
    include/wx-3.2/wx/gtk/bmpbuttn.h
    include/wx-3.2/wx/gtk/bmpcbox.h
    include/wx-3.2/wx/gtk/brush.h
    include/wx-3.2/wx/gtk/button.h
    include/wx-3.2/wx/gtk/calctrl.h
    include/wx-3.2/wx/gtk/checkbox.h
    include/wx-3.2/wx/gtk/checklst.h
    include/wx-3.2/wx/gtk/chkconf.h
    include/wx-3.2/wx/gtk/choice.h
    include/wx-3.2/wx/gtk/clipbrd.h
    include/wx-3.2/wx/gtk/clrpicker.h
    include/wx-3.2/wx/gtk/collpane.h
    include/wx-3.2/wx/gtk/colordlg.h
    include/wx-3.2/wx/gtk/colour.h
    include/wx-3.2/wx/gtk/combobox.h
    include/wx-3.2/wx/gtk/control.h
    include/wx-3.2/wx/gtk/cursor.h
    include/wx-3.2/wx/gtk/dataform.h
    include/wx-3.2/wx/gtk/dataobj.h
    include/wx-3.2/wx/gtk/dataobj2.h
    include/wx-3.2/wx/gtk/dataview.h
    include/wx-3.2/wx/gtk/dc.h
    include/wx-3.2/wx/gtk/dcclient.h
    include/wx-3.2/wx/gtk/dcmemory.h
    include/wx-3.2/wx/gtk/dcscreen.h
    include/wx-3.2/wx/gtk/dialog.h
    include/wx-3.2/wx/gtk/dirdlg.h
    include/wx-3.2/wx/gtk/dnd.h
    include/wx-3.2/wx/gtk/dvrenderer.h
    include/wx-3.2/wx/gtk/dvrenderers.h
    include/wx-3.2/wx/gtk/evtloop.h
    include/wx-3.2/wx/gtk/evtloopsrc.h
    include/wx-3.2/wx/gtk/filectrl.h
    include/wx-3.2/wx/gtk/filedlg.h
    include/wx-3.2/wx/gtk/filehistory.h
    include/wx-3.2/wx/gtk/filepicker.h
    include/wx-3.2/wx/gtk/font.h
    include/wx-3.2/wx/gtk/fontdlg.h
    include/wx-3.2/wx/gtk/fontpicker.h
    include/wx-3.2/wx/gtk/frame.h
    include/wx-3.2/wx/gtk/gauge.h
    include/wx-3.2/wx/gtk/glcanvas.h
    include/wx-3.2/wx/gtk/gnome/gvfs.h
    include/wx-3.2/wx/gtk/hyperlink.h
    include/wx-3.2/wx/gtk/infobar.h
    include/wx-3.2/wx/gtk/listbox.h
    include/wx-3.2/wx/gtk/mdi.h
    include/wx-3.2/wx/gtk/menu.h
    include/wx-3.2/wx/gtk/menuitem.h
    include/wx-3.2/wx/gtk/mimetype.h
    include/wx-3.2/wx/gtk/minifram.h
    include/wx-3.2/wx/gtk/msgdlg.h
    include/wx-3.2/wx/gtk/nonownedwnd.h
    include/wx-3.2/wx/gtk/notebook.h
    include/wx-3.2/wx/gtk/pen.h
    include/wx-3.2/wx/gtk/popupwin.h
    include/wx-3.2/wx/gtk/print.h
    include/wx-3.2/wx/gtk/private.h
    include/wx-3.2/wx/gtk/private/addremovectrl.h
    include/wx-3.2/wx/gtk/private/animate.h
    include/wx-3.2/wx/gtk/private/backend.h
    include/wx-3.2/wx/gtk/private/dialogcount.h
    include/wx-3.2/wx/gtk/private/error.h
    include/wx-3.2/wx/gtk/private/event.h
    include/wx-3.2/wx/gtk/private/eventsdisabler.h
    include/wx-3.2/wx/gtk/private/gdkconv.h
    include/wx-3.2/wx/gtk/private/gtk2-compat.h
    include/wx-3.2/wx/gtk/private/gtk3-compat.h
    include/wx-3.2/wx/gtk/private/image.h
    include/wx-3.2/wx/gtk/private/list.h
    include/wx-3.2/wx/gtk/private/log.h
    include/wx-3.2/wx/gtk/private/mediactrl.h
    include/wx-3.2/wx/gtk/private/messagetype.h
    include/wx-3.2/wx/gtk/private/mnemonics.h
    include/wx-3.2/wx/gtk/private/object.h
    include/wx-3.2/wx/gtk/private/string.h
    include/wx-3.2/wx/gtk/private/stylecontext.h
    include/wx-3.2/wx/gtk/private/textmeasure.h
    include/wx-3.2/wx/gtk/private/timer.h
    include/wx-3.2/wx/gtk/private/tlwgeom.h
    include/wx-3.2/wx/gtk/private/treeentry_gtk.h
    include/wx-3.2/wx/gtk/private/treeview.h
    include/wx-3.2/wx/gtk/private/value.h
    include/wx-3.2/wx/gtk/private/webkit.h
    include/wx-3.2/wx/gtk/private/webview_webkit2_extension.h
    include/wx-3.2/wx/gtk/private/win_gtk.h
    include/wx-3.2/wx/gtk/private/wrapgtk.h
    include/wx-3.2/wx/gtk/radiobox.h
    include/wx-3.2/wx/gtk/radiobut.h
    include/wx-3.2/wx/gtk/region.h
    include/wx-3.2/wx/gtk/scrolbar.h
    include/wx-3.2/wx/gtk/scrolwin.h
    include/wx-3.2/wx/gtk/setup.h
    include/wx-3.2/wx/gtk/slider.h
    include/wx-3.2/wx/gtk/spinbutt.h
    include/wx-3.2/wx/gtk/spinctrl.h
    include/wx-3.2/wx/gtk/srchctrl.h
    include/wx-3.2/wx/gtk/statbmp.h
    include/wx-3.2/wx/gtk/statbox.h
    include/wx-3.2/wx/gtk/statline.h
    include/wx-3.2/wx/gtk/stattext.h
    include/wx-3.2/wx/gtk/taskbar.h
    include/wx-3.2/wx/gtk/textctrl.h
    include/wx-3.2/wx/gtk/textentry.h
    include/wx-3.2/wx/gtk/tglbtn.h
    include/wx-3.2/wx/gtk/toolbar.h
    include/wx-3.2/wx/gtk/tooltip.h
    include/wx-3.2/wx/gtk/toplevel.h
    include/wx-3.2/wx/gtk/webview_webkit.h
    include/wx-3.2/wx/gtk/webviewhistoryitem_webkit.h
    include/wx-3.2/wx/gtk/window.h
    include/wx-3.2/wx/gtk1/accel.h
    include/wx-3.2/wx/gtk1/app.h
    include/wx-3.2/wx/gtk1/bitmap.h
    include/wx-3.2/wx/gtk1/bmpbuttn.h
    include/wx-3.2/wx/gtk1/brush.h
    include/wx-3.2/wx/gtk1/button.h
    include/wx-3.2/wx/gtk1/checkbox.h
    include/wx-3.2/wx/gtk1/checklst.h
    include/wx-3.2/wx/gtk1/choice.h
    include/wx-3.2/wx/gtk1/clipbrd.h
    include/wx-3.2/wx/gtk1/colordlg.h
    include/wx-3.2/wx/gtk1/colour.h
    include/wx-3.2/wx/gtk1/combobox.h
    include/wx-3.2/wx/gtk1/control.h
    include/wx-3.2/wx/gtk1/cursor.h
    include/wx-3.2/wx/gtk1/dataform.h
    include/wx-3.2/wx/gtk1/dataobj.h
    include/wx-3.2/wx/gtk1/dataobj2.h
    include/wx-3.2/wx/gtk1/dc.h
    include/wx-3.2/wx/gtk1/dcclient.h
    include/wx-3.2/wx/gtk1/dcmemory.h
    include/wx-3.2/wx/gtk1/dcscreen.h
    include/wx-3.2/wx/gtk1/dialog.h
    include/wx-3.2/wx/gtk1/dnd.h
    include/wx-3.2/wx/gtk1/filedlg.h
    include/wx-3.2/wx/gtk1/font.h
    include/wx-3.2/wx/gtk1/fontdlg.h
    include/wx-3.2/wx/gtk1/frame.h
    include/wx-3.2/wx/gtk1/gauge.h
    include/wx-3.2/wx/gtk1/glcanvas.h
    include/wx-3.2/wx/gtk1/listbox.h
    include/wx-3.2/wx/gtk1/mdi.h
    include/wx-3.2/wx/gtk1/menu.h
    include/wx-3.2/wx/gtk1/menuitem.h
    include/wx-3.2/wx/gtk1/minifram.h
    include/wx-3.2/wx/gtk1/msgdlg.h
    include/wx-3.2/wx/gtk1/notebook.h
    include/wx-3.2/wx/gtk1/pen.h
    include/wx-3.2/wx/gtk1/popupwin.h
    include/wx-3.2/wx/gtk1/private.h
    include/wx-3.2/wx/gtk1/private/addremovectrl.h
    include/wx-3.2/wx/gtk1/private/mnemonics.h
    include/wx-3.2/wx/gtk1/private/timer.h
    include/wx-3.2/wx/gtk1/radiobox.h
    include/wx-3.2/wx/gtk1/radiobut.h
    include/wx-3.2/wx/gtk1/region.h
    include/wx-3.2/wx/gtk1/scrolbar.h
    include/wx-3.2/wx/gtk1/scrolwin.h
    include/wx-3.2/wx/gtk1/slider.h
    include/wx-3.2/wx/gtk1/spinbutt.h
    include/wx-3.2/wx/gtk1/spinctrl.h
    include/wx-3.2/wx/gtk1/statbmp.h
    include/wx-3.2/wx/gtk1/statbox.h
    include/wx-3.2/wx/gtk1/statline.h
    include/wx-3.2/wx/gtk1/stattext.h
    include/wx-3.2/wx/gtk1/textctrl.h
    include/wx-3.2/wx/gtk1/tglbtn.h
    include/wx-3.2/wx/gtk1/toolbar.h
    include/wx-3.2/wx/gtk1/tooltip.h
    include/wx-3.2/wx/gtk1/toplevel.h
    include/wx-3.2/wx/gtk1/treectrl.h
    include/wx-3.2/wx/gtk1/win_gtk.h
    include/wx-3.2/wx/gtk1/window.h
    include/wx-3.2/wx/motif/accel.h
    include/wx-3.2/wx/motif/app.h
    include/wx-3.2/wx/motif/bmpbuttn.h
    include/wx-3.2/wx/motif/bmpmotif.h
    include/wx-3.2/wx/motif/button.h
    include/wx-3.2/wx/motif/checkbox.h
    include/wx-3.2/wx/motif/checklst.h
    include/wx-3.2/wx/motif/chkconf.h
    include/wx-3.2/wx/motif/choice.h
    include/wx-3.2/wx/motif/clipbrd.h
    include/wx-3.2/wx/motif/colour.h
    include/wx-3.2/wx/motif/combobox.h
    include/wx-3.2/wx/motif/control.h
    include/wx-3.2/wx/motif/ctrlsub.h
    include/wx-3.2/wx/motif/cursor.h
    include/wx-3.2/wx/motif/dataform.h
    include/wx-3.2/wx/motif/dataobj.h
    include/wx-3.2/wx/motif/dataobj2.h
    include/wx-3.2/wx/motif/dc.h
    include/wx-3.2/wx/motif/dcclient.h
    include/wx-3.2/wx/motif/dcmemory.h
    include/wx-3.2/wx/motif/dcprint.h
    include/wx-3.2/wx/motif/dcscreen.h
    include/wx-3.2/wx/motif/dialog.h
    include/wx-3.2/wx/motif/dnd.h
    include/wx-3.2/wx/motif/filedlg.h
    include/wx-3.2/wx/motif/font.h
    include/wx-3.2/wx/motif/frame.h
    include/wx-3.2/wx/motif/gauge.h
    include/wx-3.2/wx/motif/icon.h
    include/wx-3.2/wx/motif/listbox.h
    include/wx-3.2/wx/motif/menu.h
    include/wx-3.2/wx/motif/menuitem.h
    include/wx-3.2/wx/motif/minifram.h
    include/wx-3.2/wx/motif/msgdlg.h
    include/wx-3.2/wx/motif/popupwin.h
    include/wx-3.2/wx/motif/print.h
    include/wx-3.2/wx/motif/private.h
    include/wx-3.2/wx/motif/private/timer.h
    include/wx-3.2/wx/motif/radiobox.h
    include/wx-3.2/wx/motif/radiobut.h
    include/wx-3.2/wx/motif/scrolbar.h
    include/wx-3.2/wx/motif/setup.h
    include/wx-3.2/wx/motif/slider.h
    include/wx-3.2/wx/motif/spinbutt.h
    include/wx-3.2/wx/motif/statbmp.h
    include/wx-3.2/wx/motif/statbox.h
    include/wx-3.2/wx/motif/stattext.h
    include/wx-3.2/wx/motif/textctrl.h
    include/wx-3.2/wx/motif/textentry.h
    include/wx-3.2/wx/motif/tglbtn.h
    include/wx-3.2/wx/motif/toolbar.h
    include/wx-3.2/wx/motif/toplevel.h
    include/wx-3.2/wx/motif/window.h
    include/wx-3.2/wx/msw/accel.h
    include/wx-3.2/wx/msw/anybutton.h
    include/wx-3.2/wx/msw/app.h
    include/wx-3.2/wx/msw/appprogress.h
    include/wx-3.2/wx/msw/apptbase.h
    include/wx-3.2/wx/msw/apptrait.h
    include/wx-3.2/wx/msw/bitmap.h
    include/wx-3.2/wx/msw/blank.cur
    include/wx-3.2/wx/msw/bmpbuttn.h
    include/wx-3.2/wx/msw/bmpcbox.h
    include/wx-3.2/wx/msw/brush.h
    include/wx-3.2/wx/msw/bullseye.cur
    include/wx-3.2/wx/msw/button.h
    include/wx-3.2/wx/msw/calctrl.h
    include/wx-3.2/wx/msw/caret.h
    include/wx-3.2/wx/msw/cdrom.ico
    include/wx-3.2/wx/msw/checkbox.h
    include/wx-3.2/wx/msw/checklst.h
    include/wx-3.2/wx/msw/child.ico
    include/wx-3.2/wx/msw/chkconf.h
    include/wx-3.2/wx/msw/choice.h
    include/wx-3.2/wx/msw/clipbrd.h
    include/wx-3.2/wx/msw/colordlg.h
    include/wx-3.2/wx/msw/colour.h
    include/wx-3.2/wx/msw/colours.bmp
    include/wx-3.2/wx/msw/combo.h
    include/wx-3.2/wx/msw/combobox.h
    include/wx-3.2/wx/msw/commandlinkbutton.h
    include/wx-3.2/wx/msw/computer.ico
    include/wx-3.2/wx/msw/control.h
    include/wx-3.2/wx/msw/crashrpt.h
    include/wx-3.2/wx/msw/cross.cur
    include/wx-3.2/wx/msw/csquery.bmp
    include/wx-3.2/wx/msw/ctrlsub.h
    include/wx-3.2/wx/msw/cursor.h
    include/wx-3.2/wx/msw/custombgwin.h
    include/wx-3.2/wx/msw/datectrl.h
    include/wx-3.2/wx/msw/datetimectrl.h
    include/wx-3.2/wx/msw/dc.h
    include/wx-3.2/wx/msw/dcclient.h
    include/wx-3.2/wx/msw/dcmemory.h
    include/wx-3.2/wx/msw/dcprint.h
    include/wx-3.2/wx/msw/dcscreen.h
    include/wx-3.2/wx/msw/dde.h
    include/wx-3.2/wx/msw/debughlp.h
    include/wx-3.2/wx/msw/dialog.h
    include/wx-3.2/wx/msw/dib.h
    include/wx-3.2/wx/msw/dirdlg.h
    include/wx-3.2/wx/msw/dragimag.h
    include/wx-3.2/wx/msw/drive.ico
    include/wx-3.2/wx/msw/enhmeta.h
    include/wx-3.2/wx/msw/evtloop.h
    include/wx-3.2/wx/msw/evtloopconsole.h
    include/wx-3.2/wx/msw/fdrepdlg.h
    include/wx-3.2/wx/msw/file1.ico
    include/wx-3.2/wx/msw/filedlg.h
    include/wx-3.2/wx/msw/floppy.ico
    include/wx-3.2/wx/msw/folder1.ico
    include/wx-3.2/wx/msw/folder2.ico
    include/wx-3.2/wx/msw/font.h
    include/wx-3.2/wx/msw/fontdlg.h
    include/wx-3.2/wx/msw/frame.h
    include/wx-3.2/wx/msw/fswatcher.h
    include/wx-3.2/wx/msw/gauge.h
    include/wx-3.2/wx/msw/gccpriv.h
    include/wx-3.2/wx/msw/gdiimage.h
    include/wx-3.2/wx/msw/genrcdefs.h
    include/wx-3.2/wx/msw/glcanvas.h
    include/wx-3.2/wx/msw/hand.cur
    include/wx-3.2/wx/msw/headerctrl.h
    include/wx-3.2/wx/msw/helpbest.h
    include/wx-3.2/wx/msw/helpchm.h
    include/wx-3.2/wx/msw/helpwin.h
    include/wx-3.2/wx/msw/htmlhelp.h
    include/wx-3.2/wx/msw/hyperlink.h
    include/wx-3.2/wx/msw/icon.h
    include/wx-3.2/wx/msw/imaglist.h
    include/wx-3.2/wx/msw/iniconf.h
    include/wx-3.2/wx/msw/init.h
    include/wx-3.2/wx/msw/joystick.h
    include/wx-3.2/wx/msw/libraries.h
    include/wx-3.2/wx/msw/listbox.h
    include/wx-3.2/wx/msw/listctrl.h
    include/wx-3.2/wx/msw/magnif1.cur
    include/wx-3.2/wx/msw/mdi.h
    include/wx-3.2/wx/msw/mdi.ico
    include/wx-3.2/wx/msw/menu.h
    include/wx-3.2/wx/msw/menuitem.h
    include/wx-3.2/wx/msw/metafile.h
    include/wx-3.2/wx/msw/mfc.h
    include/wx-3.2/wx/msw/mimetype.h
    include/wx-3.2/wx/msw/minifram.h
    include/wx-3.2/wx/msw/missing.h
    include/wx-3.2/wx/msw/msgdlg.h
    include/wx-3.2/wx/msw/msvcrt.h
    include/wx-3.2/wx/msw/nonownedwnd.h
    include/wx-3.2/wx/msw/notebook.h
    include/wx-3.2/wx/msw/ole/access.h
    include/wx-3.2/wx/msw/ole/activex.h
    include/wx-3.2/wx/msw/ole/automtn.h
    include/wx-3.2/wx/msw/ole/comimpl.h
    include/wx-3.2/wx/msw/ole/dataform.h
    include/wx-3.2/wx/msw/ole/dataobj.h
    include/wx-3.2/wx/msw/ole/dataobj2.h
    include/wx-3.2/wx/msw/ole/dropsrc.h
    include/wx-3.2/wx/msw/ole/droptgt.h
    include/wx-3.2/wx/msw/ole/oleutils.h
    include/wx-3.2/wx/msw/ole/safearray.h
    include/wx-3.2/wx/msw/ole/uuid.h
    include/wx-3.2/wx/msw/ownerdrawnbutton.h
    include/wx-3.2/wx/msw/ownerdrw.h
    include/wx-3.2/wx/msw/palette.h
    include/wx-3.2/wx/msw/panel.h
    include/wx-3.2/wx/msw/pbrush.cur
    include/wx-3.2/wx/msw/pen.h
    include/wx-3.2/wx/msw/pencil.cur
    include/wx-3.2/wx/msw/pntleft.cur
    include/wx-3.2/wx/msw/pntright.cur
    include/wx-3.2/wx/msw/popupwin.h
    include/wx-3.2/wx/msw/printdlg.h
    include/wx-3.2/wx/msw/printwin.h
    include/wx-3.2/wx/msw/private.h
    include/wx-3.2/wx/msw/private/button.h
    include/wx-3.2/wx/msw/private/comptr.h
    include/wx-3.2/wx/msw/private/cotaskmemptr.h
    include/wx-3.2/wx/msw/private/customdraw.h
    include/wx-3.2/wx/msw/private/datecontrols.h
    include/wx-3.2/wx/msw/private/dc.h
    include/wx-3.2/wx/msw/private/dcdynwrap.h
    include/wx-3.2/wx/msw/private/dpiaware.h
    include/wx-3.2/wx/msw/private/event.h
    include/wx-3.2/wx/msw/private/filedialog.h
    include/wx-3.2/wx/msw/private/fswatcher.h
    include/wx-3.2/wx/msw/private/graphicsd2d.h
    include/wx-3.2/wx/msw/private/hiddenwin.h
    include/wx-3.2/wx/msw/private/keyboard.h
    include/wx-3.2/wx/msw/private/metrics.h
    include/wx-3.2/wx/msw/private/msgdlg.h
    include/wx-3.2/wx/msw/private/paint.h
    include/wx-3.2/wx/msw/private/pipestream.h
    include/wx-3.2/wx/msw/private/sockmsw.h
    include/wx-3.2/wx/msw/private/textmeasure.h
    include/wx-3.2/wx/msw/private/timer.h
    include/wx-3.2/wx/msw/private/tlwgeom.h
    include/wx-3.2/wx/msw/private/uilocale.h
    include/wx-3.2/wx/msw/private/webrequest_winhttp.h
    include/wx-3.2/wx/msw/private/webview_edge.h
    include/wx-3.2/wx/msw/private/webview_ie.h
    include/wx-3.2/wx/msw/private/webview_missing.h
    include/wx-3.2/wx/msw/private/winstyle.h
    include/wx-3.2/wx/msw/progdlg.h
    include/wx-3.2/wx/msw/question.ico
    include/wx-3.2/wx/msw/radiobox.h
    include/wx-3.2/wx/msw/radiobut.h
    include/wx-3.2/wx/msw/rcdefs.h
    include/wx-3.2/wx/msw/regconf.h
    include/wx-3.2/wx/msw/region.h
    include/wx-3.2/wx/msw/registry.h
    include/wx-3.2/wx/msw/removble.ico
    include/wx-3.2/wx/msw/richmsgdlg.h
    include/wx-3.2/wx/msw/roller.cur
    include/wx-3.2/wx/msw/rt/private/notifmsg.h
    include/wx-3.2/wx/msw/rt/utils.h
    include/wx-3.2/wx/msw/scrolbar.h
    include/wx-3.2/wx/msw/seh.h
    include/wx-3.2/wx/msw/setup.h
    include/wx-3.2/wx/msw/setup_inc.h
    include/wx-3.2/wx/msw/slider.h
    include/wx-3.2/wx/msw/sound.h
    include/wx-3.2/wx/msw/spinbutt.h
    include/wx-3.2/wx/msw/spinctrl.h
    include/wx-3.2/wx/msw/stackwalk.h
    include/wx-3.2/wx/msw/statbmp.h
    include/wx-3.2/wx/msw/statbox.h
    include/wx-3.2/wx/msw/statline.h
    include/wx-3.2/wx/msw/stattext.h
    include/wx-3.2/wx/msw/statusbar.h
    include/wx-3.2/wx/msw/std.ico
    include/wx-3.2/wx/msw/stdpaths.h
    include/wx-3.2/wx/msw/subwin.h
    include/wx-3.2/wx/msw/taskbar.h
    include/wx-3.2/wx/msw/taskbarbutton.h
    include/wx-3.2/wx/msw/textctrl.h
    include/wx-3.2/wx/msw/textentry.h
    include/wx-3.2/wx/msw/tglbtn.h
    include/wx-3.2/wx/msw/timectrl.h
    include/wx-3.2/wx/msw/tls.h
    include/wx-3.2/wx/msw/toolbar.h
    include/wx-3.2/wx/msw/tooltip.h
    include/wx-3.2/wx/msw/toplevel.h
    include/wx-3.2/wx/msw/treectrl.h
    include/wx-3.2/wx/msw/uxtheme.h
    include/wx-3.2/wx/msw/webview_edge.h
    include/wx-3.2/wx/msw/webview_ie.h
    include/wx-3.2/wx/msw/webviewhistoryitem_ie.h
    include/wx-3.2/wx/msw/window.h
    include/wx-3.2/wx/msw/winundef.h
    include/wx-3.2/wx/msw/winver.h
    include/wx-3.2/wx/msw/wrapcctl.h
    include/wx-3.2/wx/msw/wrapcdlg.h
    include/wx-3.2/wx/msw/wrapgdip.h
    include/wx-3.2/wx/msw/wrapshl.h
    include/wx-3.2/wx/msw/wrapwin.h
    include/wx-3.2/wx/msw/wrl/EventToken.h
    include/wx-3.2/wx/msw/wrl/event.h
    include/wx-3.2/wx/msw/wx.manifest
    include/wx-3.2/wx/msw/wx.rc
    include/wx-3.2/wx/msw/wx_dpi_aware.manifest
    include/wx-3.2/wx/msw/wx_dpi_aware_pmv2.manifest
    include/wx-3.2/wx/osx/carbon/private/print.h
    include/wx-3.2/wx/osx/cocoa/private/date.h
    include/wx-3.2/wx/osx/cocoa/private/markuptoattr.h
    include/wx-3.2/wx/osx/cocoa/private/textimpl.h
    include/wx-3.2/wx/osx/config_xcode.h
    include/wx-3.2/wx/osx/core/private/datetimectrl.h
    include/wx-3.2/wx/osx/core/private/strconv_cf.h
    include/wx-3.2/wx/osx/core/private/timer.h
    include/wx-3.2/wx/osx/iphone/chkconf.h
    include/wx-3.2/wx/osx/iphone/private.h
    include/wx-3.2/wx/osx/iphone/private/textimpl.h
    include/wx-3.2/wx/osx/private/addremovectrl.h
    include/wx-3.2/wx/osx/private/available.h
    include/wx-3.2/wx/osx/private/datatransfer.h
    include/wx-3.2/wx/osx/private/print.h
    include/wx-3.2/wx/osx/private/timer.h
    include/wx-3.2/wx/osx/private/webrequest_urlsession.h
    include/wx-3.2/wx/osx/setup.h
    include/wx-3.2/wx/osx/setup_inc.h
    include/wx-3.2/wx/persist/combobox.h
    include/wx-3.2/wx/private/addremovectrl.h
    include/wx-3.2/wx/private/animate.h
    include/wx-3.2/wx/private/bmpbndl.h
    include/wx-3.2/wx/private/display.h
    include/wx-3.2/wx/private/eventloopsourcesmanager.h
    include/wx-3.2/wx/private/extfield.h
    include/wx-3.2/wx/private/fd.h
    include/wx-3.2/wx/private/fdiodispatcher.h
    include/wx-3.2/wx/private/fdioeventloopsourcehandler.h
    include/wx-3.2/wx/private/fdiohandler.h
    include/wx-3.2/wx/private/fdiomanager.h
    include/wx-3.2/wx/private/fileback.h
    include/wx-3.2/wx/private/filedlgcustomize.h
    include/wx-3.2/wx/private/filename.h
    include/wx-3.2/wx/private/flagscheck.h
    include/wx-3.2/wx/private/fontmgr.h
    include/wx-3.2/wx/private/fswatcher.h
    include/wx-3.2/wx/private/glibc.h
    include/wx-3.2/wx/private/graphics.h
    include/wx-3.2/wx/private/icondir.h
    include/wx-3.2/wx/private/json.h
    include/wx-3.2/wx/private/jsscriptwrapper.h
    include/wx-3.2/wx/private/launchbrowser.h
    include/wx-3.2/wx/private/localeset.h
    include/wx-3.2/wx/private/markupparser.h
    include/wx-3.2/wx/private/markupparserattr.h
    include/wx-3.2/wx/private/menuradio.h
    include/wx-3.2/wx/private/notifmsg.h
    include/wx-3.2/wx/private/overlay.h
    include/wx-3.2/wx/private/pipestream.h
    include/wx-3.2/wx/private/preferences.h
    include/wx-3.2/wx/private/refcountermt.h
    include/wx-3.2/wx/private/rescale.h
    include/wx-3.2/wx/private/richtooltip.h
    include/wx-3.2/wx/private/sckaddr.h
    include/wx-3.2/wx/private/secretstore.h
    include/wx-3.2/wx/private/selectdispatcher.h
    include/wx-3.2/wx/private/socket.h
    include/wx-3.2/wx/private/spinctrl.h
    include/wx-3.2/wx/private/streamtempinput.h
    include/wx-3.2/wx/private/textmeasure.h
    include/wx-3.2/wx/private/threadinfo.h
    include/wx-3.2/wx/private/timer.h
    include/wx-3.2/wx/private/tlwgeom.h
    include/wx-3.2/wx/private/uiaction.h
    include/wx-3.2/wx/private/uilocale.h
    include/wx-3.2/wx/private/unicode.h
    include/wx-3.2/wx/private/webrequest.h
    include/wx-3.2/wx/private/webrequest_curl.h
    include/wx-3.2/wx/private/window.h
    include/wx-3.2/wx/private/wxprintf.h
    include/wx-3.2/wx/qt/accel.h
    include/wx-3.2/wx/qt/anybutton.h
    include/wx-3.2/wx/qt/app.h
    include/wx-3.2/wx/qt/bitmap.h
    include/wx-3.2/wx/qt/bmpbuttn.h
    include/wx-3.2/wx/qt/brush.h
    include/wx-3.2/wx/qt/button.h
    include/wx-3.2/wx/qt/calctrl.h
    include/wx-3.2/wx/qt/checkbox.h
    include/wx-3.2/wx/qt/checklst.h
    include/wx-3.2/wx/qt/choice.h
    include/wx-3.2/wx/qt/clipbrd.h
    include/wx-3.2/wx/qt/clrpicker.h
    include/wx-3.2/wx/qt/colordlg.h
    include/wx-3.2/wx/qt/colour.h
    include/wx-3.2/wx/qt/combobox.h
    include/wx-3.2/wx/qt/control.h
    include/wx-3.2/wx/qt/ctrlsub.h
    include/wx-3.2/wx/qt/cursor.h
    include/wx-3.2/wx/qt/dataform.h
    include/wx-3.2/wx/qt/dataobj.h
    include/wx-3.2/wx/qt/dataobj2.h
    include/wx-3.2/wx/qt/dataview.h
    include/wx-3.2/wx/qt/dc.h
    include/wx-3.2/wx/qt/dcclient.h
    include/wx-3.2/wx/qt/dcmemory.h
    include/wx-3.2/wx/qt/dcprint.h
    include/wx-3.2/wx/qt/dcscreen.h
    include/wx-3.2/wx/qt/defs.h
    include/wx-3.2/wx/qt/dialog.h
    include/wx-3.2/wx/qt/dirdlg.h
    include/wx-3.2/wx/qt/dnd.h
    include/wx-3.2/wx/qt/dvrenderer.h
    include/wx-3.2/wx/qt/dvrenderers.h
    include/wx-3.2/wx/qt/evtloop.h
    include/wx-3.2/wx/qt/filedlg.h
    include/wx-3.2/wx/qt/font.h
    include/wx-3.2/wx/qt/fontdlg.h
    include/wx-3.2/wx/qt/frame.h
    include/wx-3.2/wx/qt/gauge.h
    include/wx-3.2/wx/qt/glcanvas.h
    include/wx-3.2/wx/qt/listbox.h
    include/wx-3.2/wx/qt/listctrl.h
    include/wx-3.2/wx/qt/mdi.h
    include/wx-3.2/wx/qt/menu.h
    include/wx-3.2/wx/qt/menuitem.h
    include/wx-3.2/wx/qt/minifram.h
    include/wx-3.2/wx/qt/msgdlg.h
    include/wx-3.2/wx/qt/nonownedwnd.h
    include/wx-3.2/wx/qt/notebook.h
    include/wx-3.2/wx/qt/palette.h
    include/wx-3.2/wx/qt/pen.h
    include/wx-3.2/wx/qt/popupwin.h
    include/wx-3.2/wx/qt/printdlg.h
    include/wx-3.2/wx/qt/printqt.h
    include/wx-3.2/wx/qt/private/converter.h
    include/wx-3.2/wx/qt/private/pointer.h
    include/wx-3.2/wx/qt/private/timer.h
    include/wx-3.2/wx/qt/private/treeitemdelegate.h
    include/wx-3.2/wx/qt/private/treeitemfactory.h
    include/wx-3.2/wx/qt/private/utils.h
    include/wx-3.2/wx/qt/private/winevent.h
    include/wx-3.2/wx/qt/radiobox.h
    include/wx-3.2/wx/qt/radiobut.h
    include/wx-3.2/wx/qt/region.h
    include/wx-3.2/wx/qt/scrolbar.h
    include/wx-3.2/wx/qt/slider.h
    include/wx-3.2/wx/qt/spinbutt.h
    include/wx-3.2/wx/qt/spinctrl.h
    include/wx-3.2/wx/qt/statbmp.h
    include/wx-3.2/wx/qt/statbox.h
    include/wx-3.2/wx/qt/statline.h
    include/wx-3.2/wx/qt/stattext.h
    include/wx-3.2/wx/qt/statusbar.h
    include/wx-3.2/wx/qt/taskbar.h
    include/wx-3.2/wx/qt/textctrl.h
    include/wx-3.2/wx/qt/textentry.h
    include/wx-3.2/wx/qt/tglbtn.h
    include/wx-3.2/wx/qt/toolbar.h
    include/wx-3.2/wx/qt/tooltip.h
    include/wx-3.2/wx/qt/toplevel.h
    include/wx-3.2/wx/qt/treectrl.h
    include/wx-3.2/wx/qt/window.h
    include/wx-3.2/wx/richtext/bitmaps/image_placeholder24x24.xpm
    include/wx-3.2/wx/setup_inc.h
    include/wx-3.2/wx/setup_redirect.h
    include/wx-3.2/wx/stc/private.h
    include/wx-3.2/wx/univ/anybutton.h
    include/wx-3.2/wx/univ/app.h
    include/wx-3.2/wx/univ/bmpbuttn.h
    include/wx-3.2/wx/univ/button.h
    include/wx-3.2/wx/univ/checkbox.h
    include/wx-3.2/wx/univ/checklst.h
    include/wx-3.2/wx/univ/chkconf.h
    include/wx-3.2/wx/univ/choice.h
    include/wx-3.2/wx/univ/colschem.h
    include/wx-3.2/wx/univ/combobox.h
    include/wx-3.2/wx/univ/control.h
    include/wx-3.2/wx/univ/custombgwin.h
    include/wx-3.2/wx/univ/dialog.h
    include/wx-3.2/wx/univ/frame.h
    include/wx-3.2/wx/univ/gauge.h
    include/wx-3.2/wx/univ/inpcons.h
    include/wx-3.2/wx/univ/inphand.h
    include/wx-3.2/wx/univ/listbox.h
    include/wx-3.2/wx/univ/menu.h
    include/wx-3.2/wx/univ/menuitem.h
    include/wx-3.2/wx/univ/notebook.h
    include/wx-3.2/wx/univ/panel.h
    include/wx-3.2/wx/univ/radiobox.h
    include/wx-3.2/wx/univ/radiobut.h
    include/wx-3.2/wx/univ/renderer.h
    include/wx-3.2/wx/univ/scrarrow.h
    include/wx-3.2/wx/univ/scrolbar.h
    include/wx-3.2/wx/univ/scrthumb.h
    include/wx-3.2/wx/univ/scrtimer.h
    include/wx-3.2/wx/univ/setup.h
    include/wx-3.2/wx/univ/setup_inc.h
    include/wx-3.2/wx/univ/slider.h
    include/wx-3.2/wx/univ/spinbutt.h
    include/wx-3.2/wx/univ/statbmp.h
    include/wx-3.2/wx/univ/statbox.h
    include/wx-3.2/wx/univ/statline.h
    include/wx-3.2/wx/univ/stattext.h
    include/wx-3.2/wx/univ/statusbr.h
    include/wx-3.2/wx/univ/stdrend.h
    include/wx-3.2/wx/univ/textctrl.h
    include/wx-3.2/wx/univ/tglbtn.h
    include/wx-3.2/wx/univ/theme.h
    include/wx-3.2/wx/univ/toolbar.h
    include/wx-3.2/wx/univ/toplevel.h
    include/wx-3.2/wx/univ/window.h
    include/wx-3.2/wx/unix/fontutil.h
    include/wx-3.2/wx/unix/fswatcher_inotify.h
    include/wx-3.2/wx/unix/glegl.h
    include/wx-3.2/wx/unix/glx11.h
    include/wx-3.2/wx/unix/joystick.h
    include/wx-3.2/wx/unix/mimetype.h
    include/wx-3.2/wx/unix/private.h
    include/wx-3.2/wx/unix/private/displayx11.h
    include/wx-3.2/wx/unix/private/epolldispatcher.h
    include/wx-3.2/wx/unix/private/execute.h
    include/wx-3.2/wx/unix/private/executeiohandler.h
    include/wx-3.2/wx/unix/private/fdiounix.h
    include/wx-3.2/wx/unix/private/fswatcher_inotify.h
    include/wx-3.2/wx/unix/private/fswatcher_kqueue.h
    include/wx-3.2/wx/unix/private/pipestream.h
    include/wx-3.2/wx/unix/private/sockunix.h
    include/wx-3.2/wx/unix/private/timer.h
    include/wx-3.2/wx/unix/private/uilocale.h
    include/wx-3.2/wx/unix/private/wakeuppipe.h
    include/wx-3.2/wx/unix/sound.h
    include/wx-3.2/wx/unix/stdpaths.h
    include/wx-3.2/wx/unix/taskbarx11.h
    include/wx-3.2/wx/unix/utilsx11.h
    include/wx-3.2/wx/variantbase.h
    include/wx-3.2/wx/x11/app.h
    include/wx-3.2/wx/x11/bitmap.h
    include/wx-3.2/wx/x11/brush.h
    include/wx-3.2/wx/x11/chkconf.h
    include/wx-3.2/wx/x11/clipbrd.h
    include/wx-3.2/wx/x11/colour.h
    include/wx-3.2/wx/x11/cursor.h
    include/wx-3.2/wx/x11/dataform.h
    include/wx-3.2/wx/x11/dataobj.h
    include/wx-3.2/wx/x11/dataobj2.h
    include/wx-3.2/wx/x11/dc.h
    include/wx-3.2/wx/x11/dcclient.h
    include/wx-3.2/wx/x11/dcmemory.h
    include/wx-3.2/wx/x11/dcprint.h
    include/wx-3.2/wx/x11/dcscreen.h
    include/wx-3.2/wx/x11/dnd.h
    include/wx-3.2/wx/x11/font.h
    include/wx-3.2/wx/x11/glcanvas.h
    include/wx-3.2/wx/x11/joystick.h
    include/wx-3.2/wx/x11/minifram.h
    include/wx-3.2/wx/x11/nanox/X11/Xatom.h
    include/wx-3.2/wx/x11/nanox/X11/Xlib.h
    include/wx-3.2/wx/x11/nanox/X11/Xutil.h
    include/wx-3.2/wx/x11/palette.h
    include/wx-3.2/wx/x11/pen.h
    include/wx-3.2/wx/x11/popupwin.h
    include/wx-3.2/wx/x11/print.h
    include/wx-3.2/wx/x11/private.h
    include/wx-3.2/wx/x11/private/wrapxkb.h
    include/wx-3.2/wx/x11/privx.h
    include/wx-3.2/wx/x11/region.h
    include/wx-3.2/wx/x11/reparent.h
    include/wx-3.2/wx/x11/textctrl.h
    include/wx-3.2/wx/x11/toplevel.h
    include/wx-3.2/wx/x11/window.h
    lib/cmake/wxWidgets/wxWidgetsConfig.cmake
    lib/cmake/wxWidgets/wxWidgetsConfigVersion.cmake
    lib/cmake/wxWidgets/wxWidgetsTargets-debug.cmake
    lib/cmake/wxWidgets/wxWidgetsTargets.cmake
    

    The last four of those are of course fine, but listed for completeness.

    CMake build 
    opened by 0-wiz-0 2
  • Draft with questions: Add/extend editor folders/files to git ignore list

    Draft with questions: Add/extend editor folders/files to git ignore list

    If a user clones or forks the wxWidgets repository, and wants to use a popular editor like Visual Studio Code, they will need to know enough about git to add the editor's required folder name and/or extensions to the repositories .git/info/exclude file. While it's unreasonable to add every editor out there to the ignore list, this PR adds support for Eclipse, Sublime, and VSCode.

    Microsoft maintains a template for Visual Studio ignores. A lot of these don't apply, and some of them already exist in the various build directories. However, those don't necessarily cover firing up Visual Studio directly in a Sample directory or some of the other directories. I added the standard user-specific file extensions to ignore that Microsoft recommends as well as the .vs/ cache/options directory. These are at the root, so they apply to any directory. If that seems a reasonable approach, then I can remove the duplicates in some of the individual build paths (e.g., remove /build/msw/*.suo and /tests/test.suo).

    While not as popular as VSCode, two other IDEs that might be useful to add are CodeBlock and CodeLite -- this would entail adding:

        # CodeBlock files
        *.cbp
        *.depend
        *.layout
    
        # CodeLite files
        .codelite/
        *.project
        *.workspace
    
    opened by Randalphwa 3
  • Handle unsplit state better in wxSplitterWindow and wxPersistentSplitter

    Handle unsplit state better in wxSplitterWindow and wxPersistentSplitter

    There are several problems with using wxSplitterWindow that can be dynamically split and unsplit currently:

    1. Calling Unsplit() loses the current splitter position, as it resets it to 0 (actually to the minimum pane size, which makes even less sense), so if you want to dynamically split/unsplit a splitter you have to store this position in a separate variable in a program instead of just relying on the splitter itself having it.
    2. Destroying an unsplit persistent splitter stores its position as -1 and doesn't store the actual position at all.

    Both problems could be fixed by preserving the position in the splitter even when it's unsplit and saving it in wxPersistentSplitter and also saving "unsplit" flag separately. Some compatibility could be provided by handling the position of -1 if we read it from the existing config.

    feature simple 
    opened by vadz 0
Releases(v3.2.0)
Owner
Cross-Platform GUI Library
null
Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

BODEN CROSS-PLATFORM FRAMEWORK Build purely native cross-platform experiences with Boden Website ⬡ Getting Started ⬡ API Reference ⬡ Guides ⬡ Twitter

Ashampoo Systems GmbH & Co KG 1.5k Aug 7, 2022
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

libui: a portable GUI library for C This README is being written. Status It has come to my attention that I have not been particularly clear about how

Pietro Gagliardi 10.3k Aug 2, 2022
A library for creating native cross-platform GUI apps

Yue A library for creating native cross-platform GUI apps. Getting started Documentations FAQ Development Examples Sample apps (with screenshots) Muba

Yue 2.8k Aug 9, 2022
Build performant, native and cross-platform desktop applications with Node.js and CSS like styling. 🚀

NodeGui Build performant, native and cross-platform desktop applications with Node.js and CSS like styling. ?? NodeGUI is powered by Qt5 ?? which make

NodeGui 7.8k Aug 8, 2022
Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

?? Available Translations: ???? ???? ???? ???? ???? ???? ???? ???? . View these docs in other languages at electron/i18n. The Electron framework lets

Electron 103k Aug 9, 2022
A minimalist andf platform-agnostic application layer for writing graphical applications, with a strong emphasis on simplicity and ease of use.

SlimApp A minimalist(*) and platform-agnostic application layer for writing graphical applications. Available as either a single header file or a dire

Arnon Marcus 32 Jul 29, 2022
U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).

Ultimate++ Ultimate++ is a C++ cross-platform rapid application development framework focused on programmers productivity. It includes a set of librar

Ultimate++ 466 Aug 8, 2022
Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui

ImGuizmo Latest stable tagged version is 1.83. Current master version is 1.84 WIP. What started with the gizmo is now a collection of dear imgui widge

Cedric Guillemet 2.1k Aug 11, 2022
A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs.

webview for golang and c/c++ A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs. The goal of the project is to

polevpn 14 Jul 5, 2022
A single-header ANSI C immediate mode cross-platform GUI library

Nuklear This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed a

Immediate Mode UIs, Nuklear, etc. 5.9k Aug 4, 2022
A cross-platform GUI for jzIntv

jzIntvImGui Welcome to jzIntvImGui! It's an all-in-one powerful Dear ImGui interface which allows you to manage your collection of Intellivision games

null 4 May 8, 2022
Cross-platform GUI library

Harbour Nuklear backend This backend provides support for Nuklear. It works on on all supported platforms with an OpenGL backend, including iOS and An

Rafał Jopek 2 Jan 19, 2022
FLTK - Fast Light Tool Kit - a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11)

FLTK - Fast Light Tool Kit - a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11)

The FLTK Team 945 Aug 4, 2022
This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

ImGui Goodies This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, th

null 95 Jun 22, 2022
Framework Open EDA Gui

FOEDAG FOEDAG denotes Qt-based Framework Open EDA Gui Documentation FOEDAG's full documentation includes tutorials, tool options and contributor guide

The Open-Source FPGA Foundation 26 Aug 9, 2022
Open Source, cross platform C++ library providing integration of VulkanSceneGraph with Qt windowing

Open Source, cross platform C++ library providing integration of VulkanSceneGraph with Qt windowing. Supports Windows, Linux and macOS.

Vulkan made easy 11 Aug 8, 2022
Examples, tutorials and applications for the LVGL embedded GUI library

Examples, tutorials and applications for the LVGL embedded GUI library

LVGL 433 Aug 11, 2022
FlatUI is a immediate mode C++ GUI library for games and graphical applications.

FlatUI is a immediate mode C++ GUI library for games and graphical applications. Go to our landing page to browse our documentation.

Google 605 Aug 5, 2022
The HorusUI library allows you to quickly develop GUIs for your applications by leveraging the ease of use provided by immediate mode GUI concepts.

Immediate Mode Graphical User Interface for Tools OVERVIEW The HorusUI library allows you to quickly develop GUIs for your applications by leveraging

null 131 Jul 13, 2022