Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Large update. Completely renewed connection/expression mechanics.
Core * RuntimeAttribute and RuntimeModule classes instead of previous AttributeWrapper and ModuleWrapper. These classes should be used while working with Modules and Attributes in scripts. * Connection and expression are evaluated on demand by RuntimeAttribute.pull/get or by RuntimeModule.ch. Basically, it's like pull/push mechanics here. It results in more adequate behavior which can be used in interactive tools. Expression is always evaluated on top of a connection. * Consistent API across widgets and the code. You can use the same functions in widgets as you use in the code (like ch, module, copyJson, etc). * Widgets API. Widgets can expose own API which can be used anywhere in code. For example, curve_evaluate, listBox_selected, etc. These API is used for autocompletion as well. Widgets * Refactor json widget, fix bugs and make it more stable. * Widgets support self.executor for evaluating python code within a proper context (API). * Widgets with code editor use correct autocompletion. * comboBox eliminates duplicates. * listBox uses roles for items and supports multiple selection. It's much more interactive now. * radioButton refactor. * vector widget supports a custom dimension, column count and precision. * fix curve widget somethingChanged emits(on release button) and zero division bug. UI * Evaluate/Clear expression menu for attributes. * Highly reworked widgetOnChange and updateWidget. Now it's more suitable for interactive tools. * Update style for attributes with connection/expression. * Fix bug in dropEvent for modules! Also it always generates unique names for modules. Other * Update example.xml with the latest features. * add runStandalone.py for running RigBuilder outside of DCC with a correct stylesheet.
- Loading branch information