wxPython (Phoenix) & wxWidgets 3.1

I’m trying to compile Phoenix against wxWidgets master trunk, but I get some strange compilation errors failing to I cannot figure out:

wxLANGUAGE_KHMER, wxPOWER_RESOURCE_SCREEN (et al), wxTEXT_ATTR_AVOID_PAGE_BREAK_AFTER (et al), wxART_FULL_SCREEN, wxGA_PROGRESS. wxGA_TEXT, wxFD_NO_FOLLOW, wxDIRCTRL_DEFAULT_STYLE, wxCONTROL_NONE … was not declared in this scope

I’m building it with the following command line (under Ubuntu 14.04):

PATH=$PATH:/home/reingart/src/wxWidgets/bldqt/

python3 build.py --debug --use_syswx cleanall dox doxhtml --nodoc etg sip build_py

Attached is the full build log.

I don’t fully understand why this is happening now, it compiled a few months ago and the symbols are included in the wx public interface AFAIK

Any advice will be helpful, just pointing what to look I stuck

For changes to sources required to transition from 3.0.2 to 3.1.0 see:

https://github.com/wxWidgets/Phoenix/pull/4

Also a it needs a patch for wxWidgets interface due duplication declaration:

https://groups.google.com/d/msg/wx-dev/7YpMcLni0VM/AwY2IBD3DSIJ

This PR is based in the work done for the wxQT GSOC 2014 project, mergedi with latest changes from Robin.

For more info see:

https://groups.google.com/d/msg/wxpython-dev/kGFGTgO1tlA/gOjRrFWTkYIJ

wxPython_Phoenix_build.log (97.2 KB)

···

BTW, is there any interest in 3.1.0 or it has no priority right now?

I can help merging simple patches and so on (indeed I’d like to add propgrid to be able to start using it, beside wxQT)

Best regads,

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com

I'm trying to compile Phoenix against wxWidgets master trunk, but I get
some strange compilation errors failing to I cannot figure out:

wxLANGUAGE_KHMER, wxPOWER_RESOURCE_SCREEN (et al),
wxTEXT_ATTR_AVOID_PAGE_BREAK_AFTER (et al), wxART_FULL_SCREEN,
wxGA_PROGRESS. wxGA_TEXT, wxFD_NO_FOLLOW, wxDIRCTRL_DEFAULT_STYLE,
wxCONTROL_NONE ... was not declared in this scope

I'm building it with the following command line (under Ubuntu 14.04):

PATH=$PATH:/home/reingart/src/wxWidgets/bldqt/
python3 build.py --debug --use_syswx cleanall dox doxhtml --nodoc etg
sip build_py

Sorry, my fault, I had a problem in the PATH, build.py was using wx-config
from the system (3.0.2), instead of the specified directory (3.1.0).
Now I'm using the --build_dir that seems safer:

python3 build.py --debug dox doxhtml --nodoc etg sip clean_py build_py
--build_dir=/home/reingart/src/wxWidgets/bldqt/

For changes to sources required to transition from 3.0.2 to 3.1.0 see:

wxWidgets 3.1.0 (current master trunk) and wxQT updates by reingart · Pull Request #4 · wxWidgets/Phoenix · GitHub

Also a it needs a patch for wxWidgets interface due duplication
declaration:

https://groups.google.com/d/msg/wx-dev/7YpMcLni0VM/AwY2IBD3DSIJ

Also I added missing methods to wxQT, just for the record, I'm configuring
it doing:

../configure --with-qt --enable-debug --enable-compat28

BTW, I changed some etg sources to ignore deprecated methods not available
if not using WXWIN_COMPATIBILITY_2_8 (adding suitable provisional
"replacements" if they were relevant and direct)

I wonder if this is the correct way, or deprecated 2.8 methods should be
still left instead (configuring wx with --enable-compat28), or removed at
all.

Many replacements for deprecated methods are direct, but some are more
complicated (i.e. in MenuBar [253/703] and MenuItem [255/703]:
wxMenuItem::GetLabel, wxMenuItem::GetName, wxMenuItem::GetText,
wxMenuItem::SetText, wxMenuItem::GetLabelFromText, wxMenuBar::GetLabelTop,
wxMenuBar::SetLabelTop)
I stopped there but can continue to find the replacements looking at wx
deprecated code.

Anyway, I got stuck now with odcmombo.py (trying to avoid IsEmpty
ambiguity):

[471/703] cxx: sip/cpp/sip_advwxOwnerDrawnComboBox.cpp ->
build/waf/3.4/sip/cpp/sip_advwxOwnerDrawnComboBox.cpp.5.o

  File "/home/reingart/src/Phoenix/etgtools/tweaker_tools.py", line 124, in
_getCoreTopLevelNames
    with open(filename, 'rt', encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'wx/core.pi'
Command '"/usr/bin/python3" etg/odcombo.py --sip --nodoc' failed with exit
code 1.

I'm trying to understand how the process is, but it seems that some changes
have specific steps (or there is some recursion/cyce).
Surely I'm missing something, any advice / tutorial / etc. is welcome.

BTW, is there any interest in 3.1.0 or it has no priority right now?

I can help merging simple patches and so on (indeed I'd like to add
propgrid to be able to start using it, beside wxQT)

Also, I could make and maintain a branch for Phoenix 3.1 if anyone is
interested,

Best regards

Mariano Reingart
http://www.sistemasagiles.com.ar

···

On Sat, Jan 3, 2015 at 7:58 PM, Mariano Reingart <reingart@gmail.com> wrote:

Mariano Reingart wrote:

    BTW, is there any interest in 3.1.0 or it has no priority right now?

    I can help merging simple patches and so on (indeed I'd like to add
    propgrid to be able to start using it, beside wxQT)

Also, I could make and maintain a branch for Phoenix 3.1 if anyone is
interested,

There is interest, but with the Classic3.0 --> Phoenix3.0 transition already being a big step for people I think it makes a little more sense to focus on getting to the point of doing an official release of a 3.0 build before also throwing a 3.0 --> 3.1 transition at the users. Of course I had expected to already be at that point by now, but for at least a while longer I think it still makes sense.

I do appreciate what you've done so far though and I expect it will be very useful when I am ready for it.

···

On Sat, Jan 3, 2015 at 7:58 PM, Mariano Reingart <reingart@gmail.com >

--
Robin Dunn
Software Craftsman