diff --git a/.gitsubprojects b/.gitsubprojects index fbfeee2002e7fc8f8b5d5d8a832378924541079f..d0bb5bc511e1e0322521f27b26972747897561ca 100644 --- a/.gitsubprojects +++ b/.gitsubprojects @@ -1,10 +1,10 @@ # -*- mode: cmake -*- -#git_subproject( ZeroEQ https://github.com/HBPVis/ZeroEQ.git 580ec27 ) +#git_subproject( ZeroEQ https://github.com/HBPVis/ZeroEQ.git 7289016 ) #git_subproject( Lexis https://github.com/HBPVis/Lexis.git c24dc07 ) #git_subproject( gmrvlex https://github.com/vg-lab/gmrvlex.git c20b194 ) #git_subproject( Brion https://github.com/BlueBrain/Brion.git 073f356 ) -git_subproject( ReTo https://github.com/gmrvvis/ReTo.git e21091c ) +git_subproject( ReTo https://github.com/gmrvvis/ReTo.git bd0c110 ) git_subproject( SimIL https://github.com/gmrvvis/SimIL.git bbc4bd7f ) git_subproject( scoop https://github.com/gmrvvis/scoop.git b3326cd ) -git_subproject( plab https://github.com/vg-lab/particlelab.git 675f9088 ) -git_subproject( acuterecorder https://github.com/vg-lab/AcuteRecorder.git 0b84c2b1 ) +git_subproject( plab https://github.com/vg-lab/particlelab.git f7fecd1 ) +git_subproject( acuterecorder https://github.com/vg-lab/AcuteRecorder.git e17cce7 ) diff --git a/CMakeLists.txt b/CMakeLists.txt index e8b5c962912449567922c9719daec5a97b1d71d3..ce8262e6c5a5549476cad778045aafdc1e984590 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ cmake_minimum_required( VERSION 3.1 FATAL_ERROR ) # visimpl project and version -project( visimpl VERSION 1.8.1 ) +project( visimpl VERSION 1.8.2 ) set( visimpl_VERSION_ABI 6 ) SET( VISIMPL_LICENSE "GPL") diff --git a/stackviz/MainWindow.cpp b/stackviz/MainWindow.cpp index 299567871e61ec3d81d59e7f616a2f076666bf7a..c0cd685bb4b3b994f2db0de1bc4e80fb8b32d01c 100644 --- a/stackviz/MainWindow.cpp +++ b/stackviz/MainWindow.cpp @@ -1001,7 +1001,7 @@ void MainWindow::aboutDialog( void ) #endif #ifdef VISIMPL_USE_ZEROEQ - "</li><li>ZeroEQ " + ZEROEQ_REV_STRING + + "</li><li>ZeroEQ " + zeroeq::Version::getRevString().c_str() + #else "</li><li>ZeroEQ " + tr ("support not built.") + #endif @@ -1575,4 +1575,4 @@ void MainWindow::openGroupsThroughDialog() } QApplication::restoreOverrideCursor(); -} \ No newline at end of file +} diff --git a/sumrice/CloseDataDialog.h b/sumrice/CloseDataDialog.h index 7683f30746a13719a6a1e1407ea749412d4f3a16..0dd883c5e8d01369bc7b1ec559555f1760904dc4 100644 --- a/sumrice/CloseDataDialog.h +++ b/sumrice/CloseDataDialog.h @@ -26,6 +26,8 @@ // Qt #include <QDialog> +#include <sumrice/api.h> + class QRadioButton; class QShowEvent; @@ -34,7 +36,7 @@ class QShowEvent; * choose closing options for REST datasets. * */ -class CloseDataDialog +class SUMRICE_API CloseDataDialog : public QDialog { Q_OBJECT diff --git a/sumrice/ConfigureRESTDialog.h b/sumrice/ConfigureRESTDialog.h index 7f765441ebf4c627b3609e7c04c5e8d7cbe7c722..b0882f96798848837f168dd2f8648253bdec3f58 100644 --- a/sumrice/ConfigureRESTDialog.h +++ b/sumrice/ConfigureRESTDialog.h @@ -23,16 +23,19 @@ #ifndef SUMRICE_CONFIGURERESTDIALOG_H_ #define SUMRICE_CONFIGURERESTDIALOG_H_ +// Qt #include <QDialog> #include <QWidget> +#include <sumrice/api.h> + class QSpinBox; /** \class RESTConfigurationWidget * \brief Implements a widget with the REST configuration options. * */ -class RESTConfigurationWidget +class SUMRICE_API RESTConfigurationWidget : public QWidget { Q_OBJECT @@ -83,7 +86,7 @@ class RESTConfigurationWidget * \brief Implements a dialog to configure REST connection options. * */ -class ConfigureRESTDialog +class SUMRICE_API ConfigureRESTDialog : public QDialog { Q_OBJECT diff --git a/sumrice/ConnectRESTDialog.h b/sumrice/ConnectRESTDialog.h index 48353f2a2241337b63cb9439b88545427a9457c2..8756585090f958e03d3a31e1ef93754a29321fb8 100644 --- a/sumrice/ConnectRESTDialog.h +++ b/sumrice/ConnectRESTDialog.h @@ -24,6 +24,7 @@ #define SUMRICE_CONNECTRESTDIALOG_H_ // Sumrice +#include <sumrice/api.h> #include <sumrice/ConfigureRESTDialog.h> // Qt @@ -36,7 +37,7 @@ class QLineEdit; * \brief Implements a dialog for a REST connection configuration. * */ -class ConnectRESTDialog +class SUMRICE_API ConnectRESTDialog : public QDialog { Q_OBJECT diff --git a/sumrice/DataInspector.h b/sumrice/DataInspector.h index 02de720370a9bbb272f4144eb7575f3aa3f59626..49d34161ce3ef5b0020510ce93a73796ac408aa3 100644 --- a/sumrice/DataInspector.h +++ b/sumrice/DataInspector.h @@ -30,10 +30,13 @@ // Simil #include <simil/simil.h> +#include <sumrice/api.h> + class QWidget; class QLabel; -class DataInspector : public QGroupBox +class SUMRICE_API DataInspector +: public QGroupBox { Q_OBJECT public: diff --git a/sumrice/DisplayManagerWidget.h b/sumrice/DisplayManagerWidget.h index b66c0b9c641eb1d30ac3ac712031e17ec8267515..fc01336d9eb553c17631725dbb14087e91b737ef 100644 --- a/sumrice/DisplayManagerWidget.h +++ b/sumrice/DisplayManagerWidget.h @@ -24,6 +24,7 @@ #define DISPLAYMANAGERWIDGET_H_ #include <sumrice/sumrice.h> +#include <sumrice/api.h> class QGridLayout; class QWidget; @@ -65,7 +66,7 @@ namespace visimpl > TDisplayHistogramTuple; - class DisplayManagerWidget : public QWidget + class SUMRICE_API DisplayManagerWidget : public QWidget { Q_OBJECT; diff --git a/sumrice/StackViz.h b/sumrice/StackViz.h index 2b126281e3dd293c2fdbc6fcdf278b134f13adb8..e0d85e4d660f1e9f8e35dcf8966ace9aaeaf3cd3 100644 --- a/sumrice/StackViz.h +++ b/sumrice/StackViz.h @@ -23,6 +23,7 @@ #ifndef STACKVIZ_H_ #define STACKVIZ_H_ +// Qt #include <QMainWindow> #include <QDockWidget> #include <QPushButton> @@ -33,6 +34,7 @@ #include <QScrollArea> #include <QCheckBox> +#include <sumrice/api.h> #include <sumrice/sumrice.h> #include <simil/simil.h> @@ -41,7 +43,7 @@ namespace visimpl class DisplayManagerWidget; - class StackViz + class SUMRICE_API StackViz : public QWidget { Q_OBJECT diff --git a/sumrice/Utils.cpp b/sumrice/Utils.cpp index 6a6ada056930331e4f973481ed55fea748f4b5a5..5b483a86ac6445567cf21fe3f83eaf8016a36830 100644 --- a/sumrice/Utils.cpp +++ b/sumrice/Utils.cpp @@ -179,7 +179,7 @@ void visimpl::ZeroEQConfig::connect( const std::string& h , const uint16_t p , { m_publisher = std::make_shared< zeroeq::Publisher >( uri_publisher , m_session ); - m_subscriber = std::make_shared< zeroeq::Subscriber >( uri_subscriber ); + m_subscriber = std::make_shared< zeroeq::Subscriber >( zeroeq::URIs{uri_subscriber} ); } catch ( const std::exception& e ) { diff --git a/sumrice/Utils.h b/sumrice/Utils.h index d7e811f9fada1d2dbc9d9d9c65334a3118192a2f..8b5ebd4cd414d3658c031a4603c03db9533fe6bd 100644 --- a/sumrice/Utils.h +++ b/sumrice/Utils.h @@ -12,6 +12,8 @@ #include <memory> #include <thread> +#include <sumrice/api.h> + #ifdef VISIMPL_USE_ZEROEQ #include <zeroeq/zeroeq.h> @@ -23,9 +25,9 @@ namespace visimpl { - bool isValidIPAddress( const std::string& address ); + bool SUMRICE_API isValidIPAddress( const std::string& address ); - std::pair< QColor , QColor > generateColorPair( const scoop::Color& color ); + std::pair< QColor , QColor > SUMRICE_API generateColorPair( const scoop::Color& color ); template< class ForwardIt , class T , class Compare > ForwardIt lower_bound( ForwardIt first , ForwardIt last , @@ -53,7 +55,7 @@ namespace visimpl #ifdef VISIMPL_USE_ZEROEQ - class ZeroEQConfig + class SUMRICE_API ZeroEQConfig { public: /** \brief Singleton instance method. diff --git a/visimpl/MainWindow.cpp b/visimpl/MainWindow.cpp index ffabe20eb1bb8c68c41306aea917919c4a1e16d3..f25dc0c174ab3c5604f6961c287d4ffd04daad6f 100644 --- a/visimpl/MainWindow.cpp +++ b/visimpl/MainWindow.cpp @@ -87,9 +87,9 @@ template< class T > void ignore( const T& ) { } -constexpr const char* POSITION_KEY = "positionData"; -constexpr const char* PLANES_COLOR_KEY = "clippingPlanesColor"; -constexpr const char* GROUP_NAME = "groupName"; +constexpr const char* POSITION_KEY_ = "positionData"; +constexpr const char* PLANES_COLOR_KEY_ = "clippingPlanesColor"; +constexpr const char* GROUP_NAME_ = "groupName"; namespace visimpl { @@ -755,7 +755,7 @@ namespace visimpl #endif #ifdef VISIMPL_USE_ZEROEQ - "</li><li>ZeroEQ " + ZEROEQ_REV_STRING + + "</li><li>ZeroEQ " + zeroeq::Version::getRevString().c_str() + #else "</li><li>ZeroEQ " + tr( "support not built." ) + #endif @@ -1113,7 +1113,7 @@ namespace visimpl clippingColor.name( )); _frameClippingColor->setMinimumSize( 20 , 20 ); _frameClippingColor->setMaximumSize( 20 , 20 ); - _frameClippingColor->setProperty( PLANES_COLOR_KEY , clippingColor.name( )); + _frameClippingColor->setProperty( PLANES_COLOR_KEY_ , clippingColor.name( )); _buttonSelectionFromClippingPlanes = new QPushButton( "To selection" ); _buttonSelectionFromClippingPlanes->setToolTip( @@ -1966,7 +1966,7 @@ namespace visimpl QWidget* container = new QWidget( ); auto itemLayout = new QHBoxLayout( container ); container->setLayout( itemLayout ); - container->setProperty( GROUP_NAME , + container->setProperty( GROUP_NAME_ , QString::fromStdString( group->name( ))); const auto colors = _openGLWidget->colorPalette( ).colors( ); @@ -1983,7 +1983,7 @@ namespace visimpl tfWidget->setColorPoints( group->colorMapping( )); tfWidget->setSizeFunction( group->sizeFunction( )); tfWidget->setDialogIcon( QIcon( ":/visimpl.png" )); - tfWidget->setProperty( GROUP_NAME , + tfWidget->setProperty( GROUP_NAME_ , QString::fromStdString( group->name( ))); itemLayout->addWidget( tfWidget ); @@ -2010,14 +2010,14 @@ namespace visimpl auto nameButton = new QPushButton( group->name( ).c_str( )); nameButton->setFlat( true ); nameButton->setObjectName( "nameButton" ); - nameButton->setProperty( GROUP_NAME , + nameButton->setProperty( GROUP_NAME_ , QString::fromStdString( group->name( ))); connect( nameButton , SIGNAL( clicked( )) , this , SLOT( onGroupNameClicked( )) ); auto deleteButton = new QPushButton( QIcon( ":/icons/close.svg" ) , "" ); - deleteButton->setProperty( GROUP_NAME , + deleteButton->setProperty( GROUP_NAME_ , QString::fromStdString( group->name( ))); connect( deleteButton , SIGNAL( clicked( )) , this , @@ -2074,7 +2074,7 @@ namespace visimpl while ( !_groupsVisButtons.empty( )) { auto container = std::get< 0 >( _groupsVisButtons.at( 0 )); - auto groupName = container->property( GROUP_NAME ).toString( ); + auto groupName = container->property( GROUP_NAME_ ).toString( ); removeVisualGroup( groupName ); } @@ -2164,7 +2164,7 @@ namespace visimpl { auto container = std::get< gr_container >( button ); auto checkBox = std::get< gr_checkbox >( button ); - auto name = container->property( GROUP_NAME ) + auto name = container->property( GROUP_NAME_ ) .toString( ).toStdString( ); auto group = _openGLWidget->domainManager( )->getGroup( name ); @@ -2398,7 +2398,7 @@ namespace visimpl auto tfw = qobject_cast< TransferFunctionWidget* >( sender( )); if ( tfw ) { - auto groupName = tfw->property( GROUP_NAME ).toString( ); + auto groupName = tfw->property( GROUP_NAME_ ).toString( ); updateGroupColors( groupName.toStdString( ) , tfw->getColors( ) , tfw->getSizeFunction( )); } @@ -2410,7 +2410,7 @@ namespace visimpl if ( tfw ) { bool ok = false; - auto groupName = tfw->property( GROUP_NAME ).toString( ); + auto groupName = tfw->property( GROUP_NAME_ ).toString( ); if ( !ok ) return; updateGroupColors( groupName.toStdString( ) , tfw->getPreviewColors( ) , @@ -2619,7 +2619,7 @@ namespace visimpl if ( button ) { bool ok = false; - auto groupName = button->property( GROUP_NAME ).toString( ); + auto groupName = button->property( GROUP_NAME_ ).toString( ); if ( !ok ) return; auto group = _domainManager->getGroup( groupName.toStdString( )); @@ -2985,7 +2985,7 @@ namespace visimpl auto button = qobject_cast< QPushButton* >( sender( )); if ( button ) { - const auto groupName = button->property( GROUP_NAME ).toString( ); + const auto groupName = button->property( GROUP_NAME_ ).toString( ); removeVisualGroup( groupName ); } } @@ -2995,7 +2995,7 @@ namespace visimpl auto findGroup = [ this , name ]( tGroupRow& r ) { QWidget* container = std::get< gr_container >( r ); - auto groupName = container->property( GROUP_NAME ).toString( ); + auto groupName = container->property( GROUP_NAME_ ).toString( ); return groupName.compare( name , Qt::CaseInsensitive ) == 0; }; auto it = std::find_if( _groupsVisButtons.begin( ) , @@ -3187,7 +3187,7 @@ namespace visimpl const auto rotation = o.value( "rotation" ).toString( ); auto action = new QAction( name ); - action->setProperty( POSITION_KEY , + action->setProperty( POSITION_KEY_ , position + ";" + radius + ";" + rotation ); connect( action , SIGNAL( triggered( bool )) , this , @@ -3268,7 +3268,7 @@ namespace visimpl auto insertPosition = [ &positionsObjs ]( const QAction* a ) { if ( !a ) return; - const auto posData = a->property( POSITION_KEY ).toString( ); + const auto posData = a->property( POSITION_KEY_ ).toString( ); const auto parts = posData.split( ";" ); Q_ASSERT( parts.size( ) == 3 ); const auto position = parts.first( ); @@ -3349,7 +3349,7 @@ namespace visimpl auto action = new QAction( name ); const auto position = _openGLWidget->cameraPosition( ); - action->setProperty( POSITION_KEY , position.toString( )); + action->setProperty( POSITION_KEY_ , position.toString( )); connect( action , SIGNAL( triggered( bool )) , this , SLOT( applyCameraPosition( )) ); @@ -3395,7 +3395,7 @@ namespace visimpl auto action = qobject_cast< QAction* >( sender( )); if ( action ) { - auto positionString = action->property( POSITION_KEY ).toString( ); + auto positionString = action->property( POSITION_KEY_ ).toString( ); CameraPosition position( positionString ); _openGLWidget->setCameraPosition( position ); } @@ -3506,11 +3506,11 @@ namespace visimpl void MainWindow::changePlanesColor( const QColor& color_ ) { const auto currentColor = QColor( - _frameClippingColor->property( PLANES_COLOR_KEY ).toString( )); + _frameClippingColor->property( PLANES_COLOR_KEY_ ).toString( )); if ( currentColor == color_ ) return; _frameClippingColor->setStyleSheet( "background-color: " + color_.name( )); - _frameClippingColor->setProperty( PLANES_COLOR_KEY , color_.name( )); + _frameClippingColor->setProperty( PLANES_COLOR_KEY_ , color_.name( )); } void MainWindow::sendZeroEQPlaybackOperation( const unsigned int op )