Have you seen this thread? https://forum.freecadweb.org/viewtopic.php?f=8&t=14211
I was not aware of the thread, and it does correspond exactly to what I face as an issue. I really think we shall find a way to expose import/export stuff at startup as you mention, because it is quite disturbing to the end user to activate Part module which is a design module to import or use FreeCAD as a pure viewer. I will try to see if I can find a way to make it happens.sgrogan wrote: ↑Wed Jul 12, 2017 9:07 pmHave you seen this thread? https://forum.freecadweb.org/viewtopic.php?f=8&t=14211
I think having all the import/export stuff available at start-up would be very convenient.
I am in a mix of all of that, as I need to keep the parameter between FreeCAD restart, but I also need to expose an easy way to the end user to change the valuetriplus wrote: ↑Wed Jul 12, 2017 9:44 pmHi vejmarie.
As for the more general issue. Workbench name and icon is available when FreeCAD starts. No resource files are involved and nothing needs to be loaded. Therefore Preferences sidebar could be turned into a workbench switcher. That is all workbenches would be listed and when user clicks on an icon corresponding workbench gets loaded. Things like workbench specific preferences page therefore gets loaded. That would resolve the confusion for new users as now you have to first load the workbench to see the corresponding workbench icon/name in Preferences. I never tackled this as it would involve C++ and i somehow settled for Python for now.
As for your problem. I have a feeling it's a different one. Variable/parameter gets set in Preferences and after it is stored as parameter. You can therefore always check for the value set at FreeCAD start. Regardless of the fact if STEP importer/exporter preferences page was already loaded or not. Look under Tools -> Edit parameters ... All sorts of stored settings are located there. And the same can be done for your (user set) STEP importer/exporter related variable.
In FreeCAD terms that comes down to:
The class ParameterGrp is derived from the class Base::Subject and thus it's possible to register observers to a group that get notified for each changed parameter inside the group.is there a way to create a var that can be changed at running time i.e. for "UseVBO" and not that would need a FC restart as per "WriteSurfaceCurveMode"?
It is enough to expose the var to Gui?