* Fix Shift-clicking SVG-DXF conversion
* Fix Schedules and References not incrementing the ID number properly
* Remove the superfluous Create and Open buttons from the Active Drawing pane
* Add active camera indicator to the Drawing list
* Improved enable/disabled icon behaviour
As many operators as possible now use polling method to set enabled/disabled state.
Icons set their enabled/disabled state intelligently depending on what is selected.
When an operator is disabled it says why it is disabled in the tooltip.
* Rename core open_sheet, operator OpenSheet/bim.open_sheet to better reflect what it actually does, i.e. open_layout
* Added selection checkmarks to Sheets, and operator to select all/none, to do batch ops on sheets
* Missed adding the renamed operator to __init__ in commit 4cfc0bd9f3
* Decouple creating and viewing drawings/sheets to avoid focus stealing popups polluting display on long batch runs
* Improve drawing selections in OpenDrawing operator
* Add the Shift+click power move to Create Sheet
* Add the Open Sheet + Shift+click power move
* Improve drawing selections in RemoveDrawing operator
* All operators are now documented with standardised language and terms.
* Add status bar Info messages for feedback on create tasks that now don't have visual feedback
* Fix enable/disable for ActivateDrawing operator icons.
This was a strange one. They have common invoke and execute methods,
but the polling has different conditions.
I tried subclassing the original ActivateDrawing for the Sheets version,
but something about Blenders operators breaks the classmethod decorated
poll. This was the cleanest solution I found, but maybe there's a better
one.
* Placeholder operator for DuplicateSheet function.
Does nothing but report Not Implemented. Could be omitted if this
kind of thing is frowned upon.
* Change icons to be more consistent
* Final changes to toolbars
Change button order and spacing for better usability.
Add a checkmark all/none button, to do batch ops on sheets.
Moved Bonsai Web UI button up to sheets toolbar.
Some general cleanup of unnecessary clutter in the toolbar code.
* Sheet/Drawing checkmarks remember their state properly
* Adjust sheet/drawing operators to view after singular create, but not when batch creating more than one.
* By special request, add back the opening windows when creating, but requiring Ctrl to be pressed.
* black the files
* Second attempt at blacking ui.py because I used an old black
* Change method of getting active drawing to use one in tool import as requested
* Fix for incorrect d1fc5158d - actually checked it this time
On large projects selecting cost items is very slow due to all data that needs to be loaded. On the project I was testing, it was taking about 0.8sec, now this time is reduced to 0.17sec.
Previously Bonsai would show a wall of errors, now it's show a simple error message and redirecting to system console for the details.
Example error - https://i.imgur.com/uJJfjUW.png
Example validation error details in console - https://i.imgur.com/3mcVBUh.png
Same details but in text:
Validation error details:
failed validating {'dataType': 'IFCBOOLEAN', 'ursi': 'https://google.com', 'cardinality': 'required', 'instructions': "Make sure it's true"} with XsdAttributeGroup(['dataType', 'uri', 'cardinality', 'instructions']):
Reason: 'ursi' attribute not allowed for element
Schema component:
<xs:extension xmlns:xs="http://www.w3.org/2001/XMLSchema" base="ids:propertyType">
<xs:attribute name="uri" type="xs:anyURI" use="optional" />
<xs:attribute name="cardinality" type="ids:conditionalCardinality" use="optional" default="required" />
<xs:attribute name="instructions" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
Instance type: <class 'xml.etree.ElementTree.Element'>
Instance:
<ids:property xmlns:ids="http://standards.buildingsmart.org/IDS" dataType="IFCBOOLEAN" ursi="https://google.com" cardinality="required" instructions="Make sure it's true">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>Combustible</ids:simpleValue>
</ids:baseName>
<ids:value>
<ids:simpleValue>false</ids:simpleValue>
</ids:value>
</ids:property>
Path: /ids:ids/ids:specifications/ids:specification/ids:requirements/ids:property[1]