Releases: azagoruyko/rigBuilder
v4.2.0
v4.1.0
What's new?
General
- Add compound widget.
- Use jsonWidget for editing comboBox and listBox items.
Fixes
- Skip connection menu for empty named attributes.
- Fix undo after remove for json widget.
v4.0.2
What's new?
- Module's muted flag affects on children execution (fix after 4.0.0)
- Fix bug with list widget and add selection.
v4.0.1
What's new?
UI
- Update style when attribute data is edited.
- Display errors when something happens during saving process.
- Optimize widgetOnChange.
- Don't auto reset widgets on error.
Generic
- Clear modification flag for attributes on module update.
Widgets
- lineEdit updates slider when options are edited.
- Fix table height.
- comboBox always adds the current value.
v3.1.1
What's new?
Widgets
- Add blockedWidgetContext to avoid cycles inside setJsonData.
- Fix bug with somethingChanged.
v3.1.0
What's new?
Main change is regarding the core pull and push feature.
- Rename DataAccessor to RuntimeDataAccessor (
@_data
attribute accessor in the code). - RuntimeAttribute.get/set now accept key argument, like
module.attr.input.set([1,2,3], "items")
- RuntimeAttribute data/setData now pull/push values.
The idea behind all this is to provide a unique standardized way for working with attributes with connections and expressions.
Curve widget
- Add epsilon argument to curve evaluation functions.
- Always clamp param to 0..1.
v3.0.1
What's new?
- Fix bug when there is an error in widget and it becomes blocked.
- Fix somethingChanged emit signals
Now widgets can produce errors in setJsonData and it shouldn't crash.
v3.0.0
What's new?
That's again the 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.
This 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.
v2.1.0
What's new?
- Colorizing json values for widgets.
- comboBox and list widgets now support json-compatible items, as well as lineEdit, lineEditAndButton, table.
- Fix button label/command for standalone.
- Fix font size, so rely on 3 functions: pixelSize, pointSize, pointSizeF.
- Fix swoop (search/replace) window position in the code editor.
- Keep track an attributes modification flag when attributes are edited.
- Copy tool code only for modules loaded from local or server.
- Add default css stylesheet file, not yet used, but can be used in a standalone app.
- Fix auto size for Rig Builder tools.
- Bug fix: don't rename attr in code and in connections when there are several attrs with the same name exist.
- Bug fix with clear modification flag on save.
v2.0.0
What's new?
Complete refactoring update. It's full compatible with v1.0.0.
Change log
Editor
- Highly improved search/replace dialog with flags (f3 key).
- Add menu for duplicate and move lines.
- Fix bug with completion widget and scrolling.
- Fix bug with move line at the first line.
- Place common code in utils.py.
- Refactor code, make it more compatible with python 3+.
Classes
- Add attribute expressions (python code).
- Explicit declare modification flag here.
Widgets
- Add high featured json widget for editing any json data.
- Use code editor for editing button commands.
- Use label/code templates for button widget.
- Improve generic UI experience, add placeholders.
- Add increase/decrease size for text widget.
- Fix curve default value (get rid of tuples).
- Show slider for lineEdit when a validator is used, default min/max 0-100.
- Fix radioButton widget column number selector.
- A lot of code refactoring.
UI
- Edit attributes expressions within their context menu.
- Edit attributes data with json widget.
- Improve modification flags experience, now works more consistent.
- Highly improved visual style for attributes with connection/expression.
- Add ModuleItem which solely work with Module class using Qt data mechanics.
- Remove main menu, use instead improved context menu.
- Add copy tool code menu to obtain the code for running the module as a tool.
- RigBuilderTool arguments fixes: child supports int/str, size supports number/list[2] to specify the tool's window size.
- Completely refactored code to make it more compatible with python 3+.
utils
- Common functions/classes live here.