Is there any reason beside forgetfulness why many widgets inside Slate/Framework are not exposed for other modules?
I would like to create a new window with multiple tabs inside it when I click at my toolbar-extending button, so I need to use SDockingTabStack.
There are other unexposed classes, e.g. in Slate/MultiBox. I didn’t look into everythimg, but since you do know best, please consider exposing all header files to other modules/plugins as well. These widgets are too good to be kept for yourselves
I also wanted to point out that the SDockTabStack class does not implement anything, but is exposed to external modules. I am guessing that someone mixed up SDockingTabStack and SDockTabStack
Most likely because they not meant to be manipulated on Slate widget level and/or used standalone outside of the module, in this case search what is exposed in public directory as this is most likely what you should use… atleast this is only what you get. Im most cases like that same aset Set and Get function while varable is protected or private is to prevent code avoiding and cause potential destabilization, code force developer to use mediate class so code that menages the thing is fully executed. For example for menus and toolbox you should use different class to generate them according to rules that they set.
Also note that in Slate every UI even if it is composed out of other widgets is widget by it self as well as you need to make widget in order to display something on Slate, so not all widgets in engine as well as game code if you gonna use someone else code is not meant to be used standalone as they are made only to draw something in Slate, as there might be code outside of it that manage it and if it’s skip it might mess up execution of the code in those widgets as well are some other portion of the code outside them.
I doubt that it is intended to be private, because if you look at this: SDockTabStack | Unreal Engine Documentation
you can see that epic did intend to make a docktabstack public. But SDockTabStack is not implemented, its just a class with empty function bodies. And insteadn, SDockingTabStack is implemented properly. So why is there even an SDockTabStack to begin with? I think Epic mixed some things up.
Besides, I need this to customize the editor for a plugin of mine, so it’s more than appropriate to use it.