Xcos MVC: add a default explorer view 00/17000/4
authorClément DAVID <clement.david@scilab-enterprises.com>
Thu, 20 Aug 2015 14:32:34 +0000 (16:32 +0200)
committerClément DAVID <clement.david@scilab-enterprises.com>
Thu, 20 Aug 2015 14:33:02 +0000 (16:33 +0200)
commitd68a1a59763a409018073fba657453fbcaff9ebb
treecafd4070a1aec83ebfc4330733181d33ab855ce4
parent5f18c2b2c615bd231c2154ccd96733cbac885f7f
Xcos MVC: add a default explorer view

Implement a Treeshow-like Java view. This also check that everything is
fine while implementing a view with a state in the Event Dispatch
Thread.

Synchronization on Model object creation / deletion should be managed
and a reference have to be stored on the Java side for all used object.
Any access on Controller::getProperty / Controller::setProperty with
invalid uid will return an error status that is passed through the
caller.

As the C -> Java calls are slow, the view is installed on demand. A huge
diagram can be loaded in seconds and the view retrieve data and track
all changes reducing performance once installed.

Change-Id: I79b474aa81db5eb365e2b755e757ccf4bebb0a68
24 files changed:
scilab/modules/scicos/includes/Controller.hxx
scilab/modules/scicos/includes/Model.hxx
scilab/modules/scicos/includes/View.hxx
scilab/modules/scicos/src/cpp/Controller.cpp
scilab/modules/scicos/src/cpp/LoggerView.cpp
scilab/modules/scicos/src/cpp/LoggerView.hxx
scilab/modules/scicos/src/cpp/Model.cpp
scilab/modules/scicos/src/cpp/Model_getObjectProperties.cpp
scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp
scilab/modules/xcos/src/java/org/scilab/modules/xcos/BrowserView.java [new file with mode: 0644]
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Controller.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaController.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaControllerJNI.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/View.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Xcos.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/XcosView.java [deleted file]
scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/ViewDiagramBrowserAction.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/explorer/BrowserTab.java [new file with mode: 0644]
scilab/modules/xcos/src/java/org/scilab/modules/xcos/explorer/BrowserTreeNodeData.java [new file with mode: 0644]
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/modelica/Modelica.java
scilab/modules/xcos/src/jni/JavaController.i
scilab/modules/xcos/src/jni/JavaController_wrap.cxx
scilab/modules/xcos/src/jni/JavaController_wrap.h