Как обойти проблему генерации кода с помощью wxCrafter при использовании настраиваемого элемента управления? - PullRequest
0 голосов
/ 09 июля 2020

Я создал производный настраиваемый элемент управления под названием wxSortedTreeCtrl, производный от wxTreeCtrl. Часть файла wxcp:

"m_templateClasses":    [{
            "m_includeFile":    "wxSortedTreeCtrl.h",
            "m_allocationLine": "wxSortedTreeCtrl.cpp",
            "m_className":  "wxSortedTreeCtrl",
            "m_xrcPreviewClass":    "wxTreeCtrl",
            "m_events": []
        }]

Теперь он не генерирует правильный #include, а только это в * Base.h:

...
#include <wx/treectrl.h>
#include <wx/textctrl.h>
wxSortedTreeCtrl.h   // This is wrong.
#include <wx/menu.h>
...

    wxTreeCtrl* m_treeCtrlProfiles;
    wxSortedTreeCtrl* m_sortedTreeProfiles; // OK 
    wxPanel* m_panelRightProfiles;

Когда я закрываю wrCrafter и открываю его, файл wxcp и замените "m_includeFile": "wxSortedTreeCtrl.h" на "m_includeFile": "#include ", wxCrafter отменяет это и по-прежнему генерирует неправильное включение (без #include). Итак, я попробовал следующее:

 "m_templateClasses":    [{
             "m_includeFile":    "#include <wxSortedTreeCtrl.h>",
             "m_allocationLine": "wxSortedTreeCtrl.cpp",
             "m_className":  "wxSortedTreeCtrl",
             "m_xrcPreviewClass":    "wxTreeCtrl",
             "m_events": []
         }]

К сожалению, * Base.h перезаписывается каждый раз, когда я генерирую новый код, поэтому взлом есть не лучшее решение. Есть идеи?

...