Reino Ruusu [Wed, 30 Jan 2019 14:33:06 +0000 (16:33 +0200)]
Bug fixes to element selection query processing
* Accept STR.Composite in addition to DIA.Diagram
* Fix error when selected element count in an NLowest or NHighest is
higher than the number of elements available
gitlab #28
TODO:
* UI for listing stored queries
* UI for defining/editing queries
* UI for executing queries
Reino Ruusu [Wed, 30 Jan 2019 13:34:26 +0000 (15:34 +0200)]
Implementation of non-UI parts of network element queries
gitlab #28
TODO:
* Management of mapped properties for map diagram elements
* UI for listing stored queries
* UI for defining/editing queries
* UI for executing queries
Tuukka Lehtonen [Fri, 14 Dec 2018 22:01:14 +0000 (00:01 +0200)]
Initial version of the district network Routes view.
The backend for the view is an OSGi service called RouteService which
defines an interface for managing routes. The backend handles database
writeback in the background. The UI only talks with the RouteService,
not the database.
Doesn't do much yet and nothing in the UI is finished yet. Just storing
initial work.
Tuukka Lehtonen [Sun, 21 Oct 2018 13:39:21 +0000 (16:39 +0300)]
Fixed regressions in box selection and element color function validation
* Edge element box selection didn't work because the contained picking
logic was not implemented properly in the edge element class.
* Element coloring brightness function validation did not set "graph"
key for SCLContext which caused compilation to fail occasionally which
broke the function evaluation.
* Fixed vertex selection visualization to stroke the edge of the normal
rendered rectangular shape which is much cleaner than the old default
selection visualization that was geometrically out of place for some
reason.
Tuukka Lehtonen [Sun, 21 Oct 2018 13:39:21 +0000 (16:39 +0300)]
Fixed regressions in box selection and element color function validation
* Edge element box selection didn't work because the contained picking
logic was not implemented properly in the edge element class.
* Element coloring brightness function validation did not set "graph"
key for SCLContext which caused compilation to fail occasionally which
broke the function evaluation.
* Fixed vertex selection visualization to stroke the edge of the normal
rendered rectangular shape which is much cleaner than the old default
selection visualization that was geometrically out of place for some
reason.
Tuukka Lehtonen [Sat, 20 Oct 2018 22:59:48 +0000 (01:59 +0300)]
First prototype of HSV color space based dynamic DN element coloring
Both VertexNode and EdgeNode support a new property 'dynamicColor' that
can be set to either a Color or null.
DN.Diagram has three new properties:
* Element Color Hue
* Element Color Saturation
* Element Color Brightness Function
where the first two are constants and the last one is a (Resource ->
<ReadGraph> Double) function that is expected to return a value in [0,1]
which is then used to get the final element color from the HSV gradient.
The Resource argument is the DN diagram element.
The function allows users to define any complex functions in SCLMain to
perform the evaluation for the DN element.
Tuukka Lehtonen [Sat, 20 Oct 2018 22:59:48 +0000 (01:59 +0300)]
First prototype of HSV color space based dynamic DN element coloring
Both VertexNode and EdgeNode support a new property 'dynamicColor' that
can be set to either a Color or null.
DN.Diagram has three new properties:
* Element Color Hue
* Element Color Saturation
* Element Color Brightness Function
where the first two are constants and the last one is a (Resource ->
<ReadGraph> Double) function that is expected to return a value in [0,1]
which is then used to get the final element color from the HSV gradient.
The Resource argument is the DN diagram element.
The function allows users to define any complex functions in SCLMain to
perform the evaluation for the DN element.
Tuukka Lehtonen [Fri, 19 Oct 2018 12:00:46 +0000 (15:00 +0300)]
Use DatabaseJob instead of Job to prevent UI from getting stuck
The breakdown calculation can take a long time, thus it is better to
reverse the database for that time so that the rest of the UI doesn't
start synchronously waiting for DB access.
Tuukka Lehtonen [Fri, 19 Oct 2018 12:00:46 +0000 (15:00 +0300)]
Use DatabaseJob instead of Job to prevent UI from getting stuck
The breakdown calculation can take a long time, thus it is better to
reverse the database for that time so that the rest of the UI doesn't
start synchronously waiting for DB access.
Tuukka Lehtonen [Fri, 12 Oct 2018 06:42:40 +0000 (09:42 +0300)]
Disconnected subgraph analysis for district network diagrams
* There is a new view called District Network Breakdown that can be used
to see the different disconnected subnetworks inside each district
network diagram.
* The view allows selecting the selected subnetworks on the actual
diagram to give the user an idea where they are
* The algorithm to calculate the disconnected subnetworks comes through
OSGi services (interface SubgraphProvider) and this change has no
implementation for the provider yet. It is on the Apros side for now
because the logic contains Apros-specific analysis.
* The district network diagram can now be opened and focused at certain
elements e.g. through CTRL+R open resource dialog by entering a district
network diagram element's name and pressing enter.
Tuukka Lehtonen [Fri, 12 Oct 2018 06:42:40 +0000 (09:42 +0300)]
Disconnected subgraph analysis for district network diagrams
* There is a new view called District Network Breakdown that can be used
to see the different disconnected subnetworks inside each district
network diagram.
* The view allows selecting the selected subnetworks on the actual
diagram to give the user an idea where they are
* The algorithm to calculate the disconnected subnetworks comes through
OSGi services (interface SubgraphProvider) and this change has no
implementation for the provider yet. It is on the Apros side for now
because the logic contains Apros-specific analysis.
* The district network diagram can now be opened and focused at certain
elements e.g. through CTRL+R open resource dialog by entering a district
network diagram element's name and pressing enter.
Tuukka Lehtonen [Thu, 11 Oct 2018 12:05:01 +0000 (15:05 +0300)]
Added Simantics/District/Algorithm SCL module
For now it only contains functions `findDisconnectedSubnetworks`,
`reportDisconnectedSubnetworks` for finding and reporting disconnected
subgraphs within a district network diagram. This helps in finding
possible errors in models generated from this district network model.
Tuukka Lehtonen [Thu, 11 Oct 2018 12:05:01 +0000 (15:05 +0300)]
Added Simantics/District/Algorithm SCL module
For now it only contains functions `findDisconnectedSubnetworks`,
`reportDisconnectedSubnetworks` for finding and reporting disconnected
subgraphs within a district network diagram. This helps in finding
possible errors in models generated from this district network model.
First draft of vertex size adjusting district network diagram profiles
* Non-scaling edge/vertex rendering is now limited to view scale range
[1,5] which supports seems to work well for current models.
* View zooming is now limited to range [0.01, 10000].
* Vertices and edges can be separately hidden with respective profile
entries