2016-03-21 24 views
1

デフォルトでは、wxDataViewCtrlはOSXでネイティブな実装をしています。 OSXではwxDataViewCtrlの汎用実装をどのように使用できますか。 私はwxWidgetsコードを変更したくありません。私はマクロまたは特定のヘッダーを好むでしょう。OSXでwxDataViewCtrlの汎用実装を使用

また、私は、ネイティブとジェネリックの両方の実装を同時にどのように使用できるか考えています。 wxWidgetsの動的ライブラリを構築しながら

はエラーを次のとおりです:

./src/osx/dataview_osx.cpp:101:38: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    noFailureFlag = m_DataViewCtrlPtr->GetDataViewPeer()->Add(parent,item); 
        ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:112:38: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    noFailureFlag = m_DataViewCtrlPtr->GetDataViewPeer()->Add(parent,items); 
        ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:123:26: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(item),item)) 
     ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:153:28: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(items[indexItem]),items[indexItem])) 
     ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:178:22: error: no member named 'SetDeleting' in 'wxDataViewCtrl' 
    m_DataViewCtrlPtr->SetDeleting(true); 
    ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:179:38: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    noFailureFlag = m_DataViewCtrlPtr->GetDataViewPeer()->Remove(parent,item); 
        ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:181:22: error: no member named 'SetDeleting' in 'wxDataViewCtrl' 
    m_DataViewCtrlPtr->SetDeleting(false); 
    ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:197:22: error: no member named 'SetDeleting' in 'wxDataViewCtrl' 
    m_DataViewCtrlPtr->SetDeleting(true); 
    ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:199:38: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    noFailureFlag = m_DataViewCtrlPtr->GetDataViewPeer()->Remove(parent,items); 
        ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:201:22: error: no member named 'SetDeleting' in 'wxDataViewCtrl' 
    m_DataViewCtrlPtr->SetDeleting(false); 
    ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:212:26: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(item),item)) 
     ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:233:29: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    return m_DataViewCtrlPtr->GetDataViewPeer()->Reload(); 
     ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:238:22: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
    m_DataViewCtrlPtr->GetDataViewPeer()->Resort(); 
    ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:252:55: error: no member named 'GetColumnPtr' in 'wxDataViewCtrl'; did you mean 'GetColumnAt'? 
      wxDataViewColumn* column(m_DataViewCtrlPtr->GetColumnPtr(col)); 
                 ^~~~~~~~~~~~ 
                 GetColumnAt 
./include/wx/generic/dataview.h:248:23: note: 'GetColumnAt' declared here 
    wxDataViewColumn *GetColumnAt(unsigned int pos) const; 
        ^
./src/osx/dataview_osx.cpp:267:28: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
     m_DataViewCtrlPtr->GetDataViewPeer()->SetRowHeight(item,height); 
     ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:287:57: error: no member named 'GetColumnPtr' in 'wxDataViewCtrl'; did you mean 'GetColumnAt'? 
      wxDataViewColumn* column(m_DataViewCtrlPtr->GetColumnPtr(col)); 
                 ^~~~~~~~~~~~ 
                 GetColumnAt 
./include/wx/generic/dataview.h:248:23: note: 'GetColumnAt' declared here 
    wxDataViewColumn *GetColumnAt(unsigned int pos) const; 
        ^
./src/osx/dataview_osx.cpp:302:30: error: no member named 'GetDataViewPeer' in 'wxDataViewCtrl' 
      m_DataViewCtrlPtr->GetDataViewPeer()->SetRowHeight(items[itemIndex],height); 
      ~~~~~~~~~~~~~~~~~^
./src/osx/dataview_osx.cpp:312:53: error: no member named 'GetColumnPtr' in 'wxDataViewCtrl'; did you mean 'GetColumnAt'? 
     wxDataViewColumn *column = m_DataViewCtrlPtr->GetColumnPtr(col); 
                ^~~~~~~~~~~~ 
                GetColumnAt 
./include/wx/generic/dataview.h:248:23: note: 'GetColumnAt' declared here 
    wxDataViewColumn *GetColumnAt(unsigned int pos) const; 
        ^
./src/osx/dataview_osx.cpp:314:20: error: no member named 'GetWidthVariable' in 'wxDataViewColumn' 
     if (column->GetWidthVariable() == wxCOL_WIDTH_AUTOSIZE) 
      ~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 
make: *** [advdll_dataview_osx.o] Error 1 

答えて

0

#include <wx/generic/dataview.h>

は方法が提案しようとしましたか?

+0

私のためには機能しませんでした。コンパイルエラーの多く – Anil8753

0

wxHAS_GENERIC_DATAVIEWCTRLをグローバルに事前定義し、それを使ってwxWidgetsとアプリケーションを再構築する必要があります。

現在、このコントロールのネイティブと汎用の両方の実装を同じビルドで使用する方法はありません。

+0

wxHAS_GENERIC_DATAVIEWCTRLで試して、wxWidgetsを再構築しました。多くのリンクエラーがありました – Anil8753

+0

あなたのプロジェクトに 'src/generic/datavgen.cpp'を追加する必要があります。 –

+0

wxダイナミックライブラリ自体をビルドする際にエラーが発生します。質問された質問のエラーを確認してください – Anil8753

0

我々は両方でのwxWidgetsを構築する必要があります:

wxHAS_GENERIC_DATAVIEWCTRL 
wxUSE_GENERICDATAVIEWCTRL 

のみwxHAS_GENERIC_DATAVIEWCTRLが動作しません。今、私はOSX上でwxWidgetsの汎用実装を使用できるようになりました。

関連する問題