X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHOMARDGUI%2FHOMARDGUI.cxx;h=0bcbb070eefda55c262d4faa972d7e8c45fb626b;hb=refs%2Ftags%2FV9_13_0b1;hp=1a3b34f3893e213c76e0aa4310409f6a84038c9c;hpb=32c6d90220179a749436d9f4e5e88dfeeaa2dc00;p=modules%2Fhomard.git diff --git a/src/HOMARDGUI/HOMARDGUI.cxx b/src/HOMARDGUI/HOMARDGUI.cxx index 1a3b34f3..0bcbb070 100644 --- a/src/HOMARDGUI/HOMARDGUI.cxx +++ b/src/HOMARDGUI/HOMARDGUI.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2011-2013 CEA/DEN, EDF R&D +// Copyright (C) 2011-2024 CEA, EDF // // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,14 +18,13 @@ // // File : HOMARDGUI.cxx -// Author : Paul RASCLE, EDF +// Author : Gerald NICOLAS, EDF // Module : HOMARD #include "HOMARDGUI.h" // SALOME Includes -#include "Utils_ORB_INIT.hxx" -#include "Utils_SINGLETON.hxx" +#include "OpUtil.hxx" #include "SALOME_LifeCycleCORBA.hxx" #include "SUIT_ResourceMgr.h" @@ -39,7 +38,6 @@ #include "OB_Browser.h" #include "SALOME_ListIO.hxx" -#include "SALOME_ListIteratorOfListIO.hxx" #include "SalomeApp_Application.h" #include "SalomeApp_DataModel.h" @@ -50,6 +48,8 @@ #include "SalomeApp_Module.h" #include "SALOMEconfig.h" #include +#include +#include #include @@ -60,6 +60,7 @@ #include "MonCreateIteration.h" #include "MonPursueIteration.h" #include "MonCreateYACS.h" +#include "MonEditBoundaryCAO.h" #include "MonEditBoundaryAn.h" #include "MonEditBoundaryDi.h" #include "MonEditCase.h" @@ -105,7 +106,8 @@ HOMARDGUI::~HOMARDGUI() //======================================================================= HOMARD::HOMARD_Gen_var HOMARDGUI::InitHOMARDGen(SalomeApp_Application* app) { - Engines::EngineComponent_var comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" ); + Engines::EngineComponent_var comp; + comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" ); HOMARD::HOMARD_Gen_var clr = HOMARD::HOMARD_Gen::_narrow(comp); ASSERT(!CORBA::is_nil(clr)); return clr; @@ -179,7 +181,7 @@ void HOMARDGUI::createActions(){ //================================================ void HOMARDGUI::createPreferences() { - MESSAGE("createPreferences") + MESSAGE("createPreferences"); int Onglet, Bloc, Pref ; // 1. Generalites @@ -231,7 +233,7 @@ void HOMARDGUI::createPreferences() //================================================ void HOMARDGUI::createMenus() { - MESSAGE("createMenus") + MESSAGE("createMenus"); // int HOMARD_Id = createMenu( tr( "HOM_MEN_HOMARD" ), -1, 5, 10 ); createMenu( 1101, HOMARD_Id, -1 ); //Create_Case @@ -255,7 +257,7 @@ void HOMARDGUI::createMenus() createMenu( separator(), HOMARD_Id,-1); // HOMARD_Id = createMenu( tr( "HOM_MEN_YACS" ), -1, 5, 10 ); - createMenu( 1401, HOMARD_Id, -1 ); // Création d'un schéma YACS + createMenu( 1401, HOMARD_Id, -1 ); // Création d'un schéma YACS createMenu( separator(), HOMARD_Id,-1); } @@ -268,7 +270,7 @@ void HOMARDGUI::createMenus() //================================================ void HOMARDGUI::recupPreferences() { - MESSAGE("recupPreferences") + INFOS("recupPreferences") // // A. Declarations // @@ -281,9 +283,14 @@ void HOMARDGUI::recupPreferences() // B. Les valeurs // B.1. La langue // + SUIT_ResourceMgr* resMgr0 = getApp()->resourceMgr(); + QString lang = resMgr0->stringValue( resMgr0->langSection(), "language", "en" ); + INFOS ("Récupération de lang = " << lang.toStdString().c_str() ); defaut_s = homardGen->GetLanguageShort(); + INFOS ("Récupération de defaut_s = " << defaut_s.c_str() ); SUIT_ResourceMgr* resMgr = getApp()->resourceMgr(); _LanguageShort = resMgr->stringValue("language", "language", QString(defaut_s.c_str()) ); + INFOS ("Récupération de LanguageShort = " << _LanguageShort.toStdString().c_str() ); // // B.2. Les publications bool publish_mesh ; @@ -326,10 +333,10 @@ void HOMARDGUI::recupPreferences() // // C. Enregistrement dans l'objet general // - MESSAGE ("Enregistrement de LanguageShort = " << _LanguageShort.toStdString().c_str() ); - MESSAGE ("Enregistrement de PublisMeshIN = " << _PublisMeshIN<<", PublisMeshOUT = "<< _PublisMeshOUT); - MESSAGE ("Enregistrement de YACSMaxIter = " << _YACSMaxIter<<", YACSMaxNode = "<< _YACSMaxNode<<", YACSMaxElem = "<< _YACSMaxElem); - MESSAGE ("Enregistrement de YACSTypeTest = " << _YACSTypeTest); + INFOS ("Enregistrement de LanguageShort = " << _LanguageShort.toStdString().c_str() ); + INFOS ("Enregistrement de PublisMeshIN = " << _PublisMeshIN<<", PublisMeshOUT = "<< _PublisMeshOUT); + INFOS ("Enregistrement de YACSMaxIter = " << _YACSMaxIter<<", YACSMaxNode = "<< _YACSMaxNode<<", YACSMaxElem = "<< _YACSMaxElem); + INFOS ("Enregistrement de YACSTypeTest = " << _YACSTypeTest); // homardGen->SetLanguageShort(_LanguageShort.toStdString().c_str()); homardGen->SetPublisMesh(_PublisMeshIN, _PublisMeshOUT); @@ -342,7 +349,7 @@ void HOMARDGUI::recupPreferences() void HOMARDGUI::OnGUIEvent() //================================================ { - MESSAGE("OnGUIEvent()") + MESSAGE("OnGUIEvent()"); setOrb(); const QObject* obj = sender(); if ( !obj || !obj->inherits( "QAction" ) ) { return; } @@ -369,18 +376,12 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) } SUIT_Desktop* parent = application()->desktop(); + HOMARD::HOMARD_Gen_var homardGen = HOMARDGUI::InitHOMARDGen(app); if (!CORBA::is_nil(homardGen)) - { - // Set current study - SalomeApp_Study* aSAStudy =dynamic_cast(app->activeStudy()); - _PTR(Study) aStudy = aSAStudy->studyDS(); - SALOMEDS::Study_ptr aStudyDS; - if (aStudy) - aStudyDS = _CAST(Study,aStudy)->GetStudy(); - homardGen->SetCurrentStudy(aStudyDS); - } + homardGen->UpdateStudy(); + getApp()->updateObjectBrowser(); // B. Choix selon les commandes @@ -472,8 +473,14 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) _PTR(SObject) obj = chercheMonObjet(); if (obj) { + // Edition d'une frontiere CAO + if (HOMARD_UTILS::isBoundaryCAO(obj)) + { + MonEditBoundaryCAO *aDlg = new MonEditBoundaryCAO(0, true, HOMARD::HOMARD_Gen::_duplicate(homardGen), QString(""), _ObjectName ) ; + aDlg->show(); + } // Edition d'une frontiere discrete - if (HOMARD_UTILS::isBoundaryDi(obj)) + else if (HOMARD_UTILS::isBoundaryDi(obj)) { MonEditBoundaryDi *aDlg = new MonEditBoundaryDi(0, true, HOMARD::HOMARD_Gen::_duplicate(homardGen), QString(""), _ObjectName ) ; aDlg->show(); @@ -528,7 +535,7 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) if (obj) { // Suppression d'une frontiere - if ( HOMARD_UTILS::isBoundaryDi(obj) || HOMARD_UTILS::isBoundaryAn(obj) ) + if ( HOMARD_UTILS::isBoundaryCAO(obj) || HOMARD_UTILS::isBoundaryDi(obj) || HOMARD_UTILS::isBoundaryAn(obj) ) { try { homardGen->DeleteBoundary(_ObjectName.toStdString().c_str()); } @@ -611,7 +618,7 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) case 1301: // Information sur un maillage { - MESSAGE("etape 1301") + MESSAGE("etape 1301"); MESSAGE("command " << theCommandID << " activated"); MonMeshInfo *aDlg = new MonMeshInfo( parent, true, HOMARD::HOMARD_Gen::_duplicate(homardGen) ) ; aDlg->show(); @@ -630,18 +637,18 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID) break; } - case 1401: // Création d'un schema YACS + case 1401: // Création d'un schema YACS { - MESSAGE("etape 1401") + MESSAGE("etape 1401"); MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() ); MonCreateYACS *aDlg = new MonCreateYACS( true, HOMARD::HOMARD_Gen::_duplicate(homardGen), _ObjectName ) ; aDlg->show(); break; } - case 1402: // Ecriture d'un schéma YACS + case 1402: // Ecriture d'un schéma YACS { - MESSAGE("etape 1402") + MESSAGE("etape 1402"); MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() ); try { homardGen->YACSWrite(_ObjectName.toStdString().c_str()); } catch( SALOME::SALOME_Exception& S_ex ) @@ -705,7 +712,9 @@ void HOMARDGUI::windows( QMap& theMap ) const { theMap.clear(); theMap.insert( SalomeApp_Application::WT_ObjectBrowser, Qt::LeftDockWidgetArea ); +#ifndef DISABLE_PYCONSOLE theMap.insert( SalomeApp_Application::WT_PyConsole, Qt::BottomDockWidgetArea ); +#endif } //============================================================================= @@ -714,9 +723,7 @@ void HOMARDGUI::setOrb() { try { - ORB_INIT &init = *SINGLETON_::Instance(); - ASSERT(SINGLETON_::IsAlreadyExisting()); - _orb = init( 0 , 0 ); + _orb = KERNEL::GetRefToORB(); } catch (...) { @@ -760,7 +767,12 @@ void HOMARDGUI::contextMenuPopup( const QString& client, QMenu* menu, QString& t bool DeleteObject = false ; bool EditObject = false ; // - if ( HOMARD_UTILS::isBoundaryAn(obj) ) + if ( HOMARD_UTILS::isBoundaryCAO(obj) ) + { + EditObject = true ; + DeleteObject = true ; + } + else if ( HOMARD_UTILS::isBoundaryAn(obj) ) { EditObject = true ; DeleteObject = true ;