nds [Wed, 24 Jun 2015 09:03:52 +0000 (12:03 +0300)]
Issue #675 Modification of data structure outside of the transaction when constraint between segmnet and construction element
1 problem: operation has the previous list of preselected objects, it should be cleared after activateByPreselection is done.
2 problem: second parallel constraint operation has not empty first value. the reason is that the selection is cleared only in Viewer, but not in the OB.
nds [Tue, 23 Jun 2015 16:20:27 +0000 (19:20 +0300)]
redisplay event should not be flushed during setResult of the feature. Reasons:
1. there are a lot of redisplays for complex feature(sketch fillet)
2. crash in presentations by undo/redo mirror creation, which uses circle(has two results). After first result set, redisplay is emitted, presentation is crashed.
nds [Mon, 22 Jun 2015 13:01:48 +0000 (16:01 +0300)]
1. Compound selection choice is provided for sketch selection in Extrusion operation. This type selection happens by selecting a sketch in ObjectBrowser. The widget selector acceptSubShapes() method is corrected to check shape type of the selected result. It is necessary always, for example in Sketch operation start Translate operation and click on a plane in ObjectBrowser.
2. Document shape filter check whether the operation is started itself. This improvement is similar to the infinite filter using. The matter is that the nested operation stop should not remove the filter from the context. If it is happened, objects from out parts is selected in sketch operation after, for example, translate operation stop. So, it seems that it is a best decision to check the active operation availability in the filter.
nds [Mon, 22 Jun 2015 12:55:22 +0000 (15:55 +0300)]
1. Compound selection choice is provided for sketch selection in Extrusion operation. This type selection happens by selecting a sketch in ObjectBrowser. The widget selector acceptSubShapes() method is corrected to check shape type of the selected result. It is necessary always, for example in Sketch operation start Translate operation and click on a plane in ObjectBrowser.
2. Document shape filter check whether the operation is started itself. This improvement is similar to the infinite filter using. The matter is that the nested operation stop should not remove the filter from the context. If it is happened, objects from out parts is selected in sketch operation after, for example, translate operation stop. So, it seems that it is a best decision to check the active operation availability in the filter.
nds [Fri, 19 Jun 2015 05:46:38 +0000 (08:46 +0300)]
A separation of WidgetSelector class in order to unite the logic of shape/multi shape selectors.
The reason is preselection: to set an empty shape to the feature attribute if the selected shape is equal to the shape of result, check of selection valid state
nds [Thu, 18 Jun 2015 08:43:15 +0000 (11:43 +0300)]
Issue #599 - hide trihedron when create Sketch,
A fix for external objects using. activateFlushes(true) in setCurrentDocument leads to visualization external edge out of its turn. There was a bug in distance constraint creation to the external edge.
nds [Thu, 4 Jun 2015 08:50:09 +0000 (11:50 +0300)]
A fix for activate/deactivate selection from destructor. It is possible, that selection mode is not correct by a widget activation.
Scenario: sketch, create a poligon, start parallel operation, select two lines, result - a create new parallel feature operation is started. The first control is active, but previous parallel constraint is selectable. This is wrong. If the next operation is translation, the parallel constraint selection leads to crash.
Reason: The activateShapeSselection(false) called in the destructor of widget shape selector is called after starting/activation of a widget in a new operation. So, it clears the previous activation of the current operation, deactivate reset it.
nds [Thu, 4 Jun 2015 07:06:16 +0000 (10:06 +0300)]
An improvement of setCurrentFeature to avoid each object visualization in the viewer. It blocks flushes send and unblock them after the functionality is performed.