Разбор примера Aui

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
User avatar
McSeem
Earned a small fee
Earned a small fee
Posts: 13
Joined: Wed Aug 30, 2017 11:31 am

Разбор примера Aui

Postby McSeem » Wed Apr 04, 2018 4:02 pm

Доброго времени суток!
Я тут разбираюсь с примерами 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());

m_mgr в классе определяется как

Code: Select all

private:
    wxAuiManager m_mgr;


Не могу понять, почему для объекта m_mgr не может быть соответствующего метода wxAuiManager, если он объявлен как объект этого класса..? Я не особо силен в тонкостях объектной модели C++, она довольно запутанна, на мой взгляд, но все же, в чем здесь может быть дело? Прикладываю файлы gui.h, gui.cpp и оригинальный auidemo.cpp из примера Aui.
Attachments
auidemo.cpp
Оригинальный auidemo.cpp из примера Aui
(67.2 KiB) Downloaded 26 times
gui.h
Зоголовочный для MyFrame
(4.13 KiB) Downloaded 28 times
gui.cpp
Имплементация класса MyFrame
(16.69 KiB) Downloaded 27 times

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2785
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Разбор примера Aui

Postby ONEEYEMAN » Wed Apr 04, 2018 6:24 pm

Dobrogo vremeni sutok,
Faily iz wxWidgets dolgny byt' vkljucheny (include'ed) pervymi. Poprobujte pomenjat mestami aui.h i gui.h v vashem ishodnike.

Spasibo.

User avatar
McSeem
Earned a small fee
Earned a small fee
Posts: 13
Joined: Wed Aug 30, 2017 11:31 am

Re: Разбор примера Aui

Postby McSeem » Thu Apr 05, 2018 10:30 am

ONEEYEMAN wrote:Dobrogo vremeni sutok,
Poprobujte pomenjat mestami aui.h i gui.h v vashem ishodnike.

Не прокатило. Даже не знаю, куда еще копать. Есть еще какие-нибудь идеи?

Serge_N
Earned a small fee
Earned a small fee
Posts: 13
Joined: Thu Apr 13, 2017 1:34 pm

Re: Разбор примера Aui

Postby Serge_N » Thu Apr 05, 2018 3:25 pm

Когда я разбирался с AUI, я делал так как в архиве.... прилагаю
Attachments
myAUI.zip
(15.66 KiB) Downloaded 17 times

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2785
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Разбор примера Aui

Postby ONEEYEMAN » Thu Apr 05, 2018 4:22 pm

Dobrogo vremeni suto,

Metod wxAuiManager::AddPane() prinimaet pervym parametrom klass nasleduemyj ot wxWindow.

Sudja po vsemu klass wxSizeReportCtrl takovym ne javljaetsja. Tochnee skazat ne mogu potomu chto ishodnikov etogo klassa net.
Prosto proverte po ierarhii - moget prosto zabyli ukazat klass roditelja v fajle-zagolovke. Chto-to tipa:

Code: Select all

class wxSizeReportCtrl
{
};


vmesto

Code: Select all

class wxSizeReportCtrl : public wxWindow
{
};


Spasibo.

User avatar
McSeem
Earned a small fee
Earned a small fee
Posts: 13
Joined: Wed Aug 30, 2017 11:31 am

Re: Разбор примера Aui

Postby McSeem » Thu Apr 05, 2018 4:33 pm

В оригинале (auidemo.cpp, который я приложил в первом посте) класс wxSizeReportCtrl наследуется от wxControl, а wxControl, может быть (не знаю точно) может наследоваться от wxWindow. Попробую вынести по аналогии отдельно класс wxSizeReportCtrl и далее объявить его экземпляр так, чтобы для MyFrame были очевидны и доступны методы wxSizeReportCtrl. Спасибо за наводку.


Return to “wxWidgets Development (Russian)”

Who is online

Users browsing this forum: No registered users and 1 guest