X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHOMARDGUI%2FHOMARDGUI.cxx;h=aa243a99089aa49f560b1f7e714b8534041a2e09;hb=a9189d870ff98f06dc5577c5fc37102ee5337aea;hp=cd7a585b0a230a78660013856ce805c20770f883;hpb=bdbb00479184579ff9ec2e33886894326d4d6a0f;p=modules%2Fhomard.git diff --git a/src/HOMARDGUI/HOMARDGUI.cxx b/src/HOMARDGUI/HOMARDGUI.cxx index cd7a585b..aa243a99 100644 --- a/src/HOMARDGUI/HOMARDGUI.cxx +++ b/src/HOMARDGUI/HOMARDGUI.cxx @@ -1,3 +1,22 @@ +// Copyright (C) 2011-2012 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + // File : HOMARDGUI.cxx // Author : Paul RASCLE, EDF // Module : HOMARD @@ -45,6 +64,7 @@ using namespace std; #include "MonEditIteration.h" #include "MonEditHypothesis.h" #include "MonEditZone.h" +#include "MonEditBoundaryAn.h" #include "MonEditBoundaryDi.h" #include "HomardQtCommun.h" @@ -82,7 +102,7 @@ HOMARDGUI::~HOMARDGUI() //======================================================================= HOMARD::HOMARD_Gen_var HOMARDGUI::InitHOMARDGen(SalomeApp_Application* app) { - Engines::Component_var comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" ); + Engines::EngineComponent_var comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" ); HOMARD::HOMARD_Gen_var clr = HOMARD::HOMARD_Gen::_narrow(comp); ASSERT(!CORBA::is_nil(clr)); return clr; @@ -106,6 +126,7 @@ void HOMARDGUI::initialize( CAM_Application* app ) //================================================ void HOMARDGUI::createHOMARDAction( const int id, const QString& po_id, const QString& icon_id, const int key, const bool toggle ) { +// MESSAGE("HOMARDGUI::createHOMARDAction"); QIcon icon; QWidget* parent = application()->desktop(); SUIT_ResourceMgr* resMgr = application()->resourceMgr(); @@ -113,13 +134,13 @@ void HOMARDGUI::createHOMARDAction( const int id, const QString& po_id, const QS if ( icon_id.length() ) pix = resMgr->loadPixmap( "HOMARD", tr( icon_id .toLatin1().data()) ); else - pix = resMgr->loadPixmap( "HOMARD", tr( QString( "ICO_%1" ).arg( po_id ).toLatin1().data() ), false ); + pix = resMgr->loadPixmap( "HOMARD", tr( QString( "ICO_%1" ).arg( po_id ).toLatin1().data()), false ); if ( !pix.isNull() ) icon = QIcon( pix ); - QString tooltip = tr( QString( "TOP_%1" ).arg( po_id ).toLatin1().data() ), - menu = tr( QString( "MEN_%1" ).arg( po_id ).toLatin1().data() ), - status_bar = tr( QString( "STB_%1" ).arg( po_id ).toLatin1().data() ); + QString tooltip = tr(QString( "HOM_TOP_%1" ).arg( po_id ).toLatin1().data()), + menu = tr(QString( "HOM_MEN_%1" ).arg( po_id ).toLatin1().data()), + status_bar = tr(QString( "HOM_STB_%1" ).arg( po_id ).toLatin1().data()); createAction( id, tooltip, icon, menu, status_bar, key, parent, toggle, this, SLOT( OnGUIEvent() ) ); } @@ -161,6 +182,7 @@ void HOMARDGUI::createPreferences(){ // Verifier l'avant dernier nombre passe en parametre //================================================ void HOMARDGUI::createMenus(){ + MESSAGE("HOMARDGUI::createMenus") int HOMARD_Id = createMenu( tr( "HOMARD" ), -1, 5, 10 ); createMenu( 1101, HOMARD_Id, -1 ); //Create_Case createMenu( 1102, HOMARD_Id, -1 ); //Create_Iteration @@ -226,8 +248,9 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) { case 1101: // Creation d un Cas { + MESSAGE("etape 1101") MESSAGE("command " << theCommandID << " activated"); - MonCreateCase *aDlg = new MonCreateCase( parent, TRUE, + MonCreateCase *aDlg = new MonCreateCase( parent, TRUE, HOMARD::HOMARD_Gen::_duplicate(homardGen) ) ; aDlg->show(); break; @@ -238,7 +261,7 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) MESSAGE("command " << theCommandID << " activated"); QString IterParentName=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("IterationHomard"), 0); MESSAGE("IterParentName " << IterParentName.toStdString().c_str() << " choisi dans arbre"); - MonCreateIteration *IterDlg = new MonCreateIteration( parent, true, + MonCreateIteration *IterDlg = new MonCreateIteration( parent, true, HOMARD::HOMARD_Gen::_duplicate(homardGen), IterParentName ) ; IterDlg->show(); break; @@ -255,9 +278,8 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) } catch( SALOME::SALOME_Exception& S_ex ) { - QMessageBox::information( 0, "Error", - QString(CORBA::string_dup(S_ex.details.text)), - QMessageBox::Ok + QMessageBox::Default ); + QMessageBox::critical( 0, QObject::tr("HOM_ERROR"), + QString(CORBA::string_dup(S_ex.details.text)) ); getApp()->updateObjectBrowser(); return false; } @@ -312,11 +334,20 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) { MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() ); _PTR(SObject) obj = chercheMonObjet(); - if ((obj) and (HOMARD_UTILS::isBoundaryDi(obj))) + if ((obj)) { - MESSAGE(".. Lancement de MonEditBoundaryDi" ); - MonEditBoundaryDi *aDlg = new MonEditBoundaryDi(0, TRUE, HOMARD::HOMARD_Gen::_duplicate(homardGen), QString(""), _ObjectName ) ; - aDlg->show(); + if (HOMARD_UTILS::isBoundaryDi(obj)) + { + MESSAGE(".. Lancement de MonEditBoundaryDi" ); + MonEditBoundaryDi *aDlg = new MonEditBoundaryDi(0, TRUE, HOMARD::HOMARD_Gen::_duplicate(homardGen), QString(""), _ObjectName ) ; + aDlg->show(); + } + if (HOMARD_UTILS::isBoundaryAn(obj)) + { + MESSAGE(".. Lancement de MonEditBoundaryAn" ); + MonEditBoundaryAn *aDlg = new MonEditBoundaryAn(0, TRUE, HOMARD::HOMARD_Gen::_duplicate(homardGen), QString(""), _ObjectName ) ; + aDlg->show(); + } } } @@ -388,13 +419,13 @@ void HOMARDGUI::windows( QMap& theMap ) const void HOMARDGUI::setOrb() //============================================================================= { - try + try { ORB_INIT &init = *SINGLETON_::Instance(); ASSERT(SINGLETON_::IsAlreadyExisting()); _orb = init( 0 , 0 ); - } - catch (...) + } + catch (...) { INFOS("internal error : orb not found"); _orb = 0; @@ -410,7 +441,7 @@ _PTR(SObject) HOMARDGUI::chercheMonObjet() _PTR(SObject) obj; SALOME_ListIO lst; getApp()->selectionMgr()->selectedObjects( lst ); - if ( lst.Extent() == 1 ) + if ( lst.Extent() == 1 ) { Handle(SALOME_InteractiveObject) io = lst.First(); SalomeApp_Study* appStudy = dynamic_cast( application()->activeStudy() ); @@ -426,7 +457,7 @@ _PTR(SObject) HOMARDGUI::chercheMonObjet() void HOMARDGUI::contextMenuPopup( const QString& client, QMenu* menu, QString& title ) //============================================================================= { - MESSAGE("Debut de contextMenuPopup"); + MESSAGE("Debut de HOMARDGUI::contextMenuPopup"); _PTR(SObject) obj = chercheMonObjet(); if ( obj ) { @@ -434,39 +465,44 @@ void HOMARDGUI::contextMenuPopup( const QString& client, QMenu* menu, QString& t _ObjectName = title; SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); // - if ( HOMARD_UTILS::isBoundaryDi(obj) ) + if ( HOMARD_UTILS::isBoundaryAn(obj) ) + { + QPixmap pix = resMgr->loadPixmap( "HOMARD", "whatis.png" ); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_BOUNDARY").toLatin1().data()), this,SLOT(EditBoDi())); + } + else if ( HOMARD_UTILS::isBoundaryDi(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "whatis.png" ); - menu->addAction(QIcon(pix), "Edit boundary", this,SLOT(EditBoDi())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_BOUNDARY").toLatin1().data()), this,SLOT(EditBoDi())); } else if ( HOMARD_UTILS::isZone(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "whatis.png" ); - menu->addAction(QIcon(pix), "Edit zone", this,SLOT(EditZone())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_ZONE").toLatin1().data()), this,SLOT(EditZone())); } else if ( HOMARD_UTILS::isHypo(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "whatis.png" ); - menu->addAction(QIcon(pix), "Edit hypothesis", this,SLOT(EditHypo())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_HYPO").toLatin1().data()), this,SLOT(EditHypo())); } else if ( HOMARD_UTILS::isIter(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "iter_next.png" ); - menu->addAction(QIcon(pix), "Next iteration", this,SLOT(NextIter())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_NEW_ITERATION").toLatin1().data()), this,SLOT(NextIter())); QPixmap pix1 = resMgr->loadPixmap( "HOMARD", "whatis.png" ); - menu->addAction(QIcon(pix1), "Edit iteration", this,SLOT(EditIter())); + menu->addAction(QIcon(pix1), tr(QString("HOM_MEN_EDIT_ITERATION").toLatin1().data()), this,SLOT(EditIter())); QPixmap pix2 = resMgr->loadPixmap( "HOMARD", "mesh_compute.png" ); - menu->addAction(QIcon(pix2), "Compute", this,SLOT(LanceCalcul())); + menu->addAction(QIcon(pix2), tr(QString("HOM_MEN_COMPUTE").toLatin1().data()), this,SLOT(LanceCalcul())); } else if ( HOMARD_UTILS::isCase(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "whatis.png" ); - menu->addAction(QIcon(pix), "Edit case", this,SLOT(EditCase())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_CASE").toLatin1().data()), this,SLOT(EditCase())); } else if ( HOMARD_UTILS::isFileMess(obj) or HOMARD_UTILS::isFileSummary(obj) ) { QPixmap pix = resMgr->loadPixmap( "HOMARD", "texte.png" ); - menu->addAction(QIcon(pix), "Show file", this,SLOT(EditAsciiFile())); + menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_MESS_FILE").toLatin1().data()), this,SLOT(EditAsciiFile())); } } } @@ -486,9 +522,9 @@ void HOMARDGUI::EditCase() this->OnGUIEvent(1120); } -void HOMARDGUI::EditIter() +void HOMARDGUI::EditIter() { - this->OnGUIEvent(1121); + this->OnGUIEvent(1121); } void HOMARDGUI::EditHypo()