Разбор примера Aui
Posted: Wed Apr 04, 2018 4:02 pm
Доброго времени суток!
Я тут разбираюсь с примерами wxWidgets и мне нужно для своих проектов использовать Aui. Готовый пример Aui я собрал под Linux и Windows. Но дело в том, что данный пример представлен в виде одного cpp-файла, т.е. все классы определены и описаны в одном "спагетти-листинге" - для дальнейшей доработки это очень неудобно и я хочу выдернуть и расфасовать все классы по соответствующим h- и cpp-файлам. Получается пока туговато, есть несколько проблем, о чем и хочу спросить:
Когда пытаюсь вынести в отдельные файлы gui.h и gui.cpp класс MyFrame как положено - объявление в заголовочный файл, а имплементацию в cpp, то получаю ошибку компилляции: для такого кода:
m_mgr в классе определяется как
Не могу понять, почему для объекта m_mgr не может быть соответствующего метода wxAuiManager, если он объявлен как объект этого класса..? Я не особо силен в тонкостях объектной модели C++, она довольно запутанна, на мой взгляд, но все же, в чем здесь может быть дело? Прикладываю файлы gui.h, gui.cpp и оригинальный auidemo.cpp из примера Aui.
Я тут разбираюсь с примерами wxWidgets и мне нужно для своих проектов использовать Aui. Готовый пример Aui я собрал под Linux и Windows. Но дело в том, что данный пример представлен в виде одного cpp-файла, т.е. все классы определены и описаны в одном "спагетти-листинге" - для дальнейшей доработки это очень неудобно и я хочу выдернуть и расфасовать все классы по соответствующим h- и cpp-файлам. Получается пока туговато, есть несколько проблем, о чем и хочу спросить:
Когда пытаюсь вынести в отдельные файлы gui.h и gui.cpp класс MyFrame как положено - объявление в заголовочный файл, а имплементацию в cpp, то получаю ошибку компилляции:
Code: Select all
error: no matching function for call to 'wxAuiManager::AddPane(wxSizeReportCtrl*, wxAuiPaneInfo&)'
Code: Select all
m_mgr.AddPane(CreateSizeReportCtrl(), wxAuiPaneInfo().
Name(wxT("test1")).Caption(wxT("Pane Caption")).
Top());
Code: Select all
private:
wxAuiManager m_mgr;