From: John L. <jla...@gm...> - 2013-10-24 03:32:30
|
On Wed, Oct 23, 2013 at 1:50 AM, Paul K <pau...@ya...> wrote: > Hi John/Victor, > > I've seen suggested patches (like this one: > http://www.kirix.com/forums/viewtopic.php?f=15&t=542#p1479), but they > have never made it into the library. It *may* be possible to reproduce > the same logic that is used when this is done manually, but > unfortunately, I don't see a way to get access to wxAuiTabCtrl that is > needed for this manipulation. > > I don't know why these patches never made it into wxWidgets, but earlier this year there was more talk about updating wxAui on the wx-dev mailing list and I think saving the perspective was part of it. I don't know what came of it though. John, a side note; it's a shame that there doesn't seem to be a way to > get wxAuiTabCtrl from wxAuiNotebook. The only way I found was through > If this is part of the C++ api I can add it for sure, it is? > panes = nbmgr:GetAllPanes() > tabframe = panes:Item(1).window:DynamicCast("wxTabFrame") -- this > should work, but fails with "Cannot cast a wxLua type 'wxWindow' with > wxClassInfo 'wxWindow' to a 'wxTabFrame'". > > It looks like wxTabFrame is not exposed though any header file. > It would be great to have access to FindTab, which returns both the > tab control and tab index for the page in that control, but it's > marked as protected: > > protected: > bool FindTab(wxWindow* page, wxAuiTabCtrl** ctrl, int* idx); > > What are your thoughts on exposing protected classes in the wxlua API? > There are two more in that category wxStat and wxLstat that I'd love > to have in wxlua. > > It is unfortunately not really possible to expose these in a generic way. wxLua can compile against a system installed copy of wxWidgets and we can't expect people to be able to change "protected:" to "public:". There really isn't a viable way to do this in C++ that isn't a complete hack that will just lead to frustrating people with compilation errors. A quick google search hints that wxPython has implemented this, how did they do it? Regards, John |