An error occurred while loading the file. Please try again.
-
Guillaume Pasero authoredb912cf14
/*
* Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
*
* This file is part of Orfeo Toolbox
*
* https://www.orfeo-toolbox.org/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//
// Configuration include.
//// Included at first position before any other ones.
#include "ConfigureMonteverdi.h"
/*****************************************************************************/
/* INCLUDE SECTION */
//
// Qt includes (sorted by alphabetic order)
//// Must be included before system/custom includes.
#include <QPixmap>
#include <QSplashScreen>
//
// System includes (sorted by alphabetic order)
#include <exception>
//
// ITK includes (sorted by alphabetic order)
#include "itksys/SystemTools.hxx"
//
// OTB includes (sorted by alphabetic order)
#include "otbConfigurationManager.h"
//
// Monteverdi includes (sorted by alphabetic order)
#include "mvdMaplaApplication.h"
#include "mvdMaplaMainWindow.h"
enum ERROR_CODE
{
ERROR_CODE_I18N = -1,
ERROR_CODE_CACHE_DIR = -2,
ERROR_CODE_DATABASE = -3,
ERROR_CODE_GL_VERSION = -4,
};
/*****************************************************************************/
/* FUNCTIONS DECLARATION */
/*****************************************************************************/
/* MAIN */
int
main( int argc, char* argv[] )
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
{
QApplication qtApp( argc, argv );
otb::ConfigurationManager::InitOpenMPThreads();
//
// 0. Splash-screen.
#if !defined( OTB_DEBUG )
QPixmap pixmap(QLatin1String( ":/images/application_splash" ));
QSplashScreen splash(pixmap);
splash.show();
qtApp.processEvents();//This is used to accept a click on the screen so that user can cancel the screen
#endif
//
// 1. Initialize application and sync settings.
//
// Coverity-14835
// {
mvd::MaplaApplication * application = NULL;
try
{
application = new mvd::MaplaApplication( &qtApp );
assert( application!=NULL );
application->Initialize();
}
catch( std::exception & exc )
{
QMessageBox::StandardButton button =
QMessageBox::question(
NULL,
QCoreApplication::translate(
"Mapla",
"Question!"
),
QCoreApplication::translate(
"Mapla",
"The following exception has been caught while initializing the software:\n\n"
"%1\n\n"
"The application may not function as expected. Do you want to continue?"
)
.arg( exc.what() ),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::Yes
);
if( button==QMessageBox::No )
return ERROR_CODE_I18N;
}
// }
// Coverity-14835
//
// 2. Initialize main-window (UI).
mvd::MaplaMainWindow mainWindow;
mainWindow.Initialize();
application->Foo();
//
// 3. Initialize cache directory.
//
// N/A
//
// 4. Initialize database.
//
// N.A.
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
//
// 5. Show window.
#if defined( OTB_DEBUG )
#else // OTB_DEBUG
splash.finish(&mainWindow);
#endif // OTB_DEBUG
// Useful when developping/debugging to avoid overlapping other windows.
mainWindow.show();
//
// 6. Check OpenGL capabilities
/*
if( !mainWindow.CheckGLCapabilities() )
return ERROR_CODE_GL_VERSION;
*/
//
// 7. Let's go: run the application and return exit code.
int result = QCoreApplication::instance()->exec();
// application->CloseDatabase();
// Coverity-14835
// {
delete application;
application = NULL;
// }
// Coverity-14835
return result;
}
/*****************************************************************************/
/* FUNCTIONS IMPLEMENTATION */
/*****************************************************************************/