Page 2 of 2
Re: How to open new frame from button
Posted: Sun Jul 28, 2019 9:13 am
by doublemax
According to the chart wxFormBuilder doesn't support wxSimplebook either. I can't think of any comfortable and easy solution when using a GUI editor.
I would create all individual panels and put them all into a vertical wxBoxSizer. Then write some custom code that hides/shows only the panel you want to be visible at the time (which is basically what wxSimplebook does internally).
Re: How to open new frame from button
Posted: Sun Jul 28, 2019 4:14 pm
by marcusbarnet
I was trying to compile the notebook example by using CodeBlocks on Ubuntu.
I imported the project into CodeBlocks by using the import utility and by selecting the visual studio project file.
Everything loaded correctly, but when I try to build the project, I get this error:
Code: Select all
In file included from /usr/include/wx-3.0/wx/chkconf.h:1222,
from /usr/include/wx-3.0/wx/platform.h:596,
from /usr/include/wx-3.0/wx/defs.h:27,
from /usr/include/wx-3.0/wx/wxprec.h:12,
from /home/robodyne/Downloads/wxwidgets master/wxWidgets-master/samples/notebook/notebook.cpp:12:
./../../include/wx/msw/chkconf.h:27:10: error: #error "wxUSE_WINRT must be defined."
# error "wxUSE_WINRT must be defined."
^~~~~
./../../include/wx/msw/chkconf.h:43:9: error: #error "wxUSE_DBGHELP must be defined"
# error "wxUSE_DBGHELP must be defined"
^~~~~
./../../include/wx/msw/chkconf.h:107:9: error: #error "wxUSE_TASKBARBUTTON must be defined."
# error "wxUSE_TASKBARBUTTON must be defined."
^~~~~
./../../include/wx/msw/chkconf.h:123:10: error: #error "wxUSE_WINSOCK2 must be defined."
# error "wxUSE_WINSOCK2 must be defined."
^~~~~
./../../include/wx/msw/chkconf.h:386:13: error: #error "wxUSE_DRAG_AND_DROP requires wxUSE_OLE"
# error "wxUSE_DRAG_AND_DROP requires wxUSE_OLE"
^~~~~
./../../include/wx/msw/chkconf.h:397:13: error: #error "wxMediaCtl requires wxActiveXContainer"
# error "wxMediaCtl requires wxActiveXContainer"
^~~~~
In file included from /usr/include/wx-3.0/wx/string.h:45,
from /usr/include/wx-3.0/wx/memory.h:15,
from /usr/include/wx-3.0/wx/object.h:19,
from /usr/include/wx-3.0/wx/wx.h:15,
from /home/robodyne/Downloads/wxwidgets master/wxWidgets-master/samples/notebook/notebook.cpp:19:
/usr/include/wx-3.0/wx/wxcrtbase.h:41:14: fatal error: io.h: No such file or directory
#include <io.h>
^~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
7 error(s), 0 warning(s) (0 minute(s), 0 second(s))
I tried to search on google for the first error, but everything is related to Windows.
Does it mean that I cannot build this example on Ubuntu/CodeBlocks?
I think that it would be good for me to study the "notebook" working example.
Re: How to open new frame from button
Posted: Sun Jul 28, 2019 6:13 pm
by doublemax
Building the samples with CodeBlocks (or any IDE) is not that simple. If you just want to run and check a sample, build it from the command line.
Re: How to open new frame from button
Posted: Sun Jul 28, 2019 7:15 pm
by marcusbarnet
I'm able to correctly compile the sample by using line commands, but I still get the errors when I try to compile it by using Codeblocks.
Code: Select all
amples/wizard/wizard.cpp:20:
./../../include/wx/msw/chkconf.h:27:10: error: #error "wxUSE_WINRT must be defined."
# error "wxUSE_WINRT must be defined."
^~~~~
./../../include/wx/msw/chkconf.h:43:9: error: #error "wxUSE_DBGHELP must be defined"
# error "wxUSE_DBGHELP must be defined"
^~~~~
./../../include/wx/msw/chkconf.h:107:9: error: #error "wxUSE_TASKBARBUTTON must be defined."
# error "wxUSE_TASKBARBUTTON must be defined."
^~~~~
./../../include/wx/msw/chkconf.h:378:13: error: #error "wxUSE_DRAG_AND_DROP requires wxUSE_OLE"
# error "wxUSE_DRAG_AND_DROP requires wxUSE_OLE"
^~~~~
./../../include/wx/msw/chkconf.h:389:13: error: #error "wxMediaCtl requires wxActiveXContainer"
# error "wxMediaCtl requires wxActiveXContainer"
^~~~~
In file included from /usr/include/wx-3.0/wx/string.h:45,
from /usr/include/wx-3.0/wx/memory.h:15,
from /usr/include/wx-3.0/wx/object.h:19,
from /usr/include/wx-3.0/wx/event.h:16,
from /usr/include/wx-3.0/wx/window.h:18,
from /usr/include/wx-3.0/wx/nonownedwnd.h:14,
from /usr/include/wx-3.0/wx/toplevel.h:20,
from /usr/include/wx-3.0/wx/frame.h:18,
from /home/robodyne/Downloads/wxWidgets-3.1.2/samples/wizard/wizard.cpp:28:
/usr/include/wx-3.0/wx/wxcrtbase.h:41:14: fatal error: io.h: No such file or directory
#include <io.h>
^~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
6 error(s), 0 warning(s) (0 minute(s), 0 second(s))
In the build options, I have: "`wx-config --cflags`" and "`wx-config --libs std,aui`" for the linker.
Re: How to open new frame from button
Posted: Sun Jul 28, 2019 8:21 pm
by doublemax
I don't use Linux, but most likely the include path for wx/setup.h is missing. For a wxWidgets project two include paths are needed. One is configuration specific, that must be the first one, because wx/setup.h is included from there.
e.g. if you build wxWidgets in <wxdir>/build-debug/, there will be a custom copy of setup.h in
<wxdir>/build-debug/lib/wx/include/<platform>/wx/
The second one is the generic <wxdir>/include/
Maybe this can help, even if it's written for Windows:
viewtopic.php?f=19&t=46125