From ddc5b66441101ed6584f4972ca0c4d13c588dacf Mon Sep 17 00:00:00 2001 From: Leonardo Florez-Valencia Date: Fri, 18 Mar 2016 14:49:32 -0500 Subject: [PATCH] ... --- appli/PipelineEditor/PipelineEditor.cxx | 18 +++++++++++++----- appli/PipelineEditor/PipelineEditor.h | 17 +---------------- lib/ItkVtkGlue/itkImageToVTKImageFilter.h | 4 ++-- lib/ItkVtkGlue/itkVTKImageToImageFilter.h | 4 ++-- lib/cpPlugins/BaseWidget.h | 4 ++-- lib/cpPlugins/Config.h.in | 13 +++++++++++-- lib/cpPlugins/Image.h | 4 ++-- lib/cpPlugins/Interface.cxx | 8 +++++++- lib/cpPlugins/Mesh.h | 4 ++-- lib/cpPlugins/Object.h | 4 ++-- lib/cpPlugins_Config.h | 16 ++++++++++++++++ .../Base_explicit_description.txt | 1 + plugins/cpPluginsIO/DicomSeriesReader.h | 2 +- plugins/cpPluginsIO/ImageReader.h | 2 +- plugins/cpPluginsIO/ImageWriter.h | 2 +- 15 files changed, 64 insertions(+), 39 deletions(-) create mode 100644 lib/cpPlugins_Config.h diff --git a/appli/PipelineEditor/PipelineEditor.cxx b/appli/PipelineEditor/PipelineEditor.cxx index af79675..2f7d7ea 100644 --- a/appli/PipelineEditor/PipelineEditor.cxx +++ b/appli/PipelineEditor/PipelineEditor.cxx @@ -66,10 +66,15 @@ PipelineEditor( int argc, char* argv[], QApplication* app, QWidget* parent ) this->m_PluginsPath = info.canonicalPath( ).toStdString( ); this->_LoadPluginsFromPath( this->m_PluginsPath ); } - else + /* + else this->_UpdateLoadedPlugins( ); + */ } // fi + QDir exec_dir( "." ); + if( exec_dir.exists( ) ) + this->_LoadPluginsFromPath( exec_dir.canonicalPath( ).toStdString( ) ); /* TODO this->m_Interface = new cpPlugins::Interface( ); @@ -135,14 +140,16 @@ _LoadPluginsFromPath( const std::string& path ) { try { - this->m_Interface.LoadPluginFile( fIt->toStdString( ) ); + this->m_Interface.LoadPluginFile( + ( dir.absolutePath( ) + QDir::separator( ) + *fIt ).toStdString( ) + ); } - catch( ... ) + catch( std::exception& err ) { // Just ignore un-loadable libraries - } + } // yrt - } // yrt + } // rof this->_UpdateLoadedPlugins( ); } @@ -159,6 +166,7 @@ _UpdateLoadedPlugins( ) "Error loading default plugins", "No plugins loaded: remember to load some!!!" ); + this->_UnBlock( ); return; } // fi diff --git a/appli/PipelineEditor/PipelineEditor.h b/appli/PipelineEditor/PipelineEditor.h index 81a6d3d..c5f1261 100644 --- a/appli/PipelineEditor/PipelineEditor.h +++ b/appli/PipelineEditor/PipelineEditor.h @@ -13,24 +13,9 @@ class PipelineEditor_Blocker : public QObject { protected: - virtual bool eventFilter( QObject* obj, QEvent* event ) override; + virtual bool eventFilter( QObject* obj, QEvent* event ) ITK_OVERRIDE; }; -/* - class PipelineEditor; - struct PipelineEditor_Application - { - QApplication Application; - PipelineEditor Window; - PipelineEditor_Blocker Blocker; - PipelineEditor_Application( int argc, char* argv[] ); - void Show( ); - int Exec( ); - void Block( ); - void UnBlock( ); - }; -*/ - // ------------------------------------------------------------------------- namespace Ui { diff --git a/lib/ItkVtkGlue/itkImageToVTKImageFilter.h b/lib/ItkVtkGlue/itkImageToVTKImageFilter.h index 0fc27ac..9390eb8 100644 --- a/lib/ItkVtkGlue/itkImageToVTKImageFilter.h +++ b/lib/ItkVtkGlue/itkImageToVTKImageFilter.h @@ -95,8 +95,8 @@ protected: virtual ~ImageToVTKImageFilter(); private: - ImageToVTKImageFilter(const Self&) = delete; - void operator=(const Self&) = delete; + ImageToVTKImageFilter(const Self&) ITK_DELETE_FUNCTION; + void operator=(const Self&) ITK_DELETE_FUNCTION; ExporterFilterPointer m_Exporter; vtkImageImport * m_Importer; diff --git a/lib/ItkVtkGlue/itkVTKImageToImageFilter.h b/lib/ItkVtkGlue/itkVTKImageToImageFilter.h index 2bb90d4..b4427c8 100644 --- a/lib/ItkVtkGlue/itkVTKImageToImageFilter.h +++ b/lib/ItkVtkGlue/itkVTKImageToImageFilter.h @@ -83,8 +83,8 @@ protected: virtual ~VTKImageToImageFilter(); private: - VTKImageToImageFilter(const Self&) = delete; - void operator=(const Self&) = delete; + VTKImageToImageFilter(const Self&) ITK_DELETE_FUNCTION; + void operator=(const Self&) ITK_DELETE_FUNCTION; typedef vtkSmartPointer ImageExportPointer; ImageExportPointer m_Exporter; diff --git a/lib/cpPlugins/BaseWidget.h b/lib/cpPlugins/BaseWidget.h index 3dddc59..0d679c0 100644 --- a/lib/cpPlugins/BaseWidget.h +++ b/lib/cpPlugins/BaseWidget.h @@ -39,10 +39,10 @@ namespace cpPlugins void SetMPRViewer( TMPRWidget* v ); void SetSingleInteractor( vtkRenderWindowInteractor* i ); - virtual bool IsInteractive( ) override; + virtual bool IsInteractive( ) ITK_OVERRIDE; virtual void SetInteractionObjects( const std::vector< void* >& objs - ) override; + ) ITK_OVERRIDE; protected: BaseWidget( ); diff --git a/lib/cpPlugins/Config.h.in b/lib/cpPlugins/Config.h.in index 54f0af4..f33375a 100644 --- a/lib/cpPlugins/Config.h.in +++ b/lib/cpPlugins/Config.h.in @@ -77,6 +77,7 @@ * Some functions * ========================================================================= */ +#include namespace cpPlugins { struct PathHelper @@ -94,14 +95,22 @@ namespace cpPlugins // --------------------------------------------------------------------- inline static std::string CanonicalPath( const std::string& path ) { + std::string ret = ""; #ifdef cpPlugins_SYS_WINDOWS TCHAR buffer[ 4096 ] = TEXT( "" ); TCHAR** lppPart = { NULL }; GetFullPathName( path.c_str( ), 4096, buffer, lppPart ); - return( std::string( buffer ) ); + ret = std::string( buffer ); #else // cpPlugins_SYS_WINDOWS - return( std::string( realpath( path.c_str( ), NULL ) ) ); + char* canonical_path = realpath( path.c_str( ), NULL ); + if( canonical_path != NULL ) + { + ret = canonical_path; + free( canonical_path ); + + } // fi #endif // cpPlugins_SYS_WINDOWS + return( ret ); } }; diff --git a/lib/cpPlugins/Image.h b/lib/cpPlugins/Image.h index 3144d28..4831ecf 100644 --- a/lib/cpPlugins/Image.h +++ b/lib/cpPlugins/Image.h @@ -24,8 +24,8 @@ namespace cpPlugins cpPlugins_Id_Macro( Image, Object ); public: - virtual void SetITK( itk::LightObject* o ) override; - virtual void SetVTK( vtkObjectBase* o ) override; + virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE; + virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE; protected: Image( ); diff --git a/lib/cpPlugins/Interface.cxx b/lib/cpPlugins/Interface.cxx index 611143e..b8bffc6 100644 --- a/lib/cpPlugins/Interface.cxx +++ b/lib/cpPlugins/Interface.cxx @@ -73,11 +73,17 @@ LoadPluginFile( const std::string& filename ) { // Open library with its canonical path name auto canonical_fn = cpPlugins::PathHelper::CanonicalPath( filename ); + if( canonical_fn == "" ) + throw std::runtime_error( + std::string( "cpPlugins::Interface: Library \"" ) + + filename + + std::string( "\" does not exist." ) + ); void* hnd = Self::_DLOpen( canonical_fn ); if( hnd == NULL ) throw std::runtime_error( std::string( "cpPlugins::Interface: Could not load library \"" ) + - canonical_fn + + filename + std::string( "\"" ) ); diff --git a/lib/cpPlugins/Mesh.h b/lib/cpPlugins/Mesh.h index 24d3d6a..6155f46 100644 --- a/lib/cpPlugins/Mesh.h +++ b/lib/cpPlugins/Mesh.h @@ -25,8 +25,8 @@ namespace cpPlugins cpPlugins_Id_Macro( Mesh, Object ); public: - virtual void SetITK( itk::LightObject* o ) override; - virtual void SetVTK( vtkObjectBase* o ) override; + virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE; + virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE; protected: Mesh( ); diff --git a/lib/cpPlugins/Object.h b/lib/cpPlugins/Object.h index 881edde..d861d15 100644 --- a/lib/cpPlugins/Object.h +++ b/lib/cpPlugins/Object.h @@ -42,8 +42,8 @@ namespace cpPlugins QPointF GetViewCoords( ) const; #endif // cpPlugins_QT4 - virtual void Modified( ) const override; - virtual itk::ModifiedTimeType GetMTime( ) const override; + virtual void Modified( ) const ITK_OVERRIDE; + virtual itk::ModifiedTimeType GetMTime( ) const ITK_OVERRIDE; virtual void SetITK( itk::LightObject* o ); virtual void SetVTK( vtkObjectBase* o ); diff --git a/lib/cpPlugins_Config.h b/lib/cpPlugins_Config.h new file mode 100644 index 0000000..6b245b1 --- /dev/null +++ b/lib/cpPlugins_Config.h @@ -0,0 +1,16 @@ +#ifndef __CPPLUGINS_CONFIG__H__ +#define __CPPLUGINS_CONFIG__H__ + +#include + +#ifndef ITK_DELETE_FUNCTION +# define ITK_DELETE_FUNCTION +#endif // ITK_DELETE_FUNCTION + +#ifndef ITK_OVERRIDE +# define ITK_OVERRIDE +#endif // ITK_OVERRIDE + +#endif // __CPPLUGINS_CONFIG__H__ + +// eof - $RCSfile$ diff --git a/lib/cpPlugins_ITKInstances/Base_explicit_description.txt b/lib/cpPlugins_ITKInstances/Base_explicit_description.txt index 00dd960..f4874e7 100644 --- a/lib/cpPlugins_ITKInstances/Base_explicit_description.txt +++ b/lib/cpPlugins_ITKInstances/Base_explicit_description.txt @@ -1,3 +1,4 @@ +f cpPlugins_Config.h i complex i map i string diff --git a/plugins/cpPluginsIO/DicomSeriesReader.h b/plugins/cpPluginsIO/DicomSeriesReader.h index 1533cd7..2ad8a9b 100644 --- a/plugins/cpPluginsIO/DicomSeriesReader.h +++ b/plugins/cpPluginsIO/DicomSeriesReader.h @@ -23,7 +23,7 @@ namespace cpPluginsIO public: // Qt dialog creation - virtual cpPlugins::ParametersQtDialog* CreateQtDialog( ) override; + virtual cpPlugins::ParametersQtDialog* CreateQtDialog( ) ITK_OVERRIDE; protected: DicomSeriesReader( ); diff --git a/plugins/cpPluginsIO/ImageReader.h b/plugins/cpPluginsIO/ImageReader.h index a12edcc..7b1efe6 100644 --- a/plugins/cpPluginsIO/ImageReader.h +++ b/plugins/cpPluginsIO/ImageReader.h @@ -31,7 +31,7 @@ namespace cpPluginsIO ImageReader( ); virtual ~ImageReader( ); - virtual std::string _GenerateData( ) override; + virtual std::string _GenerateData( ) ITK_OVERRIDE; template< unsigned int _Dim > inline std::string _GD0( itk::ImageIOBase* io ); diff --git a/plugins/cpPluginsIO/ImageWriter.h b/plugins/cpPluginsIO/ImageWriter.h index ba0fb03..0873207 100644 --- a/plugins/cpPluginsIO/ImageWriter.h +++ b/plugins/cpPluginsIO/ImageWriter.h @@ -26,7 +26,7 @@ namespace cpPluginsIO ImageWriter( ); virtual ~ImageWriter( ); - virtual std::string _GenerateData( ) override; + virtual std::string _GenerateData( ) ITK_OVERRIDE; template< class _TInput > inline std::string _GD0( _TInput* image ); -- 2.45.1