X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpBaseQtApplication%2FMainWindow.cxx;fp=lib%2FcpBaseQtApplication%2FMainWindow.cxx;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=668eb3bff5951d0e3dae76672b5935957d4bce00;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/lib/cpBaseQtApplication/MainWindow.cxx b/lib/cpBaseQtApplication/MainWindow.cxx deleted file mode 100644 index 668eb3b..0000000 --- a/lib/cpBaseQtApplication/MainWindow.cxx +++ /dev/null @@ -1,309 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include -#include - -// ------------------------------------------------------------------------- -cpBaseQtApplication::MainWindow:: -MainWindow( int argc, char* argv[], QWidget* parent ) - : Superclass( parent ), - m_LastSaveFileName( "" ), - m_BaseWindowTitle( "cpBaseQtApplication" ), - m_Canvas( NULL ), - m_Navigator( NULL ), - m_Viewer( NULL ) -{ - this->m_RunPath = QDir( "." ).canonicalPath( ).toStdString( ); - this->m_Loader.GuessEnvironment( this->m_RunPath ); - this->m_Loader.SaveEnvironment( this->m_RunPath ); - this->_clearWorkspace( ); -} - -// ------------------------------------------------------------------------- -cpBaseQtApplication::MainWindow:: -~MainWindow( ) -{ -} - -// ------------------------------------------------------------------------- -cpBaseQtApplication::MainWindow:: -TWorkspace* cpBaseQtApplication::MainWindow:: -workspace( ) -{ - return( this->m_Workspace ); -} - -// ------------------------------------------------------------------------- -const cpBaseQtApplication::MainWindow:: -TWorkspace* cpBaseQtApplication::MainWindow:: -workspace( ) const -{ - return( this->m_Workspace ); -} - -// ------------------------------------------------------------------------- -cpBaseQtApplication::Pipeline::Canvas* -cpBaseQtApplication::MainWindow:: -canvas( ) -{ - return( this->m_Canvas ); -} - -// ------------------------------------------------------------------------- -const cpBaseQtApplication::Pipeline::Canvas* -cpBaseQtApplication::MainWindow:: -canvas( ) const -{ - return( this->m_Canvas ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -setCanvas( cpBaseQtApplication::Pipeline::Canvas* c ) -{ - this->m_Canvas = c; - if( this->m_Canvas != NULL ) - this->m_Canvas->setWorkspace( this->m_Workspace ); - -} - -// ------------------------------------------------------------------------- -cpBaseQtApplication::Plugins::Navigator* -cpBaseQtApplication::MainWindow:: -navigator( ) -{ - return( this->m_Navigator ); -} - -// ------------------------------------------------------------------------- -const cpBaseQtApplication::Plugins::Navigator* -cpBaseQtApplication::MainWindow:: -navigator( ) const -{ - return( this->m_Navigator ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -setNavigator( cpBaseQtApplication::Plugins::Navigator* n ) -{ - this->m_Navigator = n; -} - -// ------------------------------------------------------------------------- -cpExtensions::QT::ActorsWidgetInterface* -cpBaseQtApplication::MainWindow:: -viewer( ) -{ - return( this->m_Viewer ); -} - -// ------------------------------------------------------------------------- -const cpExtensions::QT::ActorsWidgetInterface* -cpBaseQtApplication::MainWindow:: -viewer( ) const -{ - return( this->m_Viewer ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -setViewer( cpExtensions::QT::ActorsWidgetInterface* v ) -{ - this->m_Viewer = v; - if( this->m_Viewer != NULL ) - { - auto interactors = this->m_Viewer->GetInteractors( ); - for( auto i : interactors ) - this->m_Workspace->AddInteractor( i ); - - } // fi -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadPlugins( const std::string& filename ) -{ - try - { - this->m_Loader.Register( filename ); - if( this->m_Navigator != NULL ) - this->m_Navigator->Update( ); - } - catch( std::exception& err ) - { - QMessageBox::critical( - this, - "Error loading plugins path", - err.what( ) - ); - - } // yrt -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadPlugins( ) -{ - QFileDialog dlg( this ); - dlg.setFileMode( QFileDialog::ExistingFiles ); - - std::stringstream filter; - std::string suffix = std::string( cpPlugins_LIB_EXT ); - filter << "Plugins file (*" << cpPlugins_LIB_EXT << ");;All files (*)"; - dlg.setNameFilter( filter.str( ).c_str( ) ); - dlg.setDefaultSuffix( suffix.c_str( ) ); - if( !( dlg.exec( ) ) ) - return; - QStringList names = dlg.selectedFiles( ); - for( auto qIt = names.begin( ); qIt != names.end( ); ++qIt ) - this->_loadPlugins( qIt->toStdString( ) ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadPluginsFromPath( const std::string& path ) -{ - try - { - this->m_Loader.RegisterFromDirectory( path ); - this->m_Loader.SaveEnvironment( this->m_RunPath ); - if( this->m_Navigator != NULL ) - this->m_Navigator->Update( ); - } - catch( std::exception& err ) - { - QMessageBox::critical( - this, - "Error loading plugins path", - err.what( ) - ); - - } // yrt -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadPluginsFromPath( ) -{ - QFileDialog d( this ); - d.setFileMode( QFileDialog::DirectoryOnly ); - if( !( d.exec( ) ) ) - return; - this->_loadPluginsFromPath( d.selectedFiles( ).begin( )->toStdString( ) ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_clearWorkspace( ) -{ - this->setWindowTitle( this->m_BaseWindowTitle.c_str( ) ); - this->m_Workspace = TWorkspace::New( ); - if( this->m_Canvas != NULL ) - { - this->m_Canvas->clear( ); - this->m_Canvas->setWorkspace( this->m_Workspace ); - - } // fi - if( this->m_Viewer != NULL ) - { - // TODO: this->m_Viewer->clear( ); - auto interactors = this->m_Viewer->GetInteractors( ); - for( auto i : interactors ) - this->m_Workspace->AddInteractor( i ); - - } // fi -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_saveWorkspace( const std::string& fname ) -{ - this->m_LastSaveFileName = fname; - this->m_Workspace->Save( this->m_LastSaveFileName ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_saveWorkspace( ) -{ - if( this->m_LastSaveFileName == "" ) - { - QFileDialog dlg( this ); - dlg.setFileMode( QFileDialog::AnyFile ); - dlg.setDirectory( "." ); - dlg.setAcceptMode( QFileDialog::AcceptSave ); - dlg.setNameFilter( - QFileDialog::tr( "Workspace file (*.wxml);;All files (*)" ) - ); - dlg.setDefaultSuffix( QFileDialog::tr( "wxml" ) ); - dlg.setWindowTitle( "Saving workspace" ); - if( dlg.exec( ) ) - this->_saveWorkspace( dlg.selectedFiles( ).begin( )->toStdString( ) ); - } - else - this->_saveWorkspace( this->m_LastSaveFileName ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadWorkspace( const std::string& fname ) -{ - try - { - this->_clearWorkspace( ); - this->m_Workspace->Load( fname ); - this->m_LastSaveFileName = ""; - if( this->m_Canvas != NULL ) - this->m_Canvas->setWorkspace( this->m_Workspace ); - } - catch( std::exception& err ) - { - QMessageBox::critical( - this, - QMessageBox::tr( "Error loading workspace" ), - QMessageBox::tr( err.what( ) ) - ); - - } // yrt -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_loadWorkspace( ) -{ - QFileDialog dlg( this ); - dlg.setFileMode( QFileDialog::ExistingFile ); - dlg.setDirectory( "." ); - dlg.setNameFilter( - QFileDialog::tr( "Workspace file (*.wxml);;All files (*)" ) - ); - dlg.setDefaultSuffix( QFileDialog::tr( "wxml" ) ); - if( !( dlg.exec( ) ) ) - return; - this->_loadWorkspace( dlg.selectedFiles( ).begin( )->toStdString( ) ); -} - -// ------------------------------------------------------------------------- -void cpBaseQtApplication::MainWindow:: -_actorsProperties( ) -{ - auto data = - dynamic_cast< cpExtensions::QT::ActorsWidgetInterface* >( - this->m_Viewer - ); - if( data != NULL ) - { - auto dlg = new cpExtensions::QT::ConfigurationChooser( this ); - dlg->setData( data ); - dlg->exec( ); - - } // fi -} - -// eof - $RCSfile$