</outParameter>
</outParameter-list>
</component-service>
+ <component-service>
+ <!-- service-identification -->
+ <service-name>PutToStudy</service-name>
+ <service-author>mpv</service-author>
+ <service-version>1.0</service-version>
+ <service-comment>Put field to the study stucture</service-comment>
+ <service-by-default>1</service-by-default>
+ <!-- service-connexion -->
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>FIELDDOUBLE</inParameter-type>
+ <inParameter-name>field1</inParameter-name>
+ <inParameter-comment>field to put to study</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>long</inParameter-type>
+ <inParameter-name>StudyId</inParameter-name>
+ <inParameter-comment>the ID of the study</inParameter-comment>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>FIELDDOUBLE</outParameter-type>
+ <outParameter-name>return</outParameter-name>
+ <outParameter-comment>the same field like in input</outParameter-comment>
+ </outParameter>
+ </outParameter-list>
+ </component-service>
<component-service>
<!-- service-identification -->
<service-name>writeMEDfile</service-name>
-using namespace std;
-//=============================================================================
-// File : Component_i.cxx
-// Created : jeu jui 12 08:04:40 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001 - CEA 2001
-// $Header$
-//=============================================================================
+// SALOME Container : implementation of container and engine for Kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Component_i.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOME_Component_i.hxx"
#include "RegistryConnexion.hxx"
#include "OpUtil.hxx"
MESSAGE("Send BeginService notification for " << serviceName << endl
<< "Component instance : " << _instanceName << endl << endl);
_ThreadId = pthread_self() ;
+ _StartUsed = 0 ;
+ _StartUsed = CpuUsed_impl() ;
_serviceName = serviceName ;
if ( pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS , NULL ) ) {
perror("pthread_setcanceltype ") ;
return false ;
}
else {
- MESSAGE("Killer : ThreadId " << ThreadId << " pthread_cancel") ;
+ MESSAGE("Killer : ThreadId " << ThreadId << " pthread_canceled") ;
}
}
else {
}
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <unistd.h>
+
+long Engines_Component_i::CpuUsed_impl() {
+ struct rusage usage ;
+ long cpu ;
+ if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) {
+ perror("GraphBase::CpuUsed") ;
+ return 0 ;
+ }
+// return usage.ru_utime.__time_t tv_sec ;
+ cout << "CpuUsed " << usage.ru_utime.tv_sec << " " << usage.ru_utime.tv_usec << " "
+ << usage.ru_stime.tv_sec << " " << usage.ru_stime.tv_usec << endl ;
+ cpu = usage.ru_utime.tv_sec - _StartUsed ;
+ return cpu ;
+}
+
// Send message to event channel
void Engines_Component_i::sendMessage(const char *event_type, const char *message) {
-using namespace std;
-//=============================================================================
-// File : Container_i.cxx
-// Created : jeu jui 12 08:04:40 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001 - CEA 2001
-// $Header$
-//=============================================================================
+// SALOME Container : implementation of container and engine for Kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Container_i.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOME_Component)
#include "SALOME_Container_i.hxx"
bool _Sleeping = false ;
+// Needed by multi-threaded Python
+int _ArgC ;
+char ** _ArgV ;
+
+
// Containers with name FactoryServer are started via rsh in LifeCycleCORBA
// Other Containers are started via start_impl of FactoryServer
ActSigIntHandler() ;
+ _ArgC = argc ;
+ _ArgV = argv ;
+
_argc = argc ;
_argv = argv ;
int i = strlen( _argv[ 0 ] ) - 1 ;
}
string hostname = GetHostname();
MESSAGE(hostname << " " << getpid() << " Engines_Container_i starting argc "
- << _argc) ;
+ << _argc << " Thread " << pthread_self() ) ;
i = 0 ;
while ( _argv[ i ] ) {
MESSAGE(" argv" << i << " " << _argv[ i ]) ;
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME Container : implementation of container and engine for Kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
BIN_SRC =
BIN_SERVER_IDL = SALOME_Component.idl
-CPPFLAGS+= $(PYTHON_INCLUDES) -I../Logger
+CPPFLAGS+= $(PYTHON_INCLUDES)
LDFLAGS+= -lSalomeNS -lRegistry -lOpUtil -lSalomeNotification -lSalomeLoggerServer
#! /usr/bin/env python
-
-#=============================================================================
-# File : SALOME_ComponentPy.py
-# Created : lun sep 3 17:54:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-# $Header$
-#=============================================================================
+#
+# SALOME Container : implementation of container and engine for Kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOME_ComponentPy.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
+# $Header$
import os
import sys
+import time
from omniORB import CORBA, PortableServer
import Engines, Engines__POA
import Registry
self._graphName = ''
self._nodeName = ''
self._ThreadId = 0
+ self._StartUsed = 0
naming_service = SALOME_NamingServicePy_i(self._orb)
Component_path = "/Containers/" + os.getenv( "HOSTNAME" ) + "/" + self._containerName + "/" + self._interfaceName
def beginService(self , serviceName ):
MESSAGE( "Send BeginService notification for " + str(serviceName) + "for graph/node" + str(self._graphName) + str(self._nodeName) )
MESSAGE( "Component instance : " + str ( self._instanceName ) )
+ self._StartUsed = 0
+ self._StartUsed = self.CpuUsed_impl()
#-------------------------------------------------------------------------
def Resume(self):
MESSAGE( "SALOME_ComponentPy_i::Resume not yet implemented" )
+ #-------------------------------------------------------------------------
+
+ def CpuUsed_impl(self):
+ cpu = time.clock()
+ cpuL = int(cpu) - self._StartUsed
+ print "SALOME_ComponentPy_i::CpuUsed_impl ",cpuL,type(cpuL)
+ return cpuL
+
+ #-------------------------------------------------------------------------
+
-//=============================================================================
-// File : SALOME_Component_i.hxx
-// Created : jeu jui 12 08:04:40 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001 - CEA 2001
-// $Header$
-//=============================================================================
+// SALOME Container : implementation of container and engine for Kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Component_i.hxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
#ifndef _SALOME_COMPONENT_I_HXX_
#define _SALOME_COMPONENT_I_HXX_
-#include <iostream.h>
+#include <iostream>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
bool Stop_impl();
bool Suspend_impl();
bool Resume_impl();
+ long CpuUsed_impl() ;
protected:
string _instanceName ;
private:
pthread_t _ThreadId ;
+ long _StartUsed ;
};
#endif
+// SALOME Container : implementation of container and engine for Kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Container.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+
using namespace std;
-//=============================================================================
-// File : SALOME_Container.cxx
-// Created : jeu jui 12 08:04:40 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001 - CEA 2001
-// $Header$
-//=============================================================================
using namespace std;
#include <stdio.h>
#include <string>
#include "utilities.h"
+//#define CHECKTIME
+#ifdef CHECKTIME
+#include <Utils_Timer.hxx>
+#endif
+
#include <Python.h>
static PyMethodDef MethodPyVoidMethod[] = {
pman->activate();
+#ifdef CHECKTIME
+ Utils_Timer timer;
+ timer.Start();
+ timer.Stop();
+ MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
+ timer.ShowAbsolute();
+#endif
orb->run();
orb->destroy();
#! /usr/bin/env python
-
-#=============================================================================
-# File : SALOME_ContainerPy.py
-# Created : lun sep 3 17:54:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-# $Header$
-#=============================================================================
+#
+# SALOME Container : implementation of container and engine for Kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOME_ContainerPy.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
+# $Header$
import os
import sys
-//=============================================================================
-// File : SALOME_Container_i.hxx
-// Created : jeu jui 12 08:04:44 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001 - CEA 2001
-// $Header$
-//=============================================================================
+// SALOME Container : implementation of container and engine for Kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Container_i.hxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
#ifndef _SALOME_CONTAINER_I_HXX_
#define _SALOME_CONTAINER_I_HXX_
-#include <iostream.h>
+#include <iostream>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
-#==============================================================================
-# File : Makefile.in
-# Created : mer jui 11 06:50:44 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME DataTypeCatalog : catalog of data types
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_Client.cxx
+// Module : SALOME
+
using namespace std;
/* $Header$ */
-using namespace std;
-// File: SALOME_DataTypeCatalog_Handler.cxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_Handler.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+using namespace std;
#define WRITE_CATA_DATA_TYPE
#include "SALOME_DataTypeCatalog_Handler.hxx"
//----------------------------------------------------------------------
bool SALOME_DataTypeCatalog_Handler::characters(const QString& chars)
{
- content = chars ;
+ content = (const char*)chars ;
return true;
}
-// File: SALOME_DataTypeCatalog_Handler.hxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_Handler.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef SALOME_DATA_CATALOG_HANDLER_H
#define SALOME_DATA_CATALOG_HANDLER_H
-// File: SALOME_DataTypeCatalog_Parser.hxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_Parser.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef SALOME_DATA_CATALOG_PARSER_H
#define SALOME_DATA_CATALOG_PARSER_H
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_Server.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+
using namespace std;
-// File: SALOME_DataTypeCatalog_Server.cxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
#include <iostream.h>
#include "SALOME_NamingService.hxx"
#include "SALOME_DataTypeCatalog_impl.hxx"
-using namespace std;
-// File: SALOME_DataTypeCatalog_impl.cxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_impl.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOME_DataTypeCatalog_impl.hxx"
#include <fstream>
-// File: SALOME_DataTypeCatalog_impl.hxx
-// Created: Mon Aug 08 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
-
+// SALOME DataTypeCatalog : catalog of data types
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataTypeCatalog_impl.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef DATATYPECATALOG_IMPL_H
#define DATATYPECATALOG_IMPL_H
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFOI.hxx
+// Module : SALOME
+
extern "C"
{
#include "HDFtypes.h"
#include "HDFinternalObject.hxx"
#include "HDFconvert.hxx"
+
+#include "HDFascii.hxx"
--- /dev/null
+using namespace std;
+// File : SALOMEDS_Tool.cxx
+// Created : Mon Oct 21 16:24:34 2002
+// Author : Sergey RUIN
+
+// Project : SALOME
+// Module : SALOMEDS
+// Copyright : Open CASCADE
+
+#include "HDFOI.hxx"
+
+#include <OSD_Path.hxx>
+#include <OSD_File.hxx>
+#include <OSD_Protection.hxx>
+#include <OSD_Directory.hxx>
+#include <TCollection_AsciiString.hxx>
+
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <stdio.h>
+
+bool CreateAttributeFromASCII(HDFinternalObject *father, FILE* fp);
+bool CreateDatasetFromASCII(HDFcontainerObject *father, FILE *fp);
+bool CreateGroupFromASCII(HDFcontainerObject *father, FILE *fp);
+
+void SaveAttributeInASCIIfile(HDFattribute *hdf_attribute, FILE* fp, int ident);
+void SaveGroupInASCIIfile(HDFgroup *hdf_group, FILE* fp, int ident);
+void SaveDatasetInASCIIfile(HDFdataset *hdf_dataset, FILE* fp, int ident);
+
+char* GetTmpDir();
+char* makeName(char* name);
+char* restoreName(char* name);
+void write_float64(FILE* fp, hdf_float64* value);
+void read_float64(FILE* fp, hdf_float64* value);
+
+#define MAX_STRING_SIZE 65535
+#define MAX_ID_SIZE 20
+#define NB_FLOAT_IN_ROW 3
+#define NB_INTEGER_IN_ROW 9
+
+#define ASCIIHDF_ID "ASCIIHDF"
+#define ATTRIBUTE_ID "ATTRIBUTE"
+#define DATASET_ID "DATASET"
+#define GROUP_ID "GROUP"
+
+#define ASCIIHDF_ID_END "ASCIIHDF_END"
+#define ATTRIBUTE_ID_END "ATTRIBUTE_END"
+#define DATASET_ID_END "DATASET_END"
+#define GROUP_ID_END "GROUP_END"
+
+
+//============================================================================
+// function : isASCII
+// purpose : Returns True if the file is a converted to ASCII HDF file
+//============================================================================
+bool HDFascii::isASCII(const char* thePath) {
+ int fd;
+ if(!(fd = open(thePath, O_RDONLY))) return false;
+ char* aBuffer = new char[9];
+ aBuffer[8] = (char)0;
+ read(fd, aBuffer, 8);
+ close(fd);
+
+ if(strcmp(aBuffer, ASCIIHDF_ID) == 0) return true;
+
+ return false;
+}
+
+//############################## HDF => ASCII ################################
+
+//============================================================================
+// function : ConvertFromHDFToASCII
+// purpose : Converts a file pointed by thePath to ASCII format
+// If isReplace is true the newly created file will replace the existent one.
+// If isReplace is false theExtension will be added to a created file name
+// Returns the file name of ASCII file
+//============================================================================
+char* HDFascii::ConvertFromHDFToASCII(const char* thePath,
+ bool isReplace,
+ const char* theExtension)
+{
+ TCollection_AsciiString aPath((char*)thePath);
+ if(!isReplace) {
+ if(theExtension == NULL) aPath += ".asc";
+ else aPath += (char*)theExtension;
+ }
+
+ TCollection_AsciiString aFileName(aPath);
+ if(isReplace) aFileName=aPath+".ascii_tmp";
+
+ HDFfile *hdf_file = new HDFfile((char*)thePath);
+ hdf_file->OpenOnDisk(HDF_RDONLY);
+
+ char name[HDF_NAME_MAX_LEN+1];
+ int nbsons = hdf_file->nInternalObjects(), nbAttr = hdf_file->nAttributes();
+
+ FILE* fp = fopen(aFileName.ToCString(), "w");
+ fprintf(fp, "%s\n", ASCIIHDF_ID);
+ fprintf(fp, "%i\n", nbsons+nbAttr);
+
+ for(unsigned j=0; j<nbAttr; j++) {
+ char* attr_name = hdf_file->GetAttributeName(j);
+ HDFattribute *hdf_attribute = new HDFattribute(attr_name, hdf_file);
+ delete attr_name;
+ SaveAttributeInASCIIfile(hdf_attribute, fp, 0);
+ hdf_attribute = 0;
+ }
+
+ for (Standard_Integer i=0; i<nbsons; i++) {
+ hdf_file->InternalObjectIndentify(i,name);
+ if (strncmp(name, "INTERNAL_COMPLEX",16) == 0) continue;
+
+ hdf_object_type type = hdf_file->InternalObjectType(name);
+
+ if(type == HDF_DATASET) {
+ HDFdataset* hdf_dataset = new HDFdataset(name, hdf_file);
+ SaveDatasetInASCIIfile(hdf_dataset, fp, 0);
+ hdf_dataset = 0;
+ } else if(type == HDF_GROUP) {
+ HDFgroup *hdf_group = new HDFgroup(name, hdf_file);
+ SaveGroupInASCIIfile(hdf_group, fp, 0);
+ hdf_group = 0;
+ }
+ }
+
+ fprintf(fp, "%s", ASCIIHDF_ID_END);
+
+ fclose(fp);
+
+ hdf_file->CloseOnDisk();
+ delete hdf_file;
+
+ if(isReplace) {
+ OSD_Path anOSDPath(aFileName);
+ OSD_File anOSDFile(anOSDPath);
+ if(anOSDFile.Exists())
+ anOSDFile.Move(aPath);
+ else
+ return NULL;
+ }
+
+ int length = strlen(aPath.ToCString());
+ char *new_str = new char[ 1+length ];
+ strcpy(new_str , aPath.ToCString()) ;
+
+ return new_str;
+}
+
+
+//============================================================================
+// function : SaveGroupInASCIIfile
+// purpose :
+//============================================================================
+void SaveGroupInASCIIfile(HDFgroup *hdf_group, FILE* fp, int ident)
+{
+ hdf_group->OpenOnDisk();
+
+ TCollection_AsciiString anIdent(ident, '\t');
+ int nbsons = hdf_group->nInternalObjects(), nbAttr = hdf_group->nAttributes();
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), GROUP_ID);*/
+ fprintf(fp, "%s\n", GROUP_ID);
+
+ char* name = makeName(hdf_group->GetName());
+
+ /*fprintf(fp, "%s%s %i\n", anIdent.ToCString(), name, nbsons+nbAttr);*/
+ fprintf(fp, "%s %i\n", name, nbsons+nbAttr);
+ delete name;
+
+ for(unsigned j=0; j<nbAttr; j++) {
+ name = hdf_group->GetAttributeName(j);
+ HDFattribute *hdf_attribute = new HDFattribute(name, hdf_group);
+ delete name;
+ SaveAttributeInASCIIfile(hdf_attribute, fp, ident+1);
+ hdf_attribute = 0;
+ }
+
+ char objName[HDF_NAME_MAX_LEN+1];
+
+ for (int i=0; i<nbsons; i++) {
+ hdf_group->InternalObjectIndentify(i, objName);
+
+ if (strncmp(objName, "INTERNAL_COMPLEX",16) == 0) continue;
+
+ hdf_object_type type = hdf_group->InternalObjectType(objName);
+
+ if (type == HDF_DATASET) {
+ HDFdataset* hdf_dataset = new HDFdataset(objName, hdf_group);
+ SaveDatasetInASCIIfile(hdf_dataset, fp, ident+1);
+ hdf_dataset = 0;
+ } else if (type == HDF_GROUP) {
+ HDFgroup *hdf_subgroup = new HDFgroup(objName, hdf_group);
+ SaveGroupInASCIIfile(hdf_subgroup, fp, ident+1);
+ hdf_subgroup = 0;
+ }
+ }
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), GROUP_ID_END);*/
+ fprintf(fp, "%s\n", GROUP_ID_END);
+
+ hdf_group->CloseOnDisk();
+}
+
+//============================================================================
+// function : SaveDatasetInASCIIfile
+// purpose :
+//============================================================================
+void SaveDatasetInASCIIfile(HDFdataset *hdf_dataset, FILE* fp, int ident)
+{
+ hdf_dataset->OpenOnDisk();
+
+ long size = hdf_dataset->GetSize();
+ long ndim = hdf_dataset->nDim(); //Get number of dimesions
+ hdf_size *dim = new hdf_size[ndim];
+ hdf_type type = hdf_dataset->GetType();
+ int nbAttr = hdf_dataset->nAttributes(), j;
+
+ TCollection_AsciiString anIdent(ident, '\t');
+ TCollection_AsciiString anIdentChild(ident+1, '\t');
+
+ char* name = makeName(hdf_dataset->GetName());
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), DATASET_ID);*/
+ fprintf(fp, "%s\n", DATASET_ID);
+ /*fprintf(fp, "%s%s %i %i\n", anIdent.ToCString(), name, type, nbAttr);*/
+ fprintf(fp, "%s %i %i\n", name, type, nbAttr);
+ delete name;
+
+ hdf_dataset->GetDim(dim);
+ /*fprintf(fp, "%s %i\n", anIdentChild.ToCString(), ndim);*/
+ fprintf(fp, " %i\n", ndim);
+
+ for(int i = 0;i < ndim;i++) {
+ /*fprintf(fp, "%s%i", anIdentChild.ToCString(), dim[i]);*/
+ fprintf(fp, " %i", dim[i]);
+ }
+
+ /*fprintf(fp, "%s\n", anIdentChild.ToCString());*/
+ fprintf(fp, "\n");
+ delete dim;
+
+ /*fprintf(fp, "%s%li:", anIdentChild.ToCString(), size);*/
+ fprintf(fp, "%li:", size);
+
+ if (type == HDF_STRING) {
+ char* val = new char[size];
+ hdf_dataset->ReadFromDisk(val);
+ fwrite(val, 1, size, fp);
+ delete val;
+ } else if (type == HDF_FLOAT64) {
+ hdf_float64* val = new hdf_float64[size];
+ hdf_dataset->ReadFromDisk(val);
+ fprintf(fp, "\n");
+ for (int i = 0, j = 0; i < size; i++) {
+ write_float64(fp, &val[i]);
+ if(++j == NB_FLOAT_IN_ROW) {
+ fprintf(fp, "\n");
+ j = 0;
+ }
+ else fprintf(fp," ");
+ }
+ delete val;
+ } else if(type == HDF_INT64) {
+ hdf_int64* val = new hdf_int64[size];
+ hdf_dataset->ReadFromDisk(val);
+ fprintf(fp, "\n");
+ for (int i = 0, j = 0; i < size; i++) {
+ fprintf(fp, " %li", val[i]);
+ if(++j == NB_INTEGER_IN_ROW) {
+ fprintf(fp, "\n");
+ j = 0;
+ }
+ }
+ delete val;
+ } else if(type == HDF_INT32) {
+ hdf_int32* val = new hdf_int32[size];
+ hdf_dataset->ReadFromDisk(val);
+ fprintf(fp, "\n");
+ for (int i = 0, j = 0; i < size; i++) {
+ fprintf(fp, " %i", val[i]);
+ if(++j == NB_INTEGER_IN_ROW) {
+ fprintf(fp, "\n");
+ j = 0;
+ }
+ }
+ delete val;
+ }
+
+ fprintf(fp, "\n");
+
+ for(unsigned j=0; j<nbAttr; j++) {
+ name = hdf_dataset->GetAttributeName(j);
+ HDFattribute *hdf_attribute = new HDFattribute(name, hdf_dataset);
+ delete name;
+ SaveAttributeInASCIIfile(hdf_attribute, fp, ident+1);
+ hdf_attribute = 0;
+ }
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), DATASET_ID_END); */
+ fprintf(fp, "%s\n", DATASET_ID_END);
+
+ hdf_dataset->CloseOnDisk();
+}
+
+
+//============================================================================
+// function : SaveAttributeInASCIIfile
+// purpose :
+//============================================================================
+void SaveAttributeInASCIIfile(HDFattribute *hdf_attribute, FILE* fp, int ident)
+{
+ hdf_attribute->OpenOnDisk();
+
+ hdf_type type = hdf_attribute->GetType();
+
+ TCollection_AsciiString anIdent(ident, '\t');
+ TCollection_AsciiString anIdentChild(ident+1, '\t');
+
+ char* name = makeName(hdf_attribute->GetName());
+ int size = hdf_attribute->GetSize();
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), ATTRIBUTE_ID);*/
+ fprintf(fp, "%s\n", ATTRIBUTE_ID);
+ /*fprintf(fp, "%s%s %i %i\n", anIdent.ToCString(), name, type, size);*/
+ fprintf(fp, "%s %i %i\n", name, type, size);
+
+ delete name;
+
+ if (type == HDF_STRING) {
+ char* val = new char[size+1];
+ hdf_attribute->ReadFromDisk(val);
+ /*fprintf(fp, "%s:", anIdentChild.ToCString());*/
+ fprintf(fp, ":");
+ fwrite(val, 1, size, fp);
+ fprintf(fp, "\n");
+ delete val;
+ } else if (type == HDF_FLOAT64) {
+ hdf_float64 val;
+ hdf_attribute->ReadFromDisk(&val);
+ /*fprintf(fp, "%s", anIdentChild.ToCString());*/
+ write_float64(fp, &val);
+ fprintf(fp, "\n");
+ } else if(type == HDF_INT64) {
+ hdf_int64 val;
+ hdf_attribute->ReadFromDisk(&val);
+ /*fprintf(fp, "%s%li \n", anIdentChild.ToCString(), val);*/
+ fprintf(fp, "%li \n", val);
+ } else if(type == HDF_INT32) {
+ hdf_int32 val;
+ hdf_attribute->ReadFromDisk(&val);
+ /*fprintf(fp, "%s%i \n", anIdentChild.ToCString(), val);*/
+ fprintf(fp, "%i \n", val);
+ }
+
+ /*fprintf(fp, "%s%s\n", anIdent.ToCString(), ATTRIBUTE_ID_END);*/
+ fprintf(fp, "%s\n", ATTRIBUTE_ID_END);
+
+ hdf_attribute->CloseOnDisk();
+}
+
+//############################## ASCII => HDF ################################
+
+//============================================================================
+// function : ConvertFromASCIIToHDF
+// purpose : Converts a file pointed by thePath to HDF format
+// Returns a name of directory where a created HDF file is placed
+// The created file is named "hdf_from_ascii.hdf"
+//============================================================================
+char* HDFascii::ConvertFromASCIIToHDF(const char* thePath)
+{
+ // Get a temporary directory to store a file
+ TCollection_AsciiString aTmpDir = GetTmpDir(), aFileName("hdf_from_ascii.hdf");
+ // Build a full file name of temporary file
+ TCollection_AsciiString aFullName = aTmpDir + aFileName;
+
+ HDFfile *hdf_file = new HDFfile(aFullName.ToCString());
+ hdf_file->CreateOnDisk();
+
+ FILE *fp = fopen(thePath, "r");
+ if(!fp) return NULL;
+
+ char type[9];
+ int nbsons, i;
+ fscanf(fp, "%s", type);
+ fscanf(fp, "%i",&nbsons);
+
+ if(strcmp(type, ASCIIHDF_ID) != 0) return NULL;
+
+ for(i = 0; i < nbsons; i++) {
+ char id_of_begin[MAX_ID_SIZE];
+ fscanf(fp, "%s\n", id_of_begin);
+
+ if(strcmp(id_of_begin, GROUP_ID) == 0) {
+ if(!CreateGroupFromASCII(hdf_file, fp)) {
+ cout << "ConvertFromASCIIToHDF : Can not create group number " << i << endl;
+ return NULL;
+ }
+ }
+ else if(strcmp(id_of_begin, DATASET_ID) == 0) {
+ if(!CreateDatasetFromASCII(hdf_file, fp)) {
+ cout << "ConvertFromASCIIToHDF :Can not create dataset number " << i << endl;
+ return NULL;
+ }
+ }
+ else if(strcmp(id_of_begin, ATTRIBUTE_ID) == 0) {
+ if(!CreateAttributeFromASCII(hdf_file, fp)) {
+ cout << "ConvertFromASCIIToHDF :Can not create attribute number " << i << endl;
+ return NULL;
+ }
+ }
+ else
+ cout << "ConvertFromASCIIToHDF : Unrecognized type " << id_of_begin << endl;
+ }
+
+ char id_of_end[MAX_ID_SIZE];
+ fscanf(fp, "%s", id_of_end);
+ if(strcmp(id_of_end, ASCIIHDF_ID_END) != 0) {
+ cout << "ConvertFromASCIIToHDF : Can not find the end ASCII token " << endl;
+ return false;
+ }
+
+ hdf_file->CloseOnDisk();
+ delete hdf_file;
+
+ int length = strlen(aTmpDir.ToCString());
+ char *new_str = new char[ 1+length ];
+ strcpy(new_str , aTmpDir.ToCString()) ;
+
+ return new_str;
+}
+
+
+//============================================================================
+// function : CreateGroupFromASCII
+// purpose : Creates a HDF group from a set attributes situated under theLabel
+//============================================================================
+bool CreateGroupFromASCII(HDFcontainerObject *father, FILE *fp)
+{
+ char name[HDF_NAME_MAX_LEN+1];
+ int nbsons, i;
+ fscanf(fp, "%s %i\n", name, &nbsons);
+
+ char* new_name = restoreName(name);
+
+ HDFgroup* hdf_group = new HDFgroup(new_name, father);
+
+ delete new_name;
+
+ hdf_group->CreateOnDisk();
+
+ for(i = 0; i < nbsons; i++) {
+ char id_of_begin[MAX_ID_SIZE];
+ fscanf(fp, "%s\n", id_of_begin);
+
+ if(strcmp(id_of_begin, GROUP_ID) == 0) {
+ if(!CreateGroupFromASCII(hdf_group, fp)) {
+ cout << "Can not create subgroup " << i << " for group " << name << endl;
+ return false;
+ }
+ }
+ else if(strcmp(id_of_begin, DATASET_ID) == 0) {
+ if(!CreateDatasetFromASCII(hdf_group, fp)) {
+ cout << "Can not create dataset " << i << " for group " << name << endl;
+ return false;
+ }
+ }
+ else if(strcmp(id_of_begin, ATTRIBUTE_ID) == 0) {
+ if(!CreateAttributeFromASCII(hdf_group, fp)) {
+ cout << "Can not create attribute " << i << " for group " << name << endl;
+ return false;
+ }
+ }
+ else
+ cout << "CreateGroupFromASCII : Unrecognized type " << id_of_begin << endl;
+ }
+
+ hdf_group->CloseOnDisk();
+ hdf_group = 0; //will be deleted by father destructor
+
+ char id_of_end[MAX_ID_SIZE];
+ fscanf(fp, "%s\n", id_of_end);
+ if(strcmp(id_of_end, GROUP_ID_END) != 0) {
+ cout << "CreateGroupFromASCII : Invalid end token : " << id_of_end << endl;
+ return false;
+ }
+
+ return true;
+}
+
+
+//============================================================================
+// function : CreateDatasetFromASCII
+// purpose : Creates a HDF dataset from a set attributes situated under theLabel
+//============================================================================
+bool CreateDatasetFromASCII(HDFcontainerObject *father, FILE *fp)
+{
+ char name[HDF_NAME_MAX_LEN+1];
+ hdf_type type;
+ int nbDim, nbAttr;
+ long i, size;
+
+ fscanf(fp, "%s %i %i\n", name, &type, &nbAttr);
+ char* new_name = restoreName(name);
+
+ fscanf(fp, "%i\n", &nbDim);
+
+ hdf_size* sizeArray = new hdf_size[nbDim];
+ for(i = 0; i<nbDim; i++) {
+ fscanf(fp, "%i\n", &(sizeArray[i]));
+ }
+
+ HDFdataset* hdf_dataset = new HDFdataset(new_name, father,type, sizeArray, nbDim);
+ delete new_name;
+ delete sizeArray;
+
+ hdf_dataset->CreateOnDisk();
+
+ char tmp;
+ fscanf(fp, "%li%c", &size, &tmp);
+
+ if (type == HDF_STRING) {
+ char *val = new char[size+1];
+ fread(val, 1, size, fp);
+ hdf_dataset->WriteOnDisk(val);
+ delete val;
+ } else if (type == HDF_FLOAT64) {
+ hdf_float64* val = new hdf_float64[size];
+ for(i=0; i<size; i++) {
+ read_float64(fp, &(val[i]));
+ }
+ hdf_dataset->WriteOnDisk(val);
+ delete val;
+ } else if(type == HDF_INT64) {
+ hdf_int64* val = new hdf_int64[size];
+ for(i=0; i<size; i++) {
+ fscanf(fp, " %li", &(val[i]));
+ }
+ hdf_dataset->WriteOnDisk(val);
+ delete val;
+ } else if(type == HDF_INT32) {
+ hdf_int32* val = new hdf_int32[size];
+ for(i=0; i<size; i++) {
+ fscanf(fp, " %i", &(val[i]));
+ }
+ hdf_dataset->WriteOnDisk(val);
+ delete val;
+ }
+
+ char token[MAX_ID_SIZE];
+
+ for(i = 0; i < nbAttr; i++) {
+ fscanf(fp, "%s\n", token);
+
+ if(strcmp(token, ATTRIBUTE_ID) == 0) {
+ if(!CreateAttributeFromASCII(hdf_dataset, fp)) {
+ cout << "Can not create attribute " << i << " for dataset " << name << endl;
+ return false;
+ }
+ }
+ else {
+ cout << "CreateGroupFromASCII : Unrecognized type " << token << endl;
+ return false;
+ }
+ }
+
+ fscanf(fp, "%s\n", token);
+ if(strcmp(token, DATASET_ID_END) != 0) {
+ cout << "CreateDatasetFromASCII : Invalid end token : " << token << endl;
+ return false;
+ }
+
+ hdf_dataset->CloseOnDisk();
+ hdf_dataset = 0; //will be deleted by father destructor
+
+ return true;
+}
+
+
+//============================================================================
+// function : CreateAttributeFromASCII
+// purpose : Creates a HDF attribute from a set attributes situated under theLabel
+//============================================================================
+bool CreateAttributeFromASCII(HDFinternalObject *father, FILE* fp)
+{
+ char name[HDF_NAME_MAX_LEN+1];
+
+ hdf_type type;
+ int size;
+ fscanf(fp, "%s %i %i\n", name, &type, &size);
+ char* new_name = restoreName(name);
+ HDFattribute* hdf_attribute = new HDFattribute(new_name, father, type, size);
+
+ hdf_attribute->CreateOnDisk();
+
+ delete new_name;
+
+ if (type == HDF_STRING) {
+ char tmp;
+ fscanf(fp, "%c", &tmp);
+ char *val = new char[size+1];
+ val[size] = (char)0;
+ fread(val, 1, size, fp);
+ hdf_attribute->WriteOnDisk(val);
+ delete val;
+ } else if (type == HDF_FLOAT64) {
+ hdf_float64 val;
+ read_float64(fp, &val);
+ hdf_attribute->WriteOnDisk(&val);
+ } else if(type == HDF_INT64) {
+ hdf_int64 val;
+ fscanf(fp, "%li", &val);
+ hdf_attribute->WriteOnDisk(&val);
+ } else if(type == HDF_INT32) {
+ hdf_int32 val;
+ fscanf(fp, "%i", &val);
+ hdf_attribute->WriteOnDisk(&val);
+ }
+
+ hdf_attribute->CloseOnDisk();
+ hdf_attribute = 0; //will be deleted by father destructor
+
+
+ char id_of_end[MAX_ID_SIZE];
+ fscanf(fp, "%s\n", id_of_end);
+ if(strcmp(id_of_end, ATTRIBUTE_ID_END) != 0) {
+ cout << "CreateAttributeFromASCII : Invalid end token : " << id_of_end << endl;
+ return false;
+ }
+
+ return true;
+}
+
+
+//============================================================================
+// function : GetTempDir
+// purpose : Return a temp directory to store created files like "/tmp/sub_dir/"
+//============================================================================
+char* GetTmpDir()
+{
+ //Find a temporary directory to store a file
+
+ TCollection_AsciiString aTmpDir;
+
+#ifdef WIN32
+ aTmpDir = TCollection_AsciiString("C:\\");
+#else
+ aTmpDir = TCollection_AsciiString("/tmp/");
+#endif
+
+ srand((unsigned int)time(NULL));
+ int aRND = 999 + (int)(100000.0*rand()/(RAND_MAX+1.0)); //Get a random number to present a name of a sub directory
+ TCollection_AsciiString aSubDir(aRND);
+ if(aSubDir.Length() <= 1) aSubDir = TCollection_AsciiString("123409876");
+
+ aTmpDir += aSubDir; //Get RND sub directory
+
+#ifdef WIN32
+ if(aTmpDir.Value(aTmpDir.Length()) != '\\') aTmpDir+='\\';
+#else
+ if(aTmpDir.Value(aTmpDir.Length()) != '/') aTmpDir+='/';
+#endif
+
+ OSD_Path aPath(aTmpDir);
+ OSD_Directory aDir(aPath);
+
+ for(aRND = 0; aDir.Exists(); aRND++) {
+ aTmpDir.Insert((aTmpDir.Length() - 1), TCollection_AsciiString(aRND)); //Build a unique directory name
+ aPath = OSD_Path(aTmpDir);
+ aDir = OSD_Directory(aPath);
+ }
+
+ OSD_Protection aProtection(OSD_RW, OSD_RWX, OSD_RX, OSD_RX);
+ aDir.Build(aProtection);
+
+ int length = strlen(aTmpDir.ToCString());
+ char *new_str = new char[ 1+length ];
+ strcpy(new_str , aTmpDir.ToCString());
+
+ return new_str;
+}
+
+char* makeName(char* name)
+{
+ TCollection_AsciiString aName(name), aNewName;
+ Standard_Integer i, length = aName.Length();
+ char replace = (char)19;
+
+ for(i=1; i<=length; i++) {
+ if(aName.Value(i) == ' ') aNewName+=replace;
+ else aNewName += aName.Value(i);
+ }
+
+ length = strlen(aNewName.ToCString());
+ char *new_str = new char[ 1+length ];
+ strcpy(new_str , aNewName.ToCString()) ;
+ return new_str;
+}
+
+char* restoreName(char* name)
+{
+ TCollection_AsciiString aName(name), aNewName;
+ Standard_Integer i, length = aName.Length();
+ char replace = (char)19;
+
+ for(i=1; i<=length; i++) {
+ if(aName.Value(i) == replace) aNewName+=' ';
+ else aNewName += aName.Value(i);
+ }
+
+ length = strlen(aNewName.ToCString());
+ char *new_str = new char[ 1+length ];
+ strcpy(new_str , aNewName.ToCString()) ;
+ return new_str;
+}
+
+void write_float64(FILE* fp, hdf_float64* value)
+{
+ unsigned char* array = (unsigned char*)value;
+ for(int i = 0; i < sizeof(hdf_float64); i++) {
+ unsigned tmp = (unsigned short)array[i];
+ fprintf(fp, " %2x", tmp);
+ }
+}
+
+void read_float64(FILE* fp, hdf_float64* value)
+{
+ unsigned char* array = (unsigned char*)value;
+ for(int i = 0; i < sizeof(hdf_float64); i++) {
+ unsigned tmp;
+ fscanf(fp, " %x", &tmp);
+ array[i] = (unsigned char)tmp;
+ }
+}
--- /dev/null
+// File : HDFascii.hxx
+// Created : Mon Jun 10 16:24:50 2003
+// Author : Sergey RUIN
+
+// Project : SALOME
+// Module : HDFPersist
+// Copyright : Open CASCADE
+
+
+#ifndef __HDFascii_H__
+#define __HDFascii_H__
+
+
+
+
+class HDFascii
+{
+public:
+
+ static char* ConvertFromHDFToASCII(const char* thePath,
+ bool isReplaced = true,
+ const char* theExtension = NULL);
+
+ static char* ConvertFromASCIIToHDF(const char* thePath);
+
+ static bool isASCII(const char* thePath);
+};
+#endif
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrClose.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrCreate.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
* - if success : attribute ID
* - if failure : -1
*/
-hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type)
+hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type, size_t size)
{
hdf_idt aid,attr;
hdf_err ret;
switch(type) {
case HDF_FLOAT64 :
+#ifdef PCLINUX
+ type_hdf = H5T_IEEE_F64BE;
+#else
type_hdf = H5T_IEEE_F64LE;
+#endif
break;
case HDF_INT32 :
- type_hdf = H5T_STD_I32LE;
+ type_hdf = H5T_NATIVE_INT;
break;
case HDF_INT64 :
- type_hdf = H5T_STD_I64LE;
+ type_hdf = H5T_NATIVE_LONG;
break;
case HDF_STRING :
if((type_hdf = H5Tcopy(H5T_C_S1)) < 0)
return -1;
- if((ret = H5Tset_size(type_hdf,1)) < 0)
+ if((ret = H5Tset_size(type_hdf, size)) < 0)
return -1;
break;
--- /dev/null
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrGetSize.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
+#include "hdfi.h"
+#include <hdf5.h>
+
+hdf_type
+HDFattrGetSize(hdf_idt id)
+{
+ hdf_idt type_id;
+ int ret;
+
+ if ((type_id = H5Aget_type(id)) < 0)
+ return HDF_NONE;
+
+ ret = H5Tget_size(type_id);
+
+ H5Tclose(type_id);
+
+ return ret;
+}
--- /dev/null
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrGetType.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
+#include "hdfi.h"
+#include <hdf5.h>
+
+hdf_type
+HDFattrGetType(hdf_idt id)
+{
+ hdf_idt type_id;
+ hdf_type type;
+ hdf_class_type hdf_type;
+ hdf_size_type size;
+
+ if ((type_id = H5Aget_type(id)) < 0)
+ return HDF_NONE;
+
+ hdf_type = H5Tget_class(type_id);
+
+ switch (hdf_type)
+ {
+ case H5T_INTEGER :
+ size = H5Tget_size(type_id);
+ if (size == 4)
+ type = HDF_INT32;
+ else
+ type = HDF_INT64;
+ break;
+
+ case H5T_FLOAT :
+ type = HDF_FLOAT64;
+ break;
+
+ case H5T_STRING :
+ type = HDF_STRING;
+ break;
+
+ default :
+ type = HDF_NONE;
+ }
+
+ H5Tclose(type_id);
+
+ return type;
+}
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrOpen.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrRead.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
*/
hdf_err HDFattrRead(hdf_idt id,void *val)
{
- hdf_err ret;
- int type_hdf;
-
- if ((type_hdf = H5Aget_type(id)) < 0)
- return -1;
+ hdf_err ret = -1;
+ hdf_idt type_hdf;
- if ((ret = H5Aread(id,type_hdf,val)) < 0)
- return -1;
+ if ((type_hdf = H5Aget_type(id)) >= 0) {
+ ret = H5Aread(id, type_hdf, val);
+ }
- return 0;
+ H5Tclose(type_hdf);
+ return ret;
}
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFattrWrite.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
* - if success : 0
* - if failure : -1
*/
-hdf_err HDFattrWrite(hdf_idt id,void *val)
+hdf_err HDFattrWrite(hdf_idt id, void *val)
{
- hdf_err ret;
- int type_hdf;
+ hdf_idt type_id;
+ hdf_type type;
+ hdf_class_type hdf_type;
+ int ret = 0;
- if ((type_hdf = H5Aget_type(id)) < 0)
+ if ((type_id = H5Aget_type(id)) < 0)
return -1;
- if ((ret = H5Awrite(id,type_hdf,val)) < 0)
- return ret;
+ ret = H5Awrite(id,type_id, val);
+
+ H5Tclose(type_id);
- return 0;
+ return ret;
}
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFattribute.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
#include "HDFattribute.hxx"
#include "HDFinternalObject.hxx"
-HDFattribute::HDFattribute(char *name,HDFinternalObject *father,hdf_type type)
+HDFattribute::HDFattribute(char *name,HDFinternalObject *father,hdf_type type, size_t size)
: HDFobject(name)
{
_father = father;
_fid = _father->GetId();
_type = type;
+ _size = size;
+}
+
+HDFattribute::HDFattribute(char *name,HDFinternalObject *father)
+ : HDFobject(name)
+{
+ _father = father;
+ _fid = _father->GetId();
+ _type = HDF_NONE;
+ _size = 0;
}
void HDFattribute::CreateOnDisk()
{
- if ((_id = HDFattrCreate(_fid,_name,_type)) < 0)
+ if ((_id = HDFattrCreate(_fid,_name, _type, _size)) < 0)
throw HDFexception("Can't create attribute");
}
void HDFattribute::OpenOnDisk()
hdf_err ret;
if ((ret = HDFattrClose(_id)) < 0)
- throw HDFexception("Can't close dataset");
+ throw HDFexception("Can't close attribute");
}
void HDFattribute::WriteOnDisk(void *values)
hdf_err ret;
if ((ret = HDFattrWrite(_id,values)) < 0)
- throw HDFexception("Can't create group");
+ throw HDFexception("Can't write attribute");
}
void HDFattribute::ReadFromDisk(void *values)
hdf_type HDFattribute::GetType()
{
+ if (_type == HDF_NONE)
+ if ((_type = HDFattrGetType(_id)) == HDF_NONE)
+ throw HDFexception("Can't determine the type of data in the attribute");
+
return _type;
}
+
+size_t HDFattribute::GetSize()
+{
+ if(_size == 0) {
+ if((_size = HDFattrGetSize(_id)) < 0)
+ throw HDFexception("Can't determine the size of data in the attribute");
+ }
+ return _size;
+}
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFattribute.hxx
+// Module : SALOME
+
#ifndef HDFATTRIBUTE_HXX
#define HDFATTRIBUTE_HXX
HDFinternalObject *_father;
hdf_idt _fid;
hdf_type _type;
+ size_t _size;
public :
- HDFattribute(char *name,HDFinternalObject *father,hdf_type type);
+ HDFattribute(char *name,HDFinternalObject *father,hdf_type type, size_t size);
+ HDFattribute(char *name,HDFinternalObject *father);
void CreateOnDisk();
void OpenOnDisk();
HDFinternalObject *GetFather();
hdf_type GetType();
+ size_t GetSize();
};
#endif
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFcontainerObject.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFcontainerObject.hxx
+// Module : SALOME
+
#ifndef HDFCONTAINEROBJECT_HXX
#define HDFCONTAINEROBJECT_HXX
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFconvert.cc
+// Module : SALOME
+
using namespace std;
#include "HDFconvert.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFconvert.hxx
+// Module : SALOME
+
#ifndef HDFCONVERT_HXX
#define HDFCONVERT_HXX
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFdataset.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
#include <iostream.h>
+herr_t dataset_attr(hid_t loc_id, const char *attr_name, void *operator_data)
+{
+ *(char**)operator_data = new char[strlen(attr_name)+1];
+ strcpy(*(char**)operator_data, attr_name);
+ return 1;
+}
+
HDFdataset::HDFdataset(char *name, HDFcontainerObject *father,hdf_type type,
hdf_size dim[], int dimsize)
: HDFinternalObject(name)
_ndim = dimsize;
_dim = new hdf_size[dimsize];
_size = 1;
+ _attribute = NULL;
for (i=0;i<dimsize;i++)
{
_dim[i] = dim[i];
}
}
+
HDFdataset::HDFdataset(char *name,HDFcontainerObject *father)
: HDFinternalObject(name)
{
_ndim = -1;
_dim = 0;
_size = -1;
+ _attribute = NULL;
}
HDFdataset::~HDFdataset()
{
return HDF_DATASET;
}
+
+
+int HDFdataset::nAttributes()
+{
+ int nbAttrs = H5Aget_num_attrs(_id);
+ if(nbAttrs <= 0) nbAttrs = 0;
+ return nbAttrs;
+}
+
+
+char* HDFdataset::GetAttributeName(unsigned idx)
+{
+ int nbAttrs = nAttributes();
+ if(nbAttrs == 0) return NULL;
+ H5Aiterate(_id, &idx, dataset_attr, &_attribute);
+ return _attribute;
+}
+
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFdataset.hxx
+// Module : SALOME
+
#ifndef HDFDATASET_HXX
#define HDFDATASET_HXX
hdf_size *_dim;
int _size;
int _ndim;
+ char* _attribute;
public:
HDFdataset(char *name, HDFcontainerObject *father,hdf_type type,
hdf_size dim[],int dimsize);
+
HDFdataset(char *name,HDFcontainerObject *father);
virtual ~HDFdataset();
void GetDim(hdf_size dim[]);
int GetSize();
hdf_object_type GetObjectType();
+
+ int nAttributes();
+ char* GetAttributeName(unsigned idx);
};
#endif
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetClose.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetCreate.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
* - if success : returns dataset ID
* - if failure : -1
*/
+
hdf_idt HDFdatasetCreate(hdf_idt pid,char *name,hdf_type type,
hdf_size *dimd, int ndim)
{
switch(type)
{
case HDF_FLOAT64 :
+#ifdef PCLINUX
+ type_hdf = H5T_IEEE_F64BE;
+#else
type_hdf = H5T_IEEE_F64LE;
+#endif
break;
case HDF_INT32 :
- type_hdf = H5T_STD_I32LE;
+ type_hdf = H5T_NATIVE_INT;
break;
case HDF_INT64 :
- type_hdf = H5T_STD_I64LE;
+ type_hdf = H5T_NATIVE_LONG;
break;
case HDF_STRING :
return -1;
}
-if ((dataset = H5Dopen(pid,name)) < 0)
+ if ((dataset = H5Dopen(pid,name)) < 0)
{
-
- if ((dataspace = H5Screate_simple(ndim,dimd,NULL)) < 0)
+ if ((dataspace = H5Screate_simple(ndim, dimd, NULL)) < 0)
return -1;
- if ((dataset = H5Dcreate(pid,name,type_hdf,dataspace,
- H5P_DEFAULT)) < 0)
+ if ((dataset = H5Dcreate(pid,name,type_hdf,dataspace, H5P_DEFAULT)) < 0)
return -1;
}
else
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetGetDim.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include <hdf5.h>
#include "hdfi.h"
#include <stdlib.h>
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetGetSize.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include <hdf5.h>
#include "hdfi.h"
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetGetType.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
#include <hdf5.h>
type = HDF_NONE;
}
+ H5Tclose(type_id);
+
return type;
}
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetGetnDim.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
#include <hdf5.h>
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetOpen.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetRead.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFdatasetWrite.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFerrorModeLock.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFexception.hxx
+// Module : SALOME
+
/* Exception */
-#include <iostream.h>
+#include <iostream>
class HDFexception
{
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFexplorer.cc
+// Module : SALOME
+
using namespace std;
#include "HDFcontainerObject.hxx"
#include "HDFexception.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFexplorer.hxx
+// Module : SALOME
+
#ifndef HDFEXPLORER_HXX
#define HDFEXPLORER_HXX
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFfile.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
#include "HDFfile.hxx"
#include "HDFexception.hxx"
+herr_t file_attr(hid_t loc_id, const char *attr_name, void *operator_data)
+{
+ *(char**)operator_data = new char[strlen(attr_name)+1];
+ strcpy(*(char**)operator_data, attr_name);
+ return 1;
+}
+
HDFfile::HDFfile(char *name)
: HDFcontainerObject(name)
-{}
+{
+ _attribute = NULL;
+}
void HDFfile::CreateOnDisk()
{
return type;
}
+
+int HDFfile::nAttributes()
+{
+ int nbAttrs = H5Aget_num_attrs(_id);
+ if(nbAttrs <= 0) nbAttrs = 0;
+ return nbAttrs;
+}
+
+char* HDFfile::GetAttributeName(unsigned idx)
+{
+ int nbAttrs = nAttributes();
+ if(nbAttrs == 0) return NULL;
+ H5Aiterate(_id, &idx, file_attr, &_attribute);
+ return _attribute;
+}
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFfile.hxx
+// Module : SALOME
+
#ifndef HDFFILE_HXX
#define HDFFILE_HXX
{
private :
hdf_access_mode _access_mode;
+ char* _attribute;
public :
HDFfile(char *name);
void InternalObjectIndentify(int rank, char *object_name);
int ExistInternalObject(char *object_name);
hdf_object_type InternalObjectType(char *object_name);
+
+ int nAttributes();
+ char* GetAttributeName(unsigned idx);
};
#endif /* HDFFILE_HXX */
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFfileClose.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFfileCreate.c
+ Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFfileMount.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include <hdf5.h>
#include "hdfi.h"
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFfileOpen.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
* - Name : HDFfileOpen
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFfileUmount.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include <hdf5.h>
#include "hdfi.h"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFgroup.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
#include "HDFgroup.hxx"
#include "HDFexception.hxx"
+herr_t group_attr(hid_t loc_id, const char *attr_name, void *operator_data)
+{
+ *(char**)operator_data = new char[strlen(attr_name)+1];
+ strcpy(*(char**)operator_data, attr_name);
+ return 1;
+}
+
HDFgroup::HDFgroup(char *name, HDFcontainerObject *father)
: HDFcontainerObject(name)
{
_fid = _father->GetId();
_father->AddSon(this);
_mid = -1;
+ _attribute = NULL;
};
void HDFgroup::CreateOnDisk()
{
- if ((_id = HDFgroupCreate(_fid,_name)) < 0)
+ if ((_id = HDFgroupCreate(_fid,_name)) < 0)
throw HDFexception("Can't create group");
}
_mid = -1;
}
+
+int HDFgroup::nAttributes()
+{
+ int nbAttrs = H5Aget_num_attrs(_id);
+ if(nbAttrs <= 0) nbAttrs = 0;
+ return nbAttrs;
+}
+
+char* HDFgroup::GetAttributeName(unsigned idx)
+{
+ int nbAttrs = nAttributes();
+ if(nbAttrs == 0) return NULL;
+ H5Aiterate(_id, &idx, group_attr, &_attribute);
+ return _attribute;
+}
+
+
+
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFgroup.hxx
+// Module : SALOME
+
#ifndef HDFGROUP_HXX
#define HDFGROUP_HXX
HDFcontainerObject *_father;
hdf_idt _fid;
hdf_idt _mid;
+ char* _attribute;
public :
HDFgroup(char *name, HDFcontainerObject *father);
void InternalObjectIndentify(int rank, char *object_name);
int ExistInternalObject(char *object_name);
hdf_object_type InternalObjectType(char *object_name);
+
+ int nAttributes();
+ char* GetAttributeName(unsigned idx);
};
#endif /* HDFGROUP_HXX */
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFgroupClose.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFgroupCreate.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFgroupOpen.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFinternalObject.cc
+// Module : SALOME
+
using namespace std;
extern "C"
{
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFinternalObject.hxx
+// Module : SALOME
+
#ifndef HDFINTERNALOBJECT_HXX
#define HDFINTERNALOBJECT_HXX
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFnObjects.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
#include <stdlib.h>
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFobject.cc
+// Module : SALOME
+
using namespace std;
#include "HDFobject.hxx"
extern "C"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HDFobject.hxx
+// Module : SALOME
+
#ifndef HDFOBJECT_HXX
#define HDFOBJECT_HXX
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFobjectIdentify.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
/*
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFobjectType.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include "hdfi.h"
hdf_err
+/*----------------------------------------------------------------------------------
+ SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : HDFtypes.h
+ Module : SALOME
+----------------------------------------------------------------------------------*/
+
#ifndef HDFTYPES_H
#define HDFTYPES_H
-#==============================================================================
-# File : Makefile.in
-# Created : mar aug 10 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
HDFOI.hxx \
HDFtypes.h \
HDFconvert.hxx \
- hdfi.h
+ hdfi.h \
+ HDFascii.hxx
# Libraries targets
HDFattrWrite.c \
HDFattrCreate.c \
HDFattrRead.c \
+ HDFattrGetType.c \
+ HDFattrGetSize.c \
HDFerrorModeLock.c \
HDFnObjects.c \
HDFobjectIdentify.c \
HDFfile.cc \
HDFgroup.cc \
HDFexplorer.cc \
- HDFconvert.cc
+ HDFconvert.cc \
+ HDFascii.cc
#BIN = test9 test8
-CPPFLAGS+=-c -ansi $(HDF5_INCLUDES)
-LDFLAGS+= $(HDF5_LIBS)
+CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES) -DPCLINUX
+LDFLAGS+= $(OCC_LIBS) $(HDF5_LIBS)
@CONCLUDE@
+/*----------------------------------------------------------------------
+ SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+ File : hdfi.h
+ Module : SALOME
+ ----------------------------------------------------------------------*/
+
#ifndef HDFI_H
#define HDFI_H
hdf_err HDFattrClose(hdf_idt id);
extern
-hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type);
+hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type, size_t size);
extern
hdf_err HDFattrWrite(hdf_idt id,void *val);
extern
hdf_err HDFattrRead(hdf_idt id,void *val);
+extern
+hdf_type HDFattrGetType(hdf_idt id);
+
+extern
+hdf_type HDFattrGetSize(hdf_idt id);
+
/* HDF Tools */
extern
void HDFerrorModeLock();
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : test1.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include"hdfi.h"
#include<stdlib.h>
+/*----------------------------------------------------------------------------
+SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+
+ Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+ CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+
+ 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+
+
+
+ File : test2.c
+Module : SALOME
+----------------------------------------------------------------------------*/
+
#include"hdfi.h"
#include<stdlib.h>
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test3.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test4.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test5.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test6.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test7.cxx
+// Module : SALOME
+
using namespace std;
#include "HDFIO.hxx"
#include <iostream.h>
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test8.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
+// SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : test9.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include "HDFOI.hxx"
-#==============================================================================
-# File : LifeCycleCORBA.py
-# Created : mer oct 17 08:42:01 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME LifeCycleC RBA : implementation of containers and engines life cycle both in Python and C++
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : LifeCycleCORBA.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
import os
import sys
#-------------------------------------------------------------------------
def ContainerName(self, containerName):
+ theComputer = ""
try:
theComputer , theContainer = containerName.split('/')
except:
if path != "" :
rshstr = rshstr + path + "/../bin/"
else :
- rshstr = rshstr + os.getenv( "PWD" ) + "/"
+ rshstr = rshstr + os.getenv( "SALOME_ROOT_DIR" ) + "/bin/"
if theContainer == "FactoryServer" :
rshstr = rshstr + "./runSession ./SALOME_Container "
else :
rshstr = rshstr + "./runSession ./SALOME_ContainerPy.py '"
rshstr = rshstr + theContainer + " -"
- omniORBcfg = os.getenv( "HOME" ) + "/omniORB.cfg"
-# omniORBcfg = os.getenv( "HOME" ) + "/.omniORB.cfg"
+ omniORBcfg = os.getenv( "OMNIORB_CONFIG" )
file = os.open( omniORBcfg , os.O_RDONLY )
ORBInitRef = os.read(file,132)
if ORBInitRef[len(ORBInitRef)-1] == '\n' :
while aContainer is None :
time.sleep(1)
count = count - 1
- MESSAGE( count + ". Waiting for " + theComputer + "/" + theContainer )
+ MESSAGE( str(count) + ". Waiting for " + theComputer + "/" + theContainer )
aContainer = self.FindContainer( theComputer + "/" + theContainer )
if count == 0 :
return aContainer
-#==============================================================================
-# File : Makefile.in
-# Created : lun jui 2 20:32:24 CEST 2001
-# Author : Paul RASCLE, EDF - Marc Tajchman, CEA
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF - Marc Tajchman, CEA
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
SALOME_ModuleCatalog.idl
LDFLAGS += -lSalomeNS -lOpUtil -lSalomeLoggerServer
-CPPFLAGS += -I ../Logger
@CONCLUDE@
-using namespace std;
-//=============================================================================
-// File : SALOME_LifeCycleCORBA.cxx
-// Created : jeu jui 12 14:55:50 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_LifeCycleCORBA.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
#include <iostream>
#include <fstream>
-#include <strstream>
+#include <sstream>
#include <iomanip>
#include "OpUtil.hxx"
rsh += "SALOME_Container " ;
rsh += "FactoryServer -" ;
}
- string omniORBcfg( getenv( "HOME" ) ) ;
- omniORBcfg += "/.omniORB.cfg" ;
+ string omniORBcfg( getenv( "OMNIORB_CONFIG" ) ) ;
ifstream omniORBfile( omniORBcfg.c_str() ) ;
char ORBInitRef[12] ;
char nameservice[132] ;
-//=============================================================================
-// File : SALOME_LifeCycleCORBA.hxx
-// Created : jeu jui 12 14:55:45 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_LifeCycleCORBA.hxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
#ifndef _SALOME_LIFECYCLECORBA_HXX_
#define _SALOME_LIFECYCLECORBA_HXX_
Engines::Container_var _FactoryServer ;
private:
- string ContainerName( const char * aComputerContainer ,
- string * theComputer ,
- string * theContainer ) ;
- string ComputerPath( const char * theComputer ) ;
- Engines::Container_var FindOrStartContainer(const string aComputerContainer ,
- const string theComputer ,
- const string theContainer ) ;
+ std::string ContainerName( const char * aComputerContainer ,
+ std::string * theComputer ,
+ std::string * theContainer ) ;
+ std::string ComputerPath( const char * theComputer ) ;
+ Engines::Container_var FindOrStartContainer(const std::string aComputerContainer ,
+ const std::string theComputer ,
+ const std::string theContainer ) ;
} ;
-using namespace std;
-//=============================================================================
-// File : TestLifeCycleCORBA.cxx
-// Created : jeu jui 12 13:11:27 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : TestLifeCycleCORBA.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "utilities.h"
#include <iostream>
#include <unistd.h>
-//=============================================================================
-// File : InquireServersQThread.cxx
-// Created : Mon Oct 21 17:26:42 2002
-// Author : Vasily RUSYAEV
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : InquireServersQThread.cxx
+// Author : Vasily RUSYAEV
+// Module : SALOME
+// $Header$
using namespace std;
-
#include "InquireServersQThread.h"
#include <qlabel.h>
QString str = "Loading: ";
myMessages[0] = "Checking naming service...";
myMessages[1] = str + "SALOME_Registry_Server" + "...";
- myMessages[2] = str + "SALOMEDS_Server" + "...";
+ myMessages[2] = str + "SALOME_Container SuperVisionContainer" + "...";
myMessages[3] = str + "SALOME_ModuleCatalog_Server" + "...";
- myMessages[4] = str + "SALOME_Session_Server" + "...";
- myMessages[5] = "";
- myMessages[6] = "";
- myMessages[7] = "";
+ myMessages[4] = str + "SALOME_ContainerPy.py FactoryServerPy" + "...";
+ myMessages[5] = str + "SALOME_Container FactoryServer" + "...";
+ myMessages[6] = str + "SALOMEDS_Server" + "...";
+ myMessages[7] = str + "SALOME_Session_Server" + "...";
r->getArgs( _argc, &_argv);
- // NRI : Temporary solution for SuperVisionContainer
- for ( int i=1; i<=_argc; i++) {
- if (strcmp(_argv[i],"CPP")==0)
- myMessages[5] = str + "SALOME_Container FactoryServer" + "...";
- if (strcmp(_argv[i],"PYTHON")==0)
- myMessages[6] = str + "SALOME_ContainerPy.py FactoryServerPy" + "...";
- if (strcmp(_argv[i],"SUPERV")==0)
- myMessages[7] = str + "SALOME_Container SuperVisionContainer" + "...";
- }
}
void InquireServersQThread::run()
{
for (int i=1; i<=myServersCount; i++)
{
- if ( myMessages[i-1].isEmpty() ) continue;
QString *message = new QString(myMessages[i-1]);
QThread::postEvent( receiver, new InquireEvent( ( QEvent::Type )InquireEvent::ProgressEventLabel, message ) );
QThread::usleep(200000);
case 2:
//checking - existence of SALOME_Registry_Server
case 3:
- //checking - existence of SALOMEDS_Server
+ //checking - existence of SALOME_Container SuperVisionContainer
case 4:
//checking - existence of SALOME_ModuleCatalog_Server
case 5:
- //checking - existence of SALOME_Session_Server
+ //checking - existence of SALOME_ContainerPy.py FactoryServerPy
case 6:
//checking - existence of SALOME_Container FactoryServer
case 7:
- //checking - existence of SALOME_ContainerPy.py FactoryServerPy
+ //checking - existence of SALOMEDS_Server
case 8:
- //checking - existence of SALOME_Container SuperVisionContainer
+ //checking - existence of SALOME_Session_Server
+
+
IsPassed = pingServer(iteration, errDescription);
if (!IsPassed)
*errMessage = new QString(errDescription);
}
}
break;
- case 3:
- {
- CORBA::Object_var obj = NS.Resolve("/myStudyManager");
- SALOMEDS::StudyManager_var studyManager = SALOMEDS::StudyManager::_narrow(obj) ;
- if (!CORBA::is_nil(studyManager))
+ case 3:
+ {
+ string hostname = GetHostname();
+ string containerName = "/Containers/";
+ containerName += hostname;
+ containerName += "/SuperVisionContainer";
+
+ CORBA::Object_var obj = NS.Resolve(containerName.c_str());
+ Engines::Container_var SVcontainer = Engines::Container::_narrow(obj) ;
+ if (!CORBA::is_nil(SVcontainer))
{
- MESSAGE("/myStudyManager is found");
- studyManager->ping();
+ SVcontainer->ping();
result = true;
- MESSAGE("StudyManager was activated");
+ MESSAGE("SuperVisionContainer container was activated");
return result;
}
}
}
}
break;
- case 5:
+ case 8:
{
CORBA::Object_var obj = NS.Resolve("Kernel/Session");
SALOME::Session_var session = SALOME::Session::_narrow(obj) ;
}
}
break;
- case 7:
+ case 5:
{
string hostname = GetHostname();
string containerName = "/Containers/";
}
}
break;
- case 8:
- {
- string hostname = GetHostname();
- string containerName = "/Containers/";
- containerName += hostname;
- containerName += "/SuperVisionContainer";
-
- CORBA::Object_var obj = NS.Resolve(containerName.c_str());
- Engines::Container_var SVcontainer = Engines::Container::_narrow(obj) ;
- if (!CORBA::is_nil(SVcontainer))
+ case 7:
+ {
+ CORBA::Object_var obj = NS.Resolve("/myStudyManager");
+ SALOMEDS::StudyManager_var studyManager = SALOMEDS::StudyManager::_narrow(obj) ;
+ if (!CORBA::is_nil(studyManager))
{
- SVcontainer->ping();
+ MESSAGE("/myStudyManager is found");
+ studyManager->ping();
result = true;
- MESSAGE("SuperVisionContainer container was activated");
+ MESSAGE("StudyManager was activated");
return result;
}
}
case 2:
serverName = "SALOME_Registry_Server is not loaded. ";
break;
- case 3:
+ case 7:
serverName = "SALOMEDS_Server is not loaded. ";
break;
case 4:
serverName = "SALOME_ModuleCatalog_Server is not loaded. ";
break;
- case 5:
+ case 8:
serverName = "SALOME_Session_Server is not loaded. ";
break;
case 6:
serverName = "SALOME_Container FactoryServer is not loaded. ";
break;
- case 7:
+ case 5:
serverName = "SALOME_ContainerPy.py FactoryServerPy is not loaded. ";
break;
- case 8:
+ case 3:
serverName = "SALOME_Container SuperVisionContainer is not loaded. ";
break;
}
QString dir;
char* cenv;
- // Try ${SALOME_ROOT_DIR}/share/salome/resources directory
- cenv = getenv( "KERNEL_ROOT_DIR" );
- if ( cenv ) {
- dir.sprintf( "%s", cenv );
- if ( !dir.isEmpty() ) {
- dir = addSlash(dir) ;
- dir = dir + "share" ;
- dir = addSlash(dir) ;
- dir = dir + "salome" ;
- dir = addSlash(dir) ;
- dir = dir + "resources" ;
- dir = addSlash(dir) ;
- QFileInfo fileInfo( dir + filename );
- if ( fileInfo.isFile() && fileInfo.exists() )
- return fileInfo.filePath();
- }
- }
// Try CSF_ResourcesDefaults env.var directory ( or directory list )
cenv = getenv( "CSF_ResourcesDefaults" );
if ( cenv ) {
-//=============================================================================
-// File : InquireServersQThread.h
-// Created : Mon Oct 21 17:26:42 2002
-// Author : Vasily RUSYAEV
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : InquireServersQThread.h
+// Author : Vasily RUSYAEV
+// Module : SALOME
+// $Header$
#include <qapplication.h>
#include <qthread.h>
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:59:20 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
@COMMENCE@
# Executables targets
-BIN = SALOME_Session_Loader
+BIN = SALOME_Session_loader
BIN_MOC = InquireServersQThread.h
BIN_SRC = InquireServersQThread.cxx
SALOME_Component.idl \
SALOME_ModuleCatalog.idl \
SALOME_Registry.idl \
- SALOME_Exception.idl
-
+ SALOME_Exception.idl
CPPFLAGS+=$(QT_MT_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
--- /dev/null
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOME_Session_loader.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+
+using namespace std;
+/*! \file SALOME_Session_loader.cxx
+ */
+
+#include <SALOMEconfig.h>
+#include CORBA_CLIENT_HEADER(SALOME_Session)
+
+#include "Utils_ORB_INIT.hxx"
+#include "Utils_SINGLETON.hxx"
+#include "SALOME_NamingService.hxx"
+#include "utilities.h"
+
+//! CORBA client for SALOME Session server : launch GUI
+/*!
+ * SALOME_Session Loader launches a SALOME GUI on the SALOME session servant process
+ */
+
+#include <qapplication.h>
+#include "InquireServersQThread.h"
+
+int main(int argc, char **argv)
+{
+//VRV: T2.4 - Trace management improvement
+ QApplication myQApp(argc, argv) ;
+ InquireServersGUI myIS;
+ myQApp.setMainWidget(&myIS);
+ ASSERT(QObject::connect(&myQApp, SIGNAL(lastWindowClosed()), &myQApp, SLOT(quit()) ) );
+ myIS.show();
+ myQApp.exec();
+
+ if (myIS.getExitStatus())
+ exit(1);
+//VRV: T2.4 - Trace management improvement
+ try
+ {
+ CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv) ;
+
+ SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
+ ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting()) ;
+ NS.init_orb( orb ) ;
+
+ CORBA::Object_var obj = NS.Resolve("/Kernel/Session");
+
+ SALOME::Session_var session = SALOME::Session::_narrow(obj) ;
+ ASSERT(! CORBA::is_nil(session));
+ MESSAGE("SALOME::Session::_narrow(obj)");
+ INFOS("Corba initialisation, Distant server");
+
+ // -------------------------------------------------------------
+
+ session->GetInterface() ;
+
+ // -------------------------------------------------------------
+
+ orb->destroy() ;
+ }
+ catch (ServiceUnreachable&)
+ {
+ INFOS("Caught exception: Naming Service Unreachable");
+ }
+ catch (CORBA::COMM_FAILURE&)
+ {
+ INFOS("Caught CORBA::SystemException CommFailure.");
+ }
+ catch (CORBA::SystemException&)
+ {
+ INFOS("Caught CORBA::SystemException.");
+ }
+ catch (CORBA::Exception&)
+ {
+ INFOS("Caught CORBA::Exception.");
+ }
+ catch (...)
+ {
+ INFOS("Caught unknown exception.");
+ }
+ return 0 ;
+}
+
+
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:59:20 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME Logger : CORBA server managing trace output
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-//=============================================================================
-// File : SALOME_Logger_Server.cxx
-// Created : nov 18 10:28:17 2002
-// Author : Vasily Rusyaev
-// Project : SALOME/PRO
-//=============================================================================
-
-// SALOME_Logger_Server.cxx: implementation of the SALOME_Logger_Server class.
+// SALOME Logger : CORBA server managing trace output
//
-//////////////////////////////////////////////////////////////////////
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOME_Logger_Server.cxx
+// Author : Vasily Rusyaev
+// Module : SALOME
+using namespace std;
#include <iostream>
#include "SALOME_Logger_Server.hxx"
-//=============================================================================
-// File : SALOME_Logger_Server.hxx
-// Created : nov 18 10:28:17 2002
-// Author : Vasily Rusyaev
-// Project : SALOME/PRO
-//=============================================================================
-
-// SALOME_Logger_Server.hxx: interface for the SALOME_Logger_Server class.
+// SALOME Logger : CORBA server managing trace output
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
//
-//////////////////////////////////////////////////////////////////////
+// File : SALOME_Logger_Server.hxx
+// Author : Vasily Rusyaev
+// Module : SALOME
#if !defined SALOME_Logger_Server_include
#define SALOME_Logger_Server_include
-using namespace std;
-//=============================================================================
-// File : SALOME_Logger.cxx
-// Created : nov 18 10:28:17 2002
-// Author : Vasily Rusyaev
-// Project : SALOME/PRO
-//=============================================================================
-
-// SALOME_Trace.cxx: implementation of the SALOME_Logger class.
+// SALOME Logger : CORBA server managing trace output
//
-//////////////////////////////////////////////////////////////////////
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOME_Logger.cxx
+// Author : Vasily Rusyaev
+// Module : SALOME
+using namespace std;
#include "SALOME_Trace.hxx"
#include <memory.h>
#include <string>
-//=============================================================================
-// File : SALOME_Trace.cxx
-// Created : nov 18 10:28:17 2002
-// Author : Vasily Rusyaev
-// Project : SALOME/PRO
-//=============================================================================
-
-// SALOME_Trace.hxx: interface for the SALOME_Trace class.
+// SALOME Logger : CORBA server managing trace output
//
-//////////////////////////////////////////////////////////////////////
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOME_Trace.cxx
+// Author : Vasily Rusyaev
+// Module : SALOME
#if !defined(AFX_LOGGER_H__96F2A3AB_F6F8_11D6_BFA6_000476A0958C__INCLUDED_)
#define AFX_LOGGER_H__96F2A3AB_F6F8_11D6_BFA6_000476A0958C__INCLUDED_
# endif /* WNT */
+using namespace std;
+
#include <strstream.h>
#include "Logger.hh"
public:
virtual ~SALOME_Trace();
static Standard_EXPORT SALOME_Trace& Instance();
- Standard_EXPORT void putMessage(ostream& msg);
+ Standard_EXPORT void putMessage(std::ostream& msg);
protected:
//disable creation of instances. It's necessary to use static SALOME_Logger& Instance()
SALOME_Trace();
+# SALOME Logger : CORBA server managing trace output
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : SALOME_Trace.py
+# Module : SALOME
+
import sys
import CosNaming
from omniORB import CORBA
+// SALOME MPIContainer : implemenation of container based on MPI libraries
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : MPIContainer_i.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream.h>
#include <dlfcn.h>
+// SALOME MPIContainer : implemenation of container based on MPI libraries
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : MPIContainer_i.hxx
+// Module : SALOME
+
#ifndef _SALOME_PCONTAINER_
#define _SALOME_PCONTAINER_
+// SALOME MPIContainer : implemenation of container based on MPI libraries
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : MPIObject_i.cxx
+// Module : SALOME
+
using namespace std;
#include "MPIObject_i.hxx"
#include "utilities.h"
+// SALOME MPIContainer : implemenation of container based on MPI libraries
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : MPIObject_i.hxx
+// Module : SALOME
+
#ifndef _SALOME_POBJECT_I_H_
#define _SALOME_POBJECT_I_H_
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME MPIContainer : implemenation of container based on MPI libraries
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
+// SALOME MPIContainer : implemenation of container based on MPI libraries
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_MPIContainer.cxx
+// Module : SALOME
+
using namespace std;
#include <iostream>
#include "MPIContainer_i.hxx"
-# source path
+# SALOME MSG2QM : duplication of Qt tool
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
+// SALOME MSG2QM : duplication of Qt tool
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : msg2qm.cxx
+// Module : SALOME
+
using namespace std;
/****************************************************************************
** $Id$
-# -* Makefile *-
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-# $Header$
#
+# File : Makefile.in
+# Author : Patrick GOLDBRONN (CEA)
+# Module : SALOME
+# $Header$
-# source path
top_srcdir=@top_srcdir@
-top_builddir=..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@
SUBDIRS = MSG2QM Logger Utils PatchQt NamingService Registry ModuleCatalog DataTypeCatalog \
RessourcesCatalog Notification NOTIFICATION_SWIG Container TestContainer LifeCycleCORBA \
- HDFPersist OBJECT SALOMEDS SALOMEGUI Plot2d VTKViewer OCCViewer SUPERVGraph Session \
+ HDFPersist OBJECT TOOLSDS SALOMEDS SALOMEGUI Plot2d VTKViewer OCCViewer SUPERVGraph Session \
SALOME_SWIG TOOLSGUI SALOME_PY RegistryDisplay ModuleGenerator \
- SALOME_PYQT
+ SALOME_PYQT Loader
ifeq (@WITHMPICH@,yes)
SUBDIRS+= MPIContainer
-#==============================================================================
-# File : Makefile.in
-# Created : mer jui 11 06:50:44 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
CPPFLAGS+= $(QT_MT_INCLUDES)
CXXFLAGS+= -ftemplate-depth-42
-LDFLAGS+= $(QT_MT_LIBS) $(OGL_LIBS) -lSalomeNS -lOpUtil -lSalomeLoggerServer
+LDFLAGS+= $(QT_MT_LIBS) -lSalomeNS -lOpUtil -lSalomeLoggerServer
@CONCLUDE@
-// File: PathPrefix.hxx
-// Created: Thu Jul 05 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : PathPrefix.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef PATH_PREFIX_H
#define PATH_PREFIX_H
-using namespace std;
-// File: SALOME_ModuleCatalog_Acomponent_impl.cxx
-// Created: Tue June 28 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
-
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Acomponent_impl.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOME_ModuleCatalog_Acomponent_impl.hxx"
//----------------------------------------------------------------------
-// File: SALOME_ModuleCatalog_Acomponent_impl.hxx
-// Created: Tue June 28 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
-
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Acomponent_impl.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef ACOMPONENT_IMPL_H
#define ACOMPONENT_IMPL_H
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Client.cxx
+// Module : SALOME
+
using namespace std;
/* $Header$ */
-using namespace std;
-// File: SALOME_ModuleCatalog_Handler.cxx
-// Created: Tue June 27 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Handler.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+using namespace std;
#define WRITE_CATA_COMPONENT
#include "SALOME_ModuleCatalog_Handler.hxx"
//----------------------------------------------------------------------
bool SALOME_ModuleCatalog_Handler::characters(const QString& chars)
{
- content = chars ;
+ content = (const char*)chars ;
return true;
}
-// File: SALOME_ModuleCatalog_Handler.hxx
-// Created: Tue June 27 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Handler.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef SALOME_CATALOG_HANDLER_H
#define SALOME_CATALOG_HANDLER_H
-// File: SALOME_ModuleCatalog_Parser.hxx
-// Created: Tue June 25 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Parser.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef SALOME_CATALOG_PARSER_H
#define SALOME_CATALOG_PARSER_H
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_Server.cxx
+// Module : SALOME
+
using namespace std;
/* $Header$ */
#include <iostream.h>
#include "SALOME_ModuleCatalog_impl.hxx"
#include "utilities.h"
+//#define CHECKTIME
+#ifdef CHECKTIME
+#include <Utils_Timer.hxx>
+#endif
+
int main(int argc,char **argv)
{
try {
// register Catalog in Naming Service
_NS->Register(myCata ,"/Kernel/ModulCatalog");
- MESSAGE("Running CatalogServer.")
+ MESSAGE("Running CatalogServer.");
+#ifdef CHECKTIME
+ Utils_Timer timer;
+ timer.Start();
+ timer.Stop();
+ MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
+ timer.ShowAbsolute();
+#endif
orb->run();
poa->destroy(1,1);
-using namespace std;
-// File: SALOME_ModuleCatalog_impl.cxx
-// Created: Tue June 28 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_impl.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOME_ModuleCatalog_impl.hxx"
#include "SALOME_ModuleCatalog_Acomponent_impl.hxx"
#include <fstream>
-// File: SALOME_ModuleCatalog_impl.hxx
-// Created: Tue June 28 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
-
+// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ModuleCatalog_impl.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef MODULECATALOG_IMPL_H
#define MODULECATALOG_IMPL_H
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : IDLparser.py
+# Module : SALOME
+
import string, sys, fpformat, re, os
import xml.sax
import pdb
-#==============================================================================
-# File : Makefile.in
-# Created : 24 apr 2002
-# Author : Marc Tajchman
-# Project : SALOME
-# Copyright : CEA
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Marc Tajchman
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-//=============================================================================
-// File : AddComponent.idl
-// Created : jeu jui 12 12:08:17 CEST 2001
-// Author :
-// Project : SALOME
-// /export/home/CVS/SALOME_ROOT/idl/AddComponent.idl,v 1.2 2001/12/11 16:27:31 rahuel Exp
-//=============================================================================
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : AddComponent.idl
+// Author :
+// Module : SALOME
#ifndef _ADDCOMPONENT_IDL
#define _ADDCOMPONENT_IDL
-//=============================================================================
-// File : AddComponent.idl
-// Created : jeu jui 12 12:08:17 CEST 2001
-// Author :
-// Project : SALOME
-// /export/home/CVS/SALOME_ROOT/idl/AddComponent.idl,v 1.2 2001/12/11 16:27:31 rahuel Exp
-//=============================================================================
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : AddComponent.idl
+// Author :
+// Module : SALOME
#ifndef _ADDCOMPONENT_IDL
#define _ADDCOMPONENT_IDL
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test1.sh
+# Module : SALOME
echo "test1:
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test1b.sh
+# Module : SALOME
echo "test6:
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test2.sh
+# Module : SALOME
echo "test2:
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test3.sh
+# Module : SALOME
echo "test3:
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test4.sh
+# Module : SALOME
echo "test4:
#!/bin/bash
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : test5.sh
+# Module : SALOME
echo "test4:
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-// File : NOTIFICATION.i
-// Created : 10 Juin 2002
-// Author : Francis KLOSS
-// Project : SALOME
-// Module : Notification
-// Copyright : Open CASCADE
+// SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION.i
+// Author : Francis KLOSS
+// Module : SALOME
%module libNOTIFICATION
-using namespace std;
-// File : NOTIFICATION_Swig.cxx
-// Created : 10 Juin 2002
-// Author : Francis KLOSS
-// Project : SALOME
-// Module : Notification Swig
-// Copyright : Open CASCADE
+// SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Swig.cxx
+// Author : Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "NOTIFICATION_Swig.hxx"
// Swig notification supplier
-// File : NOTIFICATION_Swig.hxx
-// Created : 10 Juin 2002
-// Author : Francis KLOSS
-// Project : SALOME
-// Module : Notification Swig
-// Copyright : Open CASCADE
-using namespace std;
+// SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Swig.hxx
+// Author : Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "NOTIFICATION.hxx"
class NOTIFICATION_Supplier_Swig {
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME NamingService : wrapping NamingService services
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-// File: SALOME_NamingService.cxx
-// Created: Tue June 12 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME NamingService : wrapping NamingService services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NamingService.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
-//----------------------------------------------------------------------
+using namespace std;
#include "SALOME_NamingService.hxx"
#include "ServiceUnreachable.hxx"
#include <iostream>
CosNaming::Binding_var _binding ;
CosNaming::NamingContext_var _ref_context = _current_context;
_current_context->list(nb, _binding_list, _binding_iterator) ;
+ if (_binding_iterator->_is_nil()) return _list;
while (_binding_iterator->next_one(_binding)) {
CosNaming::Name _bindingName = _binding->binding_name;
-// File: SALOME_NamingService.hxx
-// Created: Tue June 12 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+// SALOME NamingService : wrapping NamingService services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NamingService.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef SALOME_NAMINGSERVICE_H
#define SALOME_NAMINGSERVICE_H
#include "utilities.h"
+//#include <omniORB4/CORBA.h>
#include <omniORB3/CORBA.h>
#include <vector>
#include <string>
-//=============================================================================
-// File : SALOME_NamingService.i
-// Created : mer aoû 29 11:26:49 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME NamingService : wrapping NamingService services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NamingService.i
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
-//%module SALOME_NamingService
%{
#include "SALOME_NamingService.hxx"
+//#include <omniORB4/CORBA.h>
#include <omniORB3/CORBA.h>
#include "ServiceUnreachable.hxx"
%}
#! /usr/bin/env python
-
-#=============================================================================
-# File : SALOME_NamingServicePy.py
-# Created : lun oct 15 14:55 CEST 2001
-# Author : Estelle Deville, CEA
-# Project : SALOME
-# Copyright : CEA 2001
-# $Header$
-#=============================================================================
+#
+# SALOME NamingService : wrapping NamingService services
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOME_NamingServicePy.py
+# Author : Estelle Deville, CEA
+# Module : SALOME
+# $Header$
import sys
from omniORB import CORBA
+// SALOME NamingService : wrapping NamingService services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ServiceUnreachable.cxx
+// Module : SALOME
+
using namespace std;
#include "ServiceUnreachable.hxx"
-//=============================================================================
-// File : ServiceUnreachable.hxx
-// Created : mer jun 27 16:20:39 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME NamingService : wrapping NamingService services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ServiceUnreachable.hxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#if !defined ( SERVICEUNREACHABLE_H )
#define SERVICEUNREACHABLE_H
-// -*- Mode: C++; -*-
-
-// This file includes the four relevant .hh files and shorthands
-// for the 4 module names and the elts of the modules.
-
-// The shortdhands allow us to avoid the use of M::x to name elt
-// x of module M (we use M_x instead). This is needed to deal with
-// compilers that do not support namespaces.
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : CosNotifyShorthands.h
+// Module : SALOME
#ifndef _COS_NOTIFY_H_
#define _COS_NOTIFY_H_
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME Notification : wrapping of Notification service services
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-// File : NOTIFICATION.cxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification General
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION.cxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "NOTIFICATION.hxx"
using namespace std;
-// File : NOTIFICATION.hxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION.hxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
#ifndef NOTIFICATION_HXX
#define NOTIFICATION_HXX
-using namespace std;
-// File : NOTIFICATION_Consumer.cxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification Consumer
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Consumer.cxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "NOTIFICATION.hxx"
NOTIFICATION_Consumer::NOTIFICATION_Consumer():
-// File : NOTIFICATION_Consumer.hxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification Consumer
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Consumer.hxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
#ifndef NOTIFICATION_Consumer_HXX
#define NOTIFICATION_Consumer_HXX
-using namespace std;
-// File : NOTIFICATION_Supplier.cxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification Supplier
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Supplier.cxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "NOTIFICATION.hxx"
long NOTIFICATION_Supplier::_stamp = 0;
-// File : NOTIFICATION_Supplier.hxx
-// Created : 1 Avril 2002
-// Author : Laurent DADA / Francis KLOSS
-// Project : SALOME
-// Module : Notification Supplier
-// Copyright : CEA / Open CASCADE
+// SALOME Notification : wrapping of Notification service services
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : NOTIFICATION_Supplier.hxx
+// Author : Laurent DADA / Francis KLOSS
+// Module : SALOME
#ifndef NOTIFICATION_Supplier_HXX
#define NOTIFICATION_Supplier_HXX
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_AISObject.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_AISObject_HeaderFile
#define _Handle_SALOME_AISObject_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_AISShape.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_AISShape_HeaderFile
#define _Handle_SALOME_AISShape_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_InteractiveObject.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_InteractiveObject_HeaderFile
#define _Handle_SALOME_InteractiveObject_HeaderFile
-# source path
+# SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
EXPORT_HEADERS = SALOME_InteractiveObject.hxx \
Handle_SALOME_InteractiveObject.hxx \
SALOME_Actor.h \
+ SALOME_Transform.h \
SALOME_AISShape.hxx \
Handle_SALOME_AISShape.hxx \
SALOME_AISObject.hxx \
- Handle_SALOME_AISObject.hxx
+ Handle_SALOME_AISObject.hxx \
+ VTKViewer_Common.h
# Libraries targets
LIB = libSalomeObject.la
LIB_SRC = SALOME_InteractiveObject.cxx \
SALOME_Actor.cxx \
+ SALOME_Transform.cxx \
SALOME_AISShape.cxx\
SALOME_AISObject.cxx
-using namespace std;
-// File : SALOME_AISObject.hxx
-// Created : Thu Feb 21 14:37:54 CET 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOME
-// Copyright : Open CASCADE 2002
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISObject.hxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOME_AISObject.ixx"
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_AISObject.hxx
+// Module : SALOME
+
#ifndef _SALOME_AISObject_HeaderFile
#define _SALOME_AISObject_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISObject.ixx
+// Module : SALOME
+
#include "SALOME_AISObject.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISObject.jxx
+// Module : SALOME
+
#ifndef _SALOME_InteractiveObject_HeaderFile
#include "SALOME_InteractiveObject.hxx"
#endif
-using namespace std;
-// File : SALOME_AISShape.hxx
-// Created : Thu Feb 21 14:37:54 CET 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOME
-// Copyright : Open CASCADE 2002
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISShape.hxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOME_AISShape.ixx"
SALOME_AISShape::SALOME_AISShape(const TopoDS_Shape& shape): AIS_Shape(shape) {
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_AISShape.hxx
+// Module : SALOME
+
#ifndef _SALOME_AISShape_HeaderFile
#define _SALOME_AISShape_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISShape.ixx
+// Module : SALOME
+
#include "SALOME_AISShape.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_AISShape.jxx
+// Module : SALOME
+
#ifndef _SALOME_InteractiveObject_HeaderFile
#include "SALOME_InteractiveObject.hxx"
#endif
-using namespace std;
-// File : SALOME_Actor.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OBJECT
-// Copyright : Open CASCADE 2002
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Actor.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class SALOME_Actor SALOME_Actor.h
\brief Abstract class of SALOME Objects in VTK.
*/
#include "SALOME_Actor.h"
-
+
// SALOME Includes
#include "utilities.h"
// VTK Includes
#include <vtkObjectFactory.h>
-#include <vtkMergePoints.h>
-
-
-void SALOME_Actor::ShallowCopy(vtkProp *prop)
-{
- // Now do superclass
- this->vtkActor::ShallowCopy(prop);
-}
+#include <vtkDataSetMapper.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkGeometryFilter.h>
+#include <vtkTransformPolyDataFilter.h>
void SALOME_Actor::Render(vtkRenderer *ren, vtkMapper *Mapper )
{
this->Mapper->ReleaseGraphicsResources(renWin);
}
-// void SALOME_Actor::ApplyScaling ( vtkMapper* newMapper, bool recover = false )
-// {
-// if ( recover && m_Isometric )
-// {
-// SetMapper ( m_Isometric );
-// m_Isometric = NULL;
-// }
-// else
-// if ( m_Isometric == NULL )
-// {
-// m_Isometric = GetMapper();
-// SetMapper(newMapper);
-// }
-// }
-
-void SALOME_Actor::SetMapper ( vtkMapper* newMapper )
-{
- if ( m_Initial == NULL && Mapper != NULL )
- {
- m_Initial = GetMapper();
- }
- vtkLODActor::SetMapper(newMapper);
+void SALOME_Actor::AddToRender(vtkRenderer* theRenderer){
+ theRenderer->AddActor(this);
}
-SALOME_Actor::SALOME_Actor()
-{
- m_Initial = NULL;
+void SALOME_Actor::RemoveFromRender(vtkRenderer* theRenderer){
+ theRenderer->RemoveActor(this);
+}
+
+vtkPolyData* SALOME_Actor::GetPolyDataInput(){
+ return myPassFilter[3]->GetPolyDataOutput();
+}
+
+void SALOME_Actor::SetMapper(vtkMapper* theMapper){
+ if(theMapper){
+ myPassFilter[0]->SetInput(theMapper->GetInput());
+ myPassFilter[0]->Update();
+ myPassFilter[1]->SetInput(myPassFilter[0]->GetPolyDataOutput());
+ myPassFilter[1]->Update();
+ myTransformFilter->SetInput(myPassFilter[1]->GetPolyDataOutput());
+ myPassFilter[2]->SetInput(myTransformFilter->GetOutput());
+ myPassFilter[2]->Update();
+ myPassFilter[3]->SetInput(myPassFilter[2]->GetPolyDataOutput());
+ myPassFilter[3]->Update();
+ if(vtkDataSetMapper* aMapper = dynamic_cast<vtkDataSetMapper*>(theMapper))
+ aMapper->SetInput(myPassFilter[3]->GetOutput());
+ else if(vtkPolyDataMapper* aMapper = dynamic_cast<vtkPolyDataMapper*>(theMapper))
+ aMapper->SetInput(myPassFilter[3]->GetPolyDataOutput());
+ }
+ vtkLODActor::SetMapper(theMapper);
+}
+
+void SALOME_Actor::SetTransform(SALOME_Transform* theTransform){
+ myTransformFilter->SetTransform(theTransform);
+ myTransformFilter->Modified();
+}
+
+SALOME_Actor::SALOME_Actor(){
PreviewProperty = NULL;
+ myTransformFilter = SALOME_TransformFilter::New();
+ myPassFilter.push_back(SALOME_PassThroughFilter::New());
+ myPassFilter.push_back(SALOME_PassThroughFilter::New());
+ myPassFilter.push_back(SALOME_PassThroughFilter::New());
+ myPassFilter.push_back(SALOME_PassThroughFilter::New());
}
-SALOME_Actor::~SALOME_Actor()
-{
- if ( m_Initial != NULL )
- m_Initial->Delete();
- if ( PreviewProperty != NULL )
- PreviewProperty->Delete();
+
+SALOME_Actor::~SALOME_Actor(){
+ SetPreviewProperty(NULL);
+ for(int i = 0, iEnd = myPassFilter.size(); i < iEnd; i++)
+ if(myPassFilter[i] != NULL)
+ myPassFilter[i]->Delete();
}
-// File : SALOME_Actor.h
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOME
-// Copyright : Open CASCADE 2002
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Actor.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef SALOME_ACTOR_H
#define SALOME_ACTOR_H
// SALOME Includes
+#include "SALOME_Transform.h"
+#include "SALOME_InteractiveObject.hxx"
#ifndef _Handle_SALOME_InteractiveObject_HeaderFile
-#include <Handle_SALOME_InteractiveObject.hxx>
+#include "Handle_SALOME_InteractiveObject.hxx"
#endif
-#include "SALOME_InteractiveObject.hxx"
-//VTK Includes
-#include <vtkLODActor.h>
+#include <vector.h>
+#include "VTKViewer_Common.h"
class SALOME_Actor : public vtkLODActor
{
// resources to release.
virtual void ReleaseGraphicsResources(vtkWindow *);
- virtual void ShallowCopy(vtkProp *prop);
-
virtual Standard_Boolean hasIO() { return !myIO.IsNull(); }
virtual Handle_SALOME_InteractiveObject getIO() { return myIO; }
- void setIO(const Handle(SALOME_InteractiveObject)& io) { myIO = io; }
+ virtual void setIO(const Handle(SALOME_InteractiveObject)& io) { myIO = io; }
virtual Standard_CString getName() { return myName; }
- virtual void setName(Standard_CString aName)
- {
- myName = aName;
- if ( hasIO() )
- myIO->setName(aName);
- }
+ virtual void setName(Standard_CString aName){
+ myName = aName;
+ if(hasIO()) myIO->setName(aName);
+ }
virtual int getDisplayMode() { return myDisplayMode; }
virtual void setDisplayMode(int mode) { myDisplayMode = mode; }
virtual void SetColor(float r,float g,float b) {};
virtual void GetColor(float& r,float& g,float& b) {};
- virtual void SetPreviewProperty(vtkProperty* Prop) { PreviewProperty = Prop; }
+ vtkSetObjectMacro(PreviewProperty,vtkProperty);
virtual void SetPreSelected(Standard_Boolean presel = Standard_False) { ispreselected = presel; }
// Used to obtain all dependent actors
virtual void GetChildActors(vtkActorCollection*) {};
- //virtual void ApplyScaling ( vtkMapper* newMapper, bool recover = false );
- virtual void SetMapper ( vtkMapper* newMapper );
- virtual vtkMapper* GetInitialMapper() { return m_Initial; }
+ virtual void AddToRender(vtkRenderer* theRenderer);
+ virtual void RemoveFromRender(vtkRenderer* theRenderer);
+
+ virtual vtkPolyData* GetPolyDataInput();
+ virtual void SetMapper(vtkMapper* theMapper);
+ virtual void SetTransform(SALOME_Transform* theTransform);
protected:
vtkProperty *PreviewProperty;
Standard_Boolean ishighlighted;
int myDisplayMode;
- vtkMapper* m_Initial;
+ SALOME_Transform *myTransform;
+ std::vector<SALOME_PassThroughFilter*> myPassFilter;
+ SALOME_TransformFilter *myTransformFilter;
};
#endif // SALOME_ACTOR_H
-using namespace std;
-// File : SALOME_InteractiveObject.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOME
-// Copyright : Open CASCADE 2002
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_InteractiveObject.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class SALOME_InteractiveObject SALOME_InteractiveObject.hxx
\brief ...
-// File generated by CPPExt (Transient)
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_InteractiveObject.hxx
+// Module : SALOME
+
#ifndef _SALOME_InteractiveObject_HeaderFile
#define _SALOME_InteractiveObject_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_InteractiveObject.ixx
+// Module : SALOME
+
#include "SALOME_InteractiveObject.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME OBJECT : implementation of interactive object visualization for OCC and VTK viewers
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_InteractiveObject.jxx
+// Module : SALOME
+
#ifndef _SALOME_InteractiveObject_HeaderFile
#include "SALOME_InteractiveObject.hxx"
#endif
--- /dev/null
+// File: SALOME_Transform.cxx
+// Created: Wed Jun 4 09:46:59 2003
+// Author: Alexey PETROV
+// <apo@ivanox.nnov.matra-dtv.fr>
+
+
+#include "SALOME_Transform.h"
+#include "VTKViewer_Common.h"
+#include <vtkObjectFactory.h>
+#include <vtkGeometryFilter.h>
+#include <vtkMatrix4x4.h>
+using namespace std;
+
+//=======================================================================
+
+SALOME_Transform* SALOME_Transform::New(){
+ vtkObject* ret = vtkObjectFactory::CreateInstance("SALOME_Transform");
+ if(ret) return (SALOME_Transform*)ret;
+ return new SALOME_Transform;
+}
+
+void SALOME_Transform::SetScale(float theScaleX, float theScaleY, float theScaleZ){
+ double aMatrix[16] = {theScaleX,0,0,0,
+ 0,theScaleY,0,0,
+ 0,0,theScaleZ,0,
+ 0,0,0,1.0000000};
+ vtkTransform::SetMatrix(aMatrix);
+ //vtkTransform::Pop();
+ //vtkTransform::Scale(theScale);
+}
+
+int SALOME_Transform::IsIdentity(){
+ float* aScale = GetScale();
+ return (aScale[0] == 1.0 && aScale[1] == 1.0 && aScale[2] == 1.0);
+}
+
+//=======================================================================
+
+SALOME_TransformFilter* SALOME_TransformFilter::New(){
+ vtkObject* ret = vtkObjectFactory::CreateInstance("SALOME_TransformFilter");
+ if(ret) return (SALOME_TransformFilter*)ret;
+ return new SALOME_TransformFilter;
+}
+
+void SALOME_TransformFilter::Execute(){
+ vtkPoints *inPts;
+ vtkPoints *newPts;
+ int numPts, numCells;
+ vtkPointSet *input = this->GetInput();
+ vtkPointSet *output = this->GetOutput();
+ vtkPointData *pd=input->GetPointData(), *outPD=output->GetPointData();
+ vtkCellData *cd=input->GetCellData(), *outCD=output->GetCellData();
+ output->CopyStructure( input );
+ int anIdentity = 0;
+ if(SALOME_Transform* aTransform = dynamic_cast<SALOME_Transform*>(this->Transform))
+ anIdentity = aTransform->IsIdentity();
+ if(!anIdentity && this->Transform != NULL){
+ inPts = input->GetPoints();
+ if(!inPts){
+ vtkErrorMacro(<<"No input data");
+ return;
+ }
+ numPts = inPts->GetNumberOfPoints();
+ numCells = input->GetNumberOfCells();
+ newPts = vtkPoints::New();
+ newPts->Allocate(numPts);
+ this->UpdateProgress(.2);
+ this->Transform->TransformPoints(inPts,newPts);
+ this->UpdateProgress(.8);
+ output->SetPoints(newPts);
+ newPts->Delete();
+ }
+ outPD->PassData(pd);
+ outCD->PassData(cd);
+}
+
+//=======================================================================
+
+SALOME_PassThroughFilter* SALOME_PassThroughFilter::New(){
+ vtkObject* ret = vtkObjectFactory::CreateInstance("SALOME_PassThroughFilter");
+ if(ret) return (SALOME_PassThroughFilter*)ret;
+ return new SALOME_PassThroughFilter;
+}
+
+SALOME_PassThroughFilter::SALOME_PassThroughFilter(){
+ myGeomFilter = vtkGeometryFilter::New();
+}
+
+SALOME_PassThroughFilter::~SALOME_PassThroughFilter(){
+ myGeomFilter->Delete();
+}
+
+void SALOME_PassThroughFilter::Execute(){
+ vtkDataSet *input = static_cast<vtkDataSet*>(this->GetInput());
+ vtkDataSet *output = static_cast<vtkDataSet*>(this->GetOutput());
+ output->CopyStructure( input );
+ output->GetPointData()->PassData( input->GetPointData() );
+ output->GetCellData()->PassData( input->GetCellData() );
+}
+
+void SALOME_PassThroughFilter::SetInput(vtkDataSet *input){
+ myGeomFilter->SetInput(input);
+ vtkDataSet *oldInput = this->GetInput();
+ if(oldInput != NULL)
+ if(input == NULL || oldInput->GetDataObjectType() != input->GetDataObjectType()){
+ vtkWarningMacro("Changing input type. Deleting output");
+ this->SetOutput(NULL);
+ }
+ if (input != NULL && this->vtkSource::GetOutput(0) == NULL){
+ this->vtkSource::SetNthOutput(0, input->NewInstance());
+ this->Outputs[0]->ReleaseData();
+ this->Outputs[0]->Delete();
+ }
+ this->vtkProcessObject::SetNthInput(0, input);
+}
+
+vtkPolyData *SALOME_PassThroughFilter::GetPolyDataOutput() {
+ vtkDataSet *ds = this->GetOutput();
+ if(!ds) return NULL;
+ if(ds->GetDataObjectType() == VTK_POLY_DATA) return (vtkPolyData *)ds;
+ myGeomFilter->SetInput(this->GetOutput());
+ return myGeomFilter->GetOutput();
+}
--- /dev/null
+// File: SALOME_Transformation.hxx
+// Created: Wed Jun 4 09:39:09 2003
+// Author: Alexey PETROV
+// <apo@ivanox.nnov.matra-dtv.fr>
+
+
+#ifndef SALOME_Transform_HeaderFile
+#define SALOME_Transform_HeaderFile
+
+#include <math.h>
+
+#include <vtkTransform.h>
+#include <vtkTransformFilter.h>
+#include <vtkDataSetToDataSetFilter.h>
+class vtkGeometryFilter;
+
+//=======================================================================
+
+class VTK_EXPORT SALOME_Transform : public vtkTransform{
+ public:
+ static SALOME_Transform *New();
+ vtkTypeMacro(SALOME_Transform,vtkTransform);
+ void SetScale(float theScaleX, float theScaleY, float theScaleZ);
+ int IsIdentity();
+protected:
+ SALOME_Transform() {}
+ ~SALOME_Transform() {}
+ SALOME_Transform(const SALOME_Transform&) {}
+ void operator=(const SALOME_Transform&) {}
+};
+
+//=======================================================================
+
+class VTK_EXPORT SALOME_TransformFilter : public vtkTransformFilter{
+ public:
+ static SALOME_TransformFilter *New();
+ vtkTypeMacro(SALOME_TransformFilter,vtkTransformFilter);
+protected:
+ SALOME_TransformFilter() {}
+ ~SALOME_TransformFilter() {}
+ SALOME_TransformFilter(const SALOME_TransformFilter&) {}
+ void operator=(const SALOME_TransformFilter&) {}
+ void Execute();
+};
+
+//=======================================================================
+
+class SALOME_PassThroughFilter : public vtkDataSetToDataSetFilter{
+ public:
+ vtkTypeMacro(SALOME_PassThroughFilter,vtkDataSetToDataSetFilter);
+ static SALOME_PassThroughFilter *New();
+ void SetInput(vtkDataSet *input);
+ vtkPolyData *GetPolyDataOutput();
+ protected:
+ SALOME_PassThroughFilter();
+ virtual ~SALOME_PassThroughFilter();
+ void Execute();
+ vtkGeometryFilter* myGeomFilter;
+ private:
+ SALOME_PassThroughFilter(const SALOME_PassThroughFilter&); // Not implemented.
+ void operator=(const SALOME_PassThroughFilter&); // Not implemented.
+};
+
+//=======================================================================
+
+#endif
--- /dev/null
+// File : VTKViewer_Common.h
+// Created : Wed May 21 11:36:07 2003
+// Author : Michael PONIKAROV
+// Project : SALOME
+// Module : VTKViewer
+// Copyright : Open CASCADE 2002
+// $Header$
+
+#ifndef __VTKViewer_Common_h
+#define __VTKViewer_Common_h
+
+// common vtk include files
+#include <vtkLODActor.h>
+#include <vtkProperty.h>
+#include <vtkTexture.h>
+#include <vtkMapper.h>
+#include <vtkObjectFactory.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkPolyDataNormals.h>
+#include <vtkMath.h>
+#include <vtkPolyData.h>
+#include <vtkTransform.h>
+#include <vtkRenderer.h>
+#include <vtkMatrix4x4.h>
+#include <vtkCamera.h>
+#include <vtkCell.h>
+#include <vtkCommand.h>
+#include <vtkAssemblyNode.h>
+#include <vtkPicker.h>
+#include <vtkPointPicker.h>
+#include <vtkCellPicker.h>
+#include <vtkLine.h>
+#include <vtkUnstructuredGrid.h>
+#include <vtkExtractEdges.h>
+#include <vtkDataSetCollection.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkVolumeMapper.h>
+#include <vtkWarpTransform.h>
+#include <vtkVersion.h>
+#include <vtkTextSource.h>
+#include <vtkConeSource.h>
+#include <vtkTextMapper.h>
+#include <vtkMapper2D.h>
+#include <vtkActor2D.h>
+#include <vtkWindowToImageFilter.h>
+#include <vtkTIFFWriter.h>
+#include <vtkCellArray.h>
+#include <vtkTransformPolyDataFilter.h>
+#include <vtkDataSetMapper.h>
+#include <vtkAxes.h>
+#include <vtkActor.h>
+#include <vtkInteractorStyle.h>
+#include <vtkActor2DCollection.h>
+//#include <vtkScalarBarActor.h>
+#include <vtkShrinkFilter.h>
+#include <vtkMaskPoints.h>
+#include <vtkCellCenters.h>
+#include <vtkSelectVisiblePoints.h>
+#include <vtkPointData.h>
+#include <vtkLabeledDataMapper.h>
+#include <vtkProperty2D.h>
+#include <vtkGeometryFilter.h>
+#include <vtkCellData.h>
+#include <vtkLookupTable.h>
+#include <vtkGlyphSource2D.h>
+#include <vtkFloatArray.h>
+#include <vtkWindow.h>
+#include <vtkTextProperty.h>
+
+#endif
-# source path
+# SALOME OCCViewer : build OCC Viewer into Salome desktop
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-// File : OCCViewer.cxx
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "OCCViewer.h"
#include "OCCViewer_ViewFrame.h"
-// File : OCCViewer.h
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef OCCViewer_HeaderFile
-using namespace std;
-// File : OCCViewer_AISSelector.cxx
-// Created : Wed Mar 20 10:58:50 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_AISSelector.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class OCCViewer_AISSelector OCCViewer_AISSelector.h
\brief Selector for AIS interactive context.
-// File : OCCViewer_AISSelector.h
-// Created : Wed Mar 20 10:58:22 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_AISSelector.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef OCCViewer_AISSELECTOR_H
#define OCCViewer_AISSELECTOR_H
-using namespace std;
-// File : OCCViewer_Selector.cxx
-// Created : Wed Mar 20 10:57:47 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_Selector.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
/*!
\class OCCViewer_Selector OCCViewer_Selector.h
\brief Base class for object selection in Open CASCADE Viewer.
-// File : OCCViewer_Selector.h
-// Created : Wed Mar 20 10:56:53 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_Selector.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef OCCViewer_SELECTOR_H
-using namespace std;
-// File : OCCViewer_VService.cxx
-// Created : Wed Mar 20 10:36:38 2002
-// Author : GG, FMN, Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_VService.cxx
+// Author : GG, FMN, Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "OCCViewer_VService.h"
// Open CASCADE Includes
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_VService.h
+// Module : SALOME
#ifndef _OCCViewer_VService_HeaderFile
#define _OCCViewer_VService_HeaderFile
-using namespace std;
-// File : OCCViewer_ViewFrame.cxx
-// Created : Wed Mar 20 10:50:22 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "OCCViewer_ViewFrame.h"
#include "OCCViewer_Viewer3d.h"
#include "OCCViewer_ViewPort.h"
-// File : OCCViewer_ViewFrame.h
-// Created : Wed Mar 20 10:53:24 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef OCCViewer_ViewFrame_H
-using namespace std;
-// File : OCCViewer_ViewPort.cxx
-// Created : Wed Mar 20 10:44:24 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewPort.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include <stdlib.h>
#if !defined WNT
-// File : OCCViewer_ViewPort.h
-// Created : Wed Mar 20 10:41:50 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewPort.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef OCCViewer_ViewPort_H
#define OCCViewer_ViewPort_H
-using namespace std;
-// File : OCCViewer_ViewPort3d.cxx
-// Created : Wed Mar 20 10:47:09 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewPort3d.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "OCCViewer_ViewPort3d.h"
#include "QAD.h"
-// File : OCCViewer_ViewPort3d.h
-// Created : Wed Mar 20 10:48:51 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_ViewPort3d.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef OCCViewer_ViewPort3d_H
-using namespace std;
-// File : OCCViewer_Viewer3d.cxx
-// Created : Wed Mar 20 10:54:35 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_Viewer3d.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
/*!
\class OCCViewer_Viewer3d OCCViewer_Viewer3d.h
\brief Open CASCADE Viewer 3D with viewport 3D and selection.
-// File : OCCViewer_Viewer3d.h
-// Created : Wed Mar 20 11:00:02 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// SALOME OCCViewer : build OCC Viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OCCViewer_Viewer3d.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef OCCVIEWER_VIEWER3D_H
#define OCCVIEWER_VIEWER3D_H
+# SALOME PatchQt : patch for Qt
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
EXPORT_HEADERS = \
qsplitterP.h \
- qworkspaceP.h
+ qworkspaceP.h \
+ qactionP.h
# Libraries targets
LIB = libqsplitterP.la
-LIB_SRC = qsplitterP.cxx qsplitterP_moc.cxx qworkspaceP.cxx qworkspaceP_moc.cxx
+LIB_SRC = qsplitterP.cxx qsplitterP_moc.cxx qworkspaceP.cxx qworkspaceP_moc.cxx qactionP.cxx qactionP_moc.cxx
qsplitterP_moc.cxx: $(inc_builddir)/qsplitterP.h
$(MOC) $(inc_builddir)/qsplitterP.h -o qsplitterP_moc.cxx
qworkspaceP_moc.cxx: $(inc_builddir)/qworkspaceP.h
$(MOC) $(inc_builddir)/qworkspaceP.h -o qworkspaceP_moc.cxx
+qactionP_moc.cxx: $(inc_builddir)/qactionP.h
+ $(MOC) $(inc_builddir)/qactionP.h -o qactionP_moc.cxx
+
CPPFLAGS+=$(QT_INCLUDES) -I${QTDIR}/src/kernel -I$(QTDIR)/mkspecs/linux-g++
CXXFLAGS+=
LDFLAGS+=$(QT_MT_LIBS)
--- /dev/null
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : qactionP.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
+// $Header$
+
+#include "qactionP.h"
+
+#ifndef QT_NO_ACTION
+
+#include <qtoolbar.h>
+#include <qptrlist.h>
+#include <qpopupmenu.h>
+#include <qaccel.h>
+#include <qtoolbutton.h>
+#include <qcombobox.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+#include <qstatusbar.h>
+#include <qobjectlist.h>
+
+
+/*!
+ \class QActionP qaction.h
+ \ingroup basic
+ \ingroup application
+ \mainclass
+ \brief The QActionP class provides an abstract user interface
+ action that can appear both in menus and tool bars.
+
+ In GUI applications many commands can be invoked via a menu option, a
+ toolbar button and a keyboard accelerator. Since the same action must
+ be performed regardless of how the action was invoked, and since the
+ menu and toolbar should be kept in sync, it is useful to represent a
+ command as an \e action. An action can be added to a menu and a
+ toolbar and will automatically keep them in sync. For example, if the
+ user presses a Bold toolbar button the Bold menu item will
+ automatically be checked.
+
+ A QActionP may contain an icon, a menu text, an accelerator, a status
+ text, a whats this text and a tool tip. Most of these can be set in
+ the constructor. They can also be set independently with setIconSet(),
+ setText(), setMenuText(), setToolTip(), setStatusTip(), setWhatsThis()
+ and setAccel(), respectively.
+
+ An action may be a toggle action e.g. a Bold toolbar button, or a
+ command action, e.g. 'Open File' to invoke an open file dialog.
+ Toggle actions emit the toggled() signal when their state changes.
+ Both command and toggle actions emit the activated() signal when they
+ are invoked. Use setToggleAction() to set an action's toggled status.
+ To see if an action is a toggle action use isToggleAction(). A toggle
+ action may be "on", isOn() returns TRUE, or "off", isOn() returns
+ FALSE.
+
+ Actions are added to widgets (menus or toolbars) using addTo(), and
+ removed using removeFrom().
+
+ Once a QActionP has been created it should be added to the relevant
+ menu and toolbar and then connected to the slot which will perform
+ the action. For example:
+
+ \quotefile action/application.cpp
+ \skipto Save File
+ \printuntil connect
+
+ We create a "File Save" action with a menu text of "&Save" and
+ \e{Ctrl+S} as the keyboard accelerator. We connect the
+ fileSaveAction's activated() signal to our own save() slot. Note that at
+ this point there is no menu or toolbar action, we'll add them next:
+
+ \skipto new QToolBar
+ \printline
+ \skipto fileSaveAction->addTo
+ \printline
+ \skipto new QPopupMenu
+ \printuntil insertItem
+ \skipto fileSaveAction->addTo
+ \printline
+
+ We create a toolbar and add our fileSaveAction to it. Similarly we
+ create a menu, add a top-level menu item, and add our
+ fileSaveAction.
+
+ (See the \link simple-application-action.html Simple Application
+ Walkthrough featuring QActionP \endlink for a detailed example.)
+
+ We recommend that actions are created as children of the window that
+ they are used in. In most cases actions will be children of the
+ application's main window.
+
+ To prevent recursion, don't create an action as a child of a widget
+ that the action is later added to.
+*/
+
+
+class QActionPPrivate
+{
+public:
+ QActionPPrivate();
+ ~QActionPPrivate();
+ QIconSet *iconset;
+ QString text;
+ QString menutext;
+ QString tooltip;
+ QString statustip;
+ QString whatsthis;
+ QKeySequence key;
+#ifndef QT_NO_ACCEL
+ QAccel* accel;
+ int accelid;
+#endif
+ uint enabled : 1;
+ uint toggleaction :1;
+ uint on : 1;
+#ifndef QT_NO_TOOLTIP
+ QToolTipGroup* tipGroup;
+#endif
+
+ struct MenuItem {
+ MenuItem():popup(0),id(0){}
+ QPopupMenu* popup;
+ int id;
+ };
+ // ComboItem is only necessary for actions that are
+ // in dropdown/exclusive actiongroups. The actiongroup
+ // will clean this up
+ struct ComboItem {
+ ComboItem():combo(0), id(0) {}
+ QComboBox *combo;
+ int id;
+ };
+ QPtrList<MenuItem> menuitems;
+ QPtrList<QToolButton> toolbuttons;
+ QPtrList<ComboItem> comboitems;
+
+ enum Update { Everything, Icons, State }; // Everything means everything but icons and state
+ void update( Update upd = Everything );
+
+ QString menuText() const;
+ QString toolTip() const;
+ QString statusTip() const;
+};
+
+QActionPPrivate::QActionPPrivate()
+{
+ iconset = 0;
+#ifndef QT_NO_ACCEL
+ accel = 0;
+ accelid = 0;
+#endif
+ key = 0;
+ enabled = 1;
+ toggleaction = 0;
+ on = 0;
+ menuitems.setAutoDelete( TRUE );
+ comboitems.setAutoDelete( TRUE );
+#ifndef QT_NO_TOOLTIP
+ tipGroup = new QToolTipGroup( 0 );
+#endif
+}
+
+QActionPPrivate::~QActionPPrivate()
+{
+ QPtrListIterator<QToolButton> ittb( toolbuttons );
+ QToolButton *tb;
+
+ while ( ( tb = ittb.current() ) ) {
+ ++ittb;
+ delete tb;
+ }
+
+ QPtrListIterator<QActionPPrivate::MenuItem> itmi( menuitems);
+ QActionPPrivate::MenuItem* mi;
+ while ( ( mi = itmi.current() ) ) {
+ ++itmi;
+ QPopupMenu* menu = mi->popup;
+ if ( menu->findItem( mi->id ) )
+ menu->removeItem( mi->id );
+ }
+
+#ifndef QT_NO_ACCEL
+ delete accel;
+#endif
+ delete iconset;
+#ifndef QT_NO_TOOLTIP
+ delete tipGroup;
+#endif
+}
+
+void QActionPPrivate::update( Update upd )
+{
+ for ( QPtrListIterator<MenuItem> it( menuitems); it.current(); ++it ) {
+ MenuItem* mi = it.current();
+ QString t = menuText();
+#ifndef QT_NO_ACCEL
+ if ( key )
+ t += '\t' + QAccel::keyToString( key );
+#endif
+ switch ( upd ) {
+ case State:
+ mi->popup->setItemEnabled( mi->id, enabled );
+ if ( toggleaction )
+ mi->popup->setItemChecked( mi->id, on );
+ break;
+ case Icons:
+ if ( iconset )
+ mi->popup->changeItem( mi->id, *iconset, t );
+ break;
+ default:
+ mi->popup->changeItem( mi->id, t );
+ if ( !whatsthis.isEmpty() )
+ mi->popup->setWhatsThis( mi->id, whatsthis );
+ if ( toggleaction ) {
+ mi->popup->setCheckable( TRUE );
+ mi->popup->setItemChecked( mi->id, on );
+ }
+ }
+ }
+ for ( QPtrListIterator<QToolButton> it2( toolbuttons); it2.current(); ++it2 ) {
+ QToolButton* btn = it2.current();
+ switch ( upd ) {
+ case State:
+ btn->setEnabled( enabled );
+ if ( toggleaction )
+ btn->setOn( on );
+ break;
+ case Icons:
+ if ( iconset )
+ btn->setIconSet( *iconset );
+ break;
+ default:
+ btn->setToggleButton( toggleaction );
+ if ( !text.isEmpty() )
+ btn->setTextLabel( text, FALSE );
+#ifndef QT_NO_TOOLTIP
+ QToolTip::remove( btn );
+ QToolTip::add( btn, toolTip(), tipGroup, statusTip() );
+#endif
+#ifndef QT_NO_WHATSTHIS
+ QWhatsThis::remove( btn );
+ if ( !whatsthis.isEmpty() )
+ QWhatsThis::add( btn, whatsthis );
+#endif
+ }
+ }
+ // Only used by actiongroup
+ for ( QPtrListIterator<ComboItem> it3( comboitems ); it3.current(); ++it3 ) {
+ ComboItem *ci = it3.current();
+ if ( !ci->combo )
+ return;
+ if ( iconset )
+ ci->combo->changeItem( iconset->pixmap(), text, ci->id );
+ else
+ ci->combo->changeItem( text, ci->id );
+ }
+ // VSR : enable/disable accel according to action state
+#ifndef QT_NO_ACCEL
+ if ( upd == State && accel )
+ accel->setItemEnabled( key, enabled );
+#endif
+}
+
+QString QActionPPrivate::menuText() const
+{
+ if ( menutext.isNull() )
+ return text;
+ return menutext;
+}
+
+QString QActionPPrivate::toolTip() const
+{
+ if ( tooltip.isNull() ) {
+#ifndef QT_NO_ACCEL
+ if ( accel )
+ return text + " (" + QAccel::keyToString( accel->key( accelid )) + ")";
+#endif
+ return text;
+ }
+ return tooltip;
+}
+
+QString QActionPPrivate::statusTip() const
+{
+ if ( statustip.isNull() )
+ return toolTip();
+ return statustip;
+}
+
+
+
+/*!
+ Constructs an action with parent \a parent and name \a name.
+
+ If \a toggle is TRUE the action will be a toggle action, otherwise it
+ will be a command action.
+
+ If \a parent is a QActionPGroup, the new action inserts itself into \a parent.
+
+ For accelerators and status tips to work, \a parent must either be a
+ widget, or an action group whose parent is a widget.
+*/
+QActionP::QActionP( QObject* parent, const char* name, bool toggle )
+ : QObject( parent, name )
+{
+ d = new QActionPPrivate;
+ d->toggleaction = toggle;
+ init();
+}
+
+
+/*!
+ This constructor creates an action with the following properties:
+ the description \a text, the icon or iconset \a icon, the menu text
+ \a menuText and keyboard accelerator \a accel. It is a child of \a parent
+ and named \a name. If \a toggle is TRUE the action will be a toggle
+ action, otherwise it will be a command action.
+
+ If \a parent is a QActionPGroup, the action automatically becomes a
+ member of it.
+
+ For accelerators and status tips to work, \a parent must either be a
+ widget, or an action group whose parent is a widget.
+
+ The \a text and \a accel will be used for tool tips and status tips
+ unless you provide specific text for these using setToolTip() and
+ setStatusTip().
+*/
+QActionP::QActionP( const QString& text, const QIconSet& icon, const QString& menuText, QKeySequence accel, QObject* parent, const char* name, bool toggle )
+ : QObject( parent, name )
+{
+ d = new QActionPPrivate;
+ d->toggleaction = toggle;
+ if ( !icon.isNull() )
+ setIconSet( icon );
+
+ d->text = text;
+ d->menutext = menuText;
+ setAccel( accel );
+ init();
+}
+
+/*! This constructor results in an iconless action with the description
+ \a text, the menu text \a menuText and the keyboard accelerator \a accel.
+ Its parent is \a parent and its name \a
+ name. If \a toggle is TRUE the action will be a toggle
+ action, otherwise it will be a command action.
+
+ The action automatically becomes a member of \a parent if \a parent
+ is a QActionPGroup.
+
+ For accelerators and status tips to work, \a parent must either be a
+ widget, or an action group whose parent is a widget.
+
+ The \a text and \a accel will be used for tool tips and status tips
+ unless you provide specific text for these using setToolTip() and
+ setStatusTip().
+*/
+QActionP::QActionP( const QString& text, const QString& menuText, QKeySequence accel, QObject* parent, const char* name, bool toggle )
+ : QObject( parent, name )
+{
+ d = new QActionPPrivate;
+ d->toggleaction = toggle;
+ d->text = text;
+ d->menutext = menuText;
+ setAccel( accel );
+ init();
+}
+
+/*!
+ \internal
+*/
+void QActionP::init()
+{
+ if ( parent() && parent()->inherits("QActionPGroup") ) {
+ ((QActionPGroup*) parent())->add( this ); // insert into action group
+ }
+}
+
+/*! Destroys the object and frees allocated resources. */
+
+QActionP::~QActionP()
+{
+ delete d;
+}
+
+/*! \property QActionP::iconSet
+ \brief the action's icon
+
+ The icon is used as the tool button icon and in the menu to the left
+ of the menu text. There is no default icon.
+
+ (See the action/toggleaction/toggleaction.cpp example.)
+
+*/
+void QActionP::setIconSet( const QIconSet& icon )
+{
+ if ( icon.isNull() )
+ return;
+
+ register QIconSet *i = d->iconset;
+ d->iconset = new QIconSet( icon );
+ delete i;
+ d->update( QActionPPrivate::Icons );
+}
+
+QIconSet QActionP::iconSet() const
+{
+ if ( d->iconset )
+ return *d->iconset;
+ return QIconSet();
+}
+
+/*! \property QActionP::text
+ \brief the action's descriptive text
+
+ If \l QMainWindow::usesTextLabel is TRUE, the text appears as a
+ label in the relevant tool button. It also serves as the default text
+ in menus and tool tips if these have not been specifically defined. There
+ is no default text.
+
+ \sa setMenuText() setToolTip() setStatusTip()
+*/
+void QActionP::setText( const QString& text )
+{
+ d->text = text;
+ d->update();
+}
+
+QString QActionP::text() const
+{
+ return d->text;
+}
+
+
+/*! \property QActionP::menuText
+ \brief the action's menu text
+
+ If the action is added to a menu the menu option will consist of
+ the icon (if there is one), the menu text and the accelerator (if
+ there is one). If the menu text is not explicitly set in the
+ constructor or by using setMenuText() the action's description
+ text will be used as the menu text. There is no default menu text.
+
+ \sa text
+*/
+void QActionP::setMenuText( const QString& text ) { d->menutext = text;
+ d->update(); }
+
+QString QActionP::menuText() const { return d->menuText(); }
+
+/*!
+ \property QActionP::toolTip \brief the action's tool tip
+
+ This text is used for the tool tip. If no status tip has been set
+ the tool tip will be used for the status tip.
+
+ If no tool tip is specified the action's text is used, and if that
+ hasn't been specified the description text is used as the tool tip
+ text.
+
+ There is no default tool tip text.
+
+ \sa setStatusTip() setAccel()
+*/
+void QActionP::setToolTip( const QString& tip )
+{
+ d->tooltip = tip;
+ d->update();
+}
+
+QString QActionP::toolTip() const
+{
+ return d->toolTip();
+}
+
+/*! \property QActionP::statusTip
+ \brief the action's status tip
+
+ The statusTip is displayed on all status bars that this action's
+ toplevel parent widget provides.
+
+ If no status tip is defined, the action uses the tool tip text.
+
+ There is no default tooltip text.
+
+ \sa setStatusTip() setToolTip()
+*/
+//#### Please reimp for QActionPGroup!
+//#### For consistency reasons even action groups should show
+//#### status tips (as they already do with tool tips)
+//#### Please change QActionPGroup class doc appropriately after
+//#### reimplementation.
+void QActionP::setStatusTip( const QString& tip )
+{
+ d->statustip = tip;
+ d->update();
+}
+
+QString QActionP::statusTip() const
+{
+ return d->statusTip();
+}
+
+/*!\property QActionP::whatsThis
+ \brief the action's "What's This?" help text
+
+ The whats this text is used to provide a brief description of the
+ action. The text may contain rich text (i.e. HTML tags -- see
+ QStyleSheet for the list of supported tags). There is no default
+ "What's This" text.
+
+ \sa QWhatsThis
+*/
+void QActionP::setWhatsThis( const QString& whatsThis )
+{
+ if ( d->whatsthis == whatsThis )
+ return;
+ d->whatsthis = whatsThis;
+#ifndef QT_NO_ACCEL
+ if ( !d->whatsthis.isEmpty() && d->accel )
+ d->accel->setWhatsThis( d->accelid, d->whatsthis );
+#endif
+ d->update();
+}
+
+QString QActionP::whatsThis() const
+{
+ return d->whatsthis;
+}
+
+
+/*! \property QActionP::accel
+ \brief the action's accelerator key
+
+ The keycodes can be found in \l Qt::Key and \l
+ Qt::Modifier. There is no default accelerator key.
+
+
+*/
+//#### Please reimp for QActionPGroup!
+//#### For consistency reasons even QActionPGroups should respond to
+//#### their accelerators and e.g. open the relevant submenu.
+//#### Please change appropriate QActionPGroup class doc after
+//#### reimplementation.
+void QActionP::setAccel( const QKeySequence& key )
+{
+ d->key = key;
+#ifndef QT_NO_ACCEL
+ delete d->accel;
+ d->accel = 0;
+#endif
+
+ if ( !(int)key ) {
+ d->update();
+ return;
+ }
+
+#ifndef QT_NO_ACCEL
+ QObject* p = parent();
+ while ( p && !p->isWidgetType() ) {
+ p = p->parent();
+ }
+ if ( p ) {
+ d->accel = new QAccel( (QWidget*)p, this, "qt_action_accel" );
+ d->accelid = d->accel->insertItem( d->key );
+ d->accel->connectItem( d->accelid, this, SLOT( internalActivation() ) );
+ if ( !d->whatsthis.isEmpty() )
+ d->accel->setWhatsThis( d->accelid, d->whatsthis );
+ }
+#if defined(QT_CHECK_STATE)
+ else
+ qWarning( "QActionP::setAccel() (%s) requires widget in parent chain.", name( "unnamed" ) );
+#endif
+#endif
+ d->update();
+}
+
+
+QKeySequence QActionP::accel() const
+{
+ return d->key;
+}
+
+
+/*!
+ \property QActionP::toggleAction
+ \brief whether the action is a toggle action
+
+ A toggle action is one which has an on/off state. For example a Bold
+ toolbar button is either on or off. An action which is not a toggle
+ action is a command action; a command action is simply executed.
+ This property's default is FALSE.
+
+ In some situations, the state of one toggle action should depend on
+ the state of others. For example, "Left Align", "Center" and "Right
+ Align" toggle actions are mutually exclusive. To achieve exclusive
+ toggling, add the relevant toggle actions to a QActionPGroup with the
+ \l QActionPGroup::exclusive property set to TRUE.
+
+*/
+void QActionP::setToggleAction( bool enable )
+{
+ if ( enable == (bool)d->toggleaction )
+ return;
+
+ if ( !enable )
+ d->on = FALSE;
+
+ d->toggleaction = enable;
+ d->update();
+}
+
+bool QActionP::isToggleAction() const
+{
+ return d->toggleaction;
+}
+
+/*!
+ Toggles the state of a toggle action.
+
+ \sa on, toggled(), isToggleAction()
+*/
+void QActionP::toggle()
+{
+ if ( !isToggleAction() ) {
+#if defined(QT_CHECK_STATE)
+ qWarning( "QActionP::toggle() (%s) Only toggle actions "
+ "may be switched", name( "unnamed" ) );
+#endif
+ return;
+ }
+ setOn( !isOn() );
+}
+
+/*!
+ \property QActionP::on
+ \brief whether a toggle action is on
+
+ This property is always on (TRUE) for command actions and
+ \l{QActionPGroup}s; setOn() has no effect on them. For action's where
+ isToggleAction() is TRUE, this property's default value is off
+ (FALSE).
+
+ \sa toggleAction
+*/
+void QActionP::setOn( bool enable )
+{
+ if ( !isToggleAction() ) {
+#if defined(QT_CHECK_STATE)
+ qWarning( "QActionP::setOn() (%s) Only toggle actions "
+ "may be switched", name( "unnamed" ) );
+#endif
+ return;
+ }
+ if ( enable == (bool)d->on )
+ return;
+ d->on = enable;
+ d->update( QActionPPrivate::State );
+ emit toggled( enable );
+}
+
+bool QActionP::isOn() const
+{
+ return d->on;
+}
+
+/*! \property QActionP::enabled
+ \brief whether the action is enabled
+
+ Disabled actions can't be chosen by the user. They don't
+ disappear from the menu/tool bar but are displayed in a way which
+ indicates that they are unavailable, e.g. they might be displayed
+ greyed out.
+
+ What's this? help on disabled actions is still available
+ provided the \l QActionP::whatsThis property is set.
+
+*/
+void QActionP::setEnabled( bool enable )
+{
+ d->enabled = enable;
+#ifndef QT_NO_ACCEL
+ if ( d->accel )
+ d->accel->setEnabled( enable );
+#endif
+ d->update( QActionPPrivate::State );
+}
+
+bool QActionP::isEnabled() const
+{
+ return d->enabled;
+}
+
+/*! \internal
+*/
+void QActionP::internalActivation()
+{
+ if ( isToggleAction() )
+ setOn( !isOn() );
+ emit activated();
+}
+
+/*! \internal
+*/
+void QActionP::toolButtonToggled( bool on )
+{
+ if ( !isToggleAction() )
+ return;
+ setOn( on );
+}
+
+/*! Adds this action to widget \a w.
+
+ Currently actions may be added to QToolBar and QPopupMenu widgets.
+
+ An action added to a tool bar is automatically displayed
+ as a tool button; an action added to a pop up menu appears
+ as a menu option.
+
+ addTo() returns TRUE if the action was added successfully and FALSE
+ otherwise. (If \a w is not a QToolBar or QPopupMenu the action will
+ not be added and FALSE will be returned.)
+
+ \sa removeFrom()
+*/
+bool QActionP::addTo( QWidget* w )
+{
+#ifndef QT_NO_TOOLBAR
+ if ( w->inherits( "QToolBar" ) ) {
+ if ( !qstrcmp( name(), "qt_separator_action" ) ) {
+ ((QToolBar*)w)->addSeparator();
+ } else {
+ QCString bname = name() + QCString( "_action_button" );
+ QToolButton* btn = new QToolButton( (QToolBar*) w, bname );
+ addedTo( btn, w );
+ btn->setToggleButton( d->toggleaction );
+ d->toolbuttons.append( btn );
+ if ( d->iconset )
+ btn->setIconSet( *d->iconset );
+ d->update( QActionPPrivate::State );
+ d->update( QActionPPrivate::Everything );
+ connect( btn, SIGNAL( clicked() ), this, SIGNAL( activated() ) );
+ connect( btn, SIGNAL( toggled(bool) ), this, SLOT( toolButtonToggled(bool) ) );
+ connect( btn, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );
+#ifndef QT_NO_TOOLTIP
+ connect( d->tipGroup, SIGNAL(showTip(const QString&)), this, SLOT(showStatusText(const QString&)) );
+ connect( d->tipGroup, SIGNAL(removeTip()), this, SLOT(clearStatusText()) );
+#endif
+ }
+ } else
+#endif
+ if ( w->inherits( "QPopupMenu" ) ) {
+ if ( !qstrcmp( name(), "qt_separator_action" ) ) {
+ ((QPopupMenu*)w)->insertSeparator();
+ } else {
+ QActionPPrivate::MenuItem* mi = new QActionPPrivate::MenuItem;
+ mi->popup = (QPopupMenu*) w;
+ QIconSet* diconset = d->iconset;
+ if ( diconset )
+ mi->id = mi->popup->insertItem( *diconset, QString::fromLatin1("") );
+ else
+ mi->id = mi->popup->insertItem( QString::fromLatin1("") );
+ addedTo( mi->popup->indexOf( mi->id ), mi->popup );
+ mi->popup->connectItem( mi->id, this, SLOT(internalActivation()) );
+ d->menuitems.append( mi );
+ d->update( QActionPPrivate::State );
+ d->update( QActionPPrivate::Everything );
+ w->topLevelWidget()->className();
+ connect( mi->popup, SIGNAL(highlighted( int )), this, SLOT(menuStatusText( int )) );
+ connect( mi->popup, SIGNAL(aboutToHide()), this, SLOT(clearStatusText()) );
+ connect( mi->popup, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );
+ }
+ // Makes only sense when called by QActionPGroup::addTo
+ } else if ( w->inherits( "QComboBox" ) ) {
+ if ( qstrcmp( name(), "qt_separator_action" ) ) {
+ QActionPPrivate::ComboItem *ci = new QActionPPrivate::ComboItem;
+ ci->combo = (QComboBox*)w;
+ connect( ci->combo, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );
+ ci->id = ci->combo->count();
+ if ( d->iconset )
+ ci->combo->insertItem( d->iconset->pixmap(), text() );
+ else
+ ci->combo->insertItem( text() );
+ d->comboitems.append( ci );
+ }
+ } else {
+ qWarning( "QActionP::addTo(), unknown object" );
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/*! This function is called from the addTo() function when it created
+ a widget (\a actionWidget) for the action in the \a container.
+*/
+
+void QActionP::addedTo( QWidget *actionWidget, QWidget *container )
+{
+ Q_UNUSED( actionWidget );
+ Q_UNUSED( container );
+}
+
+/*! \overload
+
+ This function is called from the addTo() function when it created
+ a menu item at the index \a index in the popup menu \a menu.
+*/
+
+void QActionP::addedTo( int index, QPopupMenu *menu )
+{
+ Q_UNUSED( index );
+ Q_UNUSED( menu );
+}
+
+/*! Sets the status message to \a text */
+void QActionP::showStatusText( const QString& text )
+{
+#ifndef QT_NO_STATUSBAR
+ // find out whether we are clearing the status bar by the popup that actually set the text
+ static QPopupMenu *lastmenu = 0;
+ QObject *s = (QObject*)sender();
+ if ( s ) {
+ QPopupMenu *menu = (QPopupMenu*)s->qt_cast( "QPopupMenu" );
+ if ( menu && !!text )
+ lastmenu = menu;
+ else if ( menu && text.isEmpty() ) {
+ if ( lastmenu && menu != lastmenu )
+ return;
+ lastmenu = 0;
+ }
+ }
+
+ QObject* par = parent();
+ QObject* lpar = 0;
+ QStatusBar *bar = 0;
+ while ( par && !bar ) {
+ lpar = par;
+ bar = (QStatusBar*)par->child( 0, "QStatusBar", FALSE );
+ par = par->parent();
+ }
+ if ( !bar && lpar ) {
+ QObjectList *l = lpar->queryList( "QStatusBar" );
+ if ( !l )
+ return;
+ // #### hopefully the last one is the one of the mainwindow...
+ bar = (QStatusBar*)l->last();
+ delete l;
+ }
+ if ( bar ) {
+ if ( text.isEmpty() )
+ bar->clear();
+ else
+ bar->message( text );
+ }
+#endif
+}
+
+/*! Sets the status message to the menu item's status text, or
+ to the tooltip, if there is no status text.
+*/
+void QActionP::menuStatusText( int id )
+{
+ QString text;
+ QPtrListIterator<QActionPPrivate::MenuItem> it( d->menuitems);
+ QActionPPrivate::MenuItem* mi;
+ while ( ( mi = it.current() ) ) {
+ ++it;
+ if ( mi->id == id ) {
+ text = statusTip();
+ break;
+ }
+ }
+
+ if ( !text.isEmpty() )
+ showStatusText( text );
+}
+
+/*! Clears the status text.
+*/
+void QActionP::clearStatusText()
+{
+ showStatusText( QString::null );
+}
+
+/*!
+ Removes the action from widget \a w.
+
+ Returns TRUE if the action was removed successfully; otherwise
+ returns FALSE.
+
+ \sa addTo()
+*/
+bool QActionP::removeFrom( QWidget* w )
+{
+#ifndef QT_NO_TOOLBAR
+ if ( w->inherits( "QToolBar" ) ) {
+ QPtrListIterator<QToolButton> it( d->toolbuttons);
+ QToolButton* btn;
+ while ( ( btn = it.current() ) ) {
+ ++it;
+ if ( btn->parentWidget() == w ) {
+ d->toolbuttons.removeRef( btn );
+ disconnect( btn, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );
+ delete btn;
+ // no need to disconnect from statusbar
+ }
+ }
+ } else
+#endif
+ if ( w->inherits( "QPopupMenu" ) ) {
+ QPtrListIterator<QActionPPrivate::MenuItem> it( d->menuitems);
+ QActionPPrivate::MenuItem* mi;
+ while ( ( mi = it.current() ) ) {
+ ++it;
+ if ( mi->popup == w ) {
+ disconnect( mi->popup, SIGNAL(highlighted( int )), this, SLOT(menuStatusText(int)) );
+ disconnect( mi->popup, SIGNAL(aboutToHide()), this, SLOT(clearStatusText()) );
+ disconnect( mi->popup, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );
+ mi->popup->removeItem( mi->id );
+ d->menuitems.removeRef( mi );
+ }
+ }
+ } else if ( w->inherits( "QComboBox" ) ) {
+ QPtrListIterator<QActionPPrivate::ComboItem> it( d->comboitems );
+ QActionPPrivate::ComboItem *ci;
+ while ( ( ci = it.current() ) ) {
+ ++it;
+ if ( ci->combo == w ) {
+ disconnect( ci->combo, SIGNAL(destroyed()), this, SLOT(objectDestroyed()) );
+ d->comboitems.removeRef( ci );
+ }
+ }
+ } else {
+ qWarning( "QActionP::removeFrom(), unknown object" );
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/*!
+ \internal
+*/
+void QActionP::objectDestroyed()
+{
+ const QObject* obj = sender();
+ QPtrListIterator<QActionPPrivate::MenuItem> it( d->menuitems );
+ QActionPPrivate::MenuItem* mi;
+ while ( ( mi = it.current() ) ) {
+ ++it;
+ if ( mi->popup == obj )
+ d->menuitems.removeRef( mi );
+ }
+ QActionPPrivate::ComboItem *ci;
+ QPtrListIterator<QActionPPrivate::ComboItem> it2( d->comboitems );
+ while ( ( ci = it2.current() ) ) {
+ ++it2;
+ if ( ci->combo == obj )
+ d->comboitems.removeRef( ci );
+ }
+ d->toolbuttons.removeRef( (QToolButton*) obj );
+}
+
+/*! \fn void QActionP::activated()
+
+ This signal is emitted when an action is activated by the user, i.e.
+ when the user clicks a menu option or a toolbar button or presses an
+ action's accelerator key combination.
+
+ Connect to this signal for command actions. Connect to the toggled()
+ signal for toggle actions.
+*/
+
+/*! \fn void QActionP::toggled(bool)
+
+ This signal is emitted when a toggle action changes state;
+ command actions and QActionPGroups don't emit toggled().
+
+ The argument denotes the new state; i.e. TRUE
+ if the toggle action was switched on and FALSE if
+ it was switched off.
+
+ To trigger a user command depending on whether a toggle action has
+ been switched on or off connect it to a slot that takes a bool to
+ indicate the state, e.g.
+
+ \quotefile action/toggleaction/toggleaction.cpp
+ \skipto QMainWindow * window
+ \printline QMainWindow * window
+ \skipto labelonoffaction
+ \printline labelonoffaction
+ \skipto connect
+ \printuntil setUsesTextLabel
+
+ \sa activated() setToggleAction() setOn()
+*/
+
+
+
+class QActionPGroupPrivate
+{
+public:
+ uint exclusive: 1;
+ uint dropdown: 1;
+ QPtrList<QActionP> actions;
+ QActionP* selected;
+ QActionP* separatorAction;
+
+ struct MenuItem {
+ MenuItem():popup(0),id(0){}
+ QPopupMenu* popup;
+ int id;
+ };
+
+ QPtrList<QComboBox> comboboxes;
+ QPtrList<QToolButton> menubuttons;
+ QPtrList<MenuItem> menuitems;
+ QPtrList<QPopupMenu> popupmenus;
+
+ void update( const QActionPGroup * );
+};
+
+void QActionPGroupPrivate::update( const QActionPGroup* that )
+{
+ for ( QPtrListIterator<QActionP> it( actions ); it.current(); ++it ) {
+ it.current()->setEnabled( that->isEnabled() );
+ }
+ for ( QPtrListIterator<QComboBox> cb( comboboxes ); cb.current(); ++cb ) {
+ cb.current()->setEnabled( that->isEnabled() );
+
+#ifndef QT_NO_TOOLTIP
+ QToolTip::remove( cb.current() );
+ if ( !!that->toolTip() )
+ QToolTip::add( cb.current(), that->toolTip() );
+#endif
+#ifndef QT_NO_WHATSTHIS
+ QWhatsThis::remove( cb.current() );
+ if ( !!that->whatsThis() )
+ QWhatsThis::add( cb.current(), that->whatsThis() );
+#endif
+ }
+ for ( QPtrListIterator<QToolButton> mb( menubuttons ); mb.current(); ++mb ) {
+ mb.current()->setEnabled( that->isEnabled() );
+
+ if ( !that->text().isNull() )
+ mb.current()->setTextLabel( that->text() );
+ if ( !that->iconSet().isNull() )
+ mb.current()->setIconSet( that->iconSet() );
+
+#ifndef QT_NO_TOOLTIP
+ QToolTip::remove( mb.current() );
+ if ( !!that->toolTip() )
+ QToolTip::add( mb.current(), that->toolTip() );
+#endif
+#ifndef QT_NO_WHATSTHIS
+ QWhatsThis::remove( mb.current() );
+ if ( !!that->whatsThis() )
+ QWhatsThis::add( mb.current(), that->whatsThis() );
+#endif
+ }
+ for ( QPtrListIterator<QActionPGroupPrivate::MenuItem> pu( menuitems ); pu.current(); ++pu ) {
+ QWidget* parent = pu.current()->popup->parentWidget();
+ if ( parent->inherits( "QPopupMenu" ) ) {
+ QPopupMenu* ppopup = (QPopupMenu*)parent;
+ ppopup->setItemEnabled( pu.current()->id, that->isEnabled() );
+ } else {
+ pu.current()->popup->setEnabled( that->isEnabled() );
+ }
+ }
+ for ( QPtrListIterator<QPopupMenu> pm( popupmenus ); pm.current(); ++pm ) {
+ QPopupMenu *popup = pm.current();
+ QPopupMenu *parent = popup->parentWidget()->inherits( "QPopupMenu" ) ? (QPopupMenu*)popup->parentWidget() : 0;
+ if ( !parent )
+ continue;
+
+ int index;
+ parent->findPopup( popup, &index );
+ int id = parent->idAt( index );
+ parent->changeItem( id, that->iconSet(), that->menuText() );
+ parent->setItemEnabled( id, that->isEnabled() );
+ parent->setAccel( that->accel(), id );
+ }
+}
+
+/*!
+ \class QActionPGroup qaction.h
+ \ingroup basic
+ \ingroup application
+
+ \brief The QActionPGroup class groups actions together.
+
+ In some situations it is useful to group actions together. For
+ example, if you have a left justify action, a right justify action
+ and a center action, only one of these actions should be active at
+ any one time, and one simple way of achieving this is to group the
+ actions together in an action group and call setExclusive(TRUE).
+
+ An action group can also be added to a menu or a toolbar as a single
+ unit, with all the actions within the action group appearing as
+ separate menu options and toolbar buttons.
+
+ Here's an example from examples/textedit:
+ \quotefile textedit/textedit.cpp
+ \skipto QActionPGroup
+ \printuntil connect
+
+ We create a new action group and call setExclusive() to ensure that
+ only one of the actions in the group is ever active at any one time.
+ We then connect the group's selected() signal to our textAlign() slot.
+
+ \printuntil actionAlignLeft->setToggleAction
+
+ We create a left align action, add it to the toolbar and the menu
+ and make it a toggle action. We create center and right align
+ actions in exactly the same way.
+
+ \omit
+ A QActionPGroup emits an activated() signal when one of its actions
+ is activated.
+ \endomit
+ The actions in an action group emit their activated()
+ (and for toggle actions, toggled()) signals as usual.
+
+ The setExclusive() function is used to ensure that only one action
+ is active at any one time: it should be used with actions which have
+ their \c toggleAction set to TRUE.
+
+ Action group actions appear as individual menu options and toolbar
+ buttons. For exclusive action groups use setUsesDropDown() to
+ display the actions in a subwidget of any widget the action group is
+ added to. For example, the actions would appear in a combobox in a
+ toolbar or as a submenu in a menu.
+
+ Actions can be added to an action group using add(), but normally
+ they are added by creating the action with the action group as
+ parent. Actions can have separators dividing them using
+ addSeparator(). Action groups are added to widgets with addTo().
+
+*/
+
+/*! Constructs an action group with parent \a parent and name \a name.
+
+ If \a exclusive is TRUE only one toggle action in the group will
+ ever be active.
+
+*/
+QActionPGroup::QActionPGroup( QObject* parent, const char* name, bool exclusive )
+ : QActionP( parent, name )
+{
+ d = new QActionPGroupPrivate;
+ d->exclusive = exclusive;
+ d->dropdown = FALSE;
+ d->selected = 0;
+ d->separatorAction = 0;
+
+ connect( this, SIGNAL(selected(QActionP*)), SLOT(internalToggle(QActionP*)) );
+}
+
+/*! Destroys the object and frees allocated resources. */
+
+QActionPGroup::~QActionPGroup()
+{
+ QPtrListIterator<QActionPGroupPrivate::MenuItem> mit( d->menuitems );
+ while ( mit.current() ) {
+ QActionPGroupPrivate::MenuItem *mi = mit.current();
+ ++mit;
+ if ( mi->popup )
+ mi->popup->disconnect( SIGNAL(destroyed()), this, SLOT(objectDestroyed()) );
+ }
+
+ QPtrListIterator<QComboBox> cbit( d->comboboxes );
+ while ( cbit.current() ) {
+ QComboBox *cb = cbit.current();
+ ++cbit;
+ cb->disconnect( SIGNAL(destroyed()), this, SLOT(objectDestroyed()) );
+ }
+ QPtrListIterator<QToolButton> mbit( d->menubuttons );
+ while ( mbit.current() ) {
+ QToolButton *mb = mbit.current();
+ ++mbit;
+ mb->disconnect( SIGNAL(destroyed()), this, SLOT(objectDestroyed()) );
+ }
+ QPtrListIterator<QPopupMenu> pmit( d->popupmenus );
+ while ( pmit.current() ) {
+ QPopupMenu *pm = pmit.current();
+ ++pmit;
+ pm->disconnect( SIGNAL(destroyed()), this, SLOT(objectDestroyed()) );
+ }
+
+ delete d->separatorAction;
+ d->menubuttons.setAutoDelete( TRUE );
+ d->comboboxes.setAutoDelete( TRUE );
+ d->menuitems.setAutoDelete( TRUE );
+ d->popupmenus.setAutoDelete( TRUE );
+ delete d;
+}
+
+/*! \property QActionPGroup::exclusive
+ \brief whether the action group does exclusive toggling
+
+ If exclusive is TRUE only one toggle action in the action group can
+ ever be active at any one time. If the user chooses another toggle
+ action in the group the one they chose becomes active and the one
+ that was active becomes inactive. By default this property is FALSE.
+
+ \sa QActionP::toggleAction
+*/
+void QActionPGroup::setExclusive( bool enable )
+{
+ d->exclusive = enable;
+}
+
+bool QActionPGroup::isExclusive() const
+{
+ return d->exclusive;
+}
+
+/*! \property QActionPGroup::usesDropDown
+ \brief whether the group's actions are displayed in a
+ subwidget of the widgets the action group is added to
+
+ Exclusive action groups added to a toolbar display their actions in
+ a combobox with the action's \l QActionP::text and \l
+ QActionP::iconSet properties shown. Non-exclusive groups are
+ represented by a tool button showing their \l QActionP::iconSet and
+ -- depending on \l QMainWindow::usesTextLabel() -- text() property.
+
+ In a popup menu the member actions are displayed in a
+ submenu.
+
+ Changing usesDropDown only effects \e subsequent calls to addTo().
+
+ This property's default is FALSE.
+
+*/
+void QActionPGroup::setUsesDropDown( bool enable )
+{
+ d->dropdown = enable;
+}
+
+bool QActionPGroup::usesDropDown() const
+{
+ return d->dropdown;
+}
+
+/*! Adds action \a action to this group.
+
+ Normally an action is added to a group by creating it with the group
+ as parent, so this function is not usually used.
+
+ \sa addTo()
+*/
+void QActionPGroup::add( QActionP* action )
+{
+ if ( d->actions.containsRef( action ) )
+ return;
+
+ d->actions.append( action );
+
+ if ( action->whatsThis().isNull() )
+ action->setWhatsThis( whatsThis() );
+ if ( action->toolTip().isNull() )
+ action->setToolTip( toolTip() );
+ action->setEnabled( isEnabled() );
+
+ connect( action, SIGNAL( destroyed() ), this, SLOT( childDestroyed() ) );
+ connect( action, SIGNAL( activated() ), this, SIGNAL( activated() ) );
+ connect( action, SIGNAL( toggled( bool ) ), this, SLOT( childToggled( bool ) ) );
+
+ for ( QPtrListIterator<QComboBox> cb( d->comboboxes ); cb.current(); ++cb ) {
+ cb.current()->insertItem( action->iconSet().pixmap(), action->text() );
+ }
+ for ( QPtrListIterator<QToolButton> mb( d->menubuttons ); mb.current(); ++mb ) {
+ QPopupMenu* popup = mb.current()->popup();
+ if ( !popup )
+ continue;
+ action->addTo( popup );
+ }
+ for ( QPtrListIterator<QActionPGroupPrivate::MenuItem> mi( d->menuitems ); mi.current(); ++mi ) {
+ QPopupMenu* popup = mi.current()->popup;
+ if ( !popup )
+ continue;
+ action->addTo( popup );
+ }
+}
+
+/*! Adds a separator to the group. */
+void QActionPGroup::addSeparator()
+{
+ if ( !d->separatorAction )
+ d->separatorAction = new QActionP( 0, "qt_separator_action" );
+ d->actions.append( d->separatorAction );
+}
+
+
+/*! \fn void QActionPGroup::insert( QActionP* a )
+
+ \obsolete
+
+ Use add() instead, or better still create the action with the action
+ group as its parent.
+ */
+
+/*!
+ Adds this action group to the widget \a w.
+
+ If usesDropDown() is TRUE and exclusive is TRUE (see setExclusive())
+ the actions are presented in a combobox if \a w is a toolbar and as
+ a submenu if \a w is a menu. Otherwise (the default) the actions
+ within the group are added to the widget individually. For example
+ if the widget is a menu, the actions will appear as individual menu
+ options, and if the widget is a toolbar, the actions will appear as
+ toolbar buttons.
+
+ It is recommended that actions in action groups, especially where
+ usesDropDown() is TRUE, have their menuText() or text() property set.
+
+ All actions should be added to the action group \e before the action
+ group is added to the widget. If actions are added to the action
+ group \e after the action group has been added to the widget these
+ later actions will \e not appear.
+
+ \sa setExclusive() setUsesDropDown() removeFrom()
+*/
+bool QActionPGroup::addTo( QWidget* w )
+{
+#ifndef QT_NO_TOOLBAR
+ if ( w->inherits( "QToolBar" ) ) {
+ if ( d->dropdown ) {
+ if ( !d->exclusive ) {
+ QPtrListIterator<QActionP> it( d->actions);
+ if ( !it.current() )
+ return TRUE;
+
+ QActionP *defAction = it.current();
+
+ QToolButton* btn = new QToolButton( (QToolBar*) w, "qt_actiongroup_btn" );
+ addedTo( btn, w );
+ connect( btn, SIGNAL(destroyed()), SLOT(objectDestroyed()) );
+ d->menubuttons.append( btn );
+
+ if ( !iconSet().isNull() )
+ btn->setIconSet( iconSet() );
+ else if ( !defAction->iconSet().isNull() )
+ btn->setIconSet( defAction->iconSet() );
+ if ( !!text() )
+ btn->setTextLabel( text() );
+ else if ( !!defAction->text() )
+ btn->setTextLabel( defAction->text() );
+#ifndef QT_NO_TOOLTIP
+ if ( !!toolTip() )
+ QToolTip::add( btn, toolTip() );
+ else if ( !!defAction->toolTip() )
+ QToolTip::add( btn, defAction->toolTip() );
+#endif
+#ifndef QT_NO_WHATSTHIS
+ if ( !!whatsThis() )
+ QWhatsThis::add( btn, whatsThis() );
+ else if ( !!defAction->whatsThis() )
+ QWhatsThis::add( btn, defAction->whatsThis() );
+#endif
+
+ connect( btn, SIGNAL( clicked() ), defAction, SIGNAL( activated() ) );
+ connect( btn, SIGNAL( toggled(bool) ), defAction, SLOT( toolButtonToggled(bool) ) );
+ connect( btn, SIGNAL( destroyed() ), defAction, SLOT( objectDestroyed() ) );
+
+ QPopupMenu *menu = new QPopupMenu( btn, "qt_actiongroup_menu" );
+ btn->setPopupDelay( 0 );
+ btn->setPopup( menu );
+
+ while( it.current() ) {
+ it.current()->addTo( menu );
+ ++it;
+ }
+ return TRUE;
+ } else {
+ QComboBox *box = new QComboBox( FALSE, w, "qt_actiongroup_combo" );
+ addedTo( box, w );
+ connect( box, SIGNAL(destroyed()), SLOT(objectDestroyed()) );
+ d->comboboxes.append( box );
+#ifndef QT_NO_TOOLTIP
+ if ( !!toolTip() )
+ QToolTip::add( box, toolTip() );
+#endif
+#ifndef QT_NO_WHATSTHIS
+ if ( !!whatsThis() )
+ QWhatsThis::add( box, whatsThis() );
+#endif
+
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ it.current()->addTo( box );
+ }
+ connect( box, SIGNAL(activated(int)), this, SLOT( internalComboBoxActivated(int)) );
+ return TRUE;
+ }
+ }
+ } else
+#endif
+ if ( w->inherits( "QPopupMenu" ) ) {
+ QPopupMenu *popup;
+ if ( d->dropdown ) {
+ QPopupMenu *menu = (QPopupMenu*)w;
+ popup = new QPopupMenu( w, "qt_actiongroup_menu" );
+ d->popupmenus.append( popup );
+ connect( popup, SIGNAL(destroyed()), SLOT(objectDestroyed()) );
+
+ int id;
+ if ( !iconSet().isNull() ) {
+ if ( menuText().isEmpty() )
+ id = menu->insertItem( iconSet(), text(), popup );
+ else
+ id = menu->insertItem( iconSet(), menuText(), popup );
+ } else {
+ if ( menuText().isEmpty() )
+ id = menu->insertItem( text(), popup );
+ else
+ id = menu->insertItem( menuText(), popup );
+ }
+
+ addedTo( menu->indexOf( id ), menu );
+
+ QActionPGroupPrivate::MenuItem *item = new QActionPGroupPrivate::MenuItem;
+ item->id = id;
+ item->popup = popup;
+ d->menuitems.append( item );
+ } else {
+ popup = (QPopupMenu*)w;
+ }
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ // #### do an addedTo( index, popup, action), need to find out index
+ it.current()->addTo( popup );
+ }
+ return TRUE;
+ }
+
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ // #### do an addedTo( index, popup, action), need to find out index
+ it.current()->addTo( w );
+ }
+
+ return TRUE;
+}
+
+/*! \reimp
+*/
+bool QActionPGroup::removeFrom( QWidget* w )
+{
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ it.current()->removeFrom( w );
+ }
+
+#ifndef QT_NO_TOOLBAR
+ if ( w->inherits( "QToolBar" ) ) {
+ QPtrListIterator<QComboBox> cb( d->comboboxes );
+ while( cb.current() ) {
+ QComboBox *box = cb.current();
+ ++cb;
+ if ( box->parentWidget() == w )
+ delete box;
+ }
+ QPtrListIterator<QToolButton> mb( d->menubuttons );
+ while( mb.current() ) {
+ QToolButton *btn = mb.current();
+ ++mb;
+ if ( btn->parentWidget() == w )
+ delete btn;
+ }
+ } else
+#endif
+ if ( w->inherits( "QPopupMenu" ) ) {
+ QPtrListIterator<QActionPGroupPrivate::MenuItem> pu( d->menuitems );
+ while ( pu.current() ) {
+ QActionPGroupPrivate::MenuItem *mi = pu.current();
+ ++pu;
+ if ( d->dropdown && mi->popup )
+ ( (QPopupMenu*)w )->removeItem( mi->id );
+ delete mi->popup;
+ }
+ }
+
+ return TRUE;
+}
+
+/*! \internal
+*/
+void QActionPGroup::childToggled( bool b )
+{
+ if ( !isExclusive() )
+ return;
+ QActionP* s = (QActionP*) sender();
+ if ( b ) {
+ if ( s != d->selected ) {
+ d->selected = s;
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ if ( it.current()->isToggleAction() && it.current() != s )
+ it.current()->setOn( FALSE );
+ }
+ emit activated();
+ emit selected( s );
+ }
+ } else {
+ if ( s == d->selected ) {
+ // at least one has to be selected
+ s->setOn( TRUE );
+ }
+ }
+}
+
+/*! \internal
+*/
+void QActionPGroup::childDestroyed()
+{
+ d->actions.removeRef( (QActionP*) sender() );
+ if ( d->selected == sender() )
+ d->selected = 0;
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setEnabled( bool enable )
+{
+ if ( enable == isEnabled() )
+ return;
+
+ QActionP::setEnabled( enable );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setIconSet( const QIconSet& icon )
+{
+ QActionP::setIconSet( icon );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setText( const QString& txt )
+{
+ if ( txt == text() )
+ return;
+
+ QActionP::setText( txt );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setMenuText( const QString& text )
+{
+ if ( text == menuText() )
+ return;
+
+ QActionP::setMenuText( text );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setToolTip( const QString& text )
+{
+ if ( text == toolTip() )
+ return;
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ if ( it.current()->toolTip().isNull() )
+ it.current()->setToolTip( text );
+ }
+ QActionP::setToolTip( text );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::setWhatsThis( const QString& text )
+{
+ if ( text == whatsThis() )
+ return;
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ if ( it.current()->whatsThis().isNull() )
+ it.current()->setWhatsThis( text );
+ }
+ QActionP::setWhatsThis( text );
+ d->update( this );
+}
+
+/*! \reimp
+*/
+void QActionPGroup::childEvent( QChildEvent *e )
+{
+ if ( !e->child()->inherits( "QActionP" ) )
+ return;
+
+ QActionP *action = (QActionP*)e->child();
+
+ if ( !e->removed() )
+ return;
+
+ for ( QPtrListIterator<QComboBox> cb( d->comboboxes ); cb.current(); ++cb ) {
+ for ( int i = 0; i < cb.current()->count(); i++ ) {
+ if ( cb.current()->text( i ) == action->text() ) {
+ cb.current()->removeItem( i );
+ break;
+ }
+ }
+ }
+ for ( QPtrListIterator<QToolButton> mb( d->menubuttons ); mb.current(); ++mb ) {
+ QPopupMenu* popup = mb.current()->popup();
+ if ( !popup )
+ continue;
+ action->removeFrom( popup );
+ }
+ for ( QPtrListIterator<QActionPGroupPrivate::MenuItem> mi( d->menuitems ); mi.current(); ++mi ) {
+ QPopupMenu* popup = mi.current()->popup;
+ if ( !popup )
+ continue;
+ action->removeFrom( popup );
+ }
+}
+
+/*!
+ \fn void QActionPGroup::selected( QActionP* )
+
+ This signal is emitted from exclusive groups when toggle actions
+ change state.
+
+ The argument is the action whose state changed to "on".
+
+ \quotefile action/actiongroup/editor.cpp
+ \skipto QActionPGroup
+ \printline QActionPGroup
+ \skipto QObject::connect
+ \printuntil SLOT
+
+ In this example we connect the selected() signal to our own
+ setFontColor() slot, passing the QActionP so that we know which
+ action was chosen by the user.
+
+ (See the \link actiongroup.html QActionPGroup Walkthrough. \endlink)
+
+ \sa setExclusive(), isOn()
+*/
+
+/*! \internal
+*/
+void QActionPGroup::internalComboBoxActivated( int index )
+{
+ QActionP *a = d->actions.at( index );
+ if ( a ) {
+ if ( a != d->selected ) {
+ d->selected = a;
+ for ( QPtrListIterator<QActionP> it( d->actions); it.current(); ++it ) {
+ if ( it.current()->isToggleAction() && it.current() != a )
+ it.current()->setOn( FALSE );
+ }
+ if ( a->isToggleAction() )
+ a->setOn( TRUE );
+
+ emit activated();
+ emit selected( d->selected );
+ emit ((QActionPGroup*)a)->activated();
+ }
+ }
+}
+
+/*! \internal
+*/
+void QActionPGroup::internalToggle( QActionP *a )
+{
+ for ( QPtrListIterator<QComboBox> it( d->comboboxes); it.current(); ++it ) {
+ int index = d->actions.find( a );
+ if ( index != -1 )
+ it.current()->setCurrentItem( index );
+ }
+}
+
+/*! \internal
+*/
+void QActionPGroup::objectDestroyed()
+{
+ const QObject* obj = sender();
+ d->menubuttons.removeRef( (QToolButton*)obj );
+ for ( QPtrListIterator<QActionPGroupPrivate::MenuItem> mi( d->menuitems ); mi.current(); ++mi ) {
+ if ( mi.current()->popup == obj ) {
+ d->menuitems.removeRef( mi.current() );
+ break;
+ }
+ }
+ d->popupmenus.removeRef( (QPopupMenu*)obj );
+ d->comboboxes.removeRef( (QComboBox*)obj );
+}
+
+/*! This function is called from the addTo() function when it created
+ a widget (\a actionWidget) for the child action \a a in the \a
+ container.
+*/
+
+void QActionPGroup::addedTo( QWidget *actionWidget, QWidget *container, QActionP *a )
+{
+ Q_UNUSED( actionWidget );
+ Q_UNUSED( container );
+ Q_UNUSED( a );
+}
+
+/*! \overload
+
+ This function is called from the addTo() function when it created a
+ menu item for the child action at the index \a index in the popup
+ menu \a menu.
+*/
+
+void QActionPGroup::addedTo( int index, QPopupMenu *menu, QActionP *a )
+{
+ Q_UNUSED( index );
+ Q_UNUSED( menu );
+ Q_UNUSED( a );
+}
+
+/*! \reimp
+ \overload
+ This function is called from the addTo() function when it created
+ a widget (\a actionWidget) in the \a container.
+*/
+
+void QActionPGroup::addedTo( QWidget *actionWidget, QWidget *container )
+{
+ Q_UNUSED( actionWidget );
+ Q_UNUSED( container );
+}
+
+/*! \reimp
+ \overload
+ This function is called from the addTo() function when it created a
+ menu item at the index \a index in the popup menu \a menu.
+
+*/
+
+void QActionPGroup::addedTo( int index, QPopupMenu *menu )
+{
+ Q_UNUSED( index );
+ Q_UNUSED( menu );
+}
+
+#endif
--- /dev/null
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : qactionP.h
+// Author : Vadim SANDLER
+// Module : SALOME
+// $Header$
+
+#ifndef QACTIONP_H
+#define QACTIONP_H
+
+#ifndef QT_H
+#include <qobject.h>
+#include <qiconset.h>
+#include <qstring.h>
+#include <qkeysequence.h>
+#endif // QT_H
+
+#ifndef QT_NO_ACTION
+
+class QActionPPrivate;
+class QActionPGroupPrivate;
+class QStatusBar;
+class QPopupMenu;
+
+class Q_EXPORT QActionP : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY( bool toggleAction READ isToggleAction WRITE setToggleAction)
+ Q_PROPERTY( bool on READ isOn WRITE setOn )
+ Q_PROPERTY( bool enabled READ isEnabled WRITE setEnabled )
+ Q_PROPERTY( QIconSet iconSet READ iconSet WRITE setIconSet )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( QString menuText READ menuText WRITE setMenuText )
+ Q_PROPERTY( QString toolTip READ toolTip WRITE setToolTip )
+ Q_PROPERTY( QString statusTip READ statusTip WRITE setStatusTip )
+ Q_PROPERTY( QString whatsThis READ whatsThis WRITE setWhatsThis )
+ Q_PROPERTY( QKeySequence accel READ accel WRITE setAccel )
+
+public:
+ QActionP( QObject* parent, const char* name = 0, bool toggle = FALSE );
+ QActionP( const QString& text, const QIconSet& icon, const QString& menuText, QKeySequence accel,
+ QObject* parent, const char* name = 0, bool toggle = FALSE );
+ QActionP( const QString& text, const QString& menuText, QKeySequence accel, QObject* parent,
+ const char* name = 0, bool toggle = FALSE );
+ ~QActionP();
+
+ virtual void setIconSet( const QIconSet& );
+ QIconSet iconSet() const;
+ virtual void setText( const QString& );
+ QString text() const;
+ virtual void setMenuText( const QString& );
+ QString menuText() const;
+ virtual void setToolTip( const QString& );
+ QString toolTip() const;
+ virtual void setStatusTip( const QString& );
+ QString statusTip() const;
+ virtual void setWhatsThis( const QString& );
+ QString whatsThis() const;
+ virtual void setAccel( const QKeySequence& key );
+ QKeySequence accel() const;
+ virtual void setToggleAction( bool );
+ bool isToggleAction() const;
+ bool isOn() const;
+ bool isEnabled() const;
+ virtual bool addTo( QWidget* );
+ virtual bool removeFrom( QWidget* );
+
+protected:
+ virtual void addedTo( QWidget *actionWidget, QWidget *container );
+ virtual void addedTo( int index, QPopupMenu *menu );
+
+public slots:
+ void toggle();
+ virtual void setOn( bool );
+ virtual void setEnabled( bool );
+
+signals:
+ void activated();
+ void toggled( bool );
+
+private slots:
+ void internalActivation();
+ void toolButtonToggled( bool );
+ void objectDestroyed();
+ void menuStatusText( int id );
+ void showStatusText( const QString& );
+ void clearStatusText();
+
+private:
+ void init();
+
+ QActionPPrivate* d;
+
+};
+
+class Q_EXPORT QActionPGroup : public QActionP
+{
+ Q_OBJECT
+ Q_PROPERTY( bool exclusive READ isExclusive WRITE setExclusive )
+ Q_PROPERTY( bool usesDropDown READ usesDropDown WRITE setUsesDropDown )
+
+public:
+ QActionPGroup( QObject* parent, const char* name = 0, bool exclusive = TRUE );
+ ~QActionPGroup();
+ void setExclusive( bool );
+ bool isExclusive() const;
+ void add( QActionP* a);
+ void addSeparator();
+ bool addTo( QWidget* );
+ bool removeFrom( QWidget* );
+ void setEnabled( bool );
+
+ void setUsesDropDown( bool enable );
+ bool usesDropDown() const;
+
+ void setIconSet( const QIconSet& );
+ void setText( const QString& );
+ void setMenuText( const QString& );
+ void setToolTip( const QString& );
+ void setWhatsThis( const QString& );
+
+protected:
+ void childEvent( QChildEvent* );
+ virtual void addedTo( QWidget *actionWidget, QWidget *container, QActionP *a );
+ virtual void addedTo( int index, QPopupMenu *menu, QActionP *a );
+ virtual void addedTo( QWidget *actionWidget, QWidget *container );
+ virtual void addedTo( int index, QPopupMenu *menu );
+
+signals:
+ void selected( QActionP* );
+
+private slots:
+ void childToggled( bool );
+ void childDestroyed();
+ void internalComboBoxActivated( int );
+ void internalToggle( QActionP* );
+ void objectDestroyed();
+
+private:
+ QActionPGroupPrivate* d;
+
+#ifndef QT_NO_COMPAT
+public:
+ void insert( QActionP* a ) { add( a ); }
+#endif
+
+};
+
+#endif
+
+#endif
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : qsplitterP.cxx
+// Module : SALOME
+
using namespace std;
/****************************************************************************
** $Id$
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : qsplitterP.h
+// Module : SALOME
+
/****************************************************************************
** $Id$
**
-using namespace std;
-// File : qworkspaceP.cxx
-// Created : UI team, 21.11.02
-// Descr : Patch for QWorkspace class (Qt 3.0.5)
-
-// Modified : Mon Nov 25 09:35:34 2002
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : PatchQt
-// Copyright : Open CASCADE 2002
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : qworkspaceP.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "qworkspaceP.h"
#include <qapplication.h>
ctrls ^= under_mouse;
}
- QSharedDoubleBuffer buffer( (bool)FALSE, (bool)FALSE );
- buffer.begin( this, rect() );
+ // QSharedDoubleBuffer buffer( (bool)FALSE, (bool)FALSE );
+ // buffer.begin( this, rect() );
+ QSharedDoubleBuffer buffer( this, rect() );
style().drawComplexControl(QStyle::CC_TitleBar, buffer.painter(), this, rect(),
colorGroup(),
isEnabled() ? QStyle::Style_Enabled :
-// File : qworkspaceP.h
-// Created : UI team, 21.11.02
-// Descr : Patch for QWorkspace class (Qt 3.0.5)
-
-// Modified : Mon Nov 25 09:30:11 2002
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : PatchQt
-// Copyright : Open CASCADE 2002
+// SALOME PatchQt : patch for Qt
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : qworkspaceP.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef QWORKSPACEP_H
-# source path
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
Plot2d_CurveContainer.h \
Plot2d_ViewFrame.h \
Plot2d_SetupViewDlg.h \
- Plot2d_SetupPlot2dDlg.h
+ Plot2d_SetupPlot2dDlg.h \
+ Plot2d_FitDataDlg.h
# .po files to transform in .qm
#PO_FILES = \
Plot2d_CurveContainer.cxx \
Plot2d_ViewFrame.cxx \
Plot2d_SetupViewDlg.cxx \
- Plot2d_SetupPlot2dDlg.cxx
+ Plot2d_SetupPlot2dDlg.cxx \
+ Plot2d_FitDataDlg.cxx
LIB_MOC = \
Plot2d.h \
Plot2d_ViewFrame.h \
Plot2d_SetupViewDlg.h \
- Plot2d_SetupPlot2dDlg.h
+ Plot2d_SetupPlot2dDlg.h \
+ Plot2d_FitDataDlg.h
LIB_CLIENT_IDL = SALOMEDS.idl \
+ SALOMEDS_Attributes.idl \
SALOME_ModuleCatalog.idl \
SALOME_Component.idl \
SALOME_Exception.idl
-// File : Plot2d.cxx
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#include "Plot2d.h"
-// File : Plot2d.h
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : OCCViewer
-// Copyright : Open CASCADE 2002
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef Plot2d_HeaderFile
-using namespace std;
-// File : Plot2d_Curve.cxx
-// Created : UI team, 05.09.00
-// Descrip : Curve class
-
-// Modified : Mon Dec 03 15:37:21 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : Plot2d
-// Copyright : Open CASCADE 2001
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_Curve.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "Plot2d_Curve.h"
#include "utilities.h"
-// File : Plot2d_Curve.h
-// Created : UI team, 05.09.00
-// Descrip : Curve class
-
-// Modified : Mon Dec 03 15:37:21 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : Plot2d
-// Copyright : Open CASCADE 2001
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_Curve.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef Plot2d_Curve_h
virtual bool hasIO() { return !myIO.IsNull(); }
virtual Handle(SALOME_InteractiveObject) getIO() { return myIO; }
virtual void setIO( const Handle(SALOME_InteractiveObject)& io ) { myIO = io; }
+
+ virtual bool hasTableIO() { return !myTableIO.IsNull(); }
+ virtual Handle(SALOME_InteractiveObject) getTableIO() { return myTableIO; }
+ virtual void setTableIO( const Handle(SALOME_InteractiveObject)& io ) { myTableIO = io; }
private:
Handle(SALOME_InteractiveObject) myIO;
+ Handle(SALOME_InteractiveObject) myTableIO;
bool myAutoAssign;
QString myHorTitle;
-using namespace std;
-// File : Plot2d_CurveContainer.cxx
-// Created : UI team, 05.09.00
-// Descrip : Curve container class
-
-// Modified : Mon Dec 03 15:37:21 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : Plot2d
-// Copyright : Open CASCADE 2001
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_CurveContainer.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "Plot2d_CurveContainer.h"
/*!
-// File : Plot2d_CurveContainer.h
-// Created : UI team, 05.09.00
-// Descrip : Curve container class
-
-// Modified : Mon Dec 03 15:37:21 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : Plot2d
-// Copyright : Open CASCADE 2001
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_CurveContainer.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef Plot2d_CurveContainer_h
--- /dev/null
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_FitDataDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
+// $Header$
+
+#include "Plot2d_FitDataDlg.h"
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qvalidator.h>
+#include "QAD_Tools.h"
+#include "QAD_Application.h"
+#include "QAD_Desktop.h"
+
+#define SPACING_SIZE 6
+#define MARGIN_SIZE 11
+#define MIN_EDIT_SIZE 100
+
+/*!
+ Constructor
+*/
+Plot2d_FitDataDlg::Plot2d_FitDataDlg( QWidget* parent )
+ : QDialog( parent ? parent : QAD_Application::getDesktop(),
+ "Plot2d_FitDataDlg",
+ true,
+ WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu )
+{
+ setCaption( tr( "FIT_DATA_TLT" ) );
+ setSizeGripEnabled( TRUE );
+ QGridLayout* topLayout = new QGridLayout( this );
+ topLayout->setSpacing( SPACING_SIZE );
+ topLayout->setMargin( MARGIN_SIZE );
+
+ // 'Range' group
+ myRangeGrp = new QButtonGroup( this );
+ myRangeGrp->setColumnLayout( 0, Qt::Vertical );
+ myRangeGrp->layout()->setSpacing( 0 );
+ myRangeGrp->layout()->setMargin( 0 );
+ QGridLayout* aGridLayout = new QGridLayout( myRangeGrp->layout() );
+ aGridLayout->setAlignment( Qt::AlignTop );
+ aGridLayout->setMargin( MARGIN_SIZE );
+ aGridLayout->setSpacing( SPACING_SIZE );
+
+ myModeAllRB = new QRadioButton( tr( "FIT_ALL" ), myRangeGrp );
+ myModeHorRB = new QRadioButton( tr( "FIT_HORIZONTAL" ), myRangeGrp );
+ myModeVerRB = new QRadioButton( tr( "FIT_VERTICAL" ), myRangeGrp );
+
+ QDoubleValidator* aValidator = new QDoubleValidator( this );
+ myXMinEdit = new QLineEdit( myRangeGrp );
+ myXMinEdit->setValidator( aValidator );
+ myXMinEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myXMinEdit->setMinimumSize( MIN_EDIT_SIZE, 0 );
+ myXMinEdit->setText( "0.0" );
+
+ myYMinEdit = new QLineEdit( myRangeGrp );
+ myYMinEdit->setValidator( aValidator );
+ myYMinEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myYMinEdit->setMinimumSize( MIN_EDIT_SIZE, 0 );
+ myYMinEdit->setText( "0.0" );
+
+ myXMaxEdit = new QLineEdit( myRangeGrp );
+ myXMaxEdit->setValidator( aValidator );
+ myXMaxEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myXMaxEdit->setMinimumSize( MIN_EDIT_SIZE, 0 );
+ myXMaxEdit->setText( "0.0" );
+
+ myYMaxEdit = new QLineEdit( myRangeGrp );
+ myYMaxEdit->setValidator( aValidator );
+ myYMaxEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ myYMaxEdit->setMinimumSize( MIN_EDIT_SIZE, 0 );
+ myYMaxEdit->setText( "0.0" );
+
+ QFrame* aHLine = new QFrame( myRangeGrp );
+ aHLine->setFrameStyle( QFrame::HLine | QFrame::Sunken );
+
+ QHBoxLayout* aModeLayout = new QHBoxLayout;
+ aModeLayout->setMargin( 0 );
+ aModeLayout->setSpacing( SPACING_SIZE );
+ aModeLayout->addWidget( myModeAllRB );
+ aModeLayout->addWidget( myModeHorRB );
+ aModeLayout->addWidget( myModeVerRB );
+
+ QLabel* horLab = new QLabel( tr( "HORIZONTAL_AXIS" ), myRangeGrp );
+ QLabel* verLab = new QLabel( tr( "VERTICAL_AXIS" ), myRangeGrp );
+ QFont font = horLab->font(); font.setBold( true );
+ horLab->setFont( font ); verLab->setFont( font );
+
+ aGridLayout->addMultiCellLayout( aModeLayout, 0, 0, 0, 4 );
+ aGridLayout->addMultiCellWidget( aHLine, 1, 1, 0, 4 );
+ aGridLayout->addWidget ( horLab, 2, 0 );
+ aGridLayout->addWidget ( new QLabel( tr( "MIN_VALUE_LAB" ), myRangeGrp ),
+ 2, 1 );
+ aGridLayout->addWidget ( myXMinEdit, 2, 2 );
+ aGridLayout->addWidget ( new QLabel( tr( "MAX_VALUE_LAB" ), myRangeGrp ),
+ 2, 3 );
+ aGridLayout->addWidget ( myXMaxEdit, 2, 4 );
+ aGridLayout->addWidget ( verLab, 3, 0 );
+ aGridLayout->addWidget ( new QLabel( tr( "MIN_VALUE_LAB" ), myRangeGrp ),
+ 3, 1 );
+ aGridLayout->addWidget ( myYMinEdit, 3, 2 );
+ aGridLayout->addWidget ( new QLabel( tr( "MAX_VALUE_LAB" ), myRangeGrp ),
+ 3, 3 );
+ aGridLayout->addWidget ( myYMaxEdit, 3, 4 );
+
+ // OK/Cancel buttons
+ myOkBtn = new QPushButton( tr( "BUT_OK" ), this, "buttonOk" );
+ myOkBtn->setAutoDefault( TRUE );
+ myOkBtn->setDefault( TRUE );
+ myCancelBtn = new QPushButton( tr( "BUT_CANCEL" ), this, "buttonCancel" );
+ myCancelBtn->setAutoDefault( TRUE );
+
+ topLayout->addMultiCellWidget( myRangeGrp, 0, 0, 0, 2 );
+ topLayout->addWidget( myOkBtn, 1, 0 );
+ topLayout->setColStretch( 1, 5 );
+ topLayout->addWidget( myCancelBtn, 1, 2 );
+
+ // connect signals
+ connect( myOkBtn, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( myCancelBtn, SIGNAL( clicked() ), this, SLOT( reject() ) );
+ connect( myRangeGrp, SIGNAL( clicked( int ) ), this, SLOT( onModeChanged( int ) ) );
+
+ // initial state
+ myModeAllRB->setChecked( true );
+ onModeChanged( 0 );
+
+ /* Center widget inside it's parent widget */
+ QAD_Tools::centerWidget( this, parentWidget() );
+}
+
+/*!
+ Sets range
+*/
+void Plot2d_FitDataDlg::setRange( const double xMin,
+ const double xMax,
+ const double yMin,
+ const double yMax )
+{
+ myXMinEdit->setText( QString::number( xMin ) );
+ myXMaxEdit->setText( QString::number( xMax ) );
+ myYMinEdit->setText( QString::number( yMin ) );
+ myYMaxEdit->setText( QString::number( yMax ) );
+}
+
+/*!
+ Gets range, returns mode (see getMode())
+*/
+int Plot2d_FitDataDlg::getRange( double& xMin,
+ double& xMax,
+ double& yMin,
+ double& yMax )
+{
+ xMin = myXMinEdit->text().toDouble();
+ xMax = myXMaxEdit->text().toDouble();
+ yMin = myYMinEdit->text().toDouble();
+ yMax = myYMaxEdit->text().toDouble();
+ int myMode = 0;
+ if ( myModeAllRB->isChecked() )
+ myMode = 0;
+ if ( myModeHorRB->isChecked() )
+ myMode = 1;
+ if ( myModeVerRB->isChecked() )
+ myMode = 2;
+ return myMode;
+}
+
+/*!
+ Gets mode : 0 - Fit all; 1 - Fit horizontal, 2 - Fit vertical
+*/
+int Plot2d_FitDataDlg::getMode()
+{
+ int myMode = 0;
+ if ( myModeAllRB->isChecked() )
+ myMode = 0;
+ if ( myModeHorRB->isChecked() )
+ myMode = 1;
+ if ( myModeVerRB->isChecked() )
+ myMode = 2;
+ return myMode;
+}
+
+/*!
+ Called when range mode changed
+*/
+void Plot2d_FitDataDlg::onModeChanged(int mode)
+{
+ bool badFocus;
+ switch( mode ) {
+ case 0: // fit all mode
+ myXMinEdit->setEnabled(true);
+ myXMaxEdit->setEnabled(true);
+ myYMinEdit->setEnabled(true);
+ myYMaxEdit->setEnabled(true);
+ break;
+ case 1: // fit horizontal mode
+ badFocus = myYMinEdit->hasFocus() || myYMaxEdit->hasFocus();
+ myXMinEdit->setEnabled(true);
+ myXMaxEdit->setEnabled(true);
+ myYMinEdit->setEnabled(false);
+ myYMaxEdit->setEnabled(false);
+ if (badFocus)
+ myXMinEdit->setFocus();
+ break;
+ case 2: // fit vertical mode
+ badFocus = myXMinEdit->hasFocus() || myXMaxEdit->hasFocus();
+ myXMinEdit->setEnabled(false);
+ myXMaxEdit->setEnabled(false);
+ myYMinEdit->setEnabled(true);
+ myYMaxEdit->setEnabled(true);
+ if (badFocus)
+ myYMinEdit->setFocus();
+ break;
+ }
+}
+
--- /dev/null
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_FitDataDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
+// $Header$
+
+#if !defined(Plot2d_FitDataDlg_H)
+#define Plot2d_FitDataDlg_H
+
+#include <qdialog.h>
+
+#include <qspinbox.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+
+//================================================================
+// Class : Plot2d_FitDataDlg
+// Description : Dialog to fit view for given data area
+//================================================================
+class Plot2d_FitDataDlg : public QDialog
+{
+ Q_OBJECT
+public:
+// constuctor
+ Plot2d_FitDataDlg(QWidget* parent);
+
+// sets range
+ void setRange(const double xMin,
+ const double xMax,
+ const double yMin,
+ const double yMax);
+// gets range, returns mode (see getMode())
+ int getRange(double& xMin,
+ double& xMax,
+ double& yMin,
+ double& yMax);
+// gets mode : 0 - Fit all; 1 - Fit horizontal, 2 - Fit vertical
+ int getMode();
+
+protected slots:
+// called when range mode changed
+ void onModeChanged(int);
+
+private:
+ QButtonGroup* myRangeGrp;
+ QRadioButton* myModeAllRB;
+ QRadioButton* myModeHorRB;
+ QRadioButton* myModeVerRB;
+ QLineEdit* myXMinEdit;
+ QLineEdit* myYMinEdit;
+ QLineEdit* myXMaxEdit;
+ QLineEdit* myYMaxEdit;
+ QPushButton* myOkBtn;
+ QPushButton* myCancelBtn;
+};
+
+#endif // !defined(Plot2d_FitDataDlg_H)
-// File : Plot2d_SetupPlot2dDlg.cxx
-// Created : Wed Jun 27 16:39:06 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_SetupPlot2dDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#include "Plot2d_SetupPlot2dDlg.h"
-// File : Plot2d_SetupPlot2dDlg.h
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_SetupPlot2dDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef Plot2d_SetupPlot2dDlg_H
-// File : Plot2d_SetupViewDlg.cxx
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_SetupViewDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#include "Plot2d_SetupViewDlg.h"
-// File : Plot2d_SetupViewDlg.h
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_SetupViewDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef Plot2d_SetupViewDlg_H
-// File : Plot2d_ViewFrame.cxx
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_ViewFrame.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#include "Plot2d_ViewFrame.h"
#include "SALOME_Selection.h"
#include "Plot2d_CurveContainer.h"
#include "Plot2d_Curve.h"
+#include "Plot2d_FitDataDlg.h"
#include "utilities.h"
#include "qapplication.h"
#include <qtoolbar.h>
#include <qcursor.h>
#include <qwt_math.h>
#include <qwt_plot_canvas.h>
+#include <stdlib.h>
+#include "utilities.h"
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SALOMEDS)
+#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
#define DEFAULT_LINE_WIDTH 0 // (default) line width
#define DEFAULT_MARKER_SIZE 9 // default marker size
myXMode( 0 ), myYMode( 0 )
{
- setCaption( tr( "PLOT_2D_TLT" ) );
- setDockMenuEnabled( false );
-
myCurves.setAutoDelete( true );
/* Plot 2d View */
myPlot = new Plot2d_Plot2d( this );
myPlot->replot();
if ( parent ) {
- resize( 0.8 * parent->width(), 0.8 * parent->height() );
+ resize( (int)(0.8 * parent->width()), (int)(0.8 * parent->height()) );
}
}
/*!
*/
Plot2d_ViewFrame::~Plot2d_ViewFrame()
{
+ myActions.clear();
qApp->removeEventFilter( this );
}
/*!
QAD_ResourceMgr* rmgr = QAD_Desktop::getResourceManager();
/* Linear/logarithmic mode */
// Horizontal axis
- QActionGroup* modeHorGrp = new QActionGroup( this );
+ QActionPGroup* modeHorGrp = new QActionPGroup( this );
modeHorGrp->setExclusive( TRUE );
- QAction* linearXAction = new QAction ( tr( "TOT_PLOT2D_MODE_LINEAR_HOR"),
+ QActionP* linearXAction = new QActionP ( tr( "TOT_PLOT2D_MODE_LINEAR_HOR"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_MODE_LINEAR_HOR") ) ,
tr( "MEN_PLOT2D_MODE_LINEAR_HOR" ), 0, modeHorGrp );
linearXAction->setStatusTip ( tr( "PRP_PLOT2D_MODE_LINEAR_HOR" ) );
linearXAction->setToggleAction( true );
myActions.insert( ModeXLinearId, linearXAction );
- QAction* logXAction = new QAction ( tr( "TOT_PLOT2D_MODE_LOGARITHMIC_HOR"),
+ QActionP* logXAction = new QActionP ( tr( "TOT_PLOT2D_MODE_LOGARITHMIC_HOR"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_MODE_LOGARITHMIC_HOR") ) ,
tr( "MEN_PLOT2D_MODE_LOGARITHMIC_HOR" ), 0, modeHorGrp );
logXAction->setStatusTip ( tr( "PRP_PLOT2D_MODE_LOGARITHMIC_HOR" ) );
logXAction->setToggleAction( true );
myActions.insert( ModeXLogarithmicId, logXAction );
- connect( modeHorGrp, SIGNAL( selected( QAction* ) ), this, SLOT( onHorMode() ) );
+ connect( modeHorGrp, SIGNAL( selected( QActionP* ) ), this, SLOT( onHorMode() ) );
// Vertical axis
- QActionGroup* modeVerGrp = new QActionGroup( this );
+ QActionPGroup* modeVerGrp = new QActionPGroup( this );
modeVerGrp->setExclusive( TRUE );
- QAction* linearYAction = new QAction ( tr( "TOT_PLOT2D_MODE_LINEAR_VER"),
+ QActionP* linearYAction = new QActionP ( tr( "TOT_PLOT2D_MODE_LINEAR_VER"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_MODE_LINEAR_VER") ) ,
tr( "MEN_PLOT2D_MODE_LINEAR_VER" ), 0, modeVerGrp );
linearYAction->setStatusTip ( tr( "PRP_PLOT2D_MODE_LINEAR_VER" ) );
linearYAction->setToggleAction( true );
myActions.insert( ModeYLinearId, linearYAction );
- QAction* logYAction = new QAction ( tr( "TOT_PLOT2D_MODE_LOGARITHMIC_VER"),
+ QActionP* logYAction = new QActionP ( tr( "TOT_PLOT2D_MODE_LOGARITHMIC_VER"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_MODE_LOGARITHMIC_VER") ) ,
tr( "MEN_PLOT2D_MODE_LOGARITHMIC_VER" ), 0, modeVerGrp );
logYAction->setStatusTip ( tr( "PRP_PLOT2D_MODE_LOGARITHMIC_VER" ) );
logYAction->setToggleAction( true );
myActions.insert( ModeYLogarithmicId, logYAction );
- connect( modeVerGrp, SIGNAL( selected( QAction* ) ), this, SLOT( onVerMode() ) );
+ connect( modeVerGrp, SIGNAL( selected( QActionP* ) ), this, SLOT( onVerMode() ) );
/* Legend */
- QAction* legendAction = new QAction ( tr( "TOT_PLOT2D_SHOW_LEGEND"),
+ QActionP* legendAction = new QActionP ( tr( "TOT_PLOT2D_SHOW_LEGEND"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_SHOW_LEGEND") ) ,
tr( "MEN_PLOT2D_SHOW_LEGEND" ), 0, this );
legendAction->setStatusTip ( tr( "PRP_PLOT2D_SHOW_LEGEND" ) );
connect( legendAction, SIGNAL( activated() ), this, SLOT( onLegend() ) );
/* Curve type */
- QActionGroup* curveGrp = new QActionGroup( this );
+ QActionPGroup* curveGrp = new QActionPGroup( this );
curveGrp->setExclusive( TRUE );
- QAction* pointsAction = new QAction ( tr( "TOT_PLOT2D_CURVES_POINTS"),
+ QActionP* pointsAction = new QActionP ( tr( "TOT_PLOT2D_CURVES_POINTS"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_CURVES_POINTS") ) ,
tr( "MEN_PLOT2D_CURVES_POINTS" ), 0, curveGrp );
pointsAction->setStatusTip ( tr( "PRP_PLOT2D_CURVES_POINTS" ) );
pointsAction->setToggleAction( true );
myActions.insert( CurvePointsId, pointsAction );
- QAction* linesAction = new QAction ( tr( "TOT_PLOT2D_CURVES_LINES"),
+ QActionP* linesAction = new QActionP ( tr( "TOT_PLOT2D_CURVES_LINES"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_CURVES_LINES") ) ,
tr( "MEN_PLOT2D_CURVES_LINES" ), 0, curveGrp );
linesAction->setStatusTip ( tr( "PRP_PLOT2D_CURVES_LINES" ) );
linesAction->setToggleAction( true );
myActions.insert( CurveLinesId, linesAction );
- QAction* splinesAction = new QAction ( tr( "TOT_PLOT2D_CURVES_SPLINES"),
+ QActionP* splinesAction = new QActionP ( tr( "TOT_PLOT2D_CURVES_SPLINES"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_CURVES_SPLINES") ) ,
tr( "MEN_PLOT2D_CURVES_SPLINES" ), 0, curveGrp );
splinesAction->setStatusTip ( tr( "PRP_PLOT2D_CURVES_SPLINES" ) );
splinesAction->setToggleAction( true );
myActions.insert( CurveSplinesId, splinesAction );
- connect( curveGrp, SIGNAL( selected( QAction* ) ), this, SLOT( onCurves() ) );
+ connect( curveGrp, SIGNAL( selected( QActionP* ) ), this, SLOT( onCurves() ) );
// Settings
- QAction* settingsAction = new QAction ( tr( "TOT_PLOT2D_SETTINGS"),
+ QActionP* settingsAction = new QActionP ( tr( "TOT_PLOT2D_SETTINGS"),
rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_SETTINGS") ) ,
tr( "MEN_PLOT2D_SETTINGS" ), 0, this );
settingsAction->setStatusTip ( tr( "PRP_PLOT2D_SETTINGS" ) );
myActions.insert( SettingsId, settingsAction );
connect( settingsAction, SIGNAL( activated() ), this, SLOT( onSettings() ) );
+
+ // Fit Data
+ QActionP* fitDataAction = new QActionP ( tr( "TOT_PLOT2D_FITDATA"),
+ rmgr->loadPixmap( "SALOMEGUI", tr("ICON_PLOT2D_FITDATA") ) ,
+ tr( "MEN_PLOT2D_FITDATA" ), 0, this );
+ fitDataAction->setStatusTip ( tr( "PRP_PLOT2D_FITDATA" ) );
+ myActions.insert( FitDataId, fitDataAction );
+ connect( fitDataAction, SIGNAL( activated() ), this, SLOT( onFitData() ) );
}
/*!
Gets window's central widget
scalingPopup->insertSeparator();
myActions[ ModeYLinearId ]->addTo( scalingPopup );
myActions[ ModeYLogarithmicId ]->addTo( scalingPopup );
+ myActions[ FitDataId ]->addTo( myPopup );
myPopup->insertItem( tr( "SCALING_POPUP" ), scalingPopup );
// curve type
QPopupMenu* curTypePopup = new QPopupMenu( myPopup );
// myPlot->getLegend()->setText( legendIndex, aSymbol );
}
}
+ updateTitles();
}
/*!
Returns true if interactive object is presented in the viewer
QString Plot2d_ViewFrame::getInfo( const QPoint& pnt )
{
QString info;
- info.sprintf( "%g - %g",
+ info.sprintf( "X : %g\tY : %g",
myPlot->invTransform( QwtPlot::xBottom, pnt.x() ),
myPlot->invTransform( QwtPlot::yLeft, pnt.y() ) );
info = tr( "INF_COORDINATES" ) + " : " + info;
return info;
}
+/*!
+ Converts Plot2d_Curve's marker style to Qwt marker style [ static ]
+*/
+static QwtSymbol::Style plot2qwtMarker( Plot2d_Curve::MarkerType m )
+{
+ QwtSymbol::Style ms = QwtSymbol::None;
+ switch ( m ) {
+ case Plot2d_Curve::Circle:
+ ms = QwtSymbol::Ellipse; break;
+ case Plot2d_Curve::Rectangle:
+ ms = QwtSymbol::Rect; break;
+ case Plot2d_Curve::Diamond:
+ ms = QwtSymbol::Diamond; break;
+ case Plot2d_Curve::DTriangle:
+ ms = QwtSymbol::DTriangle; break;
+ case Plot2d_Curve::UTriangle:
+ ms = QwtSymbol::UTriangle; break;
+ case Plot2d_Curve::LTriangle: // Qwt confuses LTriangle and RTriangle :(((
+ ms = QwtSymbol::RTriangle; break;
+ case Plot2d_Curve::RTriangle: // Qwt confuses LTriangle and RTriangle :(((
+ ms = QwtSymbol::LTriangle; break;
+ case Plot2d_Curve::Cross:
+ ms = QwtSymbol::Cross; break;
+ case Plot2d_Curve::XCross:
+ ms = QwtSymbol::XCross; break;
+ case Plot2d_Curve::None:
+ default:
+ ms = QwtSymbol::None; break;
+ }
+ return ms;
+}
+/*!
+ Converts Qwt marker style to Plot2d_Curve's marker style [ static ]
+*/
+static Plot2d_Curve::MarkerType qwt2plotMarker( QwtSymbol::Style m )
+{
+ Plot2d_Curve::MarkerType ms = Plot2d_Curve::None;
+ switch ( m ) {
+ case QwtSymbol::Ellipse:
+ ms = Plot2d_Curve::Circle; break;
+ case QwtSymbol::Rect:
+ ms = Plot2d_Curve::Rectangle; break;
+ case QwtSymbol::Diamond:
+ ms = Plot2d_Curve::Diamond; break;
+ case QwtSymbol::DTriangle:
+ ms = Plot2d_Curve::DTriangle; break;
+ case QwtSymbol::UTriangle:
+ ms = Plot2d_Curve::UTriangle; break;
+ case QwtSymbol::RTriangle: // Qwt confuses LTriangle and RTriangle :(((
+ ms = Plot2d_Curve::LTriangle; break;
+ case QwtSymbol::LTriangle: // Qwt confuses LTriangle and RTriangle :(((
+ ms = Plot2d_Curve::RTriangle; break;
+ case QwtSymbol::Cross:
+ ms = Plot2d_Curve::Cross; break;
+ case QwtSymbol::XCross:
+ ms = Plot2d_Curve::XCross; break;
+ case QwtSymbol::None:
+ default:
+ ms = Plot2d_Curve::None; break;
+ }
+ return ms;
+}
+/*!
+ Converts Plot2d_Curve's line style to Qwt line style [ static ]
+*/
+static Qt::PenStyle plot2qwtLine( Plot2d_Curve::LineType p )
+{
+ Qt::PenStyle ps = Qt::NoPen;
+ switch ( p ) {
+ case Plot2d_Curve::Solid:
+ ps = Qt::SolidLine; break;
+ case Plot2d_Curve::Dash:
+ ps = Qt::DashLine; break;
+ case Plot2d_Curve::Dot:
+ ps = Qt::DotLine; break;
+ case Plot2d_Curve::DashDot:
+ ps = Qt::DashDotLine; break;
+ case Plot2d_Curve::DashDotDot:
+ ps = Qt::DashDotDotLine; break;
+ case Plot2d_Curve::NoPen:
+ default:
+ ps = Qt::NoPen; break;
+ }
+ return ps;
+}
+/*!
+ Converts Qwt line style to Plot2d_Curve's line style [ static ]
+*/
+static Plot2d_Curve::LineType qwt2plotLine( Qt::PenStyle p )
+{
+ Plot2d_Curve::LineType ps = Plot2d_Curve::NoPen;
+ switch ( p ) {
+ case Qt::SolidLine:
+ ps = Plot2d_Curve::Solid; break;
+ case Qt::DashLine:
+ ps = Plot2d_Curve::Dash; break;
+ case Qt::DotLine:
+ ps = Plot2d_Curve::Dot; break;
+ case Qt::DashDotLine:
+ ps = Plot2d_Curve::DashDot; break;
+ case Qt::DashDotDotLine:
+ ps = Plot2d_Curve::DashDotDot; break;
+ case Qt::NoPen:
+ default:
+ ps = Plot2d_Curve::NoPen; break;
+ }
+ return ps;
+}
/*!
Adds curve into view
*/
QBrush( color ),
QPen( color ),
QSize( myMarkerSize, myMarkerSize ) ) );
+ curve->setColor( color );
+ curve->setLine( qwt2plotLine( typeLine ) );
+ curve->setMarker( qwt2plotMarker( typeMarker ) );
}
else {
- Qt::PenStyle ps = Qt::NoPen;
- QwtSymbol::Style ms = QwtSymbol::None;
- switch ( curve->getLine() ) {
- case Plot2d_Curve::Solid:
- ps = Qt::SolidLine; break;
- case Plot2d_Curve::Dash:
- ps = Qt::DashLine; break;
- case Plot2d_Curve::Dot:
- ps = Qt::DotLine; break;
- case Plot2d_Curve::DashDot:
- ps = Qt::DashDotLine; break;
- case Plot2d_Curve::DashDotDot:
- ps = Qt::DashDotDotLine; break;
- case Plot2d_Curve::NoPen:
- default:
- ps = Qt::NoPen; break;
- }
- switch ( curve->getMarker() ) {
- case Plot2d_Curve::Circle:
- ms = QwtSymbol::Ellipse; break;
- case Plot2d_Curve::Rectangle:
- ms = QwtSymbol::Rect; break;
- case Plot2d_Curve::Diamond:
- ms = QwtSymbol::Diamond; break;
- case Plot2d_Curve::DTriangle:
- ms = QwtSymbol::DTriangle; break;
- case Plot2d_Curve::UTriangle:
- ms = QwtSymbol::UTriangle; break;
- case Plot2d_Curve::LTriangle: // Qwt confuses LTriangle and RTriangle :(((
- ms = QwtSymbol::RTriangle; break;
- case Plot2d_Curve::RTriangle: // Qwt confuses LTriangle and RTriangle :(((
- ms = QwtSymbol::LTriangle; break;
- case Plot2d_Curve::Cross:
- ms = QwtSymbol::Cross; break;
- case Plot2d_Curve::XCross:
- ms = QwtSymbol::XCross; break;
- case Plot2d_Curve::None:
- default:
- ms = QwtSymbol::None; break;
- }
+ Qt::PenStyle ps = plot2qwtLine( curve->getLine() );
+ QwtSymbol::Style ms = plot2qwtMarker( curve->getMarker() );
myPlot->setCurvePen( curveKey, QPen( curve->getColor(), curve->getLineWidth(), ps ) );
myPlot->setCurveSymbol( curveKey, QwtSymbol( ms,
QBrush( curve->getColor() ),
myPlot->setCurveStyle( curveKey, QwtCurve::Spline );
myPlot->setCurveData( curveKey, curve->horData(), curve->verData(), curve->nbPoints() );
}
-// updateTitles();
+ updateTitles();
if ( update )
myPlot->replot();
}
*/
void Plot2d_ViewFrame::displayCurves( Plot2d_CurveContainer& curves, bool update )
{
+ myPlot->setUpdatesEnabled( false );
for ( int i = 0; i < curves.count(); i++ ) {
displayCurve( curves.curve( i ), false );
}
// fitAll();
+ myPlot->setUpdatesEnabled( true );
if ( update )
myPlot->replot();
}
if ( curveKey ) {
myPlot->removeCurve( curveKey );
myCurves.remove( curveKey );
+ updateTitles();
if ( update )
myPlot->replot();
}
myPlot->replot();
}
/*!
- Udpates curves attributes
+ Updates curves attributes
*/
void Plot2d_ViewFrame::updateCurve( Plot2d_Curve* curve, bool update )
{
int curveKey = hasCurve( curve );
if ( curveKey ) {
if ( !curve->isAutoAssign() ) {
- Qt::PenStyle ps = Qt::NoPen;
- QwtSymbol::Style ms = QwtSymbol::None;
- switch ( curve->getLine() ) {
- case Plot2d_Curve::Solid:
- ps = Qt::SolidLine; break;
- case Plot2d_Curve::Dash:
- ps = Qt::DashLine; break;
- case Plot2d_Curve::Dot:
- ps = Qt::DotLine; break;
- case Plot2d_Curve::DashDot:
- ps = Qt::DashDotLine; break;
- case Plot2d_Curve::DashDotDot:
- ps = Qt::DashDotDotLine; break;
- case Plot2d_Curve::NoPen:
- default:
- ps = Qt::NoPen; break;
- }
- switch ( curve->getMarker() ) {
- case Plot2d_Curve::Circle:
- ms = QwtSymbol::Ellipse; break;
- case Plot2d_Curve::Rectangle:
- ms = QwtSymbol::Rect; break;
- case Plot2d_Curve::Diamond:
- ms = QwtSymbol::Diamond; break;
- case Plot2d_Curve::DTriangle:
- ms = QwtSymbol::DTriangle; break;
- case Plot2d_Curve::UTriangle:
- ms = QwtSymbol::UTriangle; break;
- case Plot2d_Curve::LTriangle: // Qwt confuses LTriangle and RTriangle :(((
- ms = QwtSymbol::RTriangle; break;
- case Plot2d_Curve::RTriangle: // Qwt confuses LTriangle and RTriangle :(((
- ms = QwtSymbol::LTriangle; break;
- case Plot2d_Curve::Cross:
- ms = QwtSymbol::Cross; break;
- case Plot2d_Curve::XCross:
- ms = QwtSymbol::XCross; break;
- case Plot2d_Curve::None:
- default:
- ms = QwtSymbol::None; break;
- }
- myPlot->setCurvePen( curveKey, QPen( curve->getColor(), curve->getLineWidth(), ps ) );
- myPlot->setCurveSymbol( curveKey, QwtSymbol( ms,
- QBrush( curve->getColor() ),
- QPen( curve->getColor() ),
- QSize( myMarkerSize, myMarkerSize ) ) );
+ Qt::PenStyle ps = plot2qwtLine( curve->getLine() );
+ QwtSymbol::Style ms = plot2qwtMarker( curve->getMarker() );
+ myPlot->setCurvePen( curveKey, QPen( curve->getColor(), curve->getLineWidth(), ps ) );
+ myPlot->setCurveSymbol( curveKey, QwtSymbol( ms,
+ QBrush( curve->getColor() ),
+ QPen( curve->getColor() ),
+ QSize( myMarkerSize, myMarkerSize ) ) );
}
myPlot->setCurveTitle( curveKey, curve->getVerTitle() );
myPlot->curve( curveKey )->setEnabled( true );
+ updateTitles();
if ( update )
myPlot->replot();
}
}
return clist.count();
}
+
/*!
Updates titles according to curves
*/
+#define BRACKETIZE(x) QString( "[ " ) + x + QString( " ]" )
void Plot2d_ViewFrame::updateTitles()
{
+ QAD_Study* activeStudy = QAD_Application::getDesktop()->getActiveStudy();
QIntDictIterator<Plot2d_Curve> it( myCurves );
- if ( it.current() ) {
- // update axes title
- QString xTitle = it.current()->getHorTitle();
- QString yTitle = it.current()->getVerTitle();
- QString xUnits = it.current()->getHorUnits();
- QString yUnits = it.current()->getVerUnits();
+ QStringList aXTitles;
+ QStringList aYTitles;
+ QStringList aXUnits;
+ QStringList aYUnits;
+ QStringList aTables;
+ int i = 0;
+ while ( it.current() ) {
+ // collect titles and units from all curves...
+ QString xTitle = it.current()->getHorTitle().stripWhiteSpace();
+ QString yTitle = it.current()->getVerTitle().stripWhiteSpace();
+ QString xUnits = it.current()->getHorUnits().stripWhiteSpace();
+ QString yUnits = it.current()->getVerUnits().stripWhiteSpace();
- xUnits = QString( "[ " ) + xUnits + QString( " ]" );
- xTitle = xTitle + ( xTitle.isEmpty() ? QString("") : QString(" ") ) + xUnits;
- yUnits = QString( "[ " ) + yUnits + QString( " ]" );
- yTitle = yTitle + ( yTitle.isEmpty() ? QString("") : QString(" ") ) + yUnits;
- setXTitle( myXTitleEnabled, xTitle );
- if ( myCurves.count() == 1 ) {
- setYTitle( myYTitleEnabled, yTitle );
- }
- else {
- setYTitle( myYTitleEnabled, yUnits );
+ aYTitles.append( yTitle );
+ if ( aXTitles.find( xTitle ) == aXTitles.end() )
+ aXTitles.append( xTitle );
+ if ( aXUnits.find( xUnits ) == aXUnits.end() )
+ aXUnits.append( xUnits );
+ if ( aYUnits.find( yUnits ) == aYUnits.end() )
+ aYUnits.append( yUnits );
+
+ if ( activeStudy && it.current()->hasTableIO() ) {
+ SALOMEDS::SObject_var SO = activeStudy->getStudyDocument()->FindObjectID( it.current()->getTableIO()->getEntry() );
+ if ( !SO->_is_nil() ) {
+ SALOMEDS::GenericAttribute_var anAttr;
+ if ( SO->FindAttribute( anAttr, "AttributeName" ) ) {
+ SALOMEDS::AttributeName_var aNameAttr = SALOMEDS::AttributeName::_narrow( anAttr );
+ QString aName = aNameAttr->Value();
+ if ( !aName.isEmpty() && aTables.find( aName ) == aTables.end() )
+ aTables.append( aName );
+ }
+ }
}
- setTitle( "" );
+
+ ++it;
+ ++i;
}
+ // ... and update plot 2d view
+ QString xUnits, yUnits;
+ if ( aXUnits.count() == 1 && !aXUnits[0].isEmpty() )
+ xUnits = BRACKETIZE( aXUnits[0] );
+ if ( aYUnits.count() == 1 && !aYUnits[0].isEmpty())
+ yUnits = BRACKETIZE( aYUnits[0] );
+ QString xTitle, yTitle;
+ if ( aXTitles.count() == 1 && aXUnits.count() == 1 )
+ xTitle = aXTitles[0];
+ if ( aYTitles.count() == 1 )
+ yTitle = aYTitles[0];
+
+ if ( !xTitle.isEmpty() && !xUnits.isEmpty() )
+ xTitle += " ";
+ if ( !yTitle.isEmpty() && !yUnits.isEmpty() )
+ yTitle += " ";
+
+ setXTitle( myXTitleEnabled, xTitle + xUnits );
+ setYTitle( myYTitleEnabled, yTitle + yUnits );
+ setTitle( aTables.join("; ") );
}
/*!
Fits the view to see all data
*/
void Plot2d_ViewFrame::onSettings()
{
+#ifdef TEST_AUTOASSIGN
+ typedef QMap<int,int> IList;
+ typedef QMap<QString,int> SList;
+ IList mars, lins;
+ SList cols;
+ cols[ "red-min" ] = 1000;
+ cols[ "red-max" ] = -1;
+ cols[ "green-min" ] = 1000;
+ cols[ "green-max" ] = -1;
+ cols[ "blue-min" ] = 1000;
+ cols[ "blue-max" ] = -1;
+ for ( unsigned i = 0; i < 10000; i++ ) {
+ QwtSymbol::Style typeMarker;
+ QColor color;
+ Qt::PenStyle typeLine;
+ myPlot->getNextMarker( typeMarker, color, typeLine );
+ if ( mars.contains(typeMarker) )
+ mars[ typeMarker ] = mars[ typeMarker ]+1;
+ else
+ mars[ typeMarker ] = 0;
+ if ( lins.contains(typeLine) )
+ lins[ typeLine ] = lins[ typeLine ]+1;
+ else
+ lins[ typeLine ] = 0;
+ if ( cols[ "red-max" ] < color.red() )
+ cols[ "red-max" ] = color.red();
+ if ( cols[ "red-min" ] > color.red() )
+ cols[ "red-min" ] = color.red();
+ if ( cols[ "green-max" ] < color.green() )
+ cols[ "green-max" ] = color.green();
+ if ( cols[ "green-min" ] > color.green() )
+ cols[ "green-min" ] = color.green();
+ if ( cols[ "blue-max" ] < color.blue() )
+ cols[ "blue-max" ] = color.blue();
+ if ( cols[ "blue-min" ] > color.blue() )
+ cols[ "blue-min" ] = color.blue();
+ }
+ for (IList::Iterator it = mars.begin(); it != mars.end(); ++it)
+ MESSAGE("markers( " << it.key() << ") = " << it.data() );
+ for (IList::Iterator it = lins.begin(); it != lins.end(); ++it)
+ MESSAGE("lines( " << it.key() << ") = " << it.data() );
+ for (SList::Iterator it = cols.begin(); it != cols.end(); ++it)
+ MESSAGE("colors( " << it.key() << ") = " << it.data() );
+#endif
+
Plot2d_SetupViewDlg* dlg = new Plot2d_SetupViewDlg( this, true );
dlg->setMainTitle( myTitleEnabled, myTitle );
dlg->setXTitle( myXTitleEnabled, myXTitle );
}
delete dlg;
}
+/*!
+ "Fit Data" command slot
+*/
+void Plot2d_ViewFrame::onFitData()
+{
+ Plot2d_FitDataDlg* dlg = new Plot2d_FitDataDlg( this );
+ int ixMin = myPlot->canvasMap( QwtPlot::xBottom ).i1();
+ int ixMax = myPlot->canvasMap( QwtPlot::xBottom ).i2();
+ int iyMin = myPlot->canvasMap( QwtPlot::yLeft ).i1();
+ int iyMax = myPlot->canvasMap( QwtPlot::yLeft ).i2();
+ double xMin = myPlot->invTransform(QwtPlot::xBottom, ixMin);
+ double xMax = myPlot->invTransform(QwtPlot::xBottom, ixMax);
+ double yMin = myPlot->invTransform(QwtPlot::yLeft, iyMin);
+ double yMax = myPlot->invTransform(QwtPlot::yLeft, iyMax);
+
+ dlg->setRange( xMin, xMax, yMin, yMax );
+ if ( dlg->exec() == QDialog::Accepted ) {
+ int mode = dlg->getRange( xMin, xMax, yMin, yMax );
+ if ( mode == 0 || mode == 2 )
+ myPlot->setAxisScale( QwtPlot::yLeft, yMax, yMin );
+ if ( mode == 0 || mode == 1 )
+ myPlot->setAxisScale( QwtPlot::xBottom, xMin, xMax );
+ myPlot->replot();
+ }
+ delete dlg;
+}
/*!
Sets curve type
*/
void Plot2d_ViewFrame::setBackgroundColor( const QColor& color )
{
myBackground = color;
- myPlot->setCanvasBackground( myBackground );
+ //myPlot->setCanvasBackground( myBackground );
+ myPlot->canvas()->setPalette( myBackground );
+ myPlot->setPalette( myBackground );
+ QPalette aPal = myPlot->getLegend()->palette();
+ for ( int i = 0; i < QPalette::NColorGroups; i++ ) {
+ QPalette::ColorGroup cg = (QPalette::ColorGroup)i;
+ aPal.setColor( cg, QColorGroup::Base, myBackground );
+ aPal.setColor( cg, QColorGroup::Background, myBackground );
+ }
+ myPlot->getLegend()->setPalette( aPal );
}
/*!
Gets background color
updateLayout(); // to fix bug(?) of Qwt - view is not updated when title is changed
QwtPlot::replot();
}
+/*!
+ Checks if two colors are close to each other [ static ]
+ uses COLOR_DISTANCE variable as max tolerance for comparing of colors
+*/
+const long COLOR_DISTANCE = 100;
+const int MAX_ATTEMPTS = 10;
+static bool closeColors( const QColor& color1, const QColor& color2 )
+{
+ long tol = abs( color2.red() - color1.red() ) +
+ abs( color2.green() - color1.green() ) +
+ abs( color2.blue() - color1.blue() );
+
+ return ( tol <= COLOR_DISTANCE );
+}
/*!
Gets new unique marker for item if possible
*/
void Plot2d_Plot2d::getNextMarker( QwtSymbol::Style& typeMarker, QColor& color, Qt::PenStyle& typeLine )
{
+ bool bOk = false;
+ int cnt = 1;
+ while ( !bOk ) {
+ int aRed = (int)( 256.0 * random() / RAND_MAX); // generate random color
+ int aGreen = (int)( 256.0 * random() / RAND_MAX); // ...
+ int aBlue = (int)( 256.0 * random() / RAND_MAX); // ...
+ int aMarker = (int)( 9.0 * random() / RAND_MAX) + 1; // 9 markers types ( not including empty )
+ int aLine = (int)( 5.0 * random() / RAND_MAX) + 1; // 5 line types ( not including empty )
+
+ typeMarker = ( QwtSymbol::Style )aMarker;
+ color = QColor( aRed, aGreen, aBlue );
+ typeLine = ( Qt::PenStyle )aLine;
+
+ cnt++;
+ if ( cnt == MAX_ATTEMPTS )
+ bOk = true;
+ else
+ bOk = !existMarker( typeMarker, color, typeLine );
+ }
+/*
static int aMarker = -1;
static int aColor = -1;
static int aLine = -1;
}
}
}
+*/
}
/*!
Checks if marker belongs to any enitity
QArray<long> keys = curveKeys();
QColor aRgbColor;
+ if ( closeColors( color, backgroundColor() ) )
+ return true;
for ( int i = 0; i < keys.count(); i++ ) {
QwtPlotCurve* crv = curve( keys[i] );
if ( crv ) {
QwtSymbol::Style aStyle = crv->symbol().style();
QColor aColor = crv->pen().color();
Qt::PenStyle aLine = crv->pen().style();
- if ( aStyle == typeMarker && aColor == color && aLine == typeLine )
+// if ( aStyle == typeMarker && aColor == color && aLine == typeLine )
+ if ( aStyle == typeMarker && closeColors( aColor,color ) && aLine == typeLine )
return true;
}
}
return false;
}
-
-// File : Plot2d_ViewFrame.h
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Plot2d_ViewFrame.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef Plot2d_ViewFrame_H
#include "QAD_ViewFrame.h"
#include "QAD_Popup.h"
+#include "QAD_Action.h"
#include "Plot2d_Curve.h"
#include "Plot2d_CurveContainer.h"
#include <qmainwindow.h>
-#include <qaction.h>
#include <qmap.h>
#include <qintdict.h>
#include <qwt_plot.h>
enum { NoOpId, FitAllId, FitAreaId, ZoomId, PanId, DumpId,
ModeXLinearId, ModeXLogarithmicId, ModeYLinearId, ModeYLogarithmicId,
- LegendId, CurvePointsId, CurveLinesId, CurveSplinesId, SettingsId };
+ LegendId, CurvePointsId, CurveLinesId, CurveSplinesId, SettingsId, FitDataId };
public:
/* Construction/destruction */
Plot2d_ViewFrame( QWidget* parent, const QString& title = "" );
void onLegend();
void onCurves();
void onSettings();
+ void onFitData();
protected slots:
void onLegendClicked( long key );
private:
Plot2d_Plot2d* myPlot;
- QMap<int, QAction*> myActions;
+ ActionMap myActions;
int myOperation;
QPoint myPnt;
CurveDict myCurves;
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME Registry : Registry server implementation
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:../Logger
+VPATH=.:@srcdir@:@top_srcdir@/idl
@COMMENCE@
BIN_SERVER_IDL = SALOME_Registry.idl
LDFLAGS+= -lSalomeNS -lOpUtil -lSalomeLoggerServer
-CPPFLAGS+= -I../Logger
@CONCLUDE@
-using namespace std;
-//=============================================================================
-// File : RegistryConnexion.cxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Registry : Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegistryConnexion.cxx
+// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
using namespace std;
# include "Utils_ORB_INIT.hxx"
# include "RegistryConnexion.hxx"
-//=============================================================================
-// File : RegistryConnexion.hxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Registry : Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegistryConnexion.hxx
+// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
/*
RegistryConnexion should be used by an engine to add or to remove a component.
-using namespace std;
-//=============================================================================
-// File : RegistryService.cxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Registry : Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegistryService.cxx
+// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
using namespace std;
# include "RegistryService.hxx"
# include "OpUtil.hxx"
-//=============================================================================
-// File : RegistryService.hxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Registry : Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegistryService.hxx
+// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
# ifndef __RegistryService_h__
# define __RegistryService_h__
-using namespace std;
-//=============================================================================
-// File : SALOME_Registry_Server.cxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Registry : Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Registry_Server.cxx
+// Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
# include <stdlib.h>
# include <iostream.h>
# include <fstream.h>
# include "SALOME_NamingService.hxx"
# include "RegistryService.hxx"
+//#define CHECKTIME
+#ifdef CHECKTIME
+#include <Utils_Timer.hxx>
+#endif
+
int main( int argc , char **argv )
{
BEGIN_OF( argv[0] )
// Lancement de l'ORB
MESSAGE("Lancement de l'ORB") ;
+#ifdef CHECKTIME
+ Utils_Timer timer;
+ timer.Start();
+ timer.Stop();
+ MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
+ timer.ShowAbsolute();
+#endif
orb->run() ;
}
catch( const CORBA::Exception &ex )
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HelpWindow.cxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
+
using namespace std;
-//=============================================================================
-// File : HelpWindow.cxx
-// Created : Thu Dec 20 17:28:49 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
# include "HelpWindow.hxx"
# include "utilities.h"
-//=============================================================================
-// File : HelpWindow.hxx
-// Created : Thu Dec 20 17:28:41 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : HelpWindow.hxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
+
# ifndef __HELPWINDOW_H__
# define __HELPWINDOW_H__
-// File: IntervalWindow.cxx
-// Created: Thu Apr 3 10:55:19 2003
-// Author: Oksana TCHEBANOVA
-// <ota@parcex.nnov.matra-dtv.fr>
-
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : IntervalWindow.cxx
+// Author : Oksana TCHEBANOVA
+// Module : SALOME
#include <IntervalWindow.hxx>
-// File: IntervalWindow.hxx
-// Created: Thu Apr 3 10:31:10 2003
-// Author: Oksana TCHEBANOVA
-// <ota@parcex.nnov.matra-dtv.fr>
-
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : IntervalWindow.hxx
+// Author : Oksana TCHEBANOVA
+// Module : SALOME
#ifndef IntervalWindow_HeaderFile
#define IntervalWindow_HeaderFile
-#==============================================================================
-# File : Makefile.in
-# Created : ven déc 7 15:16:49 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME RegistryDisplay : GUI for Registry server implementation
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-//=============================================================================
-// File : RegWidget.cxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
-
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegWidget.cxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
# include <qpushbutton.h>
# include <qlistview.h>
# include <qtabwidget.h>
-//=============================================================================
-// File : RegWidget.hxx
-// Created : Mon Nov 5 17:26:23 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegWidget.hxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
# ifndef __REGWIDGET_H__
# define __REGWIDGET_H__
-using namespace std;
-//=============================================================================
-// File : RegWidgetFactory.cxx
-// Created : Tue Nov 13 17:16:01 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME RegistryDisplay : GUI for Registry server implementation
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : RegWidgetFactory.cxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
# include "RegWidget.hxx"
# include "utilities.h"
-#==============================================================================
-# File : Makefile.in
-# Created : mer jui 11 06:50:44 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_Client.cxx
+// Module : SALOME
+
using namespace std;
/* $Header$ */
-using namespace std;
-//File SALOME_RessourcesCatalog_Handler.cxx
-//Created: Fri Sept 07 2001
-//Author: Estelle Deville
-//Project: SALOME
-//Copyright: CEA/DEN/DM2S/LGLS
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_Handler.cxx
+// Author : Estelle Deville
+// Module : SALOME
//$Header$
+using namespace std;
#define WRITE_RESSOURCES_TYPE
#include "SALOME_RessourcesCatalog_Handler.hxx"
//----------------------------------------------------------------------
bool SALOME_RessourcesCatalog_Handler::characters(const QString& chars)
{
- content = chars ;
+ content = (const char *)chars ;
return true;
}
-//File SALOME_RessourcesCatalog_Handler.hxx
-//Created: Fri Sept 07 2001
-//Author: Estelle Deville
-//Project: SALOME
-//Copyright: CEA/DEN/DM2S/LGLS
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_Handler.hxx
+// Author : Estelle Deville
+// Module : SALOME
//$Header$
#ifndef SALOME_RESSOURCES_CATALOG_HANDLER
-//File SALOME_RessourcesCatalog_Parser.hxx
-//Created: Fri Sept 07 2001
-//Author: Estelle Deville
-//Project: SALOME
-//Copyright: CEA/DEN/DM2S/LGLS
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_Parser.hxx
+// Author : Estelle Deville
+// Module : SALOME
//$Header$
#ifndef SALOME_RESSOURCES_CATALOG_PARSER
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_Server.cxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
+
using namespace std;
-// File: SALOME_RessourcesCatalog_Server.cxx
-// Created: Mon Sep 10 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
#include <iostream.h>
#include "SALOME_NamingService.hxx"
#include "SALOME_RessourcesCatalog_impl.hxx"
-using namespace std;
-// File: SALOME_RessourcesCatalog_impl.cxx
-// Created: Mon Sep 10 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header $
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_impl.cxx
+// Author : Estelle Deville
+// Module : SALOME
+using namespace std;
#include "SALOME_RessourcesCatalog_impl.hxx"
#include <fstream>
-// File: SALOME_RessourcesCatalog_impl.hxx
-// Created: Mon Sep 10 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
-
+// SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_RessourcesCatalog_impl.hxx
+// Author : Estelle Deville
+// Module : SALOME
+// $Header$
#ifndef RESSOURCESCATALOG_IMPL_H
#define RESSOURCESCATALOG_IMPL_H
-// File : Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString_HeaderFile
#define _Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString_HeaderFile
-// File : Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel_HeaderFile
-// File : Handle_SALOMEDS_DrawableAttribute.hxx
-// Created : Tue Jul 09 16:42:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_DrawableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_DrawableAttribute_HeaderFile
-// File : Handle_SALOMEDS_ExpandableAttribute.hxx
-// Created : Tue Jul 09 16:42:12 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_ExpandableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_ExpandableAttribute_HeaderFile
-// File : Handle_SALOMEDS_IORAttribute.hxx
-// Created : Thu Nov 29 20:59:28 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_IORAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_IORAttribute_HeaderFile
-// File : Handle_SALOMEDS_LocalIDAttribute.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_LocalIDAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _Handle_SALOMEDS_LocalIDAttribute_HeaderFile
-// File : Handle_SALOMEDS_OCAFApplication.hxx
-// Created : Thu Nov 29 20:59:51 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_OCAFApplication.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_OCAFApplication_HeaderFile
-// File : Handle_SALOMEDS_OpenedAttribute.hxx
-// Created : Tue Jul 09 16:42:38 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_OpenedAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_OpenedAttribute_HeaderFile
-// File : Handle_SALOMEDS_PersRefAttribute.hxx
-// Created : Thu Nov 29 21:00:10 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_PersRefAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_PersRefAttribute_HeaderFile
-// File : Handle_SALOMEDS_PixMapAttribute.hxx
-// Created : Tue Jul 09 16:42:46 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_PixMapAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_PixMapAttribute_HeaderFile
-// File : Handle_SALOMEDS_PythonObjectAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_PythonObjectAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_PythonObjectAttribute_HeaderFile
-// File : Handle_SALOMEDS_SelectableAttribute.hxx
-// Created : Tue Jul 09 16:42:58 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_SelectableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_SelectableAttribute_HeaderFile
-// File : Handle_SALOMEDS_SequenceOfIntegerAttribute.hxx
-// Created : Fri Jul 05 10:55:49 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_SequenceOfIntegerAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_SequenceOfIntegerAttribute_HeaderFile
-// File : Handle_SALOMEDS_SequenceOfRealAttribute.hxx
-// Created : Fri Jul 05 10:55:39 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_SequenceOfRealAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_SequenceOfRealAttribute_HeaderFile
-// File : Handle_SALOMEDS_StudyPropertiesAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_StudyPropertiesAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_StudyPropertiesAttribute_HeaderFile
-// File : Handle_SALOMEDS_TableOfIntegerAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_TableOfIntegerAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_TableOfIntegerAttribute_HeaderFile
-// File : Handle_SALOMEDS_TableOfRealAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_TableOfRealAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_TableOfRealAttribute_HeaderFile
-// File : Handle_SALOMEDS_TableOfStringAttribute.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : Handle_SALOMEDS_TableOfStringAttribute.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _Handle_SALOMEDS_TableOfStringAttribute_HeaderFile
#define _Handle_SALOMEDS_TableOfStringAttribute_HeaderFile
-// File : Handle_SALOMEDS_TargetAttribute.hxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_TargetAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _Handle_SALOMEDS_TargetAttribute_HeaderFile
-// File : Handle_SALOMEDS_TextColorAttribute.hxx
-// Created : Wed Jul 10 12:52:50 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_TextColorAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_TextColorAttribute_HeaderFile
-// File : Handle_SALOMEDS_TextHighlightColorAttribute.hxx
-// Created : Wed Jul 10 12:52:57 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_TextHighlightColorAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Handle_SALOMEDS_TextHighlightColorAttribute_HeaderFile
-#==============================================================================
-# File : Makefile.in
-# Author : Marc Tajchman
-#==============================================================================
+# SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Marc Tajchman
+# Module : SALOME
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
@COMMENCE@
-EXPORT_HEADERS = SALOMEDS_Tool.hxx
# Libraries targets
SALOMEDS_StudyManager_i.cxx \
SALOMEDS_UseCaseBuilder_i.cxx \
SALOMEDS_UseCaseIterator_i.cxx \
- SALOMEDS_Tool.cxx \
SALOMEDS_ChildIterator_i.cxx \
SALOMEDS_SComponentIterator_i.cxx \
SALOMEDS_Study_i.cxx \
SALOMEDS_DataMapNodeOfDataMapOfIntegerString_0.cxx \
SALOMEDS_DataMapIteratorOfDataMapStringLabel_0.cxx \
SALOMEDS_DataMapNodeOfDataMapStringLabel_0.cxx \
- SALOMEDS_DataMapStringLabel_0.cxx
+ SALOMEDS_DataMapStringLabel_0.cxx
# Executables targets
BIN = SALOMEDS_Server SALOMEDS_Client
CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+=$(OCC_LIBS) $(OGL_LIBS) $(HDF5_LIBS) -lSalomeNS -lSalomeHDFPersist -lOpUtil -lSalomeLoggerServer
+LDFLAGS+=$(CAS_KERNEL) $(CAS_OCAF) $(CAS_VIEWER) $(CAS_MODELER) $(HDF5_LIBS) -lTOOLSDS -lSalomeNS -lSalomeHDFPersist -lOpUtil -lSalomeLoggerServer
# -L/opt/ccmalloc/lib -lccmalloc -ldl
# -L/opt/efence/lib -lefence
-// File : SALOMEDS.cdl
-// Created : Wed Nov 28 12:08:48 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-// $Header$
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
package SALOMEDS
-using namespace std;
-// File : SALOMEDS_AttLong_i.cxx
-// Created : Mon Jun 10 10:54:58 CEST 2002
-// Author : Estelle Deville
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : CEA 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttLong_i.cxx
+// Author : Estelle Deville
+// Module : SALOME
// $Header$
-
-
+using namespace std;
#include "SALOMEDS_AttLong_i.hxx"
#include "utilities.h"
#include <TDF_Tool.hxx>
-// File : SALOMEDS_AttLong_i.hxx
-// Created : Mon Jun 10 10:54:50 CEST 2002
-// Author : Estelle Deville
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : CEA 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttLong_i.hxx
+// Author : Estelle Deville
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_ATTLONG_I_H__
-using namespace std;
-// File : SALOMEDS_AttReal_i.cxx
-// Created : Mon Jun 10 10:54:58 CEST 2002
-// Author : Estelle Deville
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : CEA 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttReal_i.cxx
+// Author : Estelle Deville
+// Module : SALOME
// $Header$
-
-
+using namespace std;
#include "SALOMEDS_AttReal_i.hxx"
#include "utilities.h"
#include <TDF_Tool.hxx>
-// File : SALOMEDS_AttReal_i.hxx
-// Created : Mon Jun 10 10:54:50 CEST 2002
-// Author : Estelle Deville
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : CEA 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttReal_i.hxx
+// Author : Estelle Deville
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_ATTREAL_I_H__
-using namespace std;
-// File : SALOMEDS_AttributeComment_i.cxx
-// Created : Fri Jul 05 14:55:07 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeComment_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeComment_i.hxx"
#include <TCollection_ExtendedString.hxx>
-// File : SALOMEDS_AttributeComment_i.hxx
-// Created : Fri Jul 05 10:57:20 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeComment_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeComment_i_HeaderFile
#define SALOMEDS_AttributeComment_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeDrawable_i.cxx
-// Created : Fri Jul 05 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeDrawable_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeDrawable_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeDrawable_i.hxx
-// Created: Fri Jul 5 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeDrawable_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeDrawable_i_HeaderFile
#define SALOMEDS_AttributeDrawable_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeExpandable_i.cxx
-// Created : Fri Jul 05 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeExpandable_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeExpandable_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeExpandable_i.hxx
-// Created: Fri Jul 5 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeExpandable_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeExpandable_i_HeaderFile
#define SALOMEDS_AttributeExpandable_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeIOR_i.cxx
-// Created : Fri Jul 05 15:17:19 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeIOR_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeIOR_i.hxx"
-// File : SALOMEDS_AttributeIOR_i.hxx
-// Created : Fri Jul 05 10:57:09 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeIOR_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeIOR_i_HeaderFile
#define SALOMEDS_AttributeIOR_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeInteger_i.cxx
-// Created : Fri Jul 05 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeInteger_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeInteger_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeInteger_i.hxx
-// Created: Fri Jul 5 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeInteger_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeInteger_i_HeaderFile
#define SALOMEDS_AttributeInteger_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeLocalID_i.cxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeLocalID_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
+using namespace std;
#include "SALOMEDS_AttributeLocalID_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeLocalID_i.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeLocalID_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeLocalID_i_HeaderFile
#define SALOMEDS_AttributeLocalID_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeName_i.cxx
-// Created : Fri Jul 05 14:40:12 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeName_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeName_i.hxx"
#include <TCollection_ExtendedString.hxx>
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeName_i.hxx
-// Created: Fri Jul 5 10:21:51 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeName_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef SALOMEDS_AttributeName_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeOpened_i.cxx
-// Created : Fri Jul 05 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeOpened_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeOpened_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeOpened_i.hxx
-// Created: Fri Jul 5 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeOpened_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeOpened_i_HeaderFile
#define SALOMEDS_AttributeOpened_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributePersistentRef_i.cxx
-// Created : Fri Jul 05 15:12:57 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributePersistentRef_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributePersistentRef_i.hxx"
#include <TCollection_ExtendedString.hxx>
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributePersistentRef_i.hxx
-// Created: Fri Jul 5 10:22:28 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributePersistentRef_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef SALOMEDS_AttributePersistentRef_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributePixMap_i.cxx
-// Created : Fri Jul 05 14:38:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributePixMap_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributePixMap_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TCollection_AsciiString.hxx>
-// File: SALOMEDS_AttributePixMap_i.hxx
-// Created: Fri Jul 5 10:21:15 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributePixMap_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributePixMap_i_HeaderFile
#define SALOMEDS_AttributePixMap_i_HeaderFile
-using namespace std;
-// File: SALOMEDS_AttributePythonObject_i.cxx
-// Created: Tue Oct 8 10:13:30 2002
-// Author: Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributePythonObject_i.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_AttributePythonObject_i.hxx"
#include <TCollection_ExtendedString.hxx>
#include <TColStd_HArray1OfCharacter.hxx>
-// File: SALOMEDS_AttributePythonObject_i.hxx
-// Created: Tue Oct 8 10:13:30 2002
-// Author: Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributePythonObject_i.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef SALOMEDS_AttributePythonObject_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeReal_i.cxx
-// Created : Fri Jul 05 14:38:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeReal_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeReal_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeReal_i.hxx
-// Created: Fri Jul 5 10:21:15 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeReal_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeReal_i_HeaderFile
#define SALOMEDS_AttributeReal_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeSelectable_i.cxx
-// Created : Fri Jul 05 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSelectable_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeSelectable_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeSelectable_i.hxx
-// Created: Fri Jul 5 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSelectable_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeSelectable_i_HeaderFile
#define SALOMEDS_AttributeSelectable_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeSequenceOfInteger_i.cxx
-// Created : Fri Jul 05 18:09:47 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSequenceOfInteger_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeSequenceOfInteger_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HSequenceOfInteger.hxx>
-// File : SALOMEDS_AttributeSequenceOfInteger_i.hxx
-// Created : Fri Jul 05 10:57:25 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSequenceOfInteger_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeSequenceOfInteger_i_HeaderFile
#define SALOMEDS_AttributeSequenceOfInteger_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeSequenceOfReal_i.cxx
-// Created : Fri Jul 05 17:28:29 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSequenceOfReal_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeSequenceOfReal_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HSequenceOfReal.hxx>
-// File : SALOMEDS_AttributeSequenceOfSequenceOfReal_i.hxx
-// Created : Fri Jul 05 10:57:32 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeSequenceOfSequenceOfReal_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeSequenceOfSequenceOfReal_i_HeaderFile
#define SALOMEDS_AttributeSequenceOfSequenceOfReal_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeStudyProperties_i.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeStudyProperties_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeStudyProperties_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HSequenceOfExtendedString.hxx>
-// File: SALOMEDS_AttributeStudyProperties_i.hxx
-// Created: Tue Oct 8 10:13:30 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeStudyProperties_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeStudyProperties_i_HeaderFile
#define SALOMEDS_AttributeStudyProperties_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTableOfInteger_i.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfInteger_i.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeTableOfInteger_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HSequenceOfInteger.hxx>
-// File : SALOMEDS_AttributeTableOfInteger_i.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfInteger_i.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeTableOfInteger_i_HeaderFile
#define SALOMEDS_AttributeTableOfInteger_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTableOfReal_i.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfReal_i.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeTableOfReal_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HSequenceOfReal.hxx>
-// File : SALOMEDS_AttributeTableOfReal_i.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfReal_i.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
-
#ifndef SALOMEDS_AttributeTableOfReal_i_HeaderFile
#define SALOMEDS_AttributeTableOfReal_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTableOfString_i.cxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfString_i.cxx
+// Author : Sergey Ruin
+// Module : SALOME
+using namespace std;
#include <TCollection_ExtendedString.hxx>
#include <TCollection_AsciiString.hxx>
Handle(SALOMEDS_TableOfStringAttribute) aTable = Handle(SALOMEDS_TableOfStringAttribute)::DownCast(_myAttr);
ostrstream ostr;
- string aString;
aTable->ConvertToString(ostr);
-
- aString = ostr.rdbuf()->str();
-
- cout << " ######## STRLEN " << aString.size() << endl;
-
- char* aBuffer = (char*)CORBA::string_dup(aString.c_str());
- int aBufferSize = strlen((char*)aBuffer);
-
- cout << " ####### STRLEN " << aBufferSize << endl;
-
- CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer;
-
- SALOMEDS::TMPFile_var aStreamFile = new SALOMEDS::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1);
-
+ CORBA::Octet* anOctetBuf = (CORBA::Octet*)ostr.rdbuf()->str();
+ unsigned long aSize = ostr.pcount();
+ SALOMEDS::TMPFile_var aStreamFile = new SALOMEDS::TMPFile(aSize, aSize, anOctetBuf, 1);
return aStreamFile._retn();
}
-// File : SALOMEDS_AttributeTableOfString_i.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_AttributeTableOfString_i.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef SALOMEDS_AttributeTableOfString_i_HeaderFile
#define SALOMEDS_AttributeTableOfString_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTarget_i.cxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTarget_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
+using namespace std;
#include "SALOMEDS_AttributeTarget_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TDF_LabelList.hxx>
TDF_LabelList aLList;
SALOMEDS::Study::ListOfSObject_var aSList = new SALOMEDS::Study::ListOfSObject;
(Handle(SALOMEDS_TargetAttribute)::DownCast(_myAttr))->Get(aLList);
+ if (aLList.Extent() == 0)
+ return aSList._retn();
aSList->length(aLList.Extent());
TDF_ListIteratorOfLabelList anIter(aLList);
int index;
-// File: SALOMEDS_AttributeTarget_i.hxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTarget_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeTarget_i_HeaderFile
#define SALOMEDS_AttributeTarget_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTextColor_i.cxx
-// Created : Fri Jul 05 14:38:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTextColor_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeTextColor_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HArray1OfReal.hxx>
-// File: SALOMEDS_AttributeTextColor_i.hxx
-// Created: Fri Jul 5 10:21:15 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTextColor_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeTextColor_i_HeaderFile
#define SALOMEDS_AttributeTextColor_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTextHighlightColor_i.cxx
-// Created : Fri Jul 05 14:38:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTextHighlightColor_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_AttributeTextHighlightColor_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include <TColStd_HArray1OfReal.hxx>
-// File: SALOMEDS_AttributeTextHighlightColor_i.hxx
-// Created: Fri Jul 5 10:21:15 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTextHighlightColor_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeTextHighlightColor_i_HeaderFile
#define SALOMEDS_AttributeTextHighlightColor_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeTreeNode_i.cxx
-// Created : Fri Aug 02 14:25:13 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTreeNode_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
+using namespace std;
#include "SALOMEDS_AttributeTreeNode_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include "utilities.h"
-// File: SALOMEDS_AttributeTreeNode_i.hxx
-// Created: Fri Aug 2 10:21:01 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeTreeNode_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
#ifndef SALOMEDS_AttributeTreeNode_i_HeaderFile
#define SALOMEDS_AttributeTreeNode_i_HeaderFile
-using namespace std;
-// File : SALOMEDS_AttributeName_i.cxx
-// Created : Tue Aug 13 15:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeName_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
-
+using namespace std;
#include "SALOMEDS_AttributeUserID_i.hxx"
#include <TCollection_ExtendedString.hxx>
#include "SALOMEDS_SObject_i.hxx"
-// File: SALOMEDS_AttributeUserID_i.hxx
-// Created : Tue Aug 13 15:05:03 2002
-// Author: Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_AttributeUserID_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef SALOMEDS_AttributeUserID_i_HeaderFile
-using namespace std;
-//=============================================================================
-// File : SALOMEDS_BasicAttributeFactory.cxx
-// Created : ven mai 31 13:45:47 CEST 2002
-// Author : Estelle Deville, CEA
-// Project : SALOME
-// Copyright : CEA 2002
-// $Header$
-//=============================================================================
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_BasicAttributeFactory.cxx
+// Author : Estelle Deville, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOMEDS_BasicAttributeFactory.hxx"
#include "utilities.h"
-//=============================================================================
-// File : SALOMEDS_BasicAttributeFactory.hxx
-// Created : ven mai 31 13:45:47 CEST 2002
-// Author : Estelle Deville, CEA
-// Project : SALOME
-// Copyright : CEA 2002
-// $Header$
-//=============================================================================
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_BasicAttributeFactory.hxx
+// Author : Estelle Deville, CEA
+// Module : SALOME
+// $Header$
#ifndef _BASIC_ATTRIBUTEFACTORY_HXX_
#define _BASIC_ATTRIBUTEFACTORY_HXX_
-using namespace std;
-//=============================================================================
-// File : SALOMEDS_BasicAttribute_i.cxx
-// Created : ven mai 31 13:45:47 CEST 2002
-// Author : Estelle Deville, CEA
-// Project : SALOME
-// Copyright : CEA 2002
-// $Header$
-//=============================================================================
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_BasicAttribute_i.cxx
+// Author : Estelle Deville, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOMEDS_BasicAttribute_i.hxx"
//============================================================================
-//=============================================================================
-// File : SALOMEDS_BasicAttribute_i.hxx
-// Created : ven mai 31 13:45:47 CEST 2002
-// Author : Estelle Deville, CEA
-// Project : SALOME
-// Copyright : CEA 2002
-// $Header$
-//=============================================================================
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_BasicAttribute_i.hxx
+// Author : Estelle Deville, CEA
+// Module : SALOME
+// $Header$
#ifndef _BASIC_ATTRIBUTE_I_HXX_
#define _BASIC_ATTRIBUTE_I_HXX_
-// File : SALOMEDS_Study_i.hxx
-// Created : Wed Feb 26 11:27:37 2003
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2003
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_Study_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
#ifndef __SALOMEDS_CALLBACK_I_H__
#define __SALOMEDS_CALLBACK_I_H__
-using namespace std;
-// File : SALOMEDS_ChildIterator_i.cxx
-// Created : Wed Nov 28 16:15:25 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ChildIterator_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_ChildIterator_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include "utilities.h"
-// File : SALOMEDS_ChildIterator_i.hxx
-// Created : Wed Nov 28 16:20:12 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ChildIterator_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_CHILDITERATOR_I_H__
-using namespace std;
-// File : SALOMEDS_Client.cxx
-// Created : Wed Nov 28 16:20:25 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_Client.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOMEDS)
#include "SALOMEDS_StudyManager_i.hxx"
try {
// Initialise the ORB.
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "omniORB3");
-
-
+ omniORB::MaxMessageSize(100 * 1024 * 1024);
// Obtain a reference to the root POA.
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
}
return 0;
}
-
-// File : SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _SALOMEDS_DataMapIteratorOfDataMapOfIntegerString_HeaderFile
#define _SALOMEDS_DataMapIteratorOfDataMapOfIntegerString_HeaderFile
-// File : SALOMEDS_DataMapIteratorOfDataMapOfIntegerString_0.cxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapIteratorOfDataMapOfIntegerString_0.cxx
+// Author : Sergey Ruin
+// Module : SALOME
#include <SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx>
-// File : SALOMEDS_DataMapIteratorOfDataMapStringLabel.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DataMapIteratorOfDataMapStringLabel.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _SALOMEDS_DataMapIteratorOfDataMapStringLabel_HeaderFile
-using namespace std;
-// File : SALOMEDS_DataMapIteratorOfDataMapStringLabel_0.cxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DataMapIteratorOfDataMapStringLabel_0.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_DataMapIteratorOfDataMapStringLabel.hxx"
#ifndef _Standard_NoSuchObject_HeaderFile
-// File : SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _SALOMEDS_DataMapNodeOfDataMapOfIntegerString_HeaderFile
#define _SALOMEDS_DataMapNodeOfDataMapOfIntegerString_HeaderFile
-// File : SALOMEDS_DataMapNodeOfDataMapOfIntegerString_0.cxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapNodeOfDataMapOfIntegerString_0.cxx
+// Author : Sergey Ruin
+// Module : SALOME
#include <SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx>
-// File : SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _SALOMEDS_DataMapNodeOfDataMapStringLabel_HeaderFile
-using namespace std;
-// File : Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel_0.cxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel_0.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx"
#ifndef _Standard_TypeMismatch_HeaderFile
-// File : SALOMEDS_DataMapOfIntegerString.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapOfIntegerString.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _SALOMEDS_DataMapOfIntegerString_HeaderFile
#define _SALOMEDS_DataMapOfIntegerString_HeaderFile
-// File : SALOMEDS_DataMapOfIntegerString_0.cxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_DataMapOfIntegerString_0.cxx
+// Author : Sergey Ruin
+// Module : SALOME
#include <SALOMEDS_DataMapOfIntegerString.hxx>
-// File : SALOMEDS_DataMapStringLabel.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DataMapStringLabel.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _SALOMEDS_DataMapStringLabel_HeaderFile
-using namespace std;
-// File : SALOMEDS_DataMapStringLabel_0.cxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DataMapStringLabel_0.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_DataMapStringLabel.hxx"
#ifndef _Standard_DomainError_HeaderFile
-// File : SALOMEDS_DrawableAttribute.cdl
-// Created : Tue Jul 09 16:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header$
-
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_DrawableAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class DrawableAttribute from SALOMEDS inherits Integer from TDataStd
-using namespace std;
-// File : SALOMEDS_DrawableAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DrawableAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_DrawableAttribute.ixx"
#include <TDataStd_Integer.hxx>
-// File : SALOMEDS_DrawableAttribute.hxx
-// Created : Tue Jul 09 16:44:15 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DrawableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_DrawableAttribute_HeaderFile
-// File : SALOMEDS_DrawableAttribute.ixx
-// Created : Tue Jul 09 16:44:26 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DrawableAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_DrawableAttribute.jxx"
-// File : SALOMEDS_DrawableAttribute.jxx
-// Created : Tue Jul 09 16:44:32 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_DrawableAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-// File : SALOMEDS_ExpandableAttribute.cdl
-// Created : Tue Jul 09 16:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header$
-
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_ExpandableAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class ExpandableAttribute from SALOMEDS inherits Integer from TDataStd
-using namespace std;
-// File : SALOMEDS_ExpandableAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ExpandableAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_ExpandableAttribute.ixx"
#include <TDataStd_Integer.hxx>
-// File : SALOMEDS_ExpandableAttribute.hxx
-// Created : Tue Jul 09 16:44:57 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ExpandableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_ExpandableAttribute_HeaderFile
-// File : SALOMEDS_ExpandableAttribute.ixx
-// Created : Tue Jul 09 16:45:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ExpandableAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_ExpandableAttribute.jxx"
-// File : SALOMEDS_ExpandableAttribute.jxx
-// Created : Tue Jul 09 16:45:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_ExpandableAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-using namespace std;
-// File : SALOMEDS_GenericAttribute_i.cxx
-// Created : Fri Jul 05 15:49:37 2002
-// Author : Mikhail PONIKAROV
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_GenericAttribute_i.cxx
+// Author : Mikhail PONIKAROV
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_StudyBuilder_i.hxx"
void SALOMEDS_GenericAttribute_i::CheckLocked() throw (SALOMEDS::GenericAttribute::LockProtection) {
-// File : SALOMEDS_GenericAttribute_i.hxx
-// Created : Fri Jul 05 15:49:37 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_GenericAttribute_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _GENERIC_ATTRIBUTE_I_HXX_
-// File : SALOMEDS_IORAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header$
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_IORAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class IORAttribute from SALOMEDS inherits Comment from TDataStd
-using namespace std;
-// File : SALOMEDS_IORAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_IORAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_IORAttribute.ixx"
#include <TDataStd_Comment.hxx>
#include <TCollection_ExtendedString.hxx>
-// File : SALOMEDS_IORAttribute.hxx
-// Created : Thu Nov 29 21:00:34 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_IORAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_IORAttribute_HeaderFile
-// File : SALOMEDS_IORAttribute.ixx
-// Created : Thu Nov 29 21:00:52 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_IORAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_IORAttribute.jxx"
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_IORAttribute.jxx
+// Module : SALOME
+
#ifndef _Standard_GUID_HeaderFile
#include <Standard_GUID.hxx>
#endif
-// File : SALOMEDS_LocalIDAttribute.cdl
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header:
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_LocalIDAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class LocalIDAttribute from SALOMEDS inherits Integer from TDataStd
-using namespace std;
-// File : SALOMEDS_LocalIDAttribute.cxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_LocalIDAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_LocalIDAttribute.ixx"
#include <TDataStd_Integer.hxx>
-// File : SALOMEDS_LocalIDAttribute.hxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_LocalIDAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _SALOMEDS_LocalIDAttribute_HeaderFile
-// File : SALOMEDS_LocalIDAttribute.ixx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_LocalIDAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#include "SALOMEDS_LocalIDAttribute.jxx"
-// File : SALOMEDS_LocalIDAttribute.jxx
-// Created : Tue Aug 13 14:05:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_LocalIDAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _Standard_GUID_HeaderFile
--- File: SALOMEDS_OCAFApplication.cdl
--- Created: Fri Jun 29 12:19:49 2001
--- Author: Yves FRICAUD
--- <yfr@claquox.paris1.matra-dtv.fr>
----Copyright: OPEN CASCADE 2001
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_OCAFApplication.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class OCAFApplication from SALOMEDS inherits Application from TDocStd
-using namespace std;
-// File : SALOMEDS_OCAFApplication.cxx
-// Created : Wed Nov 28 16:22:26 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OCAFApplication.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEDS_OCAFApplication.ixx"
//=======================================================================
-// File : SALOMEDS_OCAFApplication.hxx
-// Created : Thu Nov 29 21:05:19 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OCAFApplication.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_OCAFApplication_HeaderFile
-// File : SALOMEDS_OCAFApplication.ixx
-// Created : Thu Nov 29 21:01:58 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OCAFApplication.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+
#include "SALOMEDS_OCAFApplication.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OCAFApplication.jxx
+// Module : SALOME
+
#ifndef _TColStd_SequenceOfExtendedString_HeaderFile
#include <TColStd_SequenceOfExtendedString.hxx>
#endif
-// File : SALOMEDS_OpenedAttribute.cdl
-// Created : Tue Jul 09 16:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header$
-
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_OpenedAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class OpenedAttribute from SALOMEDS inherits Integer from TDataStd
-using namespace std;
-// File : SALOMEDS_OpenedAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OpenedAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_OpenedAttribute.ixx"
#include <TDataStd_Integer.hxx>
-// File : SALOMEDS_OpenedAttribute.hxx
-// Created : Tue Jul 09 16:45:33 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OpenedAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_OpenedAttribute_HeaderFile
-// File : SALOMEDS_OpenedAttribute.ixx
-// Created : Tue Jul 09 16:45:40 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OpenedAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_OpenedAttribute.jxx"
-// File : SALOMEDS_OpenedAttribute.jxx
-// Created : Tue Jul 09 16:45:45 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_OpenedAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-// File : SALOMEDS_PersRefAttribute.cdl
-// Created : Wed Nov 28 16:23:00 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header$
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_PersRefAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class PersRefAttribute from SALOMEDS inherits Comment from TDataStd
-using namespace std;
-// File : SALOMEDS_PersRefAttribute.cxx
-// Created : Wed Nov 28 16:23:19 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PersRefAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_PersRefAttribute.ixx"
#include <TDataStd_Comment.hxx>
#include <TCollection_ExtendedString.hxx>
-// File : SALOMEDS_PersRefAttribute.hxx
-// Created : Thu Nov 29 21:01:34 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PersRefAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_PersRefAttribute_HeaderFile
-// File : SALOMEDS_PersRefAttribute.ixx
-// Created : Thu Nov 29 21:02:22 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PersRefAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_PersRefAttribute.jxx"
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PersRefAttribute.jxx
+// Module : SALOME
+
#ifndef _Standard_GUID_HeaderFile
#include <Standard_GUID.hxx>
#endif
-// File : SALOMEDS_PixMapAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header:
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_PixMapAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class PixMapAttribute from SALOMEDS inherits Comment from TDataStd
-using namespace std;
-// File : SALOMEDS_PixMapAttribute.cxx
-// Created : Wed Nov 28 16:23:19 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PixMapAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_PixMapAttribute.ixx"
#include <TDataStd_Comment.hxx>
#include <TCollection_ExtendedString.hxx>
-// File : SALOMEDS_PixMapAttribute.hxx
-// Created : Tue Jul 09 16:46:08 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PixMapAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_PixMapAttribute_HeaderFile
-// File : SALOMEDS_PixMapAttribute.ixx
-// Created : Tue Jul 09 16:50:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PixMapAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_PixMapAttribute.jxx"
-// File : SALOMEDS_PixMapAttribute.jxx
-// Created : Tue Jul 09 16:50:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_PixMapAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
--- File : SALOMEDS_PythonObjectAttribute.cdl
--- Created : Tue Oct 8 10:13:30 2002
--- Author : Michael Ponikarov
--- Project : SALOME
--- Module : SALOMEDS
--- Copyright : Open CASCADE
--- $Header$
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 CEA/DEN, EDF R&D
+--
+--
+--
+-- File : SALOMEDS_PythonObjectAttribute.cdl
+-- Author : Michael Ponikarov
+-- Module : SALOME
class PythonObjectAttribute from SALOMEDS inherits Attribute from TDF
-using namespace std;
-// File : SALOMEDS_PythonObjectAttribute.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_PythonObjectAttribute.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_PythonObjectAttribute.ixx"
#include <string>
-// File : SALOMEDS_PythonObjectAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_PythonObjectAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_PythonObjectAttribute_HeaderFile
-// File : SALOMEDS_PythonObjectAttribute.ixx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_PythonObjectAttribute.ixx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#include "SALOMEDS_PythonObjectAttribute.jxx"
-// File : SALOMEDS_PythonObjectAttribute.jxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_PythonObjectAttribute.jxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _TColStd_HArray1OfCharacter_HeaderFile
-// File : SALOMEDS_SAttribute_i.hxx
-// Created : Thu Nov 29 21:02:46 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SAttribute_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_SATTRIBUTE_I_H__
-using namespace std;
-// File : SALOMEDS_SComponentIterator_i.cxx
-// Created : Wed Nov 28 16:23:49 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SComponentIterator_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_SComponentIterator_i.hxx"
-// File : SALOMEDS_SComponentIterator_i.hxx
-// Created : Wed Nov 28 16:24:22 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SComponentIterator_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_SCOMPONENTITERATOR_I_H__
-using namespace std;
-// File : SALOMEDS_SComponent_i.cxx
-// Created : Wed Nov 28 16:24:34 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SComponent_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEDS_SComponent_i.hxx"
#include "utilities.h"
-// File : SALOMEDS_SComponent_i.hxx
-// Created : Wed Nov 28 16:24:50 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SComponent_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_SCOMPONENT_I_H__
-using namespace std;
-// File : SALOMEDS_SObject_i.cxx
-// Created : Thu Nov 29 21:03:39 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SObject_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "utilities.h"
#include "SALOMEDS_SObject_i.hxx"
//SALOMEDS Headers
else if (!Handle(TDataStd_TreeNode)::DownCast(anAttr).IsNull()) {
SALOMEDS_AttributeTreeNode_i* Attr= new SALOMEDS_AttributeTreeNode_i(Handle(TDataStd_TreeNode)::DownCast(anAttr), _orb);
anAttribute = Attr->AttributeTreeNode::_this();
- }
+ } else {
+ // references attributes, for an example, never returns
+ continue;
+ }
SeqOfAttr[i] = anAttribute;
i++;
-// File : SALOMEDS_SObject_i.hxx
-// Created : Wed Nov 28 16:25:50 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SObject_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_SOBJECT_I_H__
-// File : SALOMEDS_SelectableAttribute.cdl
-// Created : Tue Jul 09 16:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header$
-
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_SelectableAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class SelectableAttribute from SALOMEDS inherits Integer from TDataStd
-using namespace std;
-// File : SALOMEDS_SelectableAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SelectableAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_SelectableAttribute.ixx"
#include <TDataStd_Integer.hxx>
-// File : SALOMEDS_SelectableAttribute.hxx
-// Created : Tue Jul 09 16:51:46 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SelectableAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_SelectableAttribute_HeaderFile
-// File : SALOMEDS_SelectableAttribute.ixx
-// Created : Tue Jul 09 16:51:55 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SelectableAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_SelectableAttribute.jxx"
-// File : SALOMEDS_SelectableAttribute.jxx
-// Created : Tue Jul 09 16:52:00 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SelectableAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-// File : SALOMEDS_SequenceOfIntegerAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header:
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_SequenceOfIntegerAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class SequenceOfIntegerAttribute from SALOMEDS inherits Attribute from TDF
-using namespace std;
-// File : SALOMEDS_SequenceOfIntegerAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfIntegerAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_SequenceOfIntegerAttribute.ixx"
//=======================================================================
-// File : SALOMEDS_SequenceOfIntegerAttribute.hxx
-// Created : Fri Jul 05 12:59:44 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfIntegerAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_SequenceOfIntegerAttribute_HeaderFile
-// File : SALOMEDS_SequenceOfIntegerAttribute.ixx
-// Created : Fri Jul 05 12:59:55 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfIntegerAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_SequenceOfIntegerAttribute.jxx"
-// File : SALOMEDS_SequenceOfIntegerAttribute.jxx
-// Created : Fri Jul 05 13:00:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfIntegerAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _TColStd_HSequenceOfInteger_HeaderFile
-// File : SALOMEDS_SequenceOfRealAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header:
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_SequenceOfRealAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class SequenceOfRealAttribute from SALOMEDS inherits Attribute from TDF
-using namespace std;
-// File : SALOMEDS_SequenceOfRealAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfRealAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_SequenceOfRealAttribute.ixx"
#include <TDataStd_Real.hxx>
-// File : SALOMEDS_SequenceOfRealAttribute.hxx
-// Created : Fri Jul 05 13:00:41 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfRealAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_SequenceOfRealAttribute_HeaderFile
-// File : SALOMEDS_SequenceOfRealAttribute.ixx
-// Created : Fri Jul 05 13:00:55 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfRealAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-
#include "SALOMEDS_SequenceOfRealAttribute.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
-// File : SALOMEDS_SequenceOfRealAttribute.jxx
-// Created : Fri Jul 05 13:01:03 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_SequenceOfRealAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _TColStd_HSequenceOfReal_HeaderFile
-using namespace std;
-// File : SALOMEDS_Server.cxx
-// Created : Wed Nov 28 16:26:15 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_Server.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOMEDS)
#include "SALOMEDS_StudyManager_i.hxx"
#include "utilities.h"
+//#define CHECKTIME
+#ifdef CHECKTIME
+#include <Utils_Timer.hxx>
+#endif
+
// extern "C"
// { // for ccmalloc memory debug
// void ccmalloc_static_initialization(void);
try {
// Initialise the ORB.
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "omniORB3");
+ omniORB::MaxMessageSize(100 * 1024 * 1024);
// Obtain a reference to the root POA.
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POAManager_var pman = poa->the_POAManager();
pman->activate();
+#ifdef CHECKTIME
+ Utils_Timer timer;
+ timer.Start();
+ timer.Stop();
+ MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
+ timer.ShowAbsolute();
+#endif
orb->run();
orb->destroy();
}
}
return 0;
}
-
-using namespace std;
-// File : SALOMEDS_StudyBuilder_i.cxx
-// Created : Wed Nov 28 16:26:28 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_StudyBuilder_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "utilities.h"
#include "SALOMEDS_StudyBuilder_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include "SALOMEDS_AttributeUserID_i.hxx"
#include "SALOMEDS_AttributeStudyProperties_i.hxx"
#include "SALOMEDS_AttributePythonObject_i.hxx"
+#include "SALOMEDS_Tool.hxx"
#include "Utils_CorbaException.hxx"
#include <HDFOI.hxx>
#include <stdlib.h>
#define USE_CASE_LABEL_TAG 2
-#define DIRECTORYID "DIRECTORY:"
+#define DIRECTORYID 16661
+#define FILELOCALID 26662
//============================================================================
/*! Function : constructor
TDF_Label Lab;
ASSERT(!CORBA::is_nil(anObject));
TDF_Tool::Label(_doc->GetData(),anObject->GetID(),Lab);
+
+ Handle(TDF_Reference) aReference;
+ if (Lab.FindAttribute(TDF_Reference::GetID(), aReference)) {
+ Handle(SALOMEDS_TargetAttribute) aTarget;
+ if (aReference->Get().FindAttribute(SALOMEDS_TargetAttribute::GetID(),aTarget))
+ aTarget->Remove(Lab);
+ }
+
Lab.ForgetAllAttributes();
}
TDF_Label Lab;
ASSERT(!CORBA::is_nil(anObject));
TDF_Tool::Label(_doc->GetData(),anObject->GetID(),Lab);
+
+ Handle(TDF_Reference) aReference;
+ if (Lab.FindAttribute(TDF_Reference::GetID(), aReference)) {
+ Handle(SALOMEDS_TargetAttribute) aTarget;
+ if (aReference->Get().FindAttribute(SALOMEDS_TargetAttribute::GetID(),aTarget))
+ aTarget->Remove(Lab);
+ }
+
+ TDF_ChildIterator it(Lab);
+ for(;it.More();it.Next()) {
+ TDF_Label aLabel = it.Value();
+ if (aLabel.FindAttribute(TDF_Reference::GetID(), aReference)) {
+ Handle(SALOMEDS_TargetAttribute) aTarget;
+ if (aReference->Get().FindAttribute(SALOMEDS_TargetAttribute::GetID(),aTarget))
+ aTarget->Remove(aLabel);
+ }
+ }
+
Lab.ForgetAllAttributes(Standard_True);
}
static void Translate_persistentID_to_IOR(TDF_Label Lab,
SALOMEDS::Driver_ptr driver,
CORBA::ORB_ptr orb,
- CORBA::Boolean isMultiFile)
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean isASCII)
{
TDF_ChildIterator itchild (Lab);
TDF_Label current = itchild.Value();
Handle(TDF_Attribute) Att;
if (current.FindAttribute(SALOMEDS_PersRefAttribute::GetID(),Att)) {
+
+ Handle(SALOMEDS_LocalIDAttribute) anID;
+ if (current.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anID))
+ if (anID->Get() == FILELOCALID) continue; //SRN: This attribute store a file name, skip it
+
TCollection_ExtendedString res;
res = Handle(TDataStd_Comment)::DownCast(Att)->Get();
TCollection_AsciiString ch(res);
SALOMEDS_SObject_i * so_servant = new SALOMEDS_SObject_i (current,orb);
SALOMEDS::SObject_var so = SALOMEDS::SObject::_narrow(so_servant->_this());
- CORBA::String_var ior_string = driver->LocalPersistentIDToIOR(so, persistent_string, isMultiFile);
+ CORBA::String_var ior_string = driver->LocalPersistentIDToIOR(so, persistent_string, isMultiFile, isASCII);
TCollection_ExtendedString value(strdup(ior_string ));
SALOMEDS_IORAttribute::Set (current,value,orb);
- TCollection_AsciiString anEntry;TDF_Tool::Entry (current,anEntry);
-
+ //TCollection_AsciiString anEntry;TDF_Tool::Entry (current,anEntry); //SRN: No use here
//delete persistent_string;
//delete ior_string;
}
- Translate_persistentID_to_IOR (current,driver,orb,isMultiFile);
+ Translate_persistentID_to_IOR (current,driver,orb,isMultiFile, isASCII);
}
}
}
DefineComponentInstance (anSCO, aDriver);
- //Open the Study HDF file
TCollection_AsciiString aHDFPath(Res);
- HDFfile *hdf_file = new HDFfile(aHDFPath.ToCString());
+
+ char* aHDFUrl;
+ bool isASCII = false;
+ if (HDFascii::isASCII(aHDFPath.ToCString())) {
+ isASCII = true;
+ char* aResultPath = HDFascii::ConvertFromASCIIToHDF(aHDFPath.ToCString());
+ aHDFUrl = new char[strlen(aResultPath) + 19];
+ sprintf(aHDFUrl, "%shdf_from_ascii.hdf", aResultPath);
+ delete(aResultPath);
+ } else {
+ aHDFUrl = strdup(aHDFPath.ToCString());
+ }
+
+ //Open the Study HDF file
+ HDFfile *hdf_file = new HDFfile(aHDFUrl);
char aMultifileState[2];
+ char ASCIIfileState[2];
try {
CORBA::String_var scoid = anSCO->GetID();
hdf_file->OpenOnDisk(HDF_RDONLY);
multifile_hdf_dataset->OpenOnDisk();
multifile_hdf_dataset->ReadFromDisk(aMultifileState);
+ HDFdataset *ascii_hdf_dataset = new HDFdataset("ASCII_STATE", hdf_sco_group);
+ ascii_hdf_dataset->OpenOnDisk();
+ ascii_hdf_dataset->ReadFromDisk(ASCIIfileState);
// set path without file name from URL
int aFileNameSize = Res.Length();
break;
}
- if(!aDriver->Load(anSCO, aStreamFile.in(), aDir, aMultifileState[0]=='M')) {
+ CORBA::Boolean aResult = (ASCIIfileState[0]=='A')?
+ aDriver->LoadASCII(anSCO, aStreamFile.in(), aDir, aMultifileState[0]=='M'):
+ aDriver->Load(anSCO, aStreamFile.in(), aDir, aMultifileState[0]=='M');
+ if(!aResult) {
+ RemoveAttribute( anSCO, "AttributeIOR" );
+ if (isASCII) {
+ SALOMEDS::ListOfFileNames_var aFilesToRemove = new SALOMEDS::ListOfFileNames;
+ aFilesToRemove->length(1);
+ aFilesToRemove[0] = strdup(&(aHDFUrl[strlen(SALOMEDS_Tool::GetDirFromPath(aHDFUrl))]));
+ SALOMEDS_Tool::RemoveTemporaryFiles(SALOMEDS_Tool::GetDirFromPath(aHDFUrl), aFilesToRemove, true);
+ }
+ delete aHDFUrl;
MESSAGE("Can't load component");
THROW_SALOME_CORBA_EXCEPTION("Unable to load component data",SALOME::BAD_PARAM);
// throw HDFexception("Unable to load component");
multifile_hdf_dataset->CloseOnDisk();
multifile_hdf_dataset = 0;
+ ascii_hdf_dataset->CloseOnDisk();
+ ascii_hdf_dataset = 0;
hdf_sco_group->CloseOnDisk();
hdf_sco_group = 0;
hdf_group->CloseOnDisk();
hdf_group = 0;
hdf_file->CloseOnDisk();
delete hdf_file;
+
+ if (isASCII) {
+ SALOMEDS::ListOfFileNames_var aFilesToRemove = new SALOMEDS::ListOfFileNames;
+ aFilesToRemove->length(1);
+ aFilesToRemove[0] = strdup(&(aHDFUrl[strlen(SALOMEDS_Tool::GetDirFromPath(aHDFUrl))]));
+ SALOMEDS_Tool::RemoveTemporaryFiles(SALOMEDS_Tool::GetDirFromPath(aHDFUrl), aFilesToRemove, true);
+ }
+ delete aHDFUrl;
}
catch (HDFexception) {
MESSAGE("No persistent file Name");
delete hdf_file;
+ if (isASCII) {
+ SALOMEDS::ListOfFileNames_var aFilesToRemove = new SALOMEDS::ListOfFileNames;
+ aFilesToRemove->length(1);
+ aFilesToRemove[0] = strdup(&(aHDFUrl[strlen(SALOMEDS_Tool::GetDirFromPath(aHDFUrl))]));
+ SALOMEDS_Tool::RemoveTemporaryFiles(SALOMEDS_Tool::GetDirFromPath(aHDFUrl), aFilesToRemove, true);
+ }
+ delete aHDFUrl;
if (aLocked) anSCO->GetStudy()->GetProperties()->SetLocked(true);
return;
}
try {
- Translate_persistentID_to_IOR (Lab,aDriver,_orb, aMultifileState[0]=='M');
+ Translate_persistentID_to_IOR (Lab,aDriver,_orb, aMultifileState[0]=='M', ASCIIfileState[0] == 'A');
} catch (SALOME::SALOME_Exception) {
MESSAGE("Can't translate PersRef to IOR");
if (aLocked) anSCO->GetStudy()->GetProperties()->SetLocked(true);
TDataStd_Name::Set(aLabel, aPath.Token("/", i-1));
- //Set PersistentRef attribute to identify the directory object
- SALOMEDS::GenericAttribute_var anAttr = FindOrCreateAttribute(aNewObject, "AttributePersistentRef");
- SALOMEDS::AttributePersistentRef_var aPersRef = SALOMEDS::AttributePersistentRef::_narrow(anAttr);
+ //Set LocalID attribute to identify the directory object
+ SALOMEDS::GenericAttribute_var anAttr = FindOrCreateAttribute(aNewObject, "AttributeLocalID");
+ SALOMEDS::AttributeLocalID_var aPersRef = SALOMEDS::AttributeLocalID::_narrow(anAttr);
if(aPersRef->_is_nil()) throw SALOMEDS::Study::StudyInvalidDirectory();
aPersRef->SetValue(DIRECTORYID);
-// File : SALOMEDS_StudyBuilder_i.hxx
-// Created : Wed Nov 28 16:26:50 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_StudyBuilder_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_STUDYBUIlDER_I_H__
-using namespace std;
-// File : SALOMEDS_StudyManager_i.cxx
-// Created : Wed Nov 28 13:45:43 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_StudyManager_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
-// Modified by : Estelle DEVILLE : Implementation of Save methods
+using namespace std;
#include "utilities.h"
#include "SALOMEDS_StudyManager_i.hxx"
#include "SALOMEDS_Study_i.hxx"
} else {
int size = hdf_dataset->GetSize();
- char current_string[size];
+ char* current_string = new char[size];
hdf_dataset->ReadFromDisk(current_string);
if (!strcmp(hdf_dataset->GetName(),"COMPONENTDATATYPE")) {
SALOMEDS::StudyBuilder_ptr SB,
SALOMEDS::SObject_ptr so,
SALOMEDS::Driver_ptr engine,
- CORBA::Boolean isMultiFile)
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean isASCII)
{
MESSAGE("In Translate_IOR_to_persistentID");
SALOMEDS::ChildIterator_var itchild = study->NewChildIterator(so);
for (; itchild->More(); itchild->Next()) {
SALOMEDS::SObject_var current = itchild->Value();
SCRUTE(current->GetID());
- SCRUTE(ior_string);
SALOMEDS::GenericAttribute_var SObj;
if (current->FindAttribute(SObj, "AttributeIOR")) {
SALOMEDS::AttributeIOR_var IOR = SALOMEDS::AttributeIOR::_narrow(SObj);
ior_string = IOR->Value();
SCRUTE(ior_string);
- persistent_string = engine->IORToLocalPersistentID (current,ior_string,isMultiFile);
+ persistent_string = engine->IORToLocalPersistentID (current,ior_string,isMultiFile, isASCII);
// SB->AddAttribute (current, SALOMEDS::PersistentRef,persistent_string);
SALOMEDS::AttributePersistentRef_var Pers = SALOMEDS::AttributePersistentRef::_narrow(SB->FindOrCreateAttribute (current, "AttributePersistentRef"));
persistent_string = 0;
curid = 0;
}
- Translate_IOR_to_persistentID (study,SB,current,engine,isMultiFile);
+ Translate_IOR_to_persistentID (study,SB,current,engine,isMultiFile, isASCII);
}
CORBA::string_free(persistent_string);
CORBA::string_free(curid);
HDFfile *hdf_file =0;
HDFgroup *hdf_group_study_structure =0;
- hdf_file = new HDFfile((char *)aUrl);
+ char* aHDFUrl;
+ bool isASCII = false;
+ if (HDFascii::isASCII(aUrl)) {
+ isASCII = true;
+ char* aResultPath = HDFascii::ConvertFromASCIIToHDF(aUrl);
+ aHDFUrl = new char[strlen(aResultPath) + 19];
+ sprintf(aHDFUrl, "%shdf_from_ascii.hdf", aResultPath);
+ delete(aResultPath);
+ } else {
+ aHDFUrl = strdup(aUrl);
+ }
+
+ hdf_file = new HDFfile(aHDFUrl);
try {
hdf_file->OpenOnDisk(HDF_RDONLY);// mpv: was RDWR, but opened file can be write-protected too
}
{
// MESSAGE( "HDFexception ! " );
// cerr << "HDFexception ! " << endl;
+ delete aHDFUrl;
char eStr[strlen(aUrl)+17];
sprintf(eStr,"Can't open file %s",aUrl);
THROW_SALOME_CORBA_EXCEPTION(CORBA::string_dup(eStr),SALOME::BAD_PARAM);
SALOMEDS_PersRefAttribute::Set(Doc->Main(),strdup(aUrl));
if (!hdf_file->ExistInternalObject("STUDY_STRUCTURE")) {
+ delete aHDFUrl;
MESSAGE("SALOMEDS_StudyManager::Open : the study is empty");
return Study;
}
{
// MESSAGE( "HDFexception ! " );
// cerr << "HDFexception ! " << endl;
+ delete aHDFUrl;
char eStr[strlen(aUrl)+17];
sprintf(eStr,"Can't open file %s",aUrl);
THROW_SALOME_CORBA_EXCEPTION(CORBA::string_dup(eStr),SALOME::BAD_PARAM);
}
hdf_file->CloseOnDisk();
- delete hdf_file; // all related hdf objects will be deleted
+ if (isASCII) {
+ SALOMEDS::ListOfFileNames_var aFilesToRemove = new SALOMEDS::ListOfFileNames;
+ aFilesToRemove->length(1);
+ aFilesToRemove[0] = strdup(&(aHDFUrl[strlen(SALOMEDS_Tool::GetDirFromPath(aHDFUrl))]));
+ SALOMEDS_Tool::RemoveTemporaryFiles(SALOMEDS_Tool::GetDirFromPath(aHDFUrl), aFilesToRemove, true);
+ }
+ delete aHDFUrl;
+ delete hdf_file; // all related hdf objects will be deleted
return Study;
}
MESSAGE( "No path specified to save the study. Nothing done")
else
{
- _SaveAs(url,aStudy, theMultiFile);
+ _SaveAs(url,aStudy, theMultiFile, false);
}
}
+void SALOMEDS_StudyManager_i::SaveASCII(SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile)
+{
+ CORBA::String_var url = aStudy->URL();
+ if (url==NULL)
+ MESSAGE( "No path specified to save the study. Nothing done")
+ else
+ {
+ _SaveAs(url,aStudy, theMultiFile, true);
+ }
+}
//=============================================================================
/*! Function : SaveAs
// Save the URL of the Study => to be used with the function "Save"
aStudy->URL(aUrl);
- _SaveAs(aUrl,aStudy,theMultiFile);
+ _SaveAs(aUrl,aStudy,theMultiFile, false);
+
+}
+
+void SALOMEDS_StudyManager_i::SaveAsASCII(const char* aUrl, SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile)
+{
+ // Save the URL of the Study => to be used with the function "Save"
+ aStudy->URL(aUrl);
+
+ _SaveAs(aUrl,aStudy,theMultiFile, true);
}
//============================================================================
TNsize[0]=5;
TNsize[1]=maxSize+1;
char Data[5][maxSize+1];
- for(index=0;index<5;index++) strcpy(Data[index],Val[index]);
+ for(index=0;index<5;index++) {
+ strcpy(Data[index],Val[index]);
+ for(int a = strlen(Data[index]) + 1; a < maxSize; a++) Data[index][a] = ' '; // mpv: for ASCII format
+ }
char* aDataSetName = new char[60];
sprintf(aDataSetName, "AttributeTreeNodeGUID%s",TNRef->GetTreeID());
//============================================================================
void SALOMEDS_StudyManager_i::_SaveAs(const char* aUrl,
SALOMEDS::Study_ptr aStudy,
- CORBA::Boolean theMultiFile)
+ CORBA::Boolean theMultiFile,
+ CORBA::Boolean theASCII)
{
// HDF File will be composed of differents part :
// * For each ComponentDataType, all data created by the component
MESSAGE ( "Save the data of type:"<< componentDataType);
MESSAGE("Engine :"<<Engine->ComponentDataType());
- SALOMEDS::TMPFile_var aStream = Engine->Save(sco,
- SALOMEDS_Tool::GetDirFromPath(aUrl),
- theMultiFile);
+ SALOMEDS::TMPFile_var aStream;
+ if (theASCII) aStream = Engine->SaveASCII(sco,SALOMEDS_Tool::GetDirFromPath(aUrl),theMultiFile);
+ else aStream = Engine->Save(sco,SALOMEDS_Tool::GetDirFromPath(aUrl),theMultiFile);
+
HDFdataset *hdf_dataset;
hdf_size aHDFSize[1];
if(aStream->length() > 0) { //The component saved some auxiliary files, then put them into HDF file
hdf_dataset->CloseOnDisk();
hdf_dataset=0; //will be deleted by hdf_sco_AuxFiles destructor
- Translate_IOR_to_persistentID (aStudy,SB,sco,Engine,theMultiFile);
+ // store ASCII state
+ aHDFSize[0] = 2;
+ hdf_dataset = new HDFdataset("ASCII_STATE", hdf_sco_group, HDF_STRING, aHDFSize, 1);
+ hdf_dataset->CreateOnDisk();
+ hdf_dataset->WriteOnDisk((void*)(theASCII?"A":"B")); // save: ASCII or BINARY
+ hdf_dataset->CloseOnDisk();
+ hdf_dataset=0; //will be deleted by hdf_sco_AuxFiles destructor
+
+ Translate_IOR_to_persistentID (aStudy,SB,sco,Engine,theMultiFile, theASCII);
MESSAGE("After Translate_IOR_to_persistentID");
// Creation of the persistance reference attribute
catch (HDFexception)
{
MESSAGE( "HDFexception ! " )
- }
+ }
+ if (theASCII) { // save file in ASCII format
+ HDFascii::ConvertFromHDFToASCII(aUrl, true);
+ }
}
//============================================================================
//============================================================================
Handle(TDocStd_Document) SALOMEDS_StudyManager_i::GetDocumentOfStudy(SALOMEDS::Study_ptr theStudy) {
int a;
- int aNbDocs = _OCAFApp->NbDocuments();
- Handle(TDocStd_Document) aDocument;
+ int aNbDocs = _OCAFApp->NbDocuments();
+ Handle(TDocStd_Document) aDocument;
for(a = 1; a <= aNbDocs ; a++) {
_OCAFApp->GetDocument(a, aDocument);
if (!aDocument.IsNull()) {
SALOMEDS_SObject_i * aSOServant = new SALOMEDS_SObject_i (aDocument->Main(),_orb);
SALOMEDS::SObject_var aSO = SALOMEDS::SObject::_narrow(aSOServant->_this());
- if (aSO->GetStudy() == theStudy) break;
+ SALOMEDS::Study_var aStudy = aSO->GetStudy();
+ if(CORBA::is_nil(aStudy)) continue; //The clipboard document ( hopefully :) )
+ if (aStudy->StudyId() == theStudy->StudyId()) break;
aDocument.Nullify();
}
}
+
return aDocument;
}
const TDF_Label& theDestinationStart,
const int theCopiedStudyID,
const bool isFirstElement) {
+
// get corresponding source, target and auxiliary labels
TDF_Label aTargetLabel = theDestinationStart;
TDF_Label aAuxSourceLabel = theSource.Root().FindChild(2);
// check auxiliary label for Comment => reference or name attribute of the referenced object
Handle(TDataStd_Comment) aCommentAttribute;
if (aAuxSourceLabel.FindAttribute(TDataStd_Comment::GetID(), aCommentAttribute)) {
- char * anEntry = new char[aCommentAttribute->Get().Length()];
+ char * anEntry = new char[aCommentAttribute->Get().Length() + 1];
strcpy(anEntry, TCollection_AsciiString(aCommentAttribute->Get()).ToCString());
char* aNameStart = strchr(anEntry, ' ');
if (aNameStart) {
}
delete(anEntry);
}
+
return aTargetLabel;
}
//============================================================================
throw(SALOMEDS::StudyBuilder::LockProtection)
{
SALOMEDS::Study_var aStudy = theObject->GetStudy();
+
// if study is locked, then paste can't be done
if (aStudy->GetProperties()->IsLocked())
throw SALOMEDS::StudyBuilder::LockProtection();
+
// if there is no component name, then paste only SObjects and attributes: without component help
Handle(TDataStd_Comment) aComponentName;
bool aStructureOnly = !_clipboard->Main().Root().FindAttribute(TDataStd_Comment::GetID(), aComponentName);
// get copied study ID
Handle(TDataStd_Integer) aStudyIDAttribute;
- if (!_clipboard->Main().Root().FindAttribute(TDataStd_Integer::GetID(), aStudyIDAttribute)) return NULL;
+ if (!_clipboard->Main().Root().FindAttribute(TDataStd_Integer::GetID(), aStudyIDAttribute))
+ return SALOMEDS::SObject::_nil();
int aCStudyID = aStudyIDAttribute->Get();
// get component-engine
-
SALOMEDS::Driver_var Engine;
SALOMEDS::SComponent_var aComponent;
if (!aStructureOnly) {
aComponent = theObject->GetFatherComponent();
CORBA::String_var IOREngine;
- if (!aComponent->ComponentIOR(IOREngine)) return NULL;
+ if (!aComponent->ComponentIOR(IOREngine)) return SALOMEDS::SObject::_nil();
CORBA::Object_var obj = _orb->string_to_object(IOREngine);
Engine = SALOMEDS::Driver::_narrow(obj) ;
}
+
// CAF document of current study usage
Handle(TDocStd_Document) aDocument = GetDocumentOfStudy(aStudy);
- if (aDocument.IsNull()) return NULL;
+ if (aDocument.IsNull()) return SALOMEDS::SObject::_nil();
// fill root inserted SObject
TDF_Label aStartLabel;
if (aStructureOnly) {
TDF_Tool::Label(aDocument->GetData(), aComponent->GetID(), aComponentLabel);
aStartLabel = PasteLabel(aStudy, Engine, _clipboard->Main(), aComponentLabel, aCStudyID, true);
}
+
// paste all sublebels
TDF_ChildIterator anIterator(_clipboard->Main(), Standard_True);
for(; anIterator.More(); anIterator.Next()) {
SALOMEDS_SObject_i * so_servant = new SALOMEDS_SObject_i (aStartLabel, _orb);
SALOMEDS::SObject_var so = SALOMEDS::SObject::_narrow(so_servant->_this());
- return so;
+
+ return so._retn();
}
-// File : SALOMEDS_StudyManager_i.hxx
-// Created : Wed Nov 28 16:27:08 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_StudyManager_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_STUDYMANAGER_I_H__
Handle(TDocStd_Document) _clipboard;
// _SaveAs private function called by Save and SaveAs
- virtual void _SaveAs(const char* aUrl, SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile);
+ virtual void _SaveAs(const char* aUrl,
+ SALOMEDS::Study_ptr aStudy,
+ CORBA::Boolean theMultiFile,
+ CORBA::Boolean theASCII);
// _SaveObject private function called by _SaveAs
virtual void _SaveObject(SALOMEDS::Study_ptr aStudy,
SALOMEDS::SObject_ptr SC,
*/
virtual void Save( SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile);
+ virtual void SaveASCII( SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile);
+
//! method to save a Study to the persistent reference aUrl
/*!
\param char* arguments, the new URL of the study
\param Study_ptr arguments
*/
virtual void SaveAs(const char* aUrl, SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile);
+ virtual void SaveAsASCII(const char* aUrl, SALOMEDS::Study_ptr aStudy, CORBA::Boolean theMultiFile);
//! method to Get name list of open studies in the session
/*!
--- File : SALOMEDS_StudyPropertiesAttribute.cdl
--- Created : Tue Oct 8 10:13:30 2002
--- Author : Yves FRICAUD
-
--- Project : SALOME
--- Module : SALOMEDS
--- Copyright : Open CASCADE 2001
--- $Header$
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 CEA/DEN, EDF R&D
+--
+--
+--
+-- File : SALOMEDS_StudyPropertiesAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class StudyPropertiesAttribute from SALOMEDS inherits Attribute from TDF
-using namespace std;
-// File : SALOMEDS_StudyPropertiesAttribute.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_StudyPropertiesAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEDS_StudyPropertiesAttribute.ixx>
const Standard_GUID& SALOMEDS_StudyPropertiesAttribute::GetID()
-// File : SALOMEDS_StudyPropertiesAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_StudyPropertiesAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_StudyPropertiesAttribute_HeaderFile
-// File : SALOMEDS_StudyPropertiesAttribute.ixx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_StudyPropertiesAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include <SALOMEDS_StudyPropertiesAttribute.jxx>
-// File : SALOMEDS_StudyPropertiesAttribute.jxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_StudyPropertiesAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _TColStd_HSequenceOfExtendedString_HeaderFile
-using namespace std;
-// File : SALOMEDS_Study_i.cxx
-// Created : Wed Nov 28 16:27:23 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_Study_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
+using namespace std;
#include "utilities.h"
#include "SALOMEDS_Study_i.hxx"
#include <CDM_Document.hxx>
#include <CDM_Application.hxx>
#include "SALOMEDS_LocalIDAttribute.hxx"
+#include "SALOMEDS_PersRefAttribute.hxx"
#include "SALOMEDS_UseCaseIterator_i.hxx"
-#define DIRECTORYID "DIRECTORY:"
+#define DIRECTORYID 16661
#define FILEID "FILE: "
+#define FILELOCALID 26662
//============================================================================
/*! Function : SALOMEDS_Study_i
TDF_ChildIterator anIter(aLabel, Standard_False); // iterate first-level children at all sublevels
for(; anIter.More(); anIter.Next()) {
TDF_Label aLabel = anIter.Value();
-// Handle(TDF_Attribute) anAttribute;
-// if (!aLabel.FindAttribute(SALOMEDS_IORAttribute::GetID(), anAttribute) &&
-// !aLabel.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anAttribute)) {
- Handle(SALOMEDS_PersRefAttribute) anID;
- if (aLabel.FindAttribute(SALOMEDS_PersRefAttribute::GetID(), anID)) {
- if (anID->Get().Search(TCollection_ExtendedString(DIRECTORYID)) == 1) {
+ Handle(SALOMEDS_LocalIDAttribute) anID;
+ if (aLabel.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anID)) {
+ if (anID->Get() == DIRECTORYID) {
Handle(TDataStd_Name) aName;
if (aLabel.FindAttribute(TDataStd_Name::GetID(), aName)) {
aResultSeq.Append(aName->Get());
}
}
}
-// }
}
// fill the result table
int anIndex, aLength = aResultSeq.Length();
TDF_ChildIterator anIter(aLabel, Standard_False); // iterate all subchildren at all sublevels
for(; anIter.More(); anIter.Next()) {
TDF_Label aLabel = anIter.Value();
-// Handle(TDF_Attribute) anAttribute;
-// if (aLabel.FindAttribute(SALOMEDS_IORAttribute::GetID(), anAttribute) ||
-// aLabel.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anAttribute)) {
- Handle(SALOMEDS_PersRefAttribute) aName;
- if (aLabel.FindAttribute(SALOMEDS_PersRefAttribute::GetID(), aName)) {
- if (aName->Get().Search(TCollection_ExtendedString(FILEID)) == 1) {
- aResultSeq.Append(aName->Get().Split(strlen(FILEID)));
+ Handle(SALOMEDS_LocalIDAttribute) anID;
+ if (aLabel.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anID)) {
+ if (anID->Get() == FILELOCALID) {
+ Handle(SALOMEDS_PersRefAttribute) aName;
+ if(aLabel.FindAttribute(SALOMEDS_PersRefAttribute::GetID(), aName)) {
+ TCollection_ExtendedString aFileName = aName->Get();
+ if(aFileName.Length() > 0)
+ aResultSeq.Append(aFileName.Split(strlen(FILEID)));
+ }
}
}
// }
//============================================================================
char* SALOMEDS_Study_i::URL()
{
+ if(!_URL) {
+ _URL = new char[1];
+ _URL[0] = (char)0;
+ }
return CORBA::string_dup(_URL);
}
-// File : SALOMEDS_Study_i.hxx
-// Created : Wed Nov 28 16:27:37 2001
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_Study_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef __SALOMEDS_STUDY_I_H__
-using namespace std;
-// File : SALOMEDS_TableOfIntegerAttribute.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-// Modified by: Sergey Ruin
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfIntegerAttribute.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEDS_TableOfIntegerAttribute.ixx>
#include <Standard_Failure.hxx>
#include <TColStd_DataMapIteratorOfDataMapOfIntegerInteger.hxx>
-// File : SALOMEDS_TableOfIntegerAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfIntegerAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_TableOfIntegerAttribute_HeaderFile
-// File : SALOMEDS_TableOfIntegerAttribute.ixx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfIntegerAttribute.ixx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#include <SALOMEDS_TableOfIntegerAttribute.jxx>
-// File : SALOMEDS_TableOfIntegerAttribute.jxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfIntegerAttribute.jxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _TColStd_HSequenceOfExtendedString_HeaderFile
-using namespace std;
-// File : SALOMEDS_TableOfRealAttribute.cxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-// Modified by: Sergey Ruin
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfRealAttribute.cxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEDS_TableOfRealAttribute.ixx>
#include <Standard_Failure.hxx>
#include <TColStd_DataMapIteratorOfDataMapOfIntegerReal.hxx>
-// File : SALOMEDS_TableOfRealAttribute.hxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfRealAttribute.hxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_TableOfRealAttribute_HeaderFile
-// File : SALOMEDS_TableOfRealAttribute.ixx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfRealAttribute.ixx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#include <SALOMEDS_TableOfRealAttribute.jxx>
-// File : SALOMEDS_TableOfRealAttribute.jxx
-// Created : Tue Oct 8 10:13:30 2002
-// Author : Michael Ponikarov
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfRealAttribute.jxx
+// Author : Michael Ponikarov
+// Module : SALOME
// $Header$
#ifndef _TColStd_HSequenceOfExtendedString_HeaderFile
-using namespace std;
-// File : SALOMEDS_TableOfStringAttribute.cxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfStringAttribute.cxx
+// Author : Sergey Ruin
+// Module : SALOME
+using namespace std;
#include <SALOMEDS_TableOfStringAttribute.ixx>
#include <Standard_Failure.hxx>
#include <SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx>
void SALOMEDS_TableOfStringAttribute::ConvertToString(ostrstream& theStream)
{
int i, j, l;
-cout << "########## ConvertToString BEGIN " << endl;
//Title
l = myTitle.Length();
theStream << l << "\n";
SALOMEDS_DataMapIteratorOfDataMapOfIntegerString anIterator(myTable);
for(; anIterator.More(); anIterator.Next()) {
- theStream << anIterator.Key() << "\n";
- theStream << anIterator.Value() << "\n";
-// l = anIterator.Value().Length();
-// theStream << l << "\n";
-// for(j=1; j<=l; j++)
-// theStream << anIterator.Value().Value(j) << "\n";
+ if (anIterator.Value().Length()) { // check empty string in the value table
+ theStream << anIterator.Key() << "\n";
+ unsigned long aValueSize = anIterator.Value().Length();
+ theStream.write((char*)&aValueSize, sizeof(unsigned long));
+ theStream.write((TCollection_AsciiString(anIterator.Value()).ToCString()),aValueSize);
+ } else { // write index only of kind: "0key"; "05", for an example
+ theStream << "0" << anIterator.Key() << "\n";
+ }
}
-cout << "########## ConvertToString END " << endl;
return;
}
{
Backup();
+ theStream.seekg(0, ios::end);
+ long aSize = theStream.tellg();
+ theStream.seekg(0, ios::beg);
+
int i, j, l;
+ char *aValueString = new char[aSize];
Standard_ExtCharacter anExtChar;
TCollection_ExtendedString aStr;
TCollection_AsciiString aValue;
theStream >> l;
myTable.Clear();
+ theStream.getline(aValueString,aSize,'\n');
for(i=1; i<=l; i++) {
Standard_Integer aKey;
- theStream >> aKey;
- theStream >> aValue;
+
+ theStream.getline(aValueString,aSize,'\n');
+ aValue = aValueString;
+ aKey = aValue.IntegerValue();
+ if (aValue.Value(1) == '0')
+ aValue = "";
+ else {
+ unsigned long aValueSize;
+ theStream.read((char*)&aValueSize, sizeof(unsigned long));
+ theStream.read(aValueString, aValueSize);
+ aValue = aValueString;
+ }
myTable.Bind(aKey, aValue);
-// theStream >> l;
-// aStr = TCollection_ExtendedString(l,0);
-// for(j=1; j<=l; j++) {
-// theStream >> anExtChar;
-// aStr.SetValue(j, anExtChar);
-// }
-// myTable.Bind(aKey, aStr);
}
-
+ delete(aValueString);
return true;
}
-// File : SALOMEDS_TableOfStringAttribute.hxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfStringAttribute.hxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _SALOMEDS_TableOfStringAttribute_HeaderFile
#define _SALOMEDS_TableOfStringAttribute_HeaderFile
-// File : SALOMEDS_TableOfStringAttribute.ixx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfStringAttribute.ixx
+// Author : Sergey Ruin
+// Module : SALOME
#include <SALOMEDS_TableOfStringAttribute.jxx>
-// File : SALOMEDS_TableOfStringAttribute.jxx
-// Created : Mon Apr 7 10:13:30 2003
-// Author : Sergey Ruin
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_TableOfStringAttribute.jxx
+// Author : Sergey Ruin
+// Module : SALOME
#ifndef _TColStd_HSequenceOfExtendedString_HeaderFile
#include <TColStd_HSequenceOfExtendedString.hxx>
-// File : SALOMEDS_TargetAttribute.cdl
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
-// $Header:
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_TargetAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class TargetAttribute from SALOMEDS inherits Relation from TDataStd
-using namespace std;
-// File : SALOMEDS_TargetAttribute.cxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TargetAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_TargetAttribute.ixx"
#include <TDF_Reference.hxx>
#include <TDF_ListIteratorOfAttributeList.hxx>
-// File : SALOMEDS_TargetAttribute.hxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TargetAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _SALOMEDS_TargetAttribute_HeaderFile
-// File : SALOMEDS_TargetAttribute.ixx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TargetAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#include "SALOMEDS_TargetAttribute.jxx"
-// File : SALOMEDS_TargetAttribute.jxx
-// Created : Fri Aug 16 10:20:05 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TargetAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
#ifndef _Standard_GUID_HeaderFile
-// File : SALOMEDS_TextColorAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header:
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_TextColorAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class TextColorAttribute from SALOMEDS inherits RealArray from TDataStd
-using namespace std;
-// File : SALOMEDS_TextColorAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextColorAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_TextColorAttribute.ixx"
//=======================================================================
-// File : SALOMEDS_TextColorAttribute.hxx
-// Created : Wed Jul 10 16:42:01 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextColorAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_TextColorAttribute_HeaderFile
-// File : SALOMEDS_TextColorAttribute.ixx
-// Created : Wed Jul 10 16:42:10 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextColorAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_TextColorAttribute.jxx"
-// File : SALOMEDS_TextColorAttribute.jxx
-// Created : Wed Jul 10 16:42:16 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextColorAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-// File : SALOMEDS_TextHighlightColorAttribute.cdl
-// Created : Wed Nov 28 16:20:40 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
-// $Header:
-
-
-
+-- SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+--
+-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+--
+--
+--
+-- File : SALOMEDS_TextHighlightColorAttribute.cdl
+-- Author : Yves FRICAUD
+-- Module : SALOME
class TextHighlightColorAttribute from SALOMEDS inherits RealArray from TDataStd
-using namespace std;
-// File : SALOMEDS_TextHighlightColorAttribute.cxx
-// Created : Wed Nov 28 16:09:35 2001
-// Author : Yves FRICAUD
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextHighlightColorAttribute.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header:
+using namespace std;
#include "SALOMEDS_TextHighlightColorAttribute.ixx"
//=======================================================================
-// File : SALOMEDS_TextHighlightColorAttribute.hxx
-// Created : Wed Jul 10 16:42:47 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextHighlightColorAttribute.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _SALOMEDS_TextHighlightColorAttribute_HeaderFile
-// File : SALOMEDS_TextHighlightColorAttribute.ixx
-// Created : Wed Jul 10 16:44:31 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextHighlightColorAttribute.ixx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#include "SALOMEDS_TextHighlightColorAttribute.jxx"
-// File : SALOMEDS_TextHighlightColorAttribute.jxx
-// Created : Wed Jul 10 16:44:36 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEDS_TextHighlightColorAttribute.jxx
+// Author : Yves FRICAUD
+// Module : SALOME
// $Header$
#ifndef _Standard_GUID_HeaderFile
-using namespace std;
-// File : SALOMEDS_Tool.cxx
-// Created : Mon Oct 21 16:24:34 2002
-// Author : Sergey RUIN
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_Tool.cxx
+// Author : Sergey RUIN
+// Module : SALOME
+using namespace std;
#include "SALOMEDS_Tool.hxx"
#include "utilities.h"
unsigned char *aBuffer = (unsigned char*)theStream.NP_data();
+ if(aBuffer == NULL) return NULL;
long aBufferSize = theStream.length();
long aFileSize, aCurrentPos = 4;
if (thePath == NULL) return strdup("");
OSD_Path aPath = OSD_Path(TCollection_AsciiString(strdup(thePath)));
TCollection_AsciiString aNameString(aPath.Name());
- return aNameString.ToCString();
+ return CORBA::string_dup(aNameString.ToCString());
}
//============================================================================
OSD_Path aPath = OSD_Path(TCollection_AsciiString(strdup(thePath)));
TCollection_AsciiString aDirString(aPath.Trek());
aDirString.ChangeAll('|','/');
- return aDirString.ToCString();
+ return CORBA::string_dup(aDirString.ToCString());
}
-// File : SALOMEDS_Tool.hxx
-// Created : Mon Oct 21 16:24:50 2002
-// Author : Sergey RUIN
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE
-
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_Tool.hxx
+// Author : Sergey RUIN
+// Module : SALOME
#ifndef __SALOMEDS_Tool_H__
#define __SALOMEDS_Tool_H__
-using namespace std;
-// File : SALOMEDS_UseCaseBuilder_i.cxx
-// Created : Mon Oct 7 16:15:25 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_UseCaseBuilder_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
+using namespace std;
#include "SALOMEDS_UseCaseBuilder_i.hxx"
#include "SALOMEDS_AttributeComment_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
-// File : SALOMEDS_UseCaseBuilder_i.hxx
-// Created : Mon Oct 7 16:20:12 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_UseCaseBuilder_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
#ifndef __SALOMEDS_USECaseBuilder_I_H__
#define __SALOMEDS_USECaseBuilder_I_H__
-using namespace std;
-// File : SALOMEDS_UseCaseIterator_i.cxx
-// Created : Mon Oct 7 16:15:25 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_UseCaseIterator_i.cxx
+// Author : Yves FRICAUD
+// Module : SALOME
+using namespace std;
#include "SALOMEDS_UseCaseIterator_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
#include "utilities.h"
-// File : SALOMEDS_UseCaseIterator_i.hxx
-// Created : Mon Oct 7 16:20:12 2002
-// Author : Yves FRICAUD
-
-// Project : SALOME
-// Module : SALOMEDS
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEDS_UseCaseIterator_i.hxx
+// Author : Yves FRICAUD
+// Module : SALOME
#ifndef __SALOMEDS_USECASEITERATOR_I_H__
#define __SALOMEDS_USECASEITERATOR_I_H__
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : CLIENT_icons.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : CLIENT_msg_en.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
#---------------
msgid "INF_VERSION"
-msgstr "Version 1.1a"
+msgstr "Version 1.2"
msgid "INF_COPYRIGHT"
msgstr "Copyright (C) 2002, OPEN CASCADE"
#: QAD_Application.cxx:133
msgid "QAD_Application::APP_DEFAULTTITLE"
-msgstr "SALOME Professional 1.1a"
+msgstr "SALOME Professional 1.2"
#: QAD_Desktop.cxx:424
msgid "QAD_Desktop::DESK_DEFAULTTITLE"
-msgstr "SALOME Professional 1.1a"
\ No newline at end of file
+msgstr "SALOME Professional 1.2"
\ No newline at end of file
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_DataMapNodeOfDataMapOfIOMapOfInteger.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_DataMapNodeOfDataMapOfIOMapOfInteger_HeaderFile
#define _Handle_SALOME_DataMapNodeOfDataMapOfIOMapOfInteger_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_Filter.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_Filter_HeaderFile
#define _Handle_SALOME_Filter_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_ListNodeOfListIO.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_ListNodeOfListIO_HeaderFile
#define _Handle_SALOME_ListNodeOfListIO_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_ListNodeOfListOfFilter.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_ListNodeOfListOfFilter_HeaderFile
#define _Handle_SALOME_ListNodeOfListOfFilter_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_NumberFilter.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_NumberFilter_HeaderFile
#define _Handle_SALOME_NumberFilter_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Handle_SALOME_TypeFilter.hxx
+// Module : SALOME
#ifndef _Handle_SALOME_TypeFilter_HeaderFile
#define _Handle_SALOME_TypeFilter_HeaderFile
-# source path
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
EXPORT_HEADERS = \
QAD.h \
+ QAD_Action.h \
QAD_Application.h \
QAD_Config.h \
QAD_Desktop.h \
SALOMEGUI_Application.h \
SALOMEGUI_Desktop.h \
QAD_Application.h \
+ QAD_Action.h \
QAD_Desktop.h \
QAD_DirListDlg.h \
QAD_FileDlg.h \
SALOME_Component.idl \
SALOME_Exception.idl
-CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(OCC_INCLUDES) $(VTK_INCLUDES) $(QWT_INCLUDES)
-LDFLAGS+=$(QT_MT_LIBS) $(OCC_LIBS) $(VTK_LIBS) $(QWT_LIBS) -lSalomeNS -lqsplitterP -lSalomeLifeCycleCORBA -lOpUtil -lSalomeObject
+CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(OCC_INCLUDES)
+LDFLAGS+=$(QT_MT_LIBS) $(OCC_LIBS) -lSalomeNS -lqsplitterP -lSalomeLifeCycleCORBA -lOpUtil -lSalomeObject
LIBS+= $(PYTHON_LIBS)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : PyInterp_PyQt.cxx
+// Author : Christian CAREMOLI, Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+
using namespace std;
using namespace std;
-//=============================================================================
-// File : PyInterp_PyQt.cxx
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Christian CAREMOLI, Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
-
#include "PyInterp_PyQt.h"
#include "utilities.h"
-//=============================================================================
-// File : PyInterp_PyQt.h
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Christian CAREMOLI, Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : PyInterp_PyQt.h
+// Author : Christian CAREMOLI, Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _PYINTERP_PYQT_H_
#define _PYINTERP_PYQT_H_
-using namespace std;
-//=============================================================================
-// File : PyInterp_base.cxx
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Christian CAREMOLI, Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : PyInterp_base.cxx
+// Author : Christian CAREMOLI, Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
#include "PyInterp_base.h"
#include "utilities.h"
#include <string>
-//=============================================================================
-// File : PyInterp_base.h
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Christian CAREMOLI, Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : PyInterp_base.h
+// Author : Christian CAREMOLI, Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _PYINTERP_BASE_H_
#define _PYINTERP_BASE_H_
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD.h
+// Module : SALOME
+
/***********************************************************
** File: QAD.h
** Descr: General definitions for QAD
--- /dev/null
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Action.h
+// Author : Vadim SANDLER
+// Module : SALOME
+// $Header$
+
+#ifndef QAD_ACTION_H
+#define QAD_ACTION_H
+
+#include "qactionP.h"
+#include <qmap.h>
+
+class ActionMap {
+ public:
+ ActionMap() {}
+ ~ActionMap()
+ {
+ QMapIterator<unsigned int, QActionP*> it;
+ for ( it = myMap.begin(); it != myMap.end(); it++ ) delete (QActionP*)it.data();
+ myMap.clear();
+ }
+ bool isEmpty() { return myMap.isEmpty(); }
+ void insert( const unsigned int id, QActionP* action ) { myMap[id] = action; }
+ QActionP* at( const unsigned int id ) { return myMap[id]; }
+ void clear() { myMap.clear(); }
+ QActionP*& operator[] (const unsigned int id) { return myMap[id]; }
+ bool hasAction( const unsigned int id ) { return myMap.contains(id); }
+
+ private:
+ QMap<unsigned int, QActionP*> myMap;
+
+};
+
+class ToggleAction : public QActionP {
+ Q_OBJECT
+ public:
+ ToggleAction( const QString& text, const QString& menuText,
+ QKeySequence accel, QObject* parent,
+ const char* name = 0, bool toggle = FALSE)
+ : QActionP( text, menuText, accel, parent, name, toggle )
+ {
+ connect( this, SIGNAL(toggled(bool)), this, SLOT(onToggled(bool)));
+ }
+ private slots:
+ void onToggled( bool on)
+ {
+ on ? emit( toggledOn() ) : emit( toggledOff() );
+ }
+
+ signals:
+ void toggledOn();
+ void toggledOff();
+};
+
+#endif
-using namespace std;
-// File : QAD_Application.cxx
-// Created : UI team, 22.09.00
-// Descr : Study manager of QAD-based application
-
-// Modified : Mon Dec 03 13:21:50 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Application.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_Application QAD_Application.h
\brief Study manager for QAD-based application.
#include <qdialog.h>
#include <qstring.h>
#include <qpixmap.h>
-#include <qaction.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qmessagebox.h>
myStudyDescription( description )
{
/* actions are stored in vectors only */
- myEditActions.setAutoDelete ( true );
- myViewActions.setAutoDelete ( true );
- myHelpActions.setAutoDelete ( true );
/* studies are managed by me */
myStudies.setAutoDelete( true );
// Undo
if ( !myEditActions.at( EditUndoId ) )
{
- QAction* editUndo = new QAction ( tr("TOT_APP_EDIT_UNDO"),
+ QActionP* editUndo = new QActionP( tr("TOT_APP_EDIT_UNDO"),
rmgr->loadPixmap( "QAD",
tr("ICON_APP_EDIT_UNDO") ),
tr("MEN_APP_EDIT_UNDO"),
// Redo
if ( !myEditActions.at( EditRedoId ) )
{
- QAction* editRedo = new QAction ( tr("TOT_APP_EDIT_REDO"),
+ QActionP* editRedo = new QActionP ( tr("TOT_APP_EDIT_REDO"),
rmgr->loadPixmap( "QAD", tr("ICON_APP_EDIT_REDO") ),
tr("MEN_APP_EDIT_REDO"), CTRL+Key_Y, desktop );
editRedo->setStatusTip ( tr("PRP_APP_EDIT_REDO") );
// Copy
if ( !myEditActions.at( EditCopyId ) )
{
- QAction* editCopy = new QAction ( tr("TOT_APP_EDIT_COPY"),
+ QActionP* editCopy = new QActionP ( tr("TOT_APP_EDIT_COPY"),
rmgr->loadPixmap( "QAD",
tr("ICON_APP_EDIT_COPY") ),
tr("MEN_APP_EDIT_COPY"),
// Paste
if ( !myEditActions.at( EditPasteId ) )
{
- QAction* editPaste = new QAction ( tr("TOT_APP_EDIT_PASTE"),
+ QActionP* editPaste = new QActionP ( tr("TOT_APP_EDIT_PASTE"),
rmgr->loadPixmap( "QAD",
tr("ICON_APP_EDIT_PASTE") ),
tr("MEN_APP_EDIT_PASTE"),
{
QAD_ASSERT_DEBUG_ONLY( !myEditActions.isEmpty() );
QToolBar* tb = getDesktop()->getStdToolBar();
- QAction* undo = myEditActions.at( EditUndoId );
- QAction* redo = myEditActions.at( EditRedoId );
- QAction* copy = myEditActions.at( EditCopyId );
- QAction* paste = myEditActions.at( EditPasteId );
+ QActionP* undo = myEditActions.at( EditUndoId );
+ QActionP* redo = myEditActions.at( EditRedoId );
+ QActionP* copy = myEditActions.at( EditCopyId );
+ QActionP* paste = myEditActions.at( EditPasteId );
if ( add )
{
undo->addTo( popup );
QAD_Study* loadStudy = 0;
QApplication::setOverrideCursor( Qt::waitCursor );
try {
- /* create QAD study */
+ /* create QAD study */
loadStudy = new QAD_Study( this, aStudy, aStudy->Name() );
if ( loadStudy->getResult() ) {
addStudy( loadStudy );
- /* activate */
+ /* activate */
onStudyActivated( loadStudy );
/* customisation on load ( called only once ) */
onStudyOpened( loadStudy );
- /* show */
+ /* show */
loadStudy->show();
- /* customization on show ( called only once ) */
+ /* customization on show ( called only once ) */
onStudyShown( loadStudy );
}
bool QAD_Application::saveStudy( QAD_Study* study )
{
bool MultiSave = QAD_CONFIG->getSetting("Desktop:MultiFileSave") == "true";
+ bool ASCIISave = QAD_CONFIG->getSetting("Desktop:ASCIISave") == "true";
bool success = true;
QApplication::setOverrideCursor( Qt::waitCursor );
try {
/* save StudyDS */
- myStudyMgr->Save(study->getStudyDocument(), MultiSave);
+ if (ASCIISave) myStudyMgr->SaveASCII(study->getStudyDocument(), MultiSave);
+ else myStudyMgr->Save(study->getStudyDocument(), MultiSave);
study->updateCaptions();
}
catch ( Standard_Failure ) {
bool QAD_Application::saveAsStudy( QAD_Study* study, const QString& fileName )
{
bool MultiSave = QAD_CONFIG->getSetting("Desktop:MultiFileSave") == "true";
+ bool ASCIISave = QAD_CONFIG->getSetting("Desktop:ASCIISave") == "true";
bool success = false;
#ifdef WNT
/* Qt uses UNIX-like slashes even on WIN platform */
TCollection_ExtendedString fileNameExt ( (char*) name.latin1() );
try {
/* save as StudyDS */
- myStudyMgr->SaveAs(name.latin1(), study->getStudyDocument(), MultiSave);
+ if (ASCIISave) myStudyMgr->SaveAsASCII(name.latin1(), study->getStudyDocument(), MultiSave);
+ else myStudyMgr->SaveAs(name.latin1(), study->getStudyDocument(), MultiSave);
study->setTitle( fileName );
study->updateCaptions();
-// File : QAD_Application.h
-// Created : UI team, 22.09.00
-// Descr : Study manager of QAD-based application
-
-// Modified : Mon Dec 03 13:21:50 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Application.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef QAD_Application_H
#define QAD_Application_H
#include "QAD.h"
#include "QAD_Popup.h"
#include "QAD_Study.h"
+#include "QAD_Action.h"
#include "SALOME_NamingService.hxx"
// QT Includes
#include <qlist.h>
-#include <qaction.h>
#include <qpixmap.h>
#include <qstringlist.h>
#include <qtranslator.h>
void removeStudy( QAD_Study* study );
private :
- QList<QAction> myEditActions;
- QList<QAction> myViewActions;
- QList<QAction> myHelpActions;
+ ActionMap myEditActions;
+ ActionMap myViewActions;
+ ActionMap myHelpActions;
QMap<int, QToolBar*> myToolBars;
};
-using namespace std;
-// File : QAD_Config.cxx
-// Created : Tue Sep 04 09:58:34 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Config.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
/*!
\class QAD_Config QAD_Config.h
\brief Settings file management for QAD-based application.
-// File : QAD_Config.h
-// Created : Tue Sep 04 09:54:37 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Config.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_CONFIG_H
-using namespace std;
-// File : QAD_Desktop.cxx
-// Created : UI team, 02.10.00
-// Descr : Main desktop of QAD-based application
-
-// Modified : Mon Dec 03 13:40:28 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Desktop.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
/*!
#include <qiconset.h>
#include <qfontdialog.h>
#include <qlineedit.h>
+#include <qdatetime.h>
#if QT_VERSION > 300
#include <qlistbox.h>
/* default background icon */
QPixmap backgroundicon ( QAD_Desktop::getResourceManager()->loadPixmap( "CLIENT",
tr("ICON_DESK_BACKGROUNDICON") ));
- myToolBarAction.setAutoDelete( true );
+//myToolBarAction.setAutoDelete( true );
/* default icon and title */
QPixmap icon ( QAD_Desktop::getResourceManager()->loadPixmap( "CLIENT",
/* VSR 13/01/03 : installing global event filter for the application */
qApp->installEventFilter( this );
+
+ /* init pseudo random numbers generator */
+ QTime cTime = QTime::currentTime();
+ int secs = cTime.second() + 1;
+ for ( int s = 0; s < secs; s++ ) random();
}
/*!
/* 'File' actions */
/* new */
QAD_ResourceMgr* rmgr = QAD_Desktop::getResourceManager();
- QAction* fileNewAction = new QAction ( tr("TOT_DESK_FILE_NEW"),
+ QActionP* fileNewAction = new QActionP ( tr("TOT_DESK_FILE_NEW"),
rmgr->loadPixmap( "QAD", tr("ICON_FILE_NEW") ) ,
tr("MEN_DESK_FILE_NEW"), CTRL+Key_N, this );
fileNewAction->setStatusTip ( tr("PRP_DESK_FILE_NEW") );
myStdActions.insert ( FileNewId, fileNewAction );
/* open */
- QAction* fileOpenAction = new QAction( tr("TOT_DESK_FILE_OPEN"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_OPEN") ),
+ QActionP* fileOpenAction = new QActionP( tr("TOT_DESK_FILE_OPEN"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_OPEN") ),
tr("MEN_DESK_FILE_OPEN"), CTRL+Key_O, this );
fileOpenAction->setStatusTip ( tr("PRP_DESK_FILE_OPEN") );
fileOpenAction->setEnabled ( true );
myStdActions.insert ( FileOpenId, fileOpenAction );
/* load */
- QAction* fileLoadAction = new QAction( tr("TOT_DESK_FILE_LOAD"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_LOAD") ),
+ QActionP* fileLoadAction = new QActionP( tr("TOT_DESK_FILE_LOAD"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_LOAD") ),
tr("MEN_DESK_FILE_LOAD"), CTRL+Key_L, this );
fileLoadAction->setStatusTip ( tr("PRP_DESK_FILE_LOAD") );
fileLoadAction->setEnabled ( true );
myStdActions.insert ( FileLoadId, fileLoadAction );
/* close */
- QAction* fileCloseAction = new QAction( "", rmgr->loadPixmap( "QAD", tr("ICON_FILE_CLOSE") ),
+ QActionP* fileCloseAction = new QActionP( "", rmgr->loadPixmap( "QAD", tr("ICON_FILE_CLOSE") ),
tr("MEN_DESK_FILE_CLOSE"), CTRL+Key_W, this );
fileCloseAction->setStatusTip ( tr("PRP_DESK_FILE_CLOSE") );
QAD_ASSERT ( connect( fileCloseAction, SIGNAL( activated() ), this, SLOT( onCloseStudy() )));
myFilePopup.insertSeparator();
/* save */
- QAction* fileSaveAction = new QAction( tr("TOT_DESK_FILE_SAVE"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_SAVE") ),
+ QActionP* fileSaveAction = new QActionP( tr("TOT_DESK_FILE_SAVE"), rmgr->loadPixmap( "QAD", tr("ICON_FILE_SAVE") ),
tr("MEN_DESK_FILE_SAVE"), CTRL+Key_S, this );
fileSaveAction->setStatusTip ( tr("PRP_DESK_FILE_SAVE") );
QAD_ASSERT ( connect( fileSaveAction, SIGNAL( activated() ), this, SLOT( onSaveStudy() )));
myStdActions.insert ( FileSaveId, fileSaveAction );
/* save as */
- QAction* fileSaveAsAction = new QAction( "", tr("MEN_DESK_FILE_SAVEAS"), 0, this );
+ QActionP* fileSaveAsAction = new QActionP( "", tr("MEN_DESK_FILE_SAVEAS"), 0, this );
fileSaveAsAction->setStatusTip ( tr("PRP_DESK_FILE_SAVEAS") );
QAD_ASSERT ( connect( fileSaveAsAction, SIGNAL( activated() ),
this, SLOT( onSaveAsStudy() )));
myFilePopup.insertSeparator();
// Study properties
- QAction* filePropsAction = new QAction( "", QPixmap(), tr("MEN_DESK_FILE_PROPERTIES"), 0, this );
+ QActionP* filePropsAction = new QActionP( "", QPixmap(), tr("MEN_DESK_FILE_PROPERTIES"), 0, this );
filePropsAction->setStatusTip ( tr("PRP_DESK_FILE_PROPERTIES") );
filePropsAction->setEnabled(false);
QAD_ASSERT ( connect( filePropsAction, SIGNAL( activated() ), this, SLOT( onStudyProperties() )));
myFilePos = myFilePopup.indexOf( id ) + 1;
/* exit application */
- QAction* exitAction = new QAction( "", tr("MEN_DESK_FILE_EXIT"),
+ QActionP* exitAction = new QActionP( "", tr("MEN_DESK_FILE_EXIT"),
CTRL+Key_X, this );
exitAction->setStatusTip ( tr("PRP_DESK_FILE_EXIT") );
QAD_ASSERT ( connect( exitAction, SIGNAL( activated() ),
this, SLOT(onToolBarPopupAboutToShow()) ));
/* status bar */
- QAction* viewStatusBarAction = new QAction( "",
+ QActionP* viewStatusBarAction = new QActionP( "",
tr("MEN_DESK_VIEW_STATUSBAR"),
0, this, 0, true );
viewStatusBarAction->setStatusTip ( tr("PRP_DESK_VIEW_STATUSBAR") );
// myViewPopup.insertItem( tr("MEN_DESK_SELECTION_MODE"), &mySelectionModePopup );
- QAction* SelectionPointAction = new QAction( "", tr("MEN_DESK_SELECTION_POINT"), 0, this, 0, true );
+ QActionP* SelectionPointAction = new QActionP( "", tr("MEN_DESK_SELECTION_POINT"), 0, this, 0, true );
QAD_ASSERT(connect( SelectionPointAction, SIGNAL(activated()), this, SLOT(onSelectionMode() )));
SelectionPointAction->addTo( &mySelectionModePopup );
myStdActions.insert( SelectionPointId, SelectionPointAction );
- QAction* SelectionEdgeAction = new QAction( "", tr("MEN_DESK_SELECTION_EDGE"), 0, this, 0, true );
+ QActionP* SelectionEdgeAction = new QActionP( "", tr("MEN_DESK_SELECTION_EDGE"), 0, this, 0, true );
QAD_ASSERT(connect( SelectionEdgeAction, SIGNAL(activated()), this, SLOT(onSelectionMode() )));
SelectionEdgeAction->addTo( &mySelectionModePopup );
myStdActions.insert( SelectionEdgeId, SelectionEdgeAction );
- QAction* SelectionCellAction = new QAction( "", tr("MEN_DESK_SELECTION_CELL"), 0, this, 0, true );
+ QActionP* SelectionCellAction = new QActionP( "", tr("MEN_DESK_SELECTION_CELL"), 0, this, 0, true );
QAD_ASSERT(connect( SelectionCellAction, SIGNAL(activated()), this, SLOT(onSelectionMode() )));
SelectionCellAction->addTo( &mySelectionModePopup );
myStdActions.insert( SelectionCellId, SelectionCellAction );
- QAction* SelectionActorAction = new QAction( "", tr("MEN_DESK_SELECTION_ACTOR"), 0, this, 0, true );
+ QActionP* SelectionActorAction = new QActionP( "", tr("MEN_DESK_SELECTION_ACTOR"), 0, this, 0, true );
QAD_ASSERT(connect( SelectionActorAction, SIGNAL(activated()), this, SLOT(onSelectionMode() )));
SelectionActorAction->addTo( &mySelectionModePopup );
myStdActions.insert( SelectionActorId, SelectionActorAction );
/* Viewer BackgroundColor */
myPrefPopup.insertItem( tr("MEN_DESK_PREF_VIEWER"), &myViewerPopup );
- QAction* viewerOCCAction = new QAction( "", tr("MEN_DESK_PREF_VIEWER_OCC"), 0, this );
+ QActionP* viewerOCCAction = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_OCC"), 0, this );
QAD_ASSERT(connect( viewerOCCAction, SIGNAL(activated()), this, SLOT(onViewerOCC() )));
viewerOCCAction->addTo( &myViewerPopup );
myStdActions.insert( PrefViewerOCCId, viewerOCCAction );
- QAction* viewerVTKAction = new QAction( "", tr("MEN_DESK_PREF_VIEWER_VTK"), 0, this );
+ QActionP* viewerVTKAction = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_VTK"), 0, this );
QAD_ASSERT(connect( viewerVTKAction, SIGNAL(activated()), this, SLOT(onViewerVTK() )));
viewerVTKAction->addTo( &myViewerPopup );
myStdActions.insert( PrefViewerVTKId, viewerVTKAction );
- QAction* graphSupervisorAction = new QAction( "", tr("MEN_DESK_PREF_GRAPH_SUPERVISOR"), 0, this );
+ QActionP* graphSupervisorAction = new QActionP( "", tr("MEN_DESK_PREF_GRAPH_SUPERVISOR"), 0, this );
QAD_ASSERT(connect( graphSupervisorAction, SIGNAL(activated()), this, SLOT(onGraphSupervisor() )));
graphSupervisorAction->addTo( &myViewerPopup );
myStdActions.insert( PrefGraphSupervisorId, graphSupervisorAction );
- QAction* viewerPlot2dAction = new QAction( "", tr("MEN_DESK_PREF_VIEWER_PLOT2D"), 0, this );
+ QActionP* viewerPlot2dAction = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_PLOT2D"), 0, this );
QAD_ASSERT(connect( viewerPlot2dAction, SIGNAL(activated()), this, SLOT(onPlot2d() )));
viewerPlot2dAction->addTo( &myViewerPopup );
myStdActions.insert( PrefViewerPlot2dId, viewerPlot2dAction );
aViewerValue = VIEW_VTK;
myPrefPopup.insertItem( tr("MEN_DESK_PREF_DEFAULT_VIEWER"), &myDefaultViewer );
- QActionGroup* myQAG = new QActionGroup ( this);
- QAction* viewerOCCAction1 = new QAction( "", tr("MEN_DESK_PREF_VIEWER_OCC"), 0, this );
+ QActionPGroup* myQAG = new QActionPGroup ( this);
+ QActionP* viewerOCCAction1 = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_OCC"), 0, this );
viewerOCCAction1->setToggleAction ( true);
viewerOCCAction1->setOn ( aViewerValue == VIEW_OCC );
myQAG->insert( viewerOCCAction1 );
myStdActions.insert( DefaultViewerOCCId, viewerOCCAction1 );
- QAction* viewerVTKAction1 = new QAction( "", tr("MEN_DESK_PREF_VIEWER_VTK"), 0, this );
+ QActionP* viewerVTKAction1 = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_VTK"), 0, this );
viewerVTKAction1->setToggleAction ( true);
viewerVTKAction1->setOn ( aViewerValue == VIEW_VTK );
myQAG->insert( viewerVTKAction1 );
myStdActions.insert( DefaultViewerVTKId, viewerVTKAction1 );
/* Remove Supervisor viewer from setting the background */
-// QAction* graphSupervisorAction1 = new QAction( "", tr("MEN_DESK_PREF_GRAPH_SUPERVISOR"), 0, this );
+// QActionP* graphSupervisorAction1 = new QActionP( "", tr("MEN_DESK_PREF_GRAPH_SUPERVISOR"), 0, this );
// graphSupervisorAction1->setToggleAction ( true);
// graphSupervisorAction1->setOn ( aViewerValue == VIEW_GRAPHSUPERV );
// myQAG->insert( graphSupervisorAction1 );
// myStdActions.insert( DefaultGraphSupervisorId, graphSupervisorAction1 );
- QAction* viewerPlot2dAction1 = new QAction( "", tr("MEN_DESK_PREF_VIEWER_PLOT2D"), 0, this );
+ QActionP* viewerPlot2dAction1 = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_PLOT2D"), 0, this );
viewerPlot2dAction1->setToggleAction ( true);
viewerPlot2dAction1->setOn ( aViewerValue == VIEW_PLOT2D );
myQAG->insert( viewerPlot2dAction1 );
myStdActions.insert( DefaultPlot2dId, viewerPlot2dAction1 );
myQAG->addTo( &myDefaultViewer );
- QAD_ASSERT(connect( myQAG, SIGNAL(selected(QAction * )), this, SLOT(onDefaultViewer(QAction *) )));
+ QAD_ASSERT(connect( myQAG, SIGNAL(selected(QActionP * )), this, SLOT(onDefaultViewer(QActionP *) )));
//VRV: T2.5 - add default viewer
- QAction* viewerTrihedronAction = new QAction( "", tr("MEN_DESK_PREF_VIEWER_TRIHEDRON"), 0, this );
+ QActionP* viewerTrihedronAction = new QActionP( "", tr("MEN_DESK_PREF_VIEWER_TRIHEDRON"), 0, this );
QAD_ASSERT(connect( viewerTrihedronAction, SIGNAL(activated()), this, SLOT(onViewerTrihedron() )));
viewerTrihedronAction->addTo( &myPrefPopup );
myStdActions.insert( PrefViewerTrihedronId, viewerTrihedronAction );
- QAction* consoleFontAction = new QAction( "", tr("MEN_DESK_PREF_CONSOLE_FONT"), 0, this );
+ QActionP* consoleFontAction = new QActionP( "", tr("MEN_DESK_PREF_CONSOLE_FONT"), 0, this );
QAD_ASSERT(connect( consoleFontAction, SIGNAL(activated()), this, SLOT(onConsoleFontAction() )));
consoleFontAction->addTo( &myPrefPopup );
myStdActions.insert( PrefConsoleFontId, consoleFontAction );
/* MultiFile save */
- QAction* multiFileSaveAction = new QAction( "", tr("MEN_DESK_PREF_MULTI_FILE_SAVE"), 0, this, 0, true );
+ QActionP* multiFileSaveAction = new QActionP( "", tr("MEN_DESK_PREF_MULTI_FILE_SAVE"), 0, this, 0, true );
QAD_ASSERT(connect( multiFileSaveAction, SIGNAL(activated()), this, SLOT(onMultiFileSave() )));
multiFileSaveAction->setToggleAction( true );
QString MultiSave = QAD_CONFIG->getSetting("Desktop:MultiFileSave");
multiFileSaveAction->addTo( &myPrefPopup );
myStdActions.insert( PrefMultiFileSave, multiFileSaveAction );
+ /* ASCII save */
+ QActionP* ASCIISaveAction = new QActionP( "", tr("MEN_DESK_PREF_ASCII_SAVE"), 0, this, 0, true );
+ QAD_ASSERT(connect( ASCIISaveAction, SIGNAL(activated()), this, SLOT(onASCIISave() )));
+ ASCIISaveAction->setToggleAction( true );
+ QString ASCIISave = QAD_CONFIG->getSetting("Desktop:ASCIISave");
+ ASCIISaveAction->setOn( ASCIISave.compare( aTrueQString ) == 0 );
+ ASCIISaveAction->addTo( &myPrefPopup );
+ myStdActions.insert( PrefASCIISave, ASCIISaveAction );
+
myPrefPopup.insertSeparator();
/* BrowserPopup */
myPrefPopup.insertItem( tr("MEN_DESK_PREF_OBJECTBROWSER"), &myObjBrowserPopup );
- QAction* objectBrowserEntryAction = new QAction( "", tr("MEN_DESK_PREF_OBJECTBROWSER_ENTRY"), 0, this, 0, true );
+ QActionP* objectBrowserEntryAction = new QActionP( "", tr("MEN_DESK_PREF_OBJECTBROWSER_ENTRY"), 0, this, 0, true );
QAD_ASSERT(connect( objectBrowserEntryAction, SIGNAL(activated()), this, SLOT(onObjectBrowser() )));
objectBrowserEntryAction->setToggleAction(true);
QString AddColumn = QAD_CONFIG->getSetting("ObjectBrowser:AddColumn");
objectBrowserEntryAction->addTo( &myObjBrowserPopup );
myStdActions.insert( PrefObjectBrowserEntryId, objectBrowserEntryAction );
- QAction* objectBrowserValueAction = new QAction( "", tr("MEN_DESK_PREF_OBJECTBROWSER_VALUE"), 0, this, 0, true );
+ QActionP* objectBrowserValueAction = new QActionP( "", tr("MEN_DESK_PREF_OBJECTBROWSER_VALUE"), 0, this, 0, true );
QAD_ASSERT(connect( objectBrowserValueAction, SIGNAL(activated()), this, SLOT(onObjectBrowser() )));
objectBrowserValueAction->setToggleAction(true);
QString ValueColumn = QAD_CONFIG->getSetting("ObjectBrowser:ValueColumn");
objectBrowserValueAction->addTo( &myObjBrowserPopup );
myStdActions.insert( PrefObjectBrowserValueId, objectBrowserValueAction );
- QAction* objectBrowserIAPPAction = new QAction( "", tr("MEN_DESK_PREF_OBJECTBROWSER_IAPP"), 0, this, 0, true );
+ QActionP* objectBrowserIAPPAction = new QActionP( "", tr("MEN_DESK_PREF_OBJECTBROWSER_IAPP"), 0, this, 0, true );
QAD_ASSERT(connect( objectBrowserIAPPAction, SIGNAL(activated()), this, SLOT(onObjectBrowser() )));
objectBrowserIAPPAction->setToggleAction(true);
QString showIAPP = QAD_CONFIG->getSetting("ObjectBrowser:IAPP");
myStdActions.insert( PrefObjectBrowserIAPPId, objectBrowserIAPPAction );
/* Chronological sorting of shapes on the entry creation */
- QAction* objectBrowserCHRONO_SORTAction = new QAction( "", tr("MEN_DESK_PREF_OBJECTBROWSER_CHRONO_SORT"), 0, this, 0, true );
+ QActionP* objectBrowserCHRONO_SORTAction = new QActionP( "", tr("MEN_DESK_PREF_OBJECTBROWSER_CHRONO_SORT"), 0, this, 0, true );
QAD_ASSERT(connect( objectBrowserCHRONO_SORTAction, SIGNAL(activated()), this, SLOT(onObjectBrowser() )));
objectBrowserCHRONO_SORTAction->setToggleAction(true);
QString showSORT = QAD_CONFIG->getSetting("ObjectBrowser:CHRONO_SORT");
myPrefPopup.insertSeparator();
- QAction* dirAction = new QAction( "", tr("MEN_DESK_PREF_DIRICTORIES"), 0, this );
+ QActionP* dirAction = new QActionP( "", tr("MEN_DESK_PREF_DIRICTORIES"), ALT+Key_D, this );
QAD_ASSERT(connect( dirAction, SIGNAL(activated()), this, SLOT(onDirList() )));
dirAction->addTo( &myPrefPopup );
myStdActions.insert( PrefDirsId, dirAction );
myPrefPopup.insertSeparator();
- QAction* saveAction = new QAction( "", tr("MEN_DESK_PREF_SAVE"), 0, this );
+ QActionP* saveAction = new QActionP( "", tr("MEN_DESK_PREF_SAVE"), 0, this );
QAD_ASSERT(connect( saveAction, SIGNAL(activated()), this, SLOT(onSavePref() )));
saveAction->addTo( &myPrefPopup );
myStdActions.insert( PrefSaveId, saveAction );
//NRI : SAL2214
myWindowPopup.insertItem( tr("MEN_DESK_WINDOW_NEW3D"), &myNewViewPopup, WindowNew3dId );
- QAction* viewOCCAction = new QAction( "", tr("MEN_DESK_VIEW_OCC"), 0, this );
+ QActionP* viewOCCAction = new QActionP( "", tr("MEN_DESK_VIEW_OCC"), ALT+Key_O, this );
QAD_ASSERT(connect( viewOCCAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewOCCAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewOCCId, viewOCCAction );
- QAction* viewVTKAction = new QAction( "", tr("MEN_DESK_VIEW_VTK"), 0, this );
+ QActionP* viewVTKAction = new QActionP( "", tr("MEN_DESK_VIEW_VTK"), ALT+Key_K, this );
QAD_ASSERT(connect( viewVTKAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewVTKAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewVTKId, viewVTKAction );
- QAction* viewPlot2dAction = new QAction( "", tr("MEN_DESK_VIEW_PLOT2D"), 0, this );
+ QActionP* viewPlot2dAction = new QActionP( "", tr("MEN_DESK_VIEW_PLOT2D"), ALT+Key_P, this );
QAD_ASSERT(connect( viewPlot2dAction, SIGNAL(activated()), this, SLOT(onNewWindow3d() )));
viewPlot2dAction->addTo( &myNewViewPopup );
myStdActions.insert( ViewPlot2dId, viewPlot2dAction );
- // QAction* windowNew3dAction = new QAction( "",/* rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_NEW3D") ), */
+ // QActionP* windowNew3dAction = new QActionP( "",/* rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_NEW3D") ), */
/*tr("MEN_DESK_WINDOW_NEW3D"), 0, this );
windowNew3dAction->addTo( &myWindowPopup );
QAD_ASSERT( connect( windowNew3dAction, SIGNAL(activated()), this ,
//NRI : SAL2214
/* cascaded */
- QAction* windowCascadeAction = new QAction( "", rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_CASCADE") ),
+ QActionP* windowCascadeAction = new QActionP( "", rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_CASCADE") ),
tr("MEN_DESK_WINDOW_CASCADE"), 0, this );
windowCascadeAction->setStatusTip ( tr("PRP_DESK_WINDOW_CASCADE") );
QAD_ASSERT( connect( windowCascadeAction, SIGNAL(activated()), this,
myStdActions.insert( WindowCascadeId, windowCascadeAction );
/* tiled */
- QAction* windowTileAction = new QAction( "", rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_TILE") ),
+ QActionP* windowTileAction = new QActionP( "", rmgr->loadPixmap( "QAD", tr("ICON_DESK_WINDOW_TILE") ),
tr("MEN_DESK_WINDOW_TILE"), 0, this );
windowTileAction->setStatusTip ( tr("PRP_DESK_WINDOW_TILE") );
QAD_ASSERT( connect( windowTileAction, SIGNAL(activated()), myWorkspace, SLOT( tile() )));
/* 'Help' actions
*/
/* contents */
- QAction* helpContentsAction = new QAction( "", tr("MEN_DESK_HELP_CONTENTS"), 0, this );
+ QActionP* helpContentsAction = new QActionP( "", tr("MEN_DESK_HELP_CONTENTS"), Key_F1, this );
helpContentsAction->setStatusTip ( tr("PRP_DESK_HELP_CONTENTS") );
QAD_ASSERT(connect( helpContentsAction, SIGNAL(activated()),
this, SLOT( onHelpContents() )));
myStdActions.insert( HelpContentsId , helpContentsAction );
/* search */
-// QAction* helpSearchAction = new QAction( "", tr("MEN_DESK_HELP_SEARCH"), 0, this );
+// QActionP* helpSearchAction = new QActionP( "", tr("MEN_DESK_HELP_SEARCH"), 0, this );
// helpSearchAction->setStatusTip ( tr("PRP_DESK_HELP_SEARCH") );
// QAD_ASSERT( connect( helpSearchAction, SIGNAL(activated()), this, SLOT( onHelpSearch() )));
// helpSearchAction->addTo( &myHelpPopup );
// myStdActions.insert( HelpSearchId, helpSearchAction );
/* What's This */
-// QAction* helpWhatsThisAction = new QAction( "", tr("MEN_DESK_HELP_WHATSTHIS"), SHIFT+Key_F1, this );
+// QActionP* helpWhatsThisAction = new QActionP( "", tr("MEN_DESK_HELP_WHATSTHIS"), SHIFT+Key_F1, this );
// helpWhatsThisAction->setStatusTip ( tr("PRP_DESK_HELP_WHATSTHIS" ));
// QAD_ASSERT( connect( helpWhatsThisAction, SIGNAL(activated()), this, SLOT( whatsThis() )));
// helpWhatsThisAction->addTo( &myHelpPopup );
myHelpPos = myHelpPopup.indexOf( id );
/* about */
- QAction* helpAboutAction = new QAction( "", tr("MEN_DESK_HELP_ABOUT"), 0, this );
+ QActionP* helpAboutAction = new QActionP( "", tr("MEN_DESK_HELP_ABOUT"), 0, this );
helpAboutAction->setStatusTip ( tr("PRP_DESK_HELP_ABOUT") );
QAD_ASSERT( connect( helpAboutAction, SIGNAL(activated()), this, SLOT( onHelpAbout() )));
helpAboutAction->addTo( &myHelpPopup );
void QAD_Desktop::putInfo ( const QString& msg )
{
if ( myStatusBar )
- myStatusBar->message ( msg );
+ //NRI : bug 1209. message is now displayed during 3000 ms
+ myStatusBar->message ( msg, 3000 );
}
/*!
putInfo ( tr("INF_READY") );
}
+
+
+QAD_Study* QAD_Desktop::loadStudy(QString theStudyName) {
+ QString studyname("");
+
+ CORBA::Object_var obj = myNameService->Resolve("/myStudyManager");
+ SALOMEDS::StudyManager_var myStudyMgr = SALOMEDS::StudyManager::_narrow(obj);
+ ASSERT(! CORBA::is_nil(myStudyMgr));
+
+ SALOMEDS::ListOfOpenStudies_var List = myStudyMgr->GetOpenStudies();
+ for (unsigned int ind = 0; ind < List->length();ind++) {
+ if (theStudyName == QString(List[ind])) {
+ studyname = theStudyName;
+ break;
+ }
+ }
+ if (studyname == "") {
+ return NULL;
+ }
+ bool appFound = false;
+ for ( QAD_Application* app = myApps.first(); app; app = myApps.next() ) {
+ appFound = true;
+ QAD_Study* openStudy = app->loadStudy( studyname );
+ if (openStudy) {
+ // if (myActiveApp == 0)
+ //myActiveApp = app;
+ return openStudy;
+ }
+ break;
+ }
+ return NULL;
+}
+
+
/*!
Opens the existing study.
Displays select file dialog and calls corresponding function of
QWidgetListIt it(wList);
for(;it.current(); ++it)
- it.current()->resize(0.8*w, 0.8*h);
+ it.current()->resize((int)(0.8*w), (int)(0.8*h));
}
/*!
*/
void QAD_Desktop::onSelectionMode()
{
- const QAction* obj = (QAction*) sender();
+ const QActionP* obj = (QActionP*) sender();
int SelectionMode = 4;
}
//VRV: T2.5 - add default viewer
*/
- const QAction* obj = (QAction*) sender();
+ const QActionP* obj = (QActionP*) sender();
if ( obj == myStdActions.at(ViewOCCId) ) {
myActiveApp->getActiveStudy()->newWindow3d(QString(""),(ViewType)(0));
} else if ( obj == myStdActions.at(ViewVTKId) ) {
// myPrefPopup.setEnabled ( myActiveStudy != NULL );
mySelectionModePopup.setEnabled ( myActiveStudy != NULL );
+
+ // VSR ==> SAL2982
+ myStdActions.at( ViewOCCId )->setEnabled( myActiveStudy != NULL );
+ myStdActions.at( ViewVTKId )->setEnabled( myActiveStudy != NULL );
+ myStdActions.at( ViewPlot2dId )->setEnabled( myActiveStudy != NULL );
+ // VSR <== SAL2982
}
/*!
for ( QAD_Study* study = studies.first(); study; study = studies.next() ) {
int nbSf = study->getStudyFramesCount();
for ( int i = 0; i < nbSf; i++ ) {
- study->getStudyFrame(i)->getRightFrame()->getViewFrame()->SetTrihedronSize(dim);
+ study->getStudyFrame(i)->getRightFrame()->getViewFrame()->SetTrihedronSize((int)dim);
}
}
}
}
//VRV: T2.5 - add default viewer
-void QAD_Desktop::onDefaultViewer(QAction * theAction)
+void QAD_Desktop::onDefaultViewer(QActionP * theAction)
{
int type = VIEW_TYPE_MAX;
QAD_CONFIG->addSetting( "Desktop:MultiFileSave", "false");
}
+/* Preferences/ASCII Save */
+void QAD_Desktop::onASCIISave()
+{
+ if ( myStdActions.at( PrefASCIISave )->isOn() )
+ QAD_CONFIG->addSetting( "Desktop:ASCIISave", "true");
+ else
+ QAD_CONFIG->addSetting( "Desktop:ASCIISave", "false");
+}
+
/*********************************************************************
** Class: AppSelectionDlg
** Descr: Dialog for the selection of the application when several
-// File : QAD_Desktop.h
-// Created : UI team, 02.10.00
-// Descr : Main desktop of QAD-based application
-
-// Modified : Mon Dec 03 13:40:28 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Desktop.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_DESKTOP_H
#include "QAD_OperatorMenus.h"
#include "QAD_Menus.h"
#include "QAD_HelpWindow.h"
+#include "QAD_Action.h"
#include "SALOME_NamingService.hxx"
#include "SALOME_LifeCycleCORBA.hxx"
// QT Includes
#include <qlist.h>
-#include <qaction.h>
#include <qmap.h>
#include <qmenubar.h>
#include <qtoolbar.h>
// Open CASCADE Includes
#include <OSD_SharedLibrary.hxx>
-class ActionMap {
- public:
- ActionMap() {}
- ~ActionMap()
- {
- QMapIterator<unsigned int, QAction*> it;
- for ( it = myMap.begin(); it != myMap.end(); it++ ) delete (QAction*)it.data();
- myMap.clear();
- }
- bool isEmpty() { return myMap.isEmpty(); }
- void insert( const unsigned int id, QAction* action ) { myMap[id] = action; }
- QAction* at( const unsigned int id ) { return myMap[id]; }
- void clear() { myMap.clear(); }
- QAction*& operator[] (const unsigned int id) { return myMap[id]; }
-
- private:
- QMap<unsigned int, QAction*> myMap;
-
-};
-
-class ToggleAction : public QAction {
- Q_OBJECT
- public:
- ToggleAction( const QString& text, const QString& menuText,
- QKeySequence accel, QObject* parent,
- const char* name = 0, bool toggle = FALSE)
- : QAction( text, menuText, accel, parent, name, toggle )
- {
- connect( this, SIGNAL(toggled(bool)), this, SLOT(onToggled(bool)));
- }
- private slots:
- void onToggled( bool on)
- {
- on ? emit( toggledOn() ) : emit( toggledOff() );
- }
-
- signals:
- void toggledOn();
- void toggledOff();
-};
-
class QAD_XmlHandler;
class QAD_EXPORT QAD_Desktop : public QMainWindow
//VRV: T2.5 - add default viewer
PrefViewerTrihedronId, PrefConsoleFontId, PrefObjectBrowserEntryId,
PrefObjectBrowserIAPPId, PrefObjectBrowserValueId, PrefObjectBrowserCHRONO_SORTId,
- PrefDirsId, PrefMultiFileSave, PrefSaveId,
+ PrefDirsId, PrefMultiFileSave, PrefASCIISave, PrefSaveId,
//NRI : SAL2214
WindowNew3dId, ViewOCCId, ViewVTKId, ViewPlot2dId,
//NRI : SAL2214
bool onMousePress(QMouseEvent*);
void onKeyPress(QKeyEvent*);
+ virtual QAD_Study* loadStudy(QString theStudyName);
+
protected:
bool closeAllStudies( QAD_Application* );
void closeEvent( QCloseEvent* );
void onPlot2d();
void onConsoleFontAction();
//VRV: T2.5 - add default viewer
- void onDefaultViewer( QAction * theAction);
+ void onDefaultViewer( QActionP * theAction);
//VRV: T2.5 - add default viewer
void onViewerTrihedron();
void onObjectBrowser();
void onMultiFileSave();
+ void onASCIISave();
void onActivateApp(QAD_Application* app);
void onDeactivateApp(QAD_Application* app);
-using namespace std;
-// File : QAD_DirListDlg.cxx
-// Created : 10/10/2002
-// Descr : Dialog box for editing of directory list
-
-// Author : Vadim SANDLER
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_DirListDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_DirListDlg.h"
#include "QAD_Desktop.h"
#include "QAD_FileDlg.h"
-// File : QAD_DirListDlg.h
-// Created : 10/10/2002
-// Descr : Dialog box for editing of directory list
-
-// Author : Vadim SANDLER
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_DirListDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#if !defined(QAD_DirListDlg_h)
-using namespace std;
-// File : QAD_FileDlg.cxx
-// Created : UI team, 17.09.02
-// Descr : Open/Save File dialog
-
-// Modified : Tue Sep 17 11:15:23 2002
-// Author :
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_FileDlg.cxx
+// Author :
+// Module : SALOME
// $Header$
+using namespace std;
#include <qapplication.h>
#include <qdir.h>
#include <qlabel.h>
-// File : QAD_FileDlg.h
-// Created : UI team, 17.09.02
-// Descr : Open/Save File dialog
-
-// Modified : Tue Sep 17 11:02:12 2002
-// Author :
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_FileDlg.h
+// Author :
+// Module : SALOME
// $Header$
#ifndef QAD_FILEDIALOG_H
-using namespace std;
-// File : QAD_FileValidator.cxx
-// Created : UI team, 17.09.02
-// Descr : File validator for QFileDlg class
-
-// Modified : Tue Sep 17 10:47:01 2002
-// Author :
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_FileValidator.cxx
+// Author :
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_FileValidator.h"
#include "QAD_Application.h"
#include "QAD_Desktop.h"
-// File : QAD_FileValidator.h
-// Created : UI team, 17.09.02
-// Descr : File validator for QFileDlg class
-
-// Modified : Tue Sep 17 10:40:50 2002
-// Author :
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_FileValidator.h
+// Author :
+// Module : SALOME
// $Header$
#ifndef QAD_FILEVALIDATOR_H
-using namespace std;
-// File : QAD_Help.cxx
-// Created : UI team, 03.11.00
-// Descrip : Shows help in QAD-based applications
-
-// Modified : Mon Dec 03 13:40:28 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Help.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_Help.h"
/*!
-// File : QAD_Help.cxx
-// Created : UI team, 03.11.00
-// Descrip : Shows help in QAD-based applications
-
-// Modified : Mon Dec 03 13:40:28 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Help.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef QAD_HELP_H
#define QAD_HELP_H
-using namespace std;
-// File : QAD_HelpWindow.cxx
-// Created : Thu Jun 14 16:12:49 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_HelpWindow.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_HelpWindow QAD_HelpWindow.h
\brief Html browser for help.
-// File : QAD_HelpWindow.h
-// Created : Thu Jun 14 16:11:33 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_HelpWindow.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_HELPWINDOW_H
-using namespace std;
-// File : QAD_LeftFrame.cxx
-// Created : Thu Jun 14 14:53:30 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_LeftFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_LeftFrame.h"
#include "QAD_ObjectBrowser.h"
#include <qlayout.h>
-// File : QAD_LeftFrame.h
-// Created : Thu Jun 14 14:51:17 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_LeftFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_LeftFrame_H
-using namespace std;
-// File : QAD_ListMenuIdAction.cxx
-// Created : Thu Jun 14 13:54:44 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ListMenuIdAction.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_ListMenuIdAction.h"
QAD_ListMenuIdAction::QAD_ListMenuIdAction(QPopupMenu* theMenu,
int id,
- QAction* theAction)
+ QActionP* theAction)
{
myMenu = theMenu;
myId = id;
-// File : QAD_ListMenuIdAction.h
-// Created : Thu Jun 14 13:55:29 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ListMenuIdAction.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_LISTMENUIDACTION_H
#define QAD_LISTMENUIDACTION_H
#include <qpopupmenu.h>
-#include <qaction.h>
+#include "qactionP.h"
class QAD_ListMenuIdAction
{
public:
- QAD_ListMenuIdAction(QPopupMenu*,int,QAction*);
+ QAD_ListMenuIdAction(QPopupMenu*,int,QActionP*);
virtual ~QAD_ListMenuIdAction();
int getId() {return myId;}
QPopupMenu* getMenu() {return myMenu;}
- QAction* getAction() {return myAction;}
+ QActionP* getAction() {return myAction;}
private:
QPopupMenu* myMenu;
int myId;
- QAction* myAction;
+ QActionP* myAction;
};
#endif
-using namespace std;
-// File : QAD_ListPopupMenu.cxx
-// Created : Thu Jun 14 13:53:41 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ListPopupMenu.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_ListPopupMenu.h"
/*!
-// File : QAD_ListPopupMenu.h
-// Created : Thu Jun 14 13:52:42 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ListPopupMenu.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_LISTPOPUPMENU_H
-using namespace std;
-// File : QAD_ListView.cxx
-// Created : 24/10/2002
-// Descr : List view for editing of properties
-
-// Author : Vadim SANDLER
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_ListView.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_ListView.h"
#include <qheader.h>
-// File : QAD_ListView.h
-// Created : 24/10/2002
-// Descr : List view for editing of properties
-
-// Author : Vadim SANDLER
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_ListView.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#if !defined(_QAD_ListView_HeaderFile)
-using namespace std;
-// File : QAD_Menus.cxx
-// Created : Thu Jun 14 13:56:16 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Menus.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_Menus.h"
/*!
-// File : QAD_Menus.h
-// Created : Thu Jun 14 13:57:00 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Menus.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_MENUS_H
-using namespace std;
-// File : QAD_Message.cxx
-// Created : Thu Jun 14 15:55:14 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Message.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_Message.h"
#include "QAD_Application.h"
#include "QAD_Config.h"
-// File : QAD_Message.h
-// Created : Thu Jun 14 15:54:52 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Message.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_Message_H
-using namespace std;
-// File : QAD_MessageBox.cxx
-// Created : 02.10.00
-// Author : UI team
-// Descr : Message dialog box for QAD-based application
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_MessageBox.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_MessageBox QAD_MessageBox.h
\brief Message dialog box for QAD-based application.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_MessageBox.h
+// Module : SALOME
+
/********************************************************************
** Class: QAD_MessageBox
** Descr: Message dialog box for QAD-based application
-using namespace std;
-// File : QAD_NameBrowser.cxx
-// Created : Mon Nov 26 10:15:24 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_NameBrowser.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_NameBrowser.h"
#include "QAD_Study.h"
-// File : QAD_NameBrowser.h
-// Created : Mon Nov 26 10:15:34 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_NameBrowser.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_NAMEBROWSER_H
-using namespace std;
-// File : QAD_ObjectBrowser.cxx
-// Created : Thu Jun 14 15:42:10 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ObjectBrowser.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_ObjectBrowserItem.h"
#include "QAD_ObjectBrowser.h"
#include "QAD_Application.h"
// TextColor
if ( CSO->FindAttribute(anAttr, "AttributeTextColor") ) {
aTextColor = SALOMEDS::AttributeTextColor::_narrow(anAttr);
- QColor aColor(aTextColor->TextColor().R, aTextColor->TextColor().G, aTextColor->TextColor().B) ;
+ QColor aColor((int)(aTextColor->TextColor().R), (int)(aTextColor->TextColor().G), (int)(aTextColor->TextColor().B)) ;
Item->setTextColor(aColor);
}
// TextHighlightColor
if ( CSO->FindAttribute(anAttr, "AttributeTextHighlightColor") ) {
aTextHighlightColor = SALOMEDS::AttributeTextHighlightColor::_narrow(anAttr);
- QColor aColor(aTextHighlightColor->TextHighlightColor().R,
- aTextHighlightColor->TextHighlightColor().G,
- aTextHighlightColor->TextHighlightColor().B) ;
+ QColor aColor((int)(aTextHighlightColor->TextHighlightColor().R),
+ (int)(aTextHighlightColor->TextHighlightColor().G),
+ (int)(aTextHighlightColor->TextHighlightColor().B)) ;
Item->setTextHighlightColor(aColor);
}
// Pixmap
// TextColor
if ( SC->FindAttribute(anAttr, "AttributeTextColor") ) {
aTextColor = SALOMEDS::AttributeTextColor::_narrow(anAttr);
- QColor aColor(aTextColor->TextColor().R, aTextColor->TextColor().G, aTextColor->TextColor().B) ;
+ QColor aColor((int)(aTextColor->TextColor().R), (int)(aTextColor->TextColor().G), (int)(aTextColor->TextColor().B)) ;
Item->setTextColor(aColor);
}
// TextHighlightColor
if ( SC->FindAttribute(anAttr, "AttributeTextHighlightColor") ) {
aTextHighlightColor = SALOMEDS::AttributeTextHighlightColor::_narrow(anAttr);
- QColor aColor(aTextHighlightColor->TextHighlightColor().R,
- aTextHighlightColor->TextHighlightColor().G,
- aTextHighlightColor->TextHighlightColor().B) ;
+ QColor aColor((int)(aTextHighlightColor->TextHighlightColor().R),
+ (int)(aTextHighlightColor->TextHighlightColor().G),
+ (int)(aTextHighlightColor->TextHighlightColor().B)) ;
Item->setTextHighlightColor(aColor);
}
// TextColor
if ( UCObject->FindAttribute(anAttr, "AttributeTextColor" ) ) {
aTextColor = SALOMEDS::AttributeTextColor::_narrow( anAttr );
- QColor aColor( aTextColor->TextColor().R,
- aTextColor->TextColor().G,
- aTextColor->TextColor().B );
+ QColor aColor( (int)(aTextColor->TextColor().R),
+ (int)(aTextColor->TextColor().G),
+ (int)(aTextColor->TextColor().B) );
UCSubItem->setTextColor( aColor );
}
// TextHighlightColor
if ( UCObject->FindAttribute( anAttr, "AttributeTextHighlightColor" ) ) {
aTextHighlightColor = SALOMEDS::AttributeTextHighlightColor::_narrow( anAttr );
- QColor aColor( aTextHighlightColor->TextHighlightColor().R,
- aTextHighlightColor->TextHighlightColor().G,
- aTextHighlightColor->TextHighlightColor().B );
+ QColor aColor( (int)(aTextHighlightColor->TextHighlightColor().R),
+ (int)(aTextHighlightColor->TextHighlightColor().G),
+ (int)(aTextHighlightColor->TextHighlightColor().B) );
UCSubItem->setTextHighlightColor( aColor );
}
// Pixmap
-// File : QAD_ObjectBrowser.h
-// Created : Thu Jun 14 15:40:24 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ObjectBrowser.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_OBJECTBROWSER_H
-using namespace std;
-// File : QAD_ObjectBrowserItem.cxx
-// Created : Thu Jun 14 17:07:42 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ObjectBrowserItem.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_ObjectBrowserItem.h"
#include <qcolor.h>
}
}
- if (myTextColor.isValid())
- aColorGroup.setColor(QColorGroup::Text, myTextColor);
+ if (myTextColor.isValid()) {
+ aColorGroup.setColor(QColorGroup::Text, myTextColor);
+ aColorGroup.setColor(QColorGroup::HighlightedText, myTextColor);
+ }
if (myTextHighlightColor.isValid())
aColorGroup.setColor(QColorGroup::Highlight, myTextHighlightColor);
if (myCurrent) { // UseCase's current entry
-// File : QAD_ObjectBrowserItem.h
-// Created : Thu Jun 14 17:06:54 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ObjectBrowserItem.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_OBJECTBROWSERITEM_H
-using namespace std;
-// File : QAD_Operation.cxx
-// Created : UI team, 22.09.00
-// Descrip : Base class for operations in QAD-based application
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Operation.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_Operation QAD_Operation.h
\brief Base class for OCAF operations in QAD-based application.
-// File : QAD_Operation.h
-// Created : UI team, 22.09.00
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Operation.h
+// Author : UI team
+// Module : SALOME
// $Header$
-
#ifndef QAD_Operation_H
#define QAD_Operation_H
-using namespace std;
-// File : QAD_OperatorMenus.cxx
-// Created : Thu Jun 14 14:37:17 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_OperatorMenus.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_OperatorMenus.h"
#include "QAD_Desktop.h"
-// File : QAD_OperatorMenus.h
-// Created : Thu Jun 14 14:38:48 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_OperatorMenus.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_OPERATOR_MENUS_H
-using namespace std;
-// File : QAD_ParserSettings.cxx
-// Created : Sat Sep 08 22:00:08 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ParserSettings.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_ParserSettings.h"
#include <stdio.h>
-// File : QAD_ParserSettings.h
-// Created : Sat Sep 08 21:58:39 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ParserSettings.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_PARSERSETTINGS_H
-using namespace std;
-// File : QAD_Popup.cxx
-// Created : 22.09.00
-// Descr : Popup menu management
-
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Popup.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD.h"
#include "QAD_Popup.h"
#include "utilities.h"
-// File : QAD_Popup.h
-// Created : 22.09.00
-// Descr : Popup menu management
-
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Popup.h
+// Author : UI team
+// Module : SALOME
// $Header$
#ifndef QAD_POPUP_H
-using namespace std;
-// File : QAD_PyEditor.cxx
-// Created : Thu Jun 14 16:04:59 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_PyEditor.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_PyEditor.h"
#include "QAD_PyInterp.h"
#include "QAD_Application.h"
-// File : QAD_PyEditor.h
-// Created : Thu Jun 14 16:05:46 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_PyEditor.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_PyEditor_H
-using namespace std;
-using namespace std;
-//=============================================================================
-// File : QAD_PyInterp.cxx
-// Created : Thu Jun 14 14:03:58 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_PyInterp.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-//=============================================================================
-
-// TODO:
-// control & limit history length
+using namespace std;
+using namespace std;
#include "QAD_PyInterp.h"
#include "utilities.h"
-//=============================================================================
-// File : QAD_PyInterp.h
-// Created : Thu Jun 14 14:04:27 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_PyInterp.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-//=============================================================================
#ifndef _QAD_PYINTERP_H_
#define _QAD_PYINTERP_H_
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_PyInterp_mono.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+
using namespace std;
using namespace std;
-//=============================================================================
-// File : QAD_PyInterp_mono.cxx
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
-
#include "QAD_PyInterp_mono.h"
#include "utilities.h"
-//=============================================================================
-// File : QAD_PyInterp_mono.h
-// Created : ven fév 7 10:01:36 CET 2003
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2003
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_PyInterp_mono.h
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _QAD_PYINTERP_MONO_H_
#define _QAD_PYINTERP_MONO_H_
-// File : QAD_Resource.h
-// Created : Fri Aug 23 12:01:23 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Resource.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_RESOURCE_H
-using namespace std;
-// File : QAD_ResourceMgr.cxx
-// Created : UI team, 22.10.00
-// Descr : ResourceMgr QAD-based application
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ResourceMgr.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_ResourceMgr QAD_ResourceMgr.h
\brief ResourceMgr QAD-based application.
-// File : QAD_ResourceMgr.cxx
-// Created : UI team, 22.10.00
-// Descr : ResourceMgr QAD-based application
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ResourceMgr.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
-
#ifndef QAD_RESOURCEMGR_H
#define QAD_RESOURCEMGR_H
-using namespace std;
-// File : QAD_RightFrame.cxx
-// Created : Thu Jun 14 14:51:52 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_RightFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_RightFrame.h"
#include "QAD_Application.h"
#include "QAD_Desktop.h"
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libOCCViewer.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libOCCViewer.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libVTKViewer.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libVTKViewer.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libSUPERVGraph.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libSUPERVGraph.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libPlot2d.dll" ;
#else
dir = QAD_Tools::addSlash(dir) ;
dir = dir + "lib" ;
dir = QAD_Tools::addSlash(dir) ;
- dir = dir + "salome" ;
- dir = QAD_Tools::addSlash(dir) ;
#ifdef WNT
dir = dir + "libPlot2d.dll" ;
#else
myMessage = new QAD_Message( vsplitter ,"Message");
myMessage->setMinimumSize( 1, 1 );
- sizes.append( 0.48 * DesktopHeight );
- sizes.append( 0.16 * DesktopHeight );
+ sizes.append( (int)(0.48 * DesktopHeight) );
+ sizes.append( (int)(0.16 * DesktopHeight) );
setSizes( sizes );
sizes.clear();
- sizes.append( 0.25 * DesktopWidth );
- sizes.append( 0.25 * DesktopWidth );
+ sizes.append( (int)(0.25 * DesktopWidth) );
+ sizes.append( (int)(0.25 * DesktopWidth) );
vsplitter->setSizes( sizes );
}
-// File : QAD_RightFrame.h
-// Created : Thu Jun 14 14:52:28 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_RightFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_RightFrame_H
-using namespace std;
-// File : QAD_Settings.cxx
-// Created : Tue Sep 04 09:28:02 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Settings.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD_Settings.h"
#include <stdio.h>
-// File : QAD_Settings.h
-// Created : Tue Sep 04 09:30:33 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Settings.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_SETTINGS_H
-using namespace std;
-// File : QAD_SpinBoxDbl.cxx
-// Created : UI team, 21.11.02
-// Descr : Spin box for double values
-
-// Modified : Fri Nov 22 09:30:11 2002
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_SpinBoxDbl.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_SpinBoxDbl.h"
#include <qpushbutton.h>
#include <qpainter.h>
-// File : QAD_SpinBoxDbl.h
-// Created : UI team, 21.11.02
-// Descr : Spin box for double values
-
-// Modified : Fri Nov 22 09:30:11 2002
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_SpinBoxDbl.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef QAD_SPINBOXDBL_H
double lineStep, double pageStep,
double value,
int precision = 6,
- double dblPrecision = 10e-6,
+ double dblPrecision = 1e-6,
char cFlag = 'g');
virtual ~QDblRangeControl();
double value() const;
double maxValue,
double step,
int precision = 6,
- double dblPrecision = 10e-6,
+ double dblPrecision = 1e-6,
char cFlag = 'g',
const char* name = 0 );
~QAD_SpinBoxDbl();
-using namespace std;
-// File : QAD_Splitter.cxx
-// Created : Thu Jun 14 16:36:01 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Splitter.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "QAD_Splitter.h"
/*!
-// File : QAD_Splitter.h
-// Created : Thu Jun 14 16:35:23 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Splitter.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_SPLITTER_H
-using namespace std;
-// File : QAD_Study.cxx
-// Created : UI team, 05.09.00
-// Descr : Study for QAD-based application
-
-// Modified : Mon Dec 03 14:20:05 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Study.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_Study QAD_Study.h
\brief Study for QAD-based application.
QAD_Study::~QAD_Study ()
{
close();
+ //SRN: added - clear selection in case the study will be loaded again so the title will coincide
+ SALOME_Selection::RemoveSelection( QString(myTitle + "_" + mySelection) );
}
/*!
}
void QAD_Study::showFrame(QAD_StudyFrame* theFrame){
- theFrame->resize(0.64*QAD_Application::getDesktop()->getMainFrame()->width(),
- 0.64*QAD_Application::getDesktop()->getMainFrame()->height());
+ theFrame->resize( (int)(0.64*QAD_Application::getDesktop()->getMainFrame()->width()),
+ (int)(0.64*QAD_Application::getDesktop()->getMainFrame()->height()));
theFrame->show();
}
-// File : QAD_Study.cxx
-// Created : UI team, 05.09.00
-// Descrip : Study for QAD-based application
-
-// Modified : Mon Dec 03 15:37:21 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2001
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Study.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_STUDY_H
-using namespace std;
-// File : QAD_StudyFrame.cxx
-// Created : Sun Jul 22 15:31:59 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_StudyFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class QAD_StudyFrame QAD_StudyFrame.h
\brief Frame window which contains QAD_LeftFrame and QAD_RightFrame.
myRightFrm = new QAD_RightFrame( s1, title, _interp, myTypeView);
QValueList<int> sizes;
- sizes.append( 0.30*QAD_Application::getDesktop()->getMainFrame()->width() );
- sizes.append( 0.50*QAD_Application::getDesktop()->getMainFrame()->width() );
+ sizes.append( (int)(0.30*QAD_Application::getDesktop()->getMainFrame()->width()) );
+ sizes.append( (int)(0.50*QAD_Application::getDesktop()->getMainFrame()->width()) );
s1->setSizes( sizes );
QAD_ASSERT_DEBUG_ONLY ( parent->inherits("QWorkspaceP") );
-// File : QAD_StudyFrame.h
-// Created : Wed Mar 20 11:10:03 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_StudyFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef QAD_StudyFrame_H
-using namespace std;
-// File : QAD_Tools.cxx
-// Created : UI team, 22.09.00
-// Descr : Helpful functions for QAD
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Tools.cxx
+// Author : UI team
+// Module : SALOME
// $Header$
-
+using namespace std;
/*!
\class QAD_Tools QAD_Tools.h
\brief Helpful functions for QAD.
-// File : QAD_Tools.h
-// Created : 22.09.00
-// Descr : Helpful functions for QAD
-
-// Author : UI team
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_Tools.h
+// Author : UI team
+// Module : SALOME
// $Header$
#ifndef QAD_TOOLS_H
-using namespace std;
-// File : QAD_ViewFrame.cxx
-// Created : UI team, 05.09.00
-// Descrip : Frame window for viewport in QAD-based application
-
-// Modified : Mon Dec 03 15:41:43 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ViewFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "QAD.h"
#include "QAD_ViewFrame.h"
#include "QAD_Application.h"
return 0;
}
+//san:T3.13 - it's up to VTKViewer_ViewFrame to implement (or not implement) getRenderer() method. Be careful!
+/*
vtkRenderer* QAD_ViewFrame::getRenderer()
{
MESSAGE ( "Only redefined VTKViewer")
return NULL;
}
+*/
/*
Dumps 3d-Viewer contents into image file
-// File : QAD_ViewFrame.cxx
-// Created : UI team, 05.09.00
-// Descrip : Frame window for viewport in QAD-based application
-
-// Modified : Mon Dec 03 15:41:43 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_ViewFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef QAD_ViewFrame_H
#define QAD_ViewFrame_H
// QT Include
#include <qmainwindow.h>
-class vtkRenderer;
+//class vtkRenderer;
class QAD_EXPORT QAD_ViewFrame : public QMainWindow
{
virtual ViewType getTypeView() const = 0;
virtual QWidget* getViewWidget() = 0;
- virtual vtkRenderer* getRenderer();
+// virtual vtkRenderer* getRenderer();
virtual void setBackgroundColor( const QColor& ) = 0;
virtual QColor backgroundColor() const = 0;
-// File : QAD_WaitCursor.h
-// Created : 02/10/2002
-// Descr : Use this class to set wait cursor on long operatins
-
-// Author : Vadim SANDLER
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : QAD_WaitCursor.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef QAD_WAITCURSOR_H
-using namespace std;
-// File : QAD_XmlHandler.cxx
-// Created : Thu Jun 14 13:59:36 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_XmlHandler.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#define INCLUDE_MENUITEM_DEF
#include "QAD_Desktop.h"
myMenus->myActiveToolBar->hide();
} else if ( qName == "toolbutton-item" ) { //TOOL BUTTON
QString aQStringToolButtonItemId(atts.value( "item-id" ));
- QAction* anAction=
- new QAction
+ QActionP* anAction=
+ new QActionP
(QObject::tr(atts.value( "label-id" )),
QPixmap( findFile( myPathResources, atts.value( "icon-id") ) ),
QObject::tr(atts.value( "label-id" )),
-// File : QAD_XmlHandler.h
-// Created : Thu Jun 14 14:02:23 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : QAD_XmlHandler.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#include <qxml.h>
#include <qstringlist.h>
-#include <qaction.h>
#include <qlist.h>
#include <qstack.h>
#include <map>
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : QAD_icons.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : QAD_msg_en.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
#: QAD_Config.cxx:376
msgid "MEN_DESK_PREF_VIEWER"
-msgstr "3D View background"
+msgstr "Viewer background"
#: QAD_Config.cxx:376
msgid "MEN_DESK_PREF_VIEWER_TRIHEDRON"
msgid "MEN_DESK_PREF_MULTI_FILE_SAVE"
msgstr "MultiFile Save"
+msgid "MEN_DESK_PREF_ASCII_SAVE"
+msgstr "ASCII Save"
+
msgid "TOT_APP_EDIT_COPY"
msgstr "Copy"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : QAD_msg_fr.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
-using namespace std;
-// File : SALOMEGUI.cxx
-// Created : Thu Jun 14 12:00:40 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOMEDS)
SALOME_NamingService * name_service;
CORBA::ORB_var orb;
+ // orb = CORBA::ORB_init(argc, argv, "omniORB4");
orb = CORBA::ORB_init(argc, argv, "omniORB3");
// Get the reference the server.
-using namespace std;
-// File : SALOMEGUI_AboutDlg.cxx
-// Created : Fri Sep 14 09:56:23 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_AboutDlg.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_AboutDlg.h"
#include "QAD_Desktop.h"
#include "QAD_Tools.h"
-// File : SALOMEGUI_AboutDlg.h
-// Created : Fri Sep 14 09:56:08 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_AboutDlg.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_ABOUTDLG_H
-using namespace std;
-// File : SALOMEGUI_Application.cxx
-// Created : Thu Jun 14 12:01:00 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Application.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_Application.h"
#include "SALOMEGUI_Desktop.h"
#include "SALOMEGUI_ImportOperation.h"
if ( !palette) palette = QAD_Desktop::createPalette();
// if ( !palette) palette->loadPalette();
- myViewActions.setAutoDelete( true );
+ //myViewActions.setAutoDelete( true );
/* We need to know that the desktop is created to have
some additional internal initialization */
QAD_ResourceMgr* rmgr = QAD_Desktop::getResourceManager();
#define CREATE_ACTION(ID,NAME) \
if(!myViewActions.at(ID)){ \
- QAction* action = new QAction(tr("TOT_APP_VIEW_" #NAME), \
+ QActionP* action = new QActionP(tr("TOT_APP_VIEW_" #NAME), \
rmgr->loadPixmap("SALOMEGUI", tr("ICON_APP_VIEW_" #NAME)), \
tr("MEN_APP_VIEW_" #NAME), 0, QAD_Application::getDesktop()); \
action->setStatusTip(tr("PRP_APP_VIEW_" #NAME)); \
if ( vf ) {
QToolBar* tbView = getToolBar( ViewToolBarId );
- QListIterator<QAction> it( myViewActions );
- for( ; it.current(); ++it )
- it.current()->removeFrom( tbView );
+ for ( int cmd = ViewDumpId; cmd <= ViewResetId; cmd++ )
+ if ( myViewActions.at( cmd ) )
+ myViewActions.at( cmd )->removeFrom(tbView);
if( vf->getTypeView() == VIEW_GRAPHSUPERV ) {
//myViewActions.at(ViewDumpId)->addTo(tbView);
//myViewActions.at(ViewFitAllId)->addTo(tbView);
//myViewActions.at(ViewResetId)->addTo(tbView);
}
else {
- it.toFirst();
- for( ; it.current(); ++it )
- it.current()->addTo(tbView);
+ for ( int cmd = ViewDumpId; cmd <= ViewResetId; cmd++ )
+ if ( myViewActions.at( cmd ) )
+ myViewActions.at( cmd )->addTo(tbView);
}
//CONNECT_ACTION(Mu4Id)
CONNECT_ACTION(Dump);
-// File : SALOMEGUI_Application.h
-// Created : Thu Jun 14 12:01:23 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Application.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_APPLICATION_H
#include "QAD_Application.h"
#include "QAD_ViewFrame.h"
+#include "QAD_Action.h"
// IDL headers
#include <SALOMEconfig.h>
// QT Includes
#include <qlist.h>
-#include <qaction.h>
#include <qstring.h>
#include <qtoolbar.h>
#include <qpopupmenu.h>
void updateActions();
private:
- QList<QAction> myViewActions;
- QAD_Operation* myCurOperation;
+ ActionMap myViewActions;
+ QAD_Operation* myCurOperation;
};
#endif
-using namespace std;
-// File : SALOMEGUI_CloseDlg.cxx
-// Created : Wed Feb 26 11:40:52 2003
-// Author : Vasily RUSYAEV (vrv)
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_CloseDlg.cxx
+// Author : Vasily RUSYAEV (vrv)
+// Module : SALOME
+using namespace std;
#include "SALOMEGUI_CloseDlg.h"
#include <qpushbutton.h>
-// File : SALOMEGUI_CloseDlg.h
-// Created : Wed Feb 26 11:40:52 2003
-// Author : Vasily RUSYAEV (vrv)
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_CloseDlg.h
+// Author : Vasily RUSYAEV (vrv)
+// Module : SALOME
#ifndef SALOMEGUI_CloseDlg_H
#define SALOMEGUI_CloseDlg_H
-using namespace std;
-// File : SALOMEGUI_Desktop.cxx
-// Created : Thu Jun 14 12:02:58 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Desktop.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_Desktop.h"
#include "SALOME_Selection.h"
#include "SALOME_ListIteratorOfListIO.hxx"
-// File : SALOMEGUI_Desktop.h
-// Created : Thu Jun 14 12:02:21 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Desktop.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_DESKTOP_H
-using namespace std;
-// File : SALOMEGUI_ImportOperation.cxx
-// Created : Thu Jun 14 12:07:10 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_ImportOperation.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_ImportOperation.h"
SALOMEGUI_ImportOperation::SALOMEGUI_ImportOperation( QAD_Study* study ) :
-// File : SALOMEGUI_ImportOperation.h
-// Created : Thu Jun 14 12:07:26 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_ImportOperation.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#if !defined SALOMEGUI_IMPORTOPERATION
-using namespace std;
-// File : SALOMEGUI_LoadStudiesDlg.cxx
-// Created : Wed Apr 03 13:37:13 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_LoadStudiesDlg.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_LoadStudiesDlg.h"
#include <qlabel.h>
-// File : SALOMEGUI_LoadStudiesDlg.h
-// Created : Wed Apr 03 13:36:09 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_LoadStudiesDlg.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_LOADSTUDIESDLG_H
-using namespace std;
-// File : SALOMEGUI_NameDlg.cxx
-// Created : Wed Jun 27 16:39:06 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_NameDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_NameDlg.h"
#include "QAD_Application.h"
#include "QAD_Desktop.h"
-// File : SALOMEGUI_NameDlg.h
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_NameDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_NAMEDLG_H
-using namespace std;
-// File : SALOMEGUI_OpenWith.cxx
-// Created : Wed Oct 24 12:19:34 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_OpenWith.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SALOMEGUI_OpenWith.h"
#include <qlabel.h>
-// File : SALOMEGUI_OpenWith.cxx
-// Created : Wed Oct 24 12:19:34 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_OpenWith.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef SALOMEGUI_OPENWITH_H
#define SALOMEGUI_OPENWITH_H
-using namespace std;
-//=============================================================================
-// File : SALOMEGUI_QtCatchCorbaException.cxx
-// Created : mer déc 19 14:52:07 CET 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_QtCatchCorbaException.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
#include "SALOMEGUI_QtCatchCorbaException.hxx"
#include "utilities.h"
-//=============================================================================
-// File : SALOMEGUI_QtCatchCorbaException.hxx
-// Created : mer déc 19 14:31:42 CET 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_QtCatchCorbaException.hxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _SALOMEGUI__QTCATCHCORBAEXCEPTION_HXX_
#define _SALOMEGUI__QTCATCHCORBAEXCEPTION_HXX_
-using namespace std;
-// File : SALOMEGUI_SetValueDlg.cxx
-// Created : Wed Jun 27 16:39:06 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_SetValueDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_SetValueDlg.h"
#include "QAD_Tools.h"
-// File : SALOMEGUI_SetValueDlg.h
-// Created : Wed Jan 21 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_SetValueDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_SETVALUEDLG_H
-using namespace std;
-// File : SALOMEGUI_SetupCurveDlg.cxx
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_SetupCurveDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_SetupCurveDlg.h"
#include "QAD_Tools.h"
#include <qlayout.h>
-// File : SALOMEGUI_SetupCurveDlg.h
-// Created : Wed Jun 27 16:38:42 2001
-// Author : Vadim SANDLER
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_SetupCurveDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_SetupCurveDlg_H
-using namespace std;
-// File : SALOMEGUI_StudyPropertiesDlg.cxx
-// Created : Tue Oct 22 12:28:23 2002
-// Descr : Dialog box for editing of study properties
-
-// Author : Sergey ANIKIN
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_StudyPropertiesDlg.cxx
+// Author : Sergey ANIKIN
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_StudyPropertiesDlg.h"
#include "QAD_Desktop.h"
-// File : SALOMEGUI_StudyPropertiesDlg.h
-// Created : Tue Oct 22 12:28:23 2002
-// Descr : Dialog box for editing of study properties
-
-// Author : Sergey ANIKIN
-// Project : SALOME Pro
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_StudyPropertiesDlg.h
+// Author : Sergey ANIKIN
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_STUDY_PROPERTIES_DLG_H
-using namespace std;
-//=============================================================================
-// File : SALOMEGUI_Swig.cxx
-// Created : ven oct 12 15:44:16 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-
-// Modified : Mon Jul 29 21:38:07 2002
-// Author : Nicolas REJNERI
-// Copyright : OPEN CASCADE 2002
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Swig.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
+// $Header$
+using namespace std;
#include "QAD_Application.h"
#include "QAD_Desktop.h"
#include "QAD_Study.h"
/*!
Constructor
*/
-SALOMEGUI_Swig::SALOMEGUI_Swig(): _studyId(0)
+SALOMEGUI_Swig::SALOMEGUI_Swig()
+// VSR 06-05-03 : _studyId(0)
{
// MESSAGE("Constructeur");
}
// MESSAGE("Destructeur");
}
+/*!
+ Gets active study or 0 if no study opened
+*/
+QAD_Study* SALOMEGUI_Swig::getActiveStudy()
+{
+ QAD_Application* app = QAD_Application::getDesktop()->getActiveApp();
+ if ( app ) return app->getActiveStudy();
+ return 0;
+}
+
/*!
Call when updated object browser.
*/
void SALOMEGUI_Swig::updateObjBrowser( bool updateSelection )
{
- QAD_Study* myActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myActiveStudy = getActiveStudy();
+ if ( !myActiveStudy) return;
+ // end of VSR 06-05-03 =====================================================
myActiveStudy->updateObjBrowser( updateSelection );
}
// {
// QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
// _name = myStudy->getTitle();
- _studyId = QAD_Application::getDesktop()->getActiveStudy()->getStudyId();
- SCRUTE(_studyId);
+
+ // VSR 06-05-03 ============================================================
+ // _studyId = QAD_Application::getDesktop()->getActiveStudy()->getStudyId();
+ int _studyId = 0;
+ QAD_Study* myActiveStudy = getActiveStudy();
+ if ( myActiveStudy) _studyId = myActiveStudy->getStudyId();
+ // SCRUTE(_studyId);
+ // end of VSR 06-05-03 =====================================================
// }
return _studyId;
}
*/
const char *SALOMEGUI_Swig::getActiveStudyName()
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
- _name = myStudy->getTitle();
+ // VSR 06-05-03 ============================================================
+ // QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // _name = myStudy->getTitle();
+ QString _name = QString::null;
+ QAD_Study* myActiveStudy = getActiveStudy();
+ if ( myActiveStudy) _name = myActiveStudy->getTitle();
+ // end of VSR 06-05-03 =====================================================
+
// NRI 24-02-03 :
//if (_studyId ==0)
// getActiveStudyId();
*/
int SALOMEGUI_Swig::SelectedCount()
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return 0;
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
return Sel->IObjectCount();
*/
const char* SALOMEGUI_Swig::getSelected(int i)
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return "";
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
SALOME_ListIteratorOfListIO It( Sel->StoredIObjects() );
*/
void SALOMEGUI_Swig::AddIObject(const char *Entry)
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
- if ( !SALOMEGUI_Swig::IsInCurrentView( Entry ) )
+ if ( !IsInCurrentView( Entry ) )
return;
Handle(SALOME_InteractiveObject) IO =
*/
void SALOMEGUI_Swig::RemoveIObject(const char *Entry)
{
- QAD_Study* myStudy
- = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
- if ( !SALOMEGUI_Swig::IsInCurrentView( Entry ) )
+ if ( !IsInCurrentView( Entry ) )
return;
Handle(SALOME_InteractiveObject) IO =
*/
void SALOMEGUI_Swig::ClearIObjects()
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
Sel->ClearIObjects();
*/
void SALOMEGUI_Swig::Display(const char *Entry)
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
- if ( !SALOMEGUI_Swig::IsInCurrentView( Entry ) )
+ if ( !IsInCurrentView( Entry ) )
return;
Handle(SALOME_InteractiveObject) IO =
*/
void SALOMEGUI_Swig::DisplayOnly(const char *Entry)
{
- if ( !SALOMEGUI_Swig::IsInCurrentView( Entry ) )
- return;
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ if ( !IsInCurrentView( Entry ) )
+ return;
Handle(SALOME_InteractiveObject) IO =
myStudy->getActiveStudyFrame()->getRightFrame()->getViewFrame()->FindIObject( Entry );
*/
void SALOMEGUI_Swig::Erase(const char *Entry)
{
- if ( !SALOMEGUI_Swig::IsInCurrentView( Entry ) )
- return;
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ if ( !IsInCurrentView( Entry ) )
+ return;
Handle(SALOME_InteractiveObject) IO =
myStudy->getActiveStudyFrame()->getRightFrame()->getViewFrame()->FindIObject( Entry );
*/
void SALOMEGUI_Swig::DisplayAll()
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
myStudy->getActiveStudyFrame()->getRightFrame()->getViewFrame()->DisplayAll();
}
/*!
- Erse only
+ Erase only
*/
void SALOMEGUI_Swig::EraseAll()
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return;
+ // end of VSR 06-05-03 =====================================================
SALOME_Selection* Sel
= SALOME_Selection::Selection( myStudy->getSelection() );
}
/*!
- Check
+ Checks if object is displayed in current viewer
*/
bool SALOMEGUI_Swig::IsInCurrentView(const char *Entry)
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Study* myStudy = getActiveStudy();
+ if ( !myStudy) return false;
+ // end of VSR 06-05-03 =====================================================
return myStudy->isInViewer( Entry, myStudy->getActiveStudyFrame()->entry() );
}
-vtkRenderer *SALOMEGUI_Swig::getRenderer(int viewId)
+/*!
+ Gets VTK renderer if available
+*/
+//san:T3.13 - move getRenderer() implementation from here to SalomePy.cxx
+/*vtkRenderer *SALOMEGUI_Swig::getRenderer(int viewId)
{
- QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ // VSR 06-05-03 ============================================================
+ //QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ QAD_Application* app = QAD_Application::getDesktop()->getActiveApp();
+ if ( !app ) return NULL;
+ QAD_Study* myStudy = app->getActiveStudy();
+ if ( !myStudy) return NULL;
+ // end of VSR 06-05-03 =====================================================
int nbStudyFrames = myStudy->getStudyFramesCount();
vtkRenderer *myRenderer = NULL;
if (viewId == -1) // find the first frame with VTK viewer & get renderer
if (myRenderer == NULL) INFOS("No VTK Renderer available !");
return myRenderer;
}
+*/
+
-//=============================================================================
-// File : SALOMEGUI_Swig.hxx
-// Created : ven oct 12 15:44:16 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-
-// Modified : Mon Jul 29 21:38:07 2002
-// Author : Nicolas REJNERI
-// Copyright : OPEN CASCADE 2002
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Swig.hxx
+// Author : Nicolas REJNERI
+// Module : SALOME
+// $Header$
#ifndef _SALOMEGUI_SWIG_HXX_
#define _SALOMEGUI_SWIG_HXX_
#include <Standard.hxx>
class vtkRenderer;
+class QAD_Study;
class SALOMEGUI_Swig
{
SALOMEGUI_Swig();
~SALOMEGUI_Swig();
- static vtkRenderer* getRenderer(int viewId = -1);
+ //san:T3.13 - move getRenderer() implementation from here to SalomePy.cxx
+ //static vtkRenderer* getRenderer(int viewId = -1);
- void updateObjBrowser( bool updateSelection );
- int getActiveStudyId();
- const char* getActiveStudyName();
+ void updateObjBrowser( bool updateSelection );
+ QAD_Study* getActiveStudy();
+ int getActiveStudyId();
+ const char* getActiveStudyName();
/* selection */
- int SelectedCount();
- const char* getSelected(int i);
+ int SelectedCount();
+ const char* getSelected(int i);
void AddIObject(const char *Entry);
void RemoveIObject(const char *Entry);
/* check */
bool IsInCurrentView(const char *Entry);
-
-protected:
- int _studyId;
- QString _name;
};
-//=============================================================================
-// File : SALOMEGUI_Swig.i
-// Created : ven oct 12 15:44:16 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_Swig.i
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
%{
#include "SALOMEGUI_Swig.hxx"
-using namespace std;
-// File : SALOMEGUI_TableDlg.cxx
-// Created : Wed Dec 25 12:00:00 2002
-// Descr : Dialog box for displaying/editing of table
-
-// Author : Vadim SANDLER
-// Project : SALOME for ALLIANCES
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_TableDlg.cxx
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_TableDlg.h"
#include "QAD_Tools.h"
#include "QAD_MessageBox.h"
-// File : SALOMEGUI_TableDlg.h
-// Created : Wed Dec 25 12:00:00 2002
-// Descr : Dialog box for displaying/editing of table
-
-// Author : Vadim SANDLER
-// Project : SALOME for ALLIANCES
-// Module : SALOMEGUI
-// Copyright : Open CASCADE
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOMEGUI_TableDlg.h
+// Author : Vadim SANDLER
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_TABLE_DLG_H
-using namespace std;
-// File : SALOMEGUI_TrihedronSizeDlg.cxx
-// Created : Fri Mar 22 16:34:27 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_TrihedronSizeDlg.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_TrihedronSizeDlg.h"
#include <qbuttongroup.h>
-// File : SALOMEGUI_TrihedronSizeDlg.h
-// Created : Fri Mar 22 16:33:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_TrihedronSizeDlg.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_TRIHEDRON_SIZE_DLG_H
-using namespace std;
-// File : SALOMEGUI_ViewChoiceDlg.cxx
-// Created : Mon Jul 29 22:16:49 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_ViewChoiceDlg.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOMEGUI_ViewChoiceDlg.h"
#include "QAD_Config.h"
#include "QAD_StudyFrame.h"
-// File : SALOMEGUI_ViewChoiceDlg.h
-// Created : Mon Jul 29 22:17:24 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOMEGUI_ViewChoiceDlg.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOMEGUI_VIEWCHOICEDLG_H
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOMEGUI_icons.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOMEGUI_msg_en.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
msgid "SALOMEGUI_HELP_TITLE"
msgstr "SALOME Professional Help"
+
+msgid "TOT_PLOT2D_FITDATA"
+msgstr "Fit range"
+msgid "MEN_PLOT2D_FITDATA"
+msgstr "Fit &Range"
+msgid "PRP_PLOT2D_FITDATA"
+msgstr "Fits view to the given data range"
+
+msgid "FIT_DATA_TLT"
+msgstr "Fit Data Range"
+
+msgid "Plot2d_FitDataDlg::FIT_ALL"
+msgstr "Fit both"
+
+msgid "Plot2d_FitDataDlg::FIT_HORIZONTAL"
+msgstr "Fit horizontally"
+
+msgid "Plot2d_FitDataDlg::FIT_VERTICAL"
+msgstr "Fit vertically"
+
+msgid "Plot2d_FitDataDlg::HORIZONTAL_AXIS"
+msgstr "Horizontal axis"
+
+msgid "Plot2d_FitDataDlg::VERTICAL_AXIS"
+msgstr "Vertical axis"
+
+msgid "Plot2d_FitDataDlg::MIN_VALUE_LAB"
+msgstr "Min:"
+
+msgid "Plot2d_FitDataDlg::MAX_VALUE_LAB"
+msgstr "Max:"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME SALOMEGUI : implementation of desktop and GUI kernel
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOMEGUI_msg_fr.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: example-Qt-message-extraction\n"
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataMapIteratorOfDataMapOfIOMapOfInteger.hxx
+// Module : SALOME
#ifndef _SALOME_DataMapIteratorOfDataMapOfIOMapOfInteger_HeaderFile
#define _SALOME_DataMapIteratorOfDataMapOfIOMapOfInteger_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_DataMapIteratorOfDataMapOfIOMapOfInteger_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_DataMapIteratorOfDataMapOfIOMapOfInteger.hxx"
#ifndef _Standard_NoSuchObject_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_DataMapNodeOfDataMapOfIOMapOfInteger.hxx
+// Module : SALOME
+
#ifndef _SALOME_DataMapNodeOfDataMapOfIOMapOfInteger_HeaderFile
#define _SALOME_DataMapNodeOfDataMapOfIOMapOfInteger_HeaderFile
-using namespace std;
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_DataMapNodeOfDataMapOfIOMapOfInteger_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_DataMapNodeOfDataMapOfIOMapOfInteger.hxx"
#ifndef _Standard_TypeMismatch_HeaderFile
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_DataMapOfIOMapOfInteger.hxx
+// Module : SALOME
#ifndef _SALOME_DataMapOfIOMapOfInteger_HeaderFile
#define _SALOME_DataMapOfIOMapOfInteger_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_DataMapOfIOMapOfInteger_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_DataMapOfIOMapOfInteger.hxx"
#ifndef _Standard_DomainError_HeaderFile
-using namespace std;
-// File : SALOME_Filter.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Filter.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOME_Filter.ixx"
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_Filter.hxx
+// Module : SALOME
+
#ifndef _SALOME_Filter_HeaderFile
#define _SALOME_Filter_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Filter.ixx
+// Module : SALOME
+
#include "SALOME_Filter.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Filter.jxx
+// Module : SALOME
+
#ifndef _SALOME_Filter_HeaderFile
#include "SALOME_Filter.hxx"
#endif
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ListIO.hxx
+// Module : SALOME
#ifndef _SALOME_ListIO_HeaderFile
#define _SALOME_ListIO_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListIO_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListIO.hxx"
#ifndef _Standard_NoSuchObject_HeaderFile
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ListIteratorOfListIO.hxx
+// Module : SALOME
#ifndef _SALOME_ListIteratorOfListIO_HeaderFile
#define _SALOME_ListIteratorOfListIO_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListIteratorOfListIO_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListIteratorOfListIO.hxx"
#ifndef _Standard_NoMoreObject_HeaderFile
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ListIteratorOfListOfFilter.hxx
+// Module : SALOME
#ifndef _SALOME_ListIteratorOfListOfFilter_HeaderFile
#define _SALOME_ListIteratorOfListOfFilter_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListIteratorOfListOfFilter_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListIteratorOfListOfFilter.hxx"
#ifndef _Standard_NoMoreObject_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_ListNodeOfListIO.hxx
+// Module : SALOME
+
#ifndef _SALOME_ListNodeOfListIO_HeaderFile
#define _SALOME_ListNodeOfListIO_HeaderFile
-using namespace std;
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListNodeOfListIO_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListNodeOfListIO.hxx"
#ifndef _Standard_TypeMismatch_HeaderFile
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_ListNodeOfListOfFilter.hxx
+// Module : SALOME
+
#ifndef _SALOME_ListNodeOfListOfFilter_HeaderFile
#define _SALOME_ListNodeOfListOfFilter_HeaderFile
-using namespace std;
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListNodeOfListOfFilter_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListNodeOfListOfFilter.hxx"
#ifndef _Standard_TypeMismatch_HeaderFile
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_ListOfFilter.hxx
+// Module : SALOME
#ifndef _SALOME_ListOfFilter_HeaderFile
#define _SALOME_ListOfFilter_HeaderFile
-using namespace std;
-// File generated by CPPExt (Value)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
//
+//
+// File : SALOME_ListOfFilter_0.cxx
+// Module : SALOME
+
+using namespace std;
#include "SALOME_ListOfFilter.hxx"
#ifndef _Standard_NoSuchObject_HeaderFile
-using namespace std;
-// File : SALOME_NumberFilter.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NumberFilter.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOME_NumberFilter.ixx"
#include "SALOME_Selection.h"
#include "SALOME_InteractiveObject.hxx"
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_NumberFilter.hxx
+// Module : SALOME
+
#ifndef _SALOME_NumberFilter_HeaderFile
#define _SALOME_NumberFilter_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NumberFilter.ixx
+// Module : SALOME
+
#include "SALOME_NumberFilter.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_NumberFilter.jxx
+// Module : SALOME
+
#ifndef _SALOME_NumberFilter_HeaderFile
#include "SALOME_NumberFilter.hxx"
#endif
-using namespace std;
-// File : SALOME_Selection.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Selection.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
/*!
\class SALOME_Selection SALOME_Selection.h
\brief Selection Mechanism of Interactive Object.
-// File : SALOME_Selection.h
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Selection.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SALOME_SELECTION_H
-using namespace std;
-// File : SALOME_TypeFilter.cxx
-// Created : Wed Feb 20 17:24:59 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SALOMEGUI
-// Copyright : Open CASCADE 2002
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_TypeFilter.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SALOME_TypeFilter.ixx"
#include "SALOME_InteractiveObject.hxx"
-// File generated by CPPExt (Transient)
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
+//
+//
+// File : SALOME_TypeFilter.hxx
+// Module : SALOME
+
#ifndef _SALOME_TypeFilter_HeaderFile
#define _SALOME_TypeFilter_HeaderFile
-// File generated by CPPExt (Transient)
-// Copyright (C) 1991,1995 by
-//
-// MATRA DATAVISION, FRANCE
-//
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_TypeFilter.ixx
+// Module : SALOME
+
#include "SALOME_TypeFilter.jxx"
#ifndef _Standard_TypeMismatch_HeaderFile
+// SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_TypeFilter.jxx
+// Module : SALOME
+
#ifndef _SALOME_TypeFilter_HeaderFile
#include "SALOME_TypeFilter.hxx"
#endif
-#==============================================================================
-# File : Makefile.in
-# Created : ven nov 16 18:12:41 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME SALOME_PY : binding of VTK graphics and Python
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
SALOME_Exception.idl
CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) $(OCC_INCLUDES) -DHAVE_CONFIG_H
-LDFLAGS+= $(PYTHON_LIBS) $(QT_MT_LIBS) $(OCC_LIBS) $(VTK_LIBS) $(OGL_LIBS) -lSALOME_Swigcmodule -lSalomeGUI -lVTKCommonPython -lVTKGraphicsPython -lVTKContribPython -lVTKImagingPython
-#LDFLAGS+= $(PYTHON_LIBS) $(QT_MT_LIBS) $(OCC_LIBS) $(VTK_LIBS) $(OGL_LIBS) -lSalomeGUI -lVTKCommonPython -lVTKGraphicsPython -lVTKContribPython -lVTKImagingPython
+LDFLAGS+= $(PYTHON_LIBS) $(QT_MT_LIBS) $(OCC_LIBS) $(VTK_LIBS) $(OGL_LIBS) -lSalomeGUI -lvtkCommonPython -lvtkGraphicsPython -lvtkImagingPython -lVTKViewer
@CONCLUDE@
-using namespace std;
-//=============================================================================
-// File : SalomePy.cxx
-// Created : ven nov 16 17:29:20 CET 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
+// SALOME SALOME_PY : binding of VTK graphics and Python
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SalomePy.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
// $Header$
-//=============================================================================
-#include "SALOMEGUI_Swig.hxx"
+using namespace std;
#include <Python.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkPythonUtil.h>
+#include <vtkVersion.h>
#include "utilities.h"
+#include "QAD_Study.h"
+#include "QAD_RightFrame.h"
+#include "QAD_Application.h"
+#include "QAD_Desktop.h"
+#include "VTKViewer_ViewFrame.h"
extern "C"
{
return;
}
- m=PyImport_ImportModule("libVTKGraphicsPython"); // import module if not already imported (new ref)
+ if (VTK_MAJOR_VERSION > 3)
+ m=PyImport_ImportModule("libvtkRenderingPython"); // import module if not already imported (new ref)
+ else
+ m=PyImport_ImportModule("libVTKGraphicsPython"); // import module if not already imported (new ref)
+
MESSAGE("---");
if (PyErr_Occurred())
}
if ( m ) {
- md = PyModule_GetDict(m); // dict of libVTKGraphicsPython (borrowed ref ; not decref)
+ md = PyModule_GetDict(m); // dict of libvtkGraphicsPython (borrowed ref ; not decref)
MESSAGE("---");
vtkclass=PyDict_GetItemString(md,"vtkRenderer"); // (borrowed ref ; not decref)
MESSAGE("---");
}
//NRI
- vtkRenderer *renderer = SALOMEGUI_Swig::getRenderer();
+ //san:T3.13 - move getRenderer() implementation here
+ //vtkRenderer *renderer = SALOMEGUI_Swig::getRenderer();
+ QAD_Study* myStudy = QAD_Application::getDesktop()->getActiveStudy();
+ int nbStudyFrames = myStudy->getStudyFramesCount();
+ vtkRenderer *renderer = NULL;
+ int viewId = -1;
+ if (viewId == -1) // find the first frame with VTK viewer & get renderer
+ {
+ int i=0;
+ for(i=0; i<nbStudyFrames; i++)
+ {
+ if ( myStudy->getStudyFrame(i)->getTypeView() == VIEW_VTK )
+ {
+ renderer = ((VTKViewer_ViewFrame*)myStudy->getStudyFrame(i)->getRightFrame()->getViewFrame())->getRenderer();
+ break;
+ }
+ }
+ }
+ else // get the VTK renderer of a given frame
+ {
+ SCRUTE(viewId);
+ if ((viewId >=0) && (viewId <nbStudyFrames))
+ renderer = ((VTKViewer_ViewFrame*)myStudy->getStudyFrame(viewId)->getRightFrame()->getViewFrame())->getRenderer();
+ }
+ if (renderer == NULL) INFOS("No VTK Renderer available !");
+ //san:T3.13 - move getRenderer() implementation here
MESSAGE("---");
obj = PyVTKObject_New(vtkclass,renderer); // (new ref)
-#==============================================================================
-# File : Makefile.in
-# Created : ven sep 28 17:32:46 CEST 2001
-# Author : Nicolas REJNERI
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : Makefile.in
+# Author : Nicolas REJNERI
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(SIP_INCLUDES) $(OCC_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES)
LIBS+= $(PYTHON_LIBS) $(SIP_LIBS) $(PYQT_LIBS) $(OCC_LIBS) $(VTK_LIBS) $(OGL_LIBS)
-LDFLAGS+= -lSalomeGUI
+LDFLAGS+= -lSalomeGUI -lqtcmodule
# Custom build step: generate C++ wrapping according to $(SIP_FILES)
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SalomePyQt.cxx
+// Module : SALOME
+
using namespace std;
#include "SalomePyQt.hxx"
#include "QAD_Application.h"
#include "QAD_Desktop.h"
#include "QAD_Study.h"
+#include "QAD_FileDlg.h"
#include "QAD_Config.h"
#include "QAD_Settings.h"
int SalomePyQt::getStudyId()
{
- return QAD_Application::getDesktop()->getActiveStudy()->getStudyId();
+ return QAD_Application::getDesktop()->getActiveApp()->getActiveStudy()->getStudyId();
}
SALOME_Selection* SalomePyQt::getSelection()
{
- return SALOME_Selection::Selection(QAD_Application::getDesktop()->getActiveStudy()->getSelection());
+ return SALOME_Selection::Selection(QAD_Application::getDesktop()->getActiveApp()->getActiveStudy()->getSelection());
}
void SalomePyQt::putInfo( const QString& msg )
{
return QAD_CONFIG->getSetting(name);
}
+
+QString SalomePyQt::getFileName(QWidget* parent,
+ const QString& initial,
+ const QStringList& filters,
+ const QString& caption,
+ bool open)
+{
+ return QAD_FileDlg::getFileName(parent, initial, filters, caption, open);
+}
+
+QString SalomePyQt::getExistingDirectory(QWidget* parent,
+ const QString& initial,
+ const QString& caption)
+{
+ return QAD_FileDlg::getExistingDirectory(parent, initial, caption);
+}
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SalomePyQt.hxx
+// Module : SALOME
+
#ifndef _SALOME_PYQT_H
#define _SALOME_PYQT_H
static void addDoubleSetting(QString _name, double _value, bool _autoValue);
static bool removeSettings(QString name);
static QString getSetting(QString name);
+
+ static QString getFileName(QWidget* parent,
+ const QString& initial,
+ const QStringList& filters,
+ const QString& caption,
+ bool open);
+ static QString getExistingDirectory(QWidget* parent,
+ const QString& initial,
+ const QString& caption);
};
#endif
static void addStringSetting(QString, QString, bool);
static void addIntSetting(QString, int, bool);
static void addDoubleSetting(QString, double, bool);
+
+ static QString getFileName(QWidget*, const QString&, const QStringList&, const QString&, bool);
+ static QString getExistingDirectory(QWidget*, const QString&, const QString&);
};
-#==============================================================================
-# File : Help.py
-# Created : sam nov 10 16:51:38 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Help.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
class SalomeDoc:
def __init__(self, aDoc):
-#==============================================================================
-# File : Makefile.in
-# Created : ven sep 28 17:32:46 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
LIB_SRC =
SWIG_DEF = libSALOME_Swig.i
-EXPORT_PYSCRIPTS = libSALOME_Swig.py Help.py PyInterp.py salome.py examplevtk1.py supervisionexample.py supervisiongeomexample.py salome_shared_modules.py batchmode_salome.py test_table.py test_big_table.py test_many_objects.py
+EXPORT_PYSCRIPTS = libSALOME_Swig.py Help.py PyInterp.py salome.py examplevtk1.py supervisionexample.py supervisiongeomexample.py salome_shared_modules.py batchmode_salome.py test_table.py test_big_table.py test_many_objects.py salome_test.py
LIB_CLIENT_IDL = SALOMEDS.idl \
SALOME_Exception.idl
-#==============================================================================
-# File : PyInterp.py
-# Created : mer oct 17 08:42:01 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : PyInterp.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
import sys
from omniORB import CORBA
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : batchmode_salome.py
+# Module : SALOME
+
import salome_shared_modules
from omniORB import CORBA
return listSelected
#--------------------------------------------------------------------------
+def generateName(prefix = None):
+ import whrandom;
+ int = whrandom.randint(1,1000);
+ if prefix is None:
+ return "Study" + str(int)
+ else :
+ return prefix + str(int)
+
from libSALOME_Swig import *
###from SalomePyQt import *
class SalomeGUI(SALOMEGUI_Swig):
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : examplevtk1.py
+# Module : SALOME
+
import libSalomePy
ren=libSalomePy.renderer
#iren=libSalomePy.interactor
-//=============================================================================
-// File : libSALOME_Swig.i
-// Created : ven sep 28 17:39:35 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : libSALOME_Swig.i
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
%module libSALOME_Swig
-#==============================================================================
-# File : salome.py
-# Created : sam nov 10 00:49:00 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : salome.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
from omniORB import CORBA
from LifeCycleCORBA import *
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : salome_shared_modules.py
+# Module : SALOME
+
from SALOME_utilities import *
"""
--- /dev/null
+# SALOME SALOME_SWIG : binding of C++ implementation and Python
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : salome_test.py
+# Module : SALOME
+
+print "Test the application loading GEOM, SMESH, VISU, MED, components and doing some"
+print "operation within the components."
+
+import salome
+from salome import sg
+import SALOMEDS
+import os
+
+print "======================================================================"
+print " Create Study "
+print "======================================================================"
+
+import geompy
+
+print "================================="
+print " create AttributeReal "
+print "================================="
+A = geompy.myBuilder.FindOrCreateAttribute(geompy.father, "AttributeReal")
+if A == None :
+ raise RuntimeError, "Can't create AttributeReal attribute"
+A = A._narrow(SALOMEDS.AttributeReal)
+A.SetValue(0.0001)
+if A.Value() != 0.0001:
+ raise RuntimeError, "Error : wrong value of AttributeReal"
+
+print
+print " =========== Test Geometry =========================="
+print
+
+print "==================================="
+print " define a box"
+print "==================================="
+
+box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
+idbox = geompy.addToStudy(box,"box")
+
+print
+print "============= Test SMESH ============================="
+print
+
+import SMESH
+import smeshpy
+
+geom = salome.lcc.FindOrLoadComponent("FactoryServer", "Geometry")
+myBuilder = salome.myStudy.NewBuilder()
+
+smeshgui = salome.ImportComponentGUI("SMESH")
+smeshgui.Init(salome.myStudyId);
+
+ShapeTypeCompSolid = 1
+ShapeTypeSolid = 2
+ShapeTypeShell = 3
+ShapeTypeFace = 4
+ShapeTypeWire = 5
+ShapeTypeEdge = 6
+ShapeTypeVertex = 7
+
+# ---- define a box
+
+box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
+idbox = geompy.addToStudy(box,"box")
+
+# ---- add first face of box in study
+
+subShapeList=geompy.SubShapeAll(box,ShapeTypeFace)
+face=subShapeList[0]
+name = geompy.SubShapeName( face._get_Name(), box._get_Name() )
+print name
+idface=geompy.addToStudyInFather(box,face,name)
+
+# ---- add shell from box in study
+
+subShellList=geompy.SubShapeAll(box,ShapeTypeShell)
+shell = subShellList[0]
+name = geompy.SubShapeName( shell._get_Name(), box._get_Name() )
+print name
+idshell=geompy.addToStudyInFather(box,shell,name)
+
+# ---- add first edge of face in study
+
+edgeList = geompy.SubShapeAll(face,ShapeTypeEdge)
+edge=edgeList[0];
+name = geompy.SubShapeName( edge._get_Name(), face._get_Name() )
+print name
+idedge=geompy.addToStudyInFather(face,edge,name)
+
+# ---- launch SMESH, init a Mesh with the box
+gen=smeshpy.smeshpy()
+mesh=gen.Init(idbox)
+
+idmesh = smeshgui.AddNewMesh( salome.orb.object_to_string(mesh) )
+smeshgui.SetName(idmesh, "Meshbox");
+smeshgui.SetShape(idbox, idmesh);
+
+# ---- create Hypothesis
+
+print "-------------------------- create Hypothesis"
+print "-------------------------- LocalLength"
+hyp1=gen.CreateHypothesis("LocalLength")
+hypLen1 = hyp1._narrow(SMESH.SMESH_LocalLength)
+hypLen1.SetLength(100)
+print hypLen1.GetName()
+print hypLen1.GetId()
+print hypLen1.GetLength()
+
+idlength = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypLen1) );
+smeshgui.SetName(idlength, "Local_Length_100");
+
+print "-------------------------- NumberOfSegments"
+hyp2=gen.CreateHypothesis("NumberOfSegments")
+hypNbSeg1=hyp2._narrow(SMESH.SMESH_NumberOfSegments)
+hypNbSeg1.SetNumberOfSegments(7)
+print hypNbSeg1.GetName()
+print hypNbSeg1.GetId()
+print hypNbSeg1.GetNumberOfSegments()
+
+idseg = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypNbSeg1) );
+smeshgui.SetName(idseg, "NumberOfSegments_7");
+
+print "-------------------------- MaxElementArea"
+hyp3=gen.CreateHypothesis("MaxElementArea")
+hypArea1=hyp3._narrow(SMESH.SMESH_MaxElementArea)
+hypArea1.SetMaxElementArea(2500)
+print hypArea1.GetName()
+print hypArea1.GetId()
+print hypArea1.GetMaxElementArea()
+
+idarea1 = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypArea1) );
+smeshgui.SetName(idarea1, "MaxElementArea_2500");
+
+print "-------------------------- MaxElementArea"
+hyp3=gen.CreateHypothesis("MaxElementArea")
+hypArea2=hyp3._narrow(SMESH.SMESH_MaxElementArea)
+hypArea2.SetMaxElementArea(500)
+print hypArea2.GetName()
+print hypArea2.GetId()
+print hypArea2.GetMaxElementArea()
+
+idarea2 = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypArea2) );
+smeshgui.SetName(idarea2, "MaxElementArea_500");
+
+print "-------------------------- Regular_1D"
+alg1=gen.CreateHypothesis("Regular_1D")
+algo1=alg1._narrow(SMESH.SMESH_Algo)
+listHyp=algo1.GetCompatibleHypothesis()
+for hyp in listHyp:
+ print hyp
+algoReg=alg1._narrow(SMESH.SMESH_Regular_1D)
+print algoReg.GetName()
+print algoReg.GetId()
+
+idreg = smeshgui.AddNewAlgorithms( salome.orb.object_to_string(algoReg) );
+smeshgui.SetName(idreg, "Regular_1D");
+
+print "-------------------------- MEFISTO_2D"
+alg2=gen.CreateHypothesis("MEFISTO_2D")
+algo2=alg2._narrow(SMESH.SMESH_Algo)
+listHyp=algo2.GetCompatibleHypothesis()
+for hyp in listHyp:
+ print hyp
+algoMef=alg2._narrow(SMESH.SMESH_MEFISTO_2D)
+print algoMef.GetName()
+print algoMef.GetId()
+
+idmef = smeshgui.AddNewAlgorithms( salome.orb.object_to_string(algoMef) );
+smeshgui.SetName(idmef, "MEFISTO_2D");
+
+# ---- add hypothesis to edge
+
+print "-------------------------- add hypothesis to edge"
+edge=salome.IDToObject(idedge)
+submesh=mesh.GetElementsOnShape(edge)
+ret=mesh.AddHypothesis(edge,algoReg)
+print ret
+ret=mesh.AddHypothesis(edge,hypLen1)
+print ret
+
+idsm1 = smeshgui.AddSubMeshOnShape( idmesh,
+ idedge,
+ salome.orb.object_to_string(submesh),
+ ShapeTypeEdge )
+smeshgui.SetName(idsm1, "SubMeshEdge")
+smeshgui.SetAlgorithms( idsm1, idreg );
+smeshgui.SetHypothesis( idsm1, idlength );
+
+print "-------------------------- add hypothesis to face"
+face=salome.IDToObject(idface)
+submesh=mesh.GetElementsOnShape(face)
+ret=mesh.AddHypothesis(face,hypArea2)
+print ret
+
+idsm2 = smeshgui.AddSubMeshOnShape( idmesh,
+ idface,
+ salome.orb.object_to_string(submesh),
+ ShapeTypeFace )
+smeshgui.SetName(idsm2, "SubMeshFace")
+smeshgui.SetHypothesis( idsm2, idarea2 );
+
+# ---- add hypothesis to box
+
+print "-------------------------- add hypothesis to box"
+box=salome.IDToObject(idbox)
+submesh=mesh.GetElementsOnShape(box)
+ret=mesh.AddHypothesis(box,algoReg)
+print ret
+ret=mesh.AddHypothesis(box,hypNbSeg1)
+print ret
+ret=mesh.AddHypothesis(box,algoMef)
+print ret
+ret=mesh.AddHypothesis(box,hypArea1)
+print ret
+
+smeshgui.SetAlgorithms( idmesh, idreg );
+smeshgui.SetHypothesis( idmesh, idseg );
+smeshgui.SetAlgorithms( idmesh, idmef );
+smeshgui.SetHypothesis( idmesh, idarea1 );
+
+gen.Compute(mesh, idbox)
+sg.updateObjBrowser(1);
+
+print
+print "============= Test Supervisor ============================="
+print
+
+from SuperV import *
+import SALOMEDS
+myStudy = salome.myStudy
+myBuilder = myStudy.NewBuilder()
+
+SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
+father = myStudy.FindComponent("SUPERV")
+if father is None:
+ father = myBuilder.NewComponent("SUPERV")
+ A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName");
+ FName = A1._narrow(SALOMEDS.AttributeName)
+ FName.SetValue("Supervision")
+ A2 = myBuilder.FindOrCreateAttribute(father, "AttributePixMap");
+ aPixmap = A2._narrow(SALOMEDS.AttributePixMap);
+ aPixmap.SetPixMap( "ICON_OBJBROWSER_Supervision" );
+ myBuilder.DefineComponentInstance(father,SuperVision)
+
+def addStudy(ior):
+ dataflow = SuperVision.getGraph(ior)
+ name=dataflow.Name()
+ itr = myStudy.NewChildIterator(father)
+ while itr.More():
+ item=itr.Value()
+ res,A=item.FindAttribute("AttributeName")
+ if res:
+ aName = A._narrow(SALOMEDS.AttributeName)
+ if aName.Value() == name :
+ print myBuilder.FindOrCreateAttribute(item, "AttributeIOR")
+ A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR")
+ print "A = ", A
+ if A is not None :
+ #res,A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR")
+ anIOR = A._narrow(SALOMEDS.AttributeIOR);
+ print "anIOR.SetValue(dataflow.getIOR())"
+ anIOR.SetValue(dataflow.getIOR())
+ return
+ itr.Next()
+ obj = myBuilder.NewObject(father)
+ A=myBuilder.FindOrCreateAttribute(obj, "AttributeName")
+ aName=A._narrow(SALOMEDS.AttributeName)
+ aName.SetValue(name)
+ A=myBuilder.FindOrCreateAttribute(obj, "AttributeIOR")
+ anIOR = A._narrow(SALOMEDS.AttributeIOR)
+ anIOR.SetValue(dataflow.getIOR())
+
+import os
+dir= os.getenv("SALOME_ROOT_DIR")
+if dir == None:
+ raise RuntimeError, "SALOME_ROOT_DIR is not defined"
+xmlfile = dir +"/../SALOME_ROOT/SuperVisionTest/resources/GraphEssai.xml"
+print "Load dataflow from the file : "
+print xmlfile
+print
+
+myGraph = Graph ( xmlfile )
+
+# This DataFlow is "valid" : no loop, correct links between Nodes etc...
+print "myGraph.IsValid() = ", myGraph.IsValid()
+
+# Get Nodes
+myGraph.PrintNodes()
+Add,Sub,Mul,Div = myGraph.Nodes()
+
+# Load Datas
+Addx = Add.Input("x",3.)
+Addy = Add.Input("y",4.5)
+Subx = Sub.Input("x",1.5)
+
+# Get Output Port
+Addz = Add.Port('z')
+Subz = Sub.Port('z')
+Mulz = Mul.Port('z')
+Divz = Div.Port('z')
+
+# This DataFlow is "executable" : all pending Ports are defined with Datas
+print myGraph.IsExecutable()
+
+# Starts only execution of that DataFlow and gets control immediatly
+print myGraph.Run()
+
+# That DataFlow is running ==> 0 (false)
+print myGraph.IsDone()
+
+# Events of execution :
+aStatus,aNode,anEvent,aState = myGraph.Event()
+while aStatus :
+ print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState
+ aStatus,aNode,anEvent,aState = myGraph.Event()
+print "myGraph.IsDone() = ",myGraph.IsDone()
+
+# Wait for Completion (but it is already done after event loop ...)
+print "Done : ",myGraph.DoneW()
+
+# Get result
+print "Result : ",Divz.ToString()
+
+# Intermediate results :
+print "Intermediate Result Add\z : ",Addz.ToString()
+print "Intermediate Result Sub\z : ",Subz.ToString()
+print "Intermediate Result Mul\z : ",Mulz.ToString()
+
+print " "
+#print "Type : print myGraph.IsDone()"
+#print " If execution is finished ==> 1 (true)"
+res=myGraph.IsDone()
+if res != 1:
+ raise RuntimeError, "myGraph.Run() is not done"
+
+print " "
+print "Type : print Divz.ToString()"
+print " You will get the result"
+Divz.ToString()
+
+print " "
+print "Type : myGraph.PrintPorts()"
+print " to see input and output values of the graph"
+myGraph.PrintPorts()
+
+print " "
+print "Type : Add.PrintPorts()"
+Add.PrintPorts()
+
+print "Type : Sub.PrintPorts()"
+Sub.PrintPorts()
+
+print "Type : Mul.PrintPorts()"
+Mul.PrintPorts()
+
+print "Type : Div.PrintPorts()"
+print " to see input and output values of nodes"
+Div.PrintPorts()
+
+# Export will create newsupervisionexample.xml and the corresponding .py file
+tmpdir=os.getenv("TmpDir")
+if tmpdir is None:
+ tmpdir="/tmp"
+file = tmpdir + "/newsupervisionexample"
+print "--------------\n"+file+"\n--------------\n"
+myGraph.Export(file)
+
+ior = salome.orb.object_to_string(myGraph.G)
+addStudy(ior)
+
+GraphName = myGraph.Name()
+print "Befor save ",
+#nodes = myGraph.Nodes()
+nodes = myGraph.G.Nodes().FNodes
+length_bs = len(nodes)
+print "ListOfNodes length = ", length_bs
+names=[]
+for node in nodes:
+ names.append(node.Name())
+print names
+
+print "Load FactorialComponent component, create dataflow using its services and run execution"
+myPy = Graph('myPy')
+
+eval = myPy.Node('FactorialComponent','FactorialComponent','eval')
+eval.SetContainer('FactoryServerPy')
+
+myPy.IsValid()
+
+myPy.PrintPorts()
+
+myPy.Run( 3 )
+
+myPy.DoneW()
+
+myPy.State()
+
+myPy.PrintPorts()
+
+
+sg.updateObjBrowser(1);
+
+print
+print "============= Test VISU and MED ============================="
+print
+import sys
+import SALOMEDS
+import SALOME
+import SALOME_MED
+import VISU
+
+import visu_gui
+
+medFile = "pointe.med"
+medFile = os.getenv('SALOME_ROOT_DIR') + '/../SALOME_ROOT/data/' + medFile
+print "Load ", medFile
+
+studyCurrent = salome.myStudyName
+
+med_comp = salome.lcc.FindOrLoadComponent("FactoryServer", "Med")
+myVisu = salome.lcc.FindOrLoadComponent("FactoryServer", "Visu")
+
+try:
+ if os.access(medFile, os.R_OK) :
+ if os.access(medFile, os.W_OK) :
+ med_comp.readStructFileWithFieldType(medFile,studyCurrent)
+ med_obj = visu_gui.visu.getMedObjectFromStudy()
+ print "med_obj - ", med_obj
+
+ myField = visu_gui.visu.getFieldObjectFromStudy(2,1)
+ aMeshName = "FILED_DOUBLE_MESH"
+ anEntity = VISU.NODE
+ aTimeStampId = 0
+
+ myResult1 = myVisu.ImportMedField(myField)
+ aMesh1 = myVisu.MeshOnEntity(myResult1, aMeshName, anEntity);
+
+ aScalarMap1= myVisu.ScalarMapOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId)
+ if(myField.getNumberOfComponents() > 1) :
+ aVectors = myVisu.VectorsOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId)
+
+ myResult2 = myVisu.ImportFile(medFile)
+ aMeshName = "maa1"
+ anEntity = VISU.NODE
+ aMesh2 = myVisu.MeshOnEntity(myResult2, aMeshName, anEntity)
+
+ aScalarMap2 = myVisu.ScalarMapOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId)
+ if(myField.getNumberOfComponents() > 1) :
+ aCutPlanes = myVisu.CutPlanesOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId)
+
+ sg.updateObjBrowser(0)
+ else : print "We have no permission to rewrite medFile, so readStructFileWithFieldType can't open this file";
+ else : print "We have no permission to read medFile, it will not be opened";
+
+except:
+ if sys.exc_type == SALOME.SALOME_Exception :
+ print "There is no permission to read " + medFile
+ else :
+ print sys.exc_type
+ print sys.exc_value
+ print sys.exc_traceback
+
+sg.updateObjBrowser(1);
-#==============================================================================
-# File : test_big_table.py
-# Created : 20/01/03
-# Author : Vadim SANDLER
-# Project : SALOME
-# Copyright : Open CASCADE
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : test_big_table.py
+# Author : Vadim SANDLER
+# Module : SALOME
# $Header$
-#==============================================================================
-# ============================================================================
-# Test large tables : ~200 curves ( 100 points in each )
-# ============================================================================
import salome
import math
import SALOMEDS
-#==============================================================================
-# File : visu_many_objects.py
-# Created : 28/02/03
-# Author : Vadim SANDLER
-# Project : SALOME
-# Copyright : Open CASCADE
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : visu_many_objects.py
+# Author : Vadim SANDLER
+# Module : SALOME
# $Header$
-#==============================================================================
-# ============================================================================
-# Check performance for many objects creations
-# ============================================================================
import salome
import SALOMEDS
-#==============================================================================
-# File : test_table.py
-# Created : 20/01/03
-# Author : Vadim SANDLER
-# Project : SALOME
-# Copyright : Open CASCADE
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : test_table.py
+# Author : Vadim SANDLER
+# Module : SALOME
# $Header$
-#==============================================================================
-# ============================================================================
-# Check attributes creation : Integer, Real, Comment, Tables
-# ============================================================================
import salome
import math
import SALOMEDS
-# importing =====================================================
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : testattr.py
+# Module : SALOME
+
import SALOMEDS
#import SALOMEDS_Attributes_idl
import geompy
-# source path
+# SALOME SUPERVGraph : build Supervisor viewer into desktop
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Module : SALOME
+
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-// File : SUPERVGraph.cxx
-// Created : Wed Mar 20 11:58:44 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE 2002
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "SUPERVGraph.h"
#include "SUPERVGraph_ViewFrame.h"
-// File : SUPERVGraph.h
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE 2002
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef SUPERVGraph_HeaderFile
-using namespace std;
-// File : SUPERVGraph_Graph.cxx
-// Created : 17 / 10 / 2001
-// Author : Francis KLOSS
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph_Graph.cxx
+// Author : Francis KLOSS
+// Module : SALOME
+using namespace std;
#include "SUPERVGraph_Graph.h"
#include "QAD_Settings.h"
-// File : SUPERVGraph_Graph.h
-// Created : 17 / 10 / 2001
-// Author : Francis KLOSS
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph_Graph.h
+// Author : Francis KLOSS
+// Module : SALOME
#ifndef SUPERVGraph_Graph_HXX
#define SUPERVGraph_Graph_HXX
-using namespace std;
-// File : SUPERVGraph_ViewFrame.cxx
-// Created : Wed Mar 20 14:03:31 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE 2002
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph_ViewFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
+using namespace std;
#include "SUPERVGraph_ViewFrame.h"
#include "QAD_Settings.h"
-// File : SUPERVGraph_ViewFrame.h
-// Created : Wed Mar 20 14:22:27 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : SUPERVGraph
-// Copyright : Open CASCADE 2002
+// SALOME SUPERVGraph : build Supervisor viewer into desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SUPERVGraph_ViewFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef SUPERVGraph_ViewFrame_H
#define SUPERVGraph_ViewFrame_H
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:59:20 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
+# SALOME Session : implementation of Session.idl
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF
+# Module : SALOME
# $Header$
-#==============================================================================
# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
@COMMENCE@
EXPORT_HEADERS= SALOME_Session_i.hxx
-LIB_MOC = \
- InquireServersQThread.h
# Libraries targets
LIB = libSalomeSession.la
LIB_SRC=\
- InquireServersQThread.cxx \
SALOME_Session_QThread.cxx \
SALOME_Session_i.cxx
# Executables targets
-BIN = SALOME_Session_Server SALOME_Session_loader
+BIN = SALOME_Session_Server
BIN_SRC =
-#***#BIN_SERVER_IDL = SALOME_Session.idl VISU_Gen.idl MED.idl
BIN_SERVER_IDL = SALOME_Session.idl
-#***#BIN_CLIENT_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOME_Registry.idl SALOME_ModuleCatalog.idl SALOME_Component.idl SALOME_Exception.idl VISU_Gen.idl
-BIN_CLIENT_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOME_Registry.idl SALOME_ModuleCatalog.idl SALOME_Component.idl SALOME_Exception.idl
+BIN_CLIENT_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOME_Registry.idl SALOME_ModuleCatalog.idl SALOME_Exception.idl
CPPFLAGS+=$(QT_MT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+=$(QT_MT_LIBS) $(OCC_LIBS) $(VTK_LIBS) -lSalomeNS -lSalomeGUI -lSalomeObject -lSalomeLifeCycleCORBA -lqsplitterP -lOpUtil -lSalomeLoggerServer -lPlot2d
+LDFLAGS+=$(QT_MT_LIBS) $(CAS_KERNEL) $(CAS_OCAF) $(CAS_VIEWER) $(CAS_MODELER) -lSalomeNS -lSalomeGUI -lSalomeObject -lSalomeLifeCycleCORBA -lqsplitterP -lOpUtil -lSalomeLoggerServer -lPlot2d
@CONCLUDE@
-using namespace std;
-//=============================================================================
-// File : SALOME_Session_QThread.cxx
-// Created : mar jun 19 15:18:31 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Session : implementation of Session.idl
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Session_QThread.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
#include <qapplication.h>
#include <qlabel.h>
-//=============================================================================
-// File : SALOME_Session_QThread.hxx
-// Created : mar jun 19 14:38:31 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Session : implementation of Session.idl
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Session_QThread.hxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _SALOME_SESSION_QTHREAD_HXX_
#define _SALOME_SESSION_QTHREAD_HXX_
-using namespace std;
-//=============================================================================
-// File : SALOME_Session_Server.cxx
-// Created : mar jun 19 13:26:24 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
-
-/*! \file SALOME_Session_Server.cxx
- */
+// SALOME Session : implementation of Session.idl
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Session_Server.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
-using namespace std;
# include "Utils_ORB_INIT.hxx"
# include "Utils_SINGLETON.hxx"
-#include <iostream.h>
+#include <iostream>
#include <unistd.h>
+using namespace std;
// #include <qapplication.h>
// #include "Qtappl_example.hxx"
-using namespace std;
-//=============================================================================
-// File : SALOME_Session_i.cxx
-// Created : mar jun 19 14:02:45 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Session : implementation of Session.idl
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Session_i.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
#include "utilities.h"
#include "SALOME_Session_i.hxx"
MESSAGE("constructor end");
}
-//***//VISU::VISU_Gen_ptr SALOME_Session_i::GetVisuGen(){
-//***// typedef VISU::VISU_Gen_ptr VisuGen(CORBA::ORB_var,PortableServer::POA_var,QMutex*);
-//***// MESSAGE("SALOME_Session_i::GetVisuGen");
-//***// OSD_SharedLibrary visuSharedLibrary("libVisuEngine.so");
-//***// if(visuSharedLibrary.DlOpen(OSD_RTLD_LAZY))
-//***// if(OSD_Function osdFun = visuSharedLibrary.DlSymb("GetVisuGen"))
-//***// return ((VisuGen (*)) osdFun)(_orb,_poa,&_GUIMutex);
-//***// return VISU::VISU_Gen::_nil();
-//***//}
+Engines::Component_ptr SALOME_Session_i::GetVisuGen(){
+ typedef Engines::Component_ptr VisuGen(CORBA::ORB_ptr, PortableServer::POA_ptr,
+ SALOME_NamingService*, QMutex*);
+ MESSAGE("SALOME_Session_i::GetVisuGen");
+ OSD_SharedLibrary visuSharedLibrary("libVisuEngine.so");
+ if(visuSharedLibrary.DlOpen(OSD_RTLD_LAZY))
+ if(OSD_Function osdFun = visuSharedLibrary.DlSymb("GetVisuGen"))
+ return ((VisuGen (*)) osdFun)(_orb,_poa,_NS,&_GUIMutex);
+ return Engines::Component::_nil();
+}
//=============================================================================
/*! ~SALOME_Session_i
-//=============================================================================
-// File : SALOME_Session_i.hxx
-// Created : mar jun 19 13:42:55 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Session : implementation of Session.idl
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_Session_i.hxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _SALOME_SESSION_I_HXX_
#define _SALOME_SESSION_I_HXX_
#include <qthread.h>
#include <SALOMEconfig.h>
-//***//#include CORBA_SERVER_HEADER(VISU_Gen)
#include CORBA_SERVER_HEADER(SALOME_Session)
class SALOME_NamingService;
class SALOME_Session_QThread;
-//! CORBA SALOME Session Servant
-
-class SALOME_Session_i: public POA_SALOME::Session,
- public PortableServer::RefCountServantBase
+class SALOME_Session_i: public virtual POA_SALOME::Session,
+ public virtual PortableServer::RefCountServantBase
{
public:
SALOME_Session_i(int argc, char ** argv, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa) ;
//! Launch Graphical User Interface
void GetInterface();
- //***//VISU::VISU_Gen_ptr GetVisuGen();
+ Engines::Component_ptr GetVisuGen();
//! Stop the Session (must be idle): kill servant & server
void StopSession();
--- /dev/null
+#==============================================================================
+# File : Makefile.in
+# Author : Marc Tajchman
+#==============================================================================
+
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=../../..
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
+
+
+@COMMENCE@
+
+EXPORT_HEADERS = SALOMEDS_Tool.hxx
+
+# Libraries targets
+
+LIB = libTOOLSDS.la
+LIB_SRC = \
+ SALOMEDS_Tool.cxx \
+
+# Executables targets
+BIN =
+BIN_SRC =
+LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl
+BIN_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl
+BIN_CLIENT_IDL =
+
+CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
+CXXFLAGS+=$(OCC_CXXFLAGS)
+LDFLAGS+=$(CAS_KERNEL) -lOpUtil -lSalomeLoggerServer
+# -L/opt/ccmalloc/lib -lccmalloc -ldl
+# -L/opt/efence/lib -lefence
+
+@CONCLUDE@
+
+
--- /dev/null
+using namespace std;
+// File : SALOMEDS_Tool.cxx
+// Created : Mon Oct 21 16:24:34 2002
+// Author : Sergey RUIN
+
+// Project : SALOME
+// Module : SALOMEDS
+// Copyright : Open CASCADE
+
+#include "SALOMEDS_Tool.hxx"
+
+#include "utilities.h"
+
+#include <TCollection_AsciiString.hxx>
+#include <stdio.h>
+#include <iostream.h>
+#include <fstream.h>
+#include <OSD_Path.hxx>
+#include <OSD_File.hxx>
+#include <OSD_Directory.hxx>
+#include <OSD_Process.hxx>
+#include <OSD_Directory.hxx>
+#include <OSD_Protection.hxx>
+#include <OSD_SingleProtection.hxx>
+#include <OSD_FileIterator.hxx>
+
+#include <sys/time.h>
+#include <stdlib.h>
+
+//============================================================================
+// function : GetTempDir
+// purpose : Return a temp directory to store created files like "/tmp/sub_dir/"
+//============================================================================
+char* SALOMEDS_Tool::GetTmpDir()
+{
+ //Find a temporary directory to store a file
+
+ TCollection_AsciiString aTmpDir;
+
+ char *Tmp_dir = getenv("SALOME_TMP_DIR");
+ if(Tmp_dir != NULL) {
+ aTmpDir = TCollection_AsciiString(Tmp_dir);
+#ifdef WIN32
+ if(aTmpDir.Value(aTmpDir.Length()) != '\\') aTmpDir+='\\';
+#else
+ if(aTmpDir.Value(aTmpDir.Length()) != '/') aTmpDir+='/';
+#endif
+ }
+ else {
+#ifdef WIN32
+ aTmpDir = TCollection_AsciiString("C:\\");
+#else
+ aTmpDir = TCollection_AsciiString("/tmp/");
+#endif
+ }
+
+ srand((unsigned int)time(NULL));
+ int aRND = 999 + (int)(100000.0*rand()/(RAND_MAX+1.0)); //Get a random number to present a name of a sub directory
+ TCollection_AsciiString aSubDir(aRND);
+ if(aSubDir.Length() <= 1) aSubDir = TCollection_AsciiString("123409876");
+
+ MESSAGE("#### RND " << aRND);
+
+ aTmpDir += aSubDir; //Get RND sub directory
+
+#ifdef WIN32
+ if(aTmpDir.Value(aTmpDir.Length()) != '\\') aTmpDir+='\\';
+#else
+ if(aTmpDir.Value(aTmpDir.Length()) != '/') aTmpDir+='/';
+#endif
+
+ OSD_Path aPath(aTmpDir);
+ OSD_Directory aDir(aPath);
+
+ for(aRND = 0; aDir.Exists(); aRND++) {
+ aTmpDir.Insert((aTmpDir.Length() - 1), TCollection_AsciiString(aRND)); //Build a unique directory name
+ aPath = OSD_Path(aTmpDir);
+ aDir = OSD_Directory(aPath);
+ }
+
+ MESSAGE("#### TMP" << aTmpDir.ToCString());
+
+ OSD_Protection aProtection(OSD_RW, OSD_RWX, OSD_RX, OSD_RX);
+ aDir.Build(aProtection);
+
+ return CORBA::string_dup(aTmpDir.ToCString());
+}
+
+//============================================================================
+// function : RemoveTemporaryFiles
+// purpose : Removes files listed in theFileList
+//============================================================================
+void SALOMEDS_Tool::RemoveTemporaryFiles(const char* theDirectory,
+ const SALOMEDS::ListOfFileNames& theFiles,
+ const bool IsDirDeleted)
+{
+ TCollection_AsciiString aDirName(const_cast<char*>(theDirectory));
+
+ int i, aLength = theFiles.length();
+ for(i=0; i<aLength; i++) {
+ TCollection_AsciiString aFile(aDirName);
+// aFile += (char*)theFiles[i];
+ aFile += (char*)theFiles[i].in();
+ OSD_Path anOSDPath(aFile);
+ OSD_File anOSDFile(anOSDPath);
+ if(!anOSDFile.Exists()) continue;
+
+ anOSDFile.Remove();
+ }
+
+ if(IsDirDeleted) {
+ OSD_Path aPath(aDirName);
+ OSD_Directory aDir(aPath);
+ OSD_FileIterator anIterator(aPath, '*');
+
+ if(aDir.Exists() && !anIterator.More()) aDir.Remove();
+ }
+
+}
+
+//============================================================================
+// function : PutFilesToStream
+// purpose : converts the files from a list 'theFiles' to the stream
+//============================================================================
+SALOMEDS::TMPFile*
+SALOMEDS_Tool::PutFilesToStream(const char* theFromDirectory,
+ const SALOMEDS::ListOfFileNames& theFiles,
+ const int theNamesOnly)
+{
+ int i, aLength = theFiles.length();
+ if(aLength == 0) return NULL;
+
+ TCollection_AsciiString aTmpDir(const_cast<char*>(theFromDirectory)); //Get a temporary directory for saved a file
+
+ long aBufferSize = 0;
+ long aCurrentPos;
+
+ int aNbFiles = 0;
+ int* aFileNameSize= new int[aLength];
+ long* aFileSize= new long[aLength];
+
+ //Determine the required size of the buffer
+
+ for(i=0; i<aLength; i++) {
+
+ //Check if the file exists
+
+ if (!theNamesOnly) { // mpv 15.01.2003: if only file names must be stroed, then size of files is zero
+ TCollection_AsciiString aFullPath = aTmpDir + strdup(theFiles[i]);
+ OSD_Path anOSDPath(aFullPath);
+ OSD_File anOSDFile(anOSDPath);
+ if(!anOSDFile.Exists()) continue;
+#ifdef WNT
+ ifstream aFile(aFullPath.ToCString(), ios::binary);
+#else
+ ifstream aFile(aFullPath.ToCString());
+#endif
+ aFile.seekg(0, ios::end);
+ aFileSize[i] = aFile.tellg();
+ aBufferSize += aFileSize[i]; //Add a space to store the file
+ }
+ aFileNameSize[i] = strlen(theFiles[i])+1;
+ aBufferSize += aFileNameSize[i]; //Add a space to store the file name
+ aBufferSize += (theNamesOnly)?4:12; //Add 4 bytes: a length of the file name,
+ // 8 bytes: length of the file itself
+ aNbFiles++;
+ }
+
+ aBufferSize += 4; //4 bytes for a number of the files that will be written to the stream;
+ unsigned char* aBuffer = new unsigned char[aBufferSize];
+ if(aBuffer == NULL) return NULL;
+
+ //Initialize 4 bytes of the buffer by 0
+ memset(aBuffer, 0, 4);
+ //Copy the number of files that will be written to the stream
+ memcpy(aBuffer, &aNbFiles, ((sizeof(int) > 4) ? 4 : sizeof(int)));
+
+
+ aCurrentPos = 4;
+
+ for(i=0; i<aLength; i++) {
+ ifstream *aFile;
+ if (!theNamesOnly) { // mpv 15.01.2003: we don't open any file if theNamesOnly = true
+ TCollection_AsciiString aFullPath = aTmpDir + strdup(theFiles[i]);
+ OSD_Path anOSDPath(aFullPath);
+ OSD_File anOSDFile(anOSDPath);
+ if(!anOSDFile.Exists()) continue;
+#ifdef WNT
+ aFile = new ifstream(aFullPath.ToCString(), ios::binary);
+#else
+ aFile = new ifstream(aFullPath.ToCString());
+#endif
+ }
+ //Initialize 4 bytes of the buffer by 0
+ memset((aBuffer + aCurrentPos), 0, 4);
+ //Copy the length of the file name to the buffer
+ memcpy((aBuffer + aCurrentPos), (aFileNameSize + i), ((sizeof(int) > 4) ? 4 : sizeof(int)));
+ aCurrentPos += 4;
+
+ //Copy the file name to the buffer
+ memcpy((aBuffer + aCurrentPos), theFiles[i], aFileNameSize[i]);
+ aCurrentPos += aFileNameSize[i];
+
+ if (!theNamesOnly) { // mpv 15.01.2003: we don't copy file content to the buffer if !theNamesOnly
+ //Initialize 8 bytes of the buffer by 0
+ memset((aBuffer + aCurrentPos), 0, 8);
+ //Copy the length of the file to the buffer
+ memcpy((aBuffer + aCurrentPos), (aFileSize + i), ((sizeof(long) > 8) ? 8 : sizeof(long)));
+ aCurrentPos += 8;
+
+ aFile->seekg(0, ios::beg);
+ aFile->read((char *)(aBuffer + aCurrentPos), aFileSize[i]);
+ aFile->close();
+ delete(aFile);
+ aCurrentPos += aFileSize[i];
+ }
+ }
+
+ delete[] aFileNameSize;
+ delete[] aFileSize;
+
+
+ CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer;
+
+ return (new SALOMEDS::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1));
+}
+
+//============================================================================
+// function : PutStreamToFile
+// purpose : converts the stream "theStream" to the files
+//============================================================================
+SALOMEDS::ListOfFileNames*
+SALOMEDS_Tool::PutStreamToFiles(const SALOMEDS::TMPFile& theStream,
+ const char* theToDirectory,
+ const int theNamesOnly)
+{
+ if(theStream.length() == 0) return NULL;
+ TCollection_AsciiString aTmpDir(const_cast<char*>(theToDirectory)); //Get a temporary directory for saving a file
+
+ unsigned char *aBuffer = (unsigned char*)theStream.NP_data();
+
+ if(aBuffer == NULL) return NULL;
+
+ long aBufferSize = theStream.length();
+ long aFileSize, aCurrentPos = 4;
+ int i, aFileNameSize, aNbFiles = 0;
+
+ //Copy the number of files in the stream
+ memcpy(&aNbFiles, aBuffer, sizeof(int));
+
+ SALOMEDS::ListOfFileNames_var aFiles = new SALOMEDS::ListOfFileNames;
+ aFiles->length(aNbFiles);
+
+ for(i=0; i<aNbFiles; i++) {
+
+ //Put a length of the file name to aFileNameSize
+ memcpy(&aFileNameSize, (aBuffer + aCurrentPos), ((sizeof(int) > 4) ? 4 : sizeof(int)));
+ aCurrentPos += 4;
+
+ char *aFileName = new char[aFileNameSize];
+ //Put a file name to aFileName
+ memcpy(aFileName, (aBuffer + aCurrentPos), aFileNameSize);
+ aCurrentPos += aFileNameSize;
+
+ //Put a length of the file to aFileSize
+ if (!theNamesOnly) {
+ memcpy(&aFileSize, (aBuffer + aCurrentPos), ((sizeof(long) > 8) ? 8 : sizeof(long)));
+ aCurrentPos += 8;
+
+ TCollection_AsciiString aFullPath = aTmpDir + aFileName;
+ ofstream aFile(aFullPath.ToCString());
+ aFile.write((char *)(aBuffer+aCurrentPos), aFileSize);
+ aFile.close();
+ aCurrentPos += aFileSize;
+ }
+ aFiles[i] = CORBA::string_dup(aFileName);
+ delete[] aFileName;
+ }
+
+ return aFiles._retn();
+}
+
+//============================================================================
+// function : GetNameFromPath
+// purpose : Returns the name by the path
+//============================================================================
+char* SALOMEDS_Tool::GetNameFromPath(const char* thePath) {
+ if (thePath == NULL) return strdup("");
+ OSD_Path aPath = OSD_Path(TCollection_AsciiString(strdup(thePath)));
+ TCollection_AsciiString aNameString(aPath.Name());
+ return CORBA::string_dup(aNameString.ToCString());
+}
+
+//============================================================================
+// function : GetDirFromPath
+// purpose : Returns the dir by the path
+//============================================================================
+char* SALOMEDS_Tool::GetDirFromPath(const char* thePath) {
+ if (thePath == NULL) return strdup("");
+ OSD_Path aPath = OSD_Path(TCollection_AsciiString(strdup(thePath)));
+ TCollection_AsciiString aDirString(aPath.Trek());
+ aDirString.ChangeAll('|','/');
+ return CORBA::string_dup(aDirString.ToCString());
+}
--- /dev/null
+// File : SALOMEDS_Tool.hxx
+// Created : Mon Oct 21 16:24:50 2002
+// Author : Sergey RUIN
+
+// Project : SALOME
+// Module : SALOMEDS
+// Copyright : Open CASCADE
+
+
+#ifndef __SALOMEDS_Tool_H__
+#define __SALOMEDS_Tool_H__
+
+
+
+// IDL headers
+#include <SALOMEDS.hh>
+
+class SALOMEDS_Tool
+{
+public:
+
+ // Returns the unique temporary directory, that is defined in SALOME_TMP_DIR if this variable is set
+ // otherwise return /tmp/something/ for Unix or c:\something\ for WNT
+ static char* GetTmpDir();
+
+
+ // Removes files which are in <theDirectory>, the files for deletion are listed in <theFiles>
+ // if <IsDirDeleted> is true <theDirectory> is also deleted if it is empty
+ static void RemoveTemporaryFiles(const char* theDirectory,
+ const SALOMEDS::ListOfFileNames& theFiles,
+ const bool IsDirDeleted);
+
+ // Converts files listed in <theFiles> which are in <theFromDirectory> into a byte sequence TMPFile
+ static SALOMEDS::TMPFile* PutFilesToStream(const char* theFromDirectory,
+ const SALOMEDS::ListOfFileNames& theFiles,
+ const int theNamesOnly = 0);
+
+ // Converts a byte sequence <theStream> to files and places them in <theToDirectory>
+ static SALOMEDS::ListOfFileNames* PutStreamToFiles(const SALOMEDS::TMPFile& theStream,
+ const char* theToDirectory,
+ const int theNamesOnly = 0);
+
+ // Returns the name by the path
+ // for an example: if thePath = "/tmp/aaa/doc1.hdf" the function returns "doc1"
+ static char* GetNameFromPath(const char* thePath);
+
+ // Returns the directory by the path
+ // for an example: if thePath = "/tmp/aaa/doc1.hdf" the function returns "/tmp/aaa"
+ static char* GetDirFromPath(const char* thePath);
+
+};
+#endif
-# -* Makefile *-
+# SALOME TOOLSGUI : implementation of desktop "Tools" optioins
#
-# Author : Marc Tajchman (CEA)
-# Date : 5/07/2001
-# $Header$
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
#
+#
+#
+# File : Makefile.in
+# Author : Marc Tajchman (CEA)
+# Module : SALOME
+# $Header$
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-// File : ToolsGUI.cxx
-// Created : Wed Nov 14 21:59:24 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : TOOLSGUI
-// Copyright : Open CASCADE
+// SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ToolsGUI.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "ToolsGUI.h"
#include "ToolsGUI_CatalogGeneratorDlg.h"
-// File : ToolsGUI.h
-// Created : Wed Nov 14 22:00:04 2001
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : TOOLSGUI
-// Copyright : Open CASCADE
+// SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ToolsGUI.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef ToolsGUI_HeaderFile
-using namespace std;
-// File : ToolsGUI_CatalogGeneratorDlg.cxx
-// Created : Thu Apr 25 18:52:40 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : TOOLSGUI
-// Copyright : Open CASCADE 2002
+// SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ToolsGUI_CatalogGeneratorDlg.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "ToolsGUI_CatalogGeneratorDlg.h"
#include "QAD_Application.h"
-// File : ToolsGUI_CatalogGeneratorDlg.h
-// Created : Thu Apr 25 18:52:53 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : TOOLSGUI
-// Copyright : Open CASCADE 2002
+// SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : ToolsGUI_CatalogGeneratorDlg.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
-
#ifndef DIALOGBOX_TOOLSGUI_CATALOGGENERATORDLG_H
#define DIALOGBOX_TOOLSGUI_CATALOGGENERATORDLG_H
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : ToolsGUI_icons.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: SALOME VERSION 0.4\n"
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+# SALOME TOOLSGUI : implementation of desktop "Tools" optioins
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : ToolsGUI_msg_en.po
+# Module : SALOME
+
msgid ""
msgstr ""
"Project-Id-Version: SALOME VERSION 0.4\n"
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:58:13 CEST 2001
-# Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-# Project : SALOME
-# Copyright : EDF 2001 - CEA 2001
+# SALOME TestContainer : test of container creation and its life cycle
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl
# Executables targets
-BIN = TestContainer
+BIN = TestContainer TestLogger
BIN_SRC =
LDFLAGS+= -lSalomeNotification -lSalomeNS -lSalomeContainer -lRegistry -lOpUtil -lSalomeLoggerServer
-CPPFLAGS+= -I../Logger
+
@CONCLUDE@
#! /usr/bin/env python
-
-#=============================================================================
-# File : SALOME_TestComponentPy.py
-# Created : lun sep 3 17:54:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-# $Header$
-#=============================================================================
+#
+# SALOME TestContainer : test of container creation and its life cycle
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : SALOME_TestComponentPy.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
+# $Header$
import sys
from omniORB import CORBA, PortableServer
-using namespace std;
-//=============================================================================
-// File : SALOME_TestComponent_i.cxx
-// Created : jeu jui 12 12:28:26 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME TestContainer : test of container creation and its life cycle
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_TestComponent_i.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "utilities.h"
#include "SALOME_TestComponent_i.hxx"
#include <stdio.h>
-//=============================================================================
-// File : SALOME_TestComponent_i.hxx
-// Created : jeu jui 12 12:28:30 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME TestContainer : test of container creation and its life cycle
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SALOME_TestComponent_i.hxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
#ifndef _SALOME_TESTCOMPONENT_I_HXX_
#define _SALOME_TESTCOMPONENT_I_HXX_
-#include <iostream.h>
+#include <iostream>
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOME_TestComponent)
#include "SALOME_Component_i.hxx"
#! /usr/bin/env python
-
-#=============================================================================
-# File : TestComponentPy.py
-# Created : lun sep 3 17:54:13 CEST 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-# $Header$
-#=============================================================================
+#
+# SALOME TestContainer : test of container creation and its life cycle
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : TestComponentPy.py
+# Author : Paul RASCLE, EDF
+# Module : SALOME
+# $Header$
import os
import sys
-using namespace std;
-//=============================================================================
-// File : TestContainer.cxx
-// Created : jeu jui 12 13:11:27 CEST 2001
-// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME TestContainer : test of container creation and its life cycle
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : TestContainer.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+using namespace std;
#include "utilities.h"
#include <iostream>
#include <unistd.h>
SALOME_NamingService _NS(orb) ;
string containerName = "/Containers/" ;
string hostName = GetHostname();
- containerName += hostName;
+ containerName += hostName + "/FactoryServer";
obj = _NS.Resolve(containerName.c_str()) ;
Engines::Container_var iGenFact = Engines::Container::_narrow(obj);
for (int iter = 0; iter < 3 ; iter++)
{
- MESSAGE("----------------------------------------------------" << iter);
-
- obj = iGenFact->load_impl("SalomeTestComponent",
- "../lib/libSalomeTestComponentEngine.so");
+ INFOS("----------------------------------------------------" << iter);
+ string dirn = getenv("SALOME_ROOT_DIR");
+ dirn += "/lib/libSalomeTestComponentEngine.so";
+ obj = iGenFact->load_impl("SalomeTestComponent",dirn.c_str());
m1 = Engines::TestComponent::_narrow(obj);
- MESSAGE("recup m1");
+ INFOS("recup m1");
SCRUTE(m1->instanceName());
- MESSAGE("Coucou " << m1->Coucou(1L));
+ INFOS("Coucou " << m1->Coucou(1L));
iGenFact->remove_impl(m1) ;
//iGenFact->finalize_removal() ; // unpredictable results ...
sleep(5);
--- /dev/null
+// SALOME TestContainer : test of container creation and its life cycle
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : TestContainer.cxx
+// Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+// Module : SALOME
+// $Header$
+
+using namespace std;
+#include "utilities.h"
+#include <iostream>
+#include <unistd.h>
+#include <SALOMEconfig.h>
+#include "SALOME_NamingService.hxx"
+#include "OpUtil.hxx"
+
+int main (int argc, char * argv[])
+{
+ INFOS("It's OK");
+ return 0;
+}
+
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:12:54 CEST 2001
-# Author : Marc Tajchman (CEA)
-# Project : SALOME
-# Copyright : CEA 2001
+# SALOME Utils : general SALOME's definitions and tools
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Marc Tajchman (CEA)
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
EXPORT_HEADERS= \
utilities.h \
OpUtil.hxx \
+ Utils_Timer.hxx \
Utils_CorbaException.hxx \
Utils_CommException.hxx \
Utils_SALOME_Exception.hxx \
EXPORT_PYSCRIPTS = Utils_Identity.py SALOME_utilities.py
# Libraries targets
-BIN_CLIENT_IDL =
-
LIB = libOpUtil.la
-LIB_SRC = OpUtil.cxx duplicate.cxx \
+LIB_SRC = OpUtil.cxx Utils_Timer.cxx duplicate.cxx \
Utils_CommException.cxx \
Utils_SALOME_Exception.cxx \
Utils_Identity.cxx Utils_ORB_INIT.cxx \
-using namespace std;
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OpUtil.cxx
+// Module : SALOME
+
#include "utilities.h"
#include "OpUtil.hxx"
#include <unistd.h>
#include <errno.h>
#include <string.h>
+using namespace std;
int gethostname(char *name, size_t len);
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : OpUtil.hxx
+// Module : SALOME
+
#ifndef _OPUTIL_HXX
#define _OPUTIL_HXX
#include <string>
-string GetHostname();
+std::string GetHostname();
const char *duplicate(const char * const);
#endif
+# SALOME Utils : general SALOME's definitions and tools
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : SALOME_utilities.py
+# Module : SALOME
+
import SALOME_Trace
GLogger = SALOME_Trace.SALOME_Trace()
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SalomeString.hxx
+// Module : SALOME
+
# ifndef SALOME_STRING
# define SALOME_STRING
-using namespace std;
-//=============================================================================
-// File : Utils_CommException.cxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_CommException.cxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
using namespace std;
# include "Utils_CommException.hxx"
-//=============================================================================
-// File : Utils_CommException.hxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_CommException.hxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
# if !defined ( __Utils_CommException_H__ )
# define __Utils_CommException_H__ )
-//=============================================================================
-// File : Utils_CorbaException.hxx
-// Created : mer déc 19 14:12:19 CET 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_CorbaException.hxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
#ifndef _UTILS_CORBAEXCEPTION_HXX_
#define _UTILS_CORBAEXCEPTION_HXX_
-using namespace std;
-//=============================================================================
-// File : Utils_DESTRUCTEUR_GENERIQUE.cxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_DESTRUCTEUR_GENERIQUE.cxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
using namespace std;
-
void Nettoyage( void ) ;
# include <iostream>
-//=============================================================================
-// File : Utils_DESTRUCTEUR_GENERIQUE.hxx
-// Created : Mon Nov 5 17:01:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_DESTRUCTEUR_GENERIQUE.hxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
# if !defined( __DESTRUCTEUR_GENERIQUE__H__ )
# define __DESTRUCTEUR_GENERIQUE__H__
-using namespace std;
-//=============================================================================
-// File : Utils_Identity.cxx
-// Created : Mon Nov 5 17:02:37 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
-
-# include <iostream.h>
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_Identity.cxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
+
+# include <iostream>
# include <arpa/inet.h>
# include <netinet/in.h>
# include <sys/types.h>
# include <netdb.h>
# include "utilities.h"
# include "Utils_Identity.hxx"
+using namespace std;
extern "C"
{
# include <string.h>
-//=============================================================================
-// File : Utils_Identity.hxx
-// Created : Mon Nov 5 17:02:37 CET 2001
-// Author : Pascale NOYRET, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_Identity.hxx
+// Author : Pascale NOYRET, EDF
+// Module : SALOME
+// $Header$
# if !defined( __IDENTITE_H__ )
# define __IDENTITE_H__
public :
Identity(const char *name);
~Identity();
- friend ostream & operator<< ( ostream& os , const Identity& monid );
+ friend std::ostream & operator<< ( std::ostream& os , const Identity& monid );
const char* const name( void ) const;
const pid_t& pid(void) const;
#! /usr/bin/env python
-
-#==============================================================================
-# File : Utils_Identity.py
-# Created : thur 02 May 2002
-# Author : Estelle Deville, CEA
-# Project : SALOME
-# Copyright : CEA 2002
+#
+# SALOME Utils : general SALOME's definitions and tools
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Utils_Identity.py
+# Author : Estelle Deville, CEA
+# Module : SALOME
# $Header$
-#==============================================================================
import sys
import os
-using namespace std;
-//=============================================================================
-// File : Utils_ORB_INIT.cxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_ORB_INIT.cxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
using namespace std;
# include "Utils_ORB_INIT.hxx"
{
try
{
- _orb = CORBA::ORB_init( argc , argv ) ;
- //set GIOP message size equal to 50Mb for transferring brep shapes as
- //sequence of bytes using C++ streams
- omniORB::MaxMessageSize(100*1024*1024);
+ // const char* options[][2] = { { "giopMaxMsgSize", "104857600" }, { 0, 0 } };
+ // _orb = CORBA::ORB_init( argc , argv , "omniORB4", options) ;
+ _orb = CORBA::ORB_init( argc , argv ) ;
+ //set GIOP message size equal to 50Mb for transferring brep shapes as
+ //sequence of bytes using C++ streams
+ omniORB::MaxMessageSize(100*1024*1024);
}
catch( const CORBA::Exception &ex )
{
-//=============================================================================
-// File : Utils_ORB_INIT.hxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
-
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_ORB_INIT.hxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
# if ! defined( __ORB_INIT_HXX__ )
# define __ORB_INIT_HXX__
-using namespace std;
-//=============================================================================
-// File : Utils_SALOME_Exception.cxx
-// Created : Mon Nov 5 17:01:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_SALOME_Exception.cxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
using namespace std;
#include <iostream>
-//=============================================================================
-// File : Utils_SALOME_Exception.hxx
-// Created : Mon Nov 5 17:01:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_SALOME_Exception.hxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
#if !defined( __Utils_SALOME_Exception_hxx__ )
#define __Utils_SALOME_Exception_hxx__
-//=============================================================================
-// File : Utils_SINGLETON.hxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
-
-
-
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_SINGLETON.hxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
# if !defined( __SINGLETON__H__ )
# define __SINGLETON__H__
--- /dev/null
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_Timer.cxx
+// Module : SALOME
+
+# include "Utils_Timer.hxx"
+# include <stream.h>
+using namespace std;
+
+static struct timezone *tz=(struct timezone*) malloc(sizeof(struct timezone));
+
+#ifndef CLK_TCK
+# define CLK_TCK CLOCKS_PER_SEC
+#endif
+
+Utils_Timer::Utils_Timer() {
+ RefToInitialTMS = new tms;
+ RefToCurrentTMS = new tms;
+
+ RefToInitialTimeB = new timeval;
+ RefToCurrentTimeB = new timeval;
+
+ Cumul_user = Cumul_sys = 0.;
+ Stopped = 1;
+}
+
+Utils_Timer::~Utils_Timer() {
+ delete RefToInitialTMS ;
+ delete RefToCurrentTMS ;
+
+ delete RefToInitialTimeB ;
+ delete RefToCurrentTimeB ;
+}
+
+void Utils_Timer::Start() {
+ if (Stopped) {
+ Stopped = 0;
+ times(RefToInitialTMS);
+ gettimeofday(RefToInitialTimeB,tz);
+ }
+}
+
+void Utils_Timer::Stop() {
+ if (!Stopped) {
+ times(RefToCurrentTMS);
+ int diffr_user = RefToCurrentTMS->tms_utime - RefToInitialTMS->tms_utime;
+ int diffr_sys = RefToCurrentTMS->tms_stime - RefToInitialTMS->tms_stime;
+ gettimeofday(RefToCurrentTimeB,tz);
+
+ Cumul_user += (double) diffr_user / CLK_TCK ;
+ Cumul_sys += (double) diffr_sys / CLK_TCK ;
+
+ Stopped = 1;
+ }
+}
+
+void Utils_Timer::Show() {
+ bool StopSav = Stopped;
+ if (!StopSav) Stop();
+ cout << "CPU user time: " << Cumul_user << " seconds " << endl;
+ cout << "CPU system time: " << Cumul_sys << " seconds " << endl;
+ if (!StopSav) Start();
+}
+
+void Utils_Timer::Reset() {
+ Stopped = 1;
+ Cumul_user = Cumul_sys = 0. ;
+}
+
+void Utils_Timer::ShowAbsolute(){
+ unsigned long Absolute_user = (unsigned long) ((timeval*)RefToCurrentTimeB)->tv_sec ;
+ cout << "Absolute time: " << Absolute_user << " seconds " << endl;
+}
--- /dev/null
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : Utils_Timer.hxx
+// Module : SALOME
+
+# include <sys/times.h>
+# include <sys/time.h>
+# include <unistd.h>
+
+class Utils_Timer {
+ public:
+ Utils_Timer();
+ virtual ~Utils_Timer();
+ void Start();
+ void Stop();
+ void Reset();
+ void Show();
+ void ShowAbsolute();
+ protected:
+ double Cumul_user;
+ double Cumul_sys;
+ bool Stopped;
+ tms *RefToCurrentTMS, *RefToInitialTMS;
+ timeval *RefToCurrentTimeB, *RefToInitialTimeB;
+};
-using namespace std;
-//=============================================================================
-// File : duplicate.cxx
-// Created : lun nov 5 16:04:47 CET 2001
-// Author : Antoine YESSAYAN, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : duplicate.cxx
+// Author : Antoine YESSAYAN, EDF
+// Module : SALOME
+// $Header$
/*!
* This function can be changed by strdup() if strdup() is ANSI.
-//=============================================================================
-// File : utilities.h
-// Created : mar jun 19 13:18:14 CEST 2001
-// Author : Antoine YESSAYAN, Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// SALOME Utils : general SALOME's definitions and tools
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : utilities.h
+// Author : Antoine YESSAYAN, Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
/* --- Definition macros file to print informations if _DEBUG_ is defined --- */
# include <stdlib.h>
# include <iostream>
+
+
//VRV: T2.4 - replacement macro for using special CORBA server
#include "SALOME_Trace.hxx"
//VRV: T2.4 - replacement macro for using special CORBA server
# define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;}
# endif /* ASSERT */
+
+
+
+
+
+
# else /* ifdef _DEBUG_*/
#define HERE
# endif /* ASSERT */
-
# endif /* ifdef _DEBUG_*/
# endif /* ifndef UTILITIES_H */
+# SALOME Utils : general SALOME's definitions and tools
+#
+# Copyright (C) 2003 CEA/DEN, EDF R&D
+#
+#
+#
+# File : utilities.py
+# Module : SALOME
+
import SALOME_Trace
GLogger = SALOME_Trace.SALOME_Trace()
-#==============================================================================
-# File : Makefile.in
-# Created : mar jui 3 12:12:54 CEST 2001
-# Author : Marc Tajchman (CEA)
-# Project : SALOME
-# Copyright : CEA 2001
+# SALOME VTKViewer : build VTK viewer into Salome desktop
+#
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : Makefile.in
+# Author : Marc Tajchman (CEA)
+# Module : SALOME
# $Header$
-#==============================================================================
-# source path
top_srcdir=@top_srcdir@
-top_builddir=../..
+top_builddir=../../..
srcdir=@srcdir@
VPATH=.:@srcdir@:$(top_builddir)/inc:$(top_builddir)/idl
# header files
EXPORT_HEADERS= VTKViewer_RenderWindow.h \
- VTKViewer_RenderWindowInteractor.h \
VTKViewer_ViewFrame.h \
- VTKViewer_NonIsometricTransform.h
+ VTKViewer_RenderWindowInteractor.h \
+ VTKViewer_InteractorStyleSALOME.h
# Libraries targets
LIB = libVTKViewer.la
VTKViewer_ViewFrame.cxx \
VTKViewer_RenderWindow.cxx \
VTKViewer_RenderWindowInteractor.cxx \
- VTKViewer_InteractorStyleSALOME.cxx \
- VTKViewer_NonIsometricTransform.cxx
+ VTKViewer_InteractorStyleSALOME.cxx
LIB_MOC = \
VTKViewer.h \
VTKViewer_ViewFrame.h \
- VTKViewer_RenderWindow.h \
- VTKViewer_RenderWindowInteractor.h
+ VTKViewer_RenderWindowInteractor.h \
+ VTKViewer_RenderWindow.h
+
LIB_CLIENT_IDL = SALOMEDS.idl \
SALOME_ModuleCatalog.idl \
-using namespace std;
-// File : VTKViewer.cxx
-// Created : Wed Mar 20 11:58:44 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "VTKViewer.h"
#include "VTKViewer_ViewFrame.h"
-// File : VTKViewer.h
-// Created : Wed Mar 20 11:56:18 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef VTKViewer_HeaderFile
-using namespace std;
-// File : VTKViewer_InteractorStyleSALOME.cxx
-// Created : Wed Mar 20 11:37:34 2002
-// Author : Christophe ATTANASIO
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_InteractorStyleSALOME.cxx
+// Author : Christophe ATTANASIO
+// Module : SALOME
// $Header$
+using namespace std;
#include "VTKViewer_InteractorStyleSALOME.h"
#include "VTKViewer_RenderWindow.h"
#include <vtkExtractEdges.h>
#include <vtkPolyDataMapper.h>
#include <vtkDataSetCollection.h>
+#include <vtkImageData.h>
+
//VRV: porting on Qt 3.0.5
#if QT_VERSION >= 0x030005
cam->OrthogonalizeViewUp();
this->CurrentRenderer->ResetCameraClippingRange();
vtkRenderWindowInteractor *rwi = this->Interactor;
- if (this->CurrentLight)
+ /* VSV Light follows camera: if (this->CurrentLight)
{
// get the first light
this->CurrentLight->SetPosition(cam->GetPosition());
this->CurrentLight->SetFocalPoint(cam->GetFocalPoint());
- }
+ } */
rwi->Render();
}
void VTKViewer_InteractorStyleSALOME::PanXY(int x, int y, int oldX, int oldY)
{
TranslateView(x, y, oldX, oldY);
- vtkRenderWindowInteractor *rwi = this->Interactor;
- if (this->CurrentLight)
+ //vtkRenderWindowInteractor *rwi = this->Interactor;
+ /* VSV Light follows camera: if (this->CurrentLight)
{
- /* get the first light */
vtkCamera *cam = this->CurrentRenderer->GetActiveCamera();
this->CurrentLight->SetPosition(cam->GetPosition());
this->CurrentLight->SetFocalPoint(cam->GetFocalPoint());
- }
+ }*/
- rwi->Render();
+ this->Interactor->Render();
}
//----------------------------------------------------------------------------
void VTKViewer_InteractorStyleSALOME::DollyXY(int dx, int dy)
{
vtkCamera *cam;
- double dxf = this->MotionFactor * (double)(dx) / (double)(this->Center[1]);
- double dyf = this->MotionFactor * (double)(dy) / (double)(this->Center[1]);
+ double dxf = this->MotionFactor * (double)(dx) / (double)(this->CurrentRenderer->GetCenter()[1]);
+ double dyf = this->MotionFactor * (double)(dy) / (double)(this->CurrentRenderer->GetCenter()[1]);
double zoomFactor = pow((double)1.1, dxf + dyf);
this->CurrentRenderer->ResetCameraClippingRange();
}
- if (this->CurrentLight)
- {
- /* get the first light */
+ /* VSV Light follows camera: if (this->CurrentLight)
+ {
this->CurrentLight->SetPosition(cam->GetPosition());
this->CurrentLight->SetFocalPoint(cam->GetFocalPoint());
- }
+ }*/
this->Interactor->Render();
}
return;
}
- double newAngle = atan2((double)(y - this->Center[1]),
- (double)(x - this->Center[0]));
- double oldAngle = atan2((double)(oldY -this->Center[1]),
- (double)(oldX - this->Center[0]));
+ double newAngle = atan2((double)(y - this->CurrentRenderer->GetCenter()[1]),
+ (double)(x - this->CurrentRenderer->GetCenter()[0]));
+ double oldAngle = atan2((double)(oldY -this->CurrentRenderer->GetCenter()[1]),
+ (double)(oldX - this->CurrentRenderer->GetCenter()[0]));
newAngle *= this->RadianToDegree;
oldAngle *= this->RadianToDegree;
void VTKViewer_InteractorStyleSALOME::OnLeftButtonDown(int ctrl, int shift,
int x, int y)
{
- if (this->HasObserver(vtkCommand::LeftButtonPressEvent))
- {
+ if (this->HasObserver(vtkCommand::LeftButtonPressEvent)) {
this->InvokeEvent(vtkCommand::LeftButtonPressEvent,NULL);
return;
- }
+ }
this->FindPokedRenderer(x, y);
- if (this->CurrentRenderer == NULL)
- {
+ if (this->CurrentRenderer == NULL) {
return;
- }
+ }
myShiftState = shift;
// finishing current viewer operation
if (State != VTK_INTERACTOR_STYLE_CAMERA_NONE) {
myOtherPoint = myPoint = QPoint(x, y);
if (ForcedState != VTK_INTERACTOR_STYLE_CAMERA_NONE) {
startOperation(ForcedState);
- }
- else {
+ } else {
if (ctrl)
startOperation(VTK_INTERACTOR_STYLE_CAMERA_ZOOM);
else
// event filter - controls mouse and keyboard events during viewer operations
bool VTKViewer_InteractorStyleSALOME::eventFilter(QObject* object, QEvent* event)
{
- VTKViewer_RenderWindow* wnd = dynamic_cast<VTKViewer_RenderWindow*>(GetInteractor()->GetRenderWindow());
- if ( (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::KeyPress) && object != wnd)
+ if (!myGUIWindow) return false;
+ if ( (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::KeyPress) && object != myGUIWindow)
{
qApp->removeEventFilter(this);
startOperation(VTK_INTERACTOR_STYLE_CAMERA_NONE);
ac = m_Triedron->GetNextActor();
}
}
- VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(this->Interactor->GetRenderWindow());
- if (aRW) aRW->updateGL();
+ //VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(this->Interactor->GetRenderWindow());
+ if (myGUIWindow) myGUIWindow->update();
qApp->installEventFilter(this);
}
return;
}
vtkCamera *cam = this->CurrentRenderer->GetActiveCamera();
-
+
// move camera
int x = (left + right)/2;
int y = (top + bottom)/2;
int oldX = aSize[0]/2;
int oldY = aSize[1]/2;
TranslateView(oldX, oldY, x, y);
+
// zoom camera
double dxf = (double)(aSize[0]) / (double)(abs(right - left));
this->CurrentRenderer->ResetCameraClippingRange();
}
- vtkRenderWindowInteractor *rwi = this->Interactor;
- if (this->CurrentLight) {
- /* get the first light */
+ //vtkRenderWindowInteractor *rwi = this->Interactor;
+ /* VSV Light follows camera: if (this->CurrentLight) {
this->CurrentLight->SetPosition(cam->GetPosition());
this->CurrentLight->SetFocalPoint(cam->GetFocalPoint());
- }
+ }*/
// rwi->Render();
- VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(rwi->GetRenderWindow());
- if (aRW) aRW->updateGL();
+ //VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(rwi->GetRenderWindow());
+ myGUIWindow->update();
}
// sets proper cursor for window when viewer operation is activated
void VTKViewer_InteractorStyleSALOME::setCursor(const int operation)
{
- VTKViewer_RenderWindow* wnd = dynamic_cast< VTKViewer_RenderWindow*>(GetInteractor()->GetRenderWindow());
+ if (!myGUIWindow) return;
switch (operation)
{
case VTK_INTERACTOR_STYLE_CAMERA_ZOOM:
- wnd->setCursor(myZoomCursor);
+ myGUIWindow->setCursor(myZoomCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_PAN:
- wnd->setCursor(myPanCursor);
+ myGUIWindow->setCursor(myPanCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_ROTATE:
- wnd->setCursor(myRotateCursor);
+ myGUIWindow->setCursor(myRotateCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_SPIN:
- wnd->setCursor(mySpinCursor);
+ myGUIWindow->setCursor(mySpinCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_GLOBAL_PAN:
- wnd->setCursor(myGlobalPanCursor);
+ myGUIWindow->setCursor(myGlobalPanCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_FIT:
case VTK_INTERACTOR_STYLE_CAMERA_SELECT:
- wnd->setCursor(myHandCursor);
+ myGUIWindow->setCursor(myHandCursor);
myCursorState = true;
break;
case VTK_INTERACTOR_STYLE_CAMERA_NONE:
default:
- wnd->setCursor(myDefCursor);
+ myGUIWindow->setCursor(myDefCursor);
myCursorState = false;
break;
}
// called when viewer operation started (!put necessary initialization here!)
void VTKViewer_InteractorStyleSALOME::onStartOperation()
{
- VTKViewer_RenderWindow* wnd = dynamic_cast< VTKViewer_RenderWindow*>(GetInteractor()->GetRenderWindow());
+ if (!myGUIWindow) return;
switch (State) {
case VTK_INTERACTOR_STYLE_CAMERA_SELECT:
case VTK_INTERACTOR_STYLE_CAMERA_FIT:
{
- QPainter p(wnd);
+ QPainter p(myGUIWindow);
p.setPen(Qt::lightGray);
p.setRasterOp(Qt::XorROP);
p.drawRect(QRect(myPoint, myOtherPoint));
// called when viewer operation finished (!put necessary post-processing here!)
void VTKViewer_InteractorStyleSALOME::onFinishOperation()
{
+ if (!myGUIWindow) return;
+
QAD_Study* aActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
SALOME_Selection* aSel = SALOME_Selection::Selection( aActiveStudy->getSelection() );
- VTKViewer_RenderWindow* wnd = dynamic_cast< VTKViewer_RenderWindow*>(GetInteractor()->GetRenderWindow());
vtkRenderWindowInteractor *rwi = this->Interactor;
int aSelectionMode = aSel->SelectionMode();
case VTK_INTERACTOR_STYLE_CAMERA_SELECT:
case VTK_INTERACTOR_STYLE_CAMERA_FIT:
{
- QPainter p(wnd);
+ QPainter p(myGUIWindow);
p.setPen(Qt::lightGray);
p.setRasterOp(Qt::XorROP);
QRect rect(myPoint, myOtherPoint);
}
//Edge selection ////////////////////////// NB
else if ( aSelectionMode == 2 ) {
- if ( SActor->hasIO() ) {
+ if(SActor->hasIO()){
Handle(SALOME_InteractiveObject) IO = SActor->getIO();
float pickPosition[3],pcoords[3],closestPoint[3],weights[3],dist1=1000000.0,dist2=0;
- int subId,edgeId,pickedID,result;
+ int subId,edgeId=-10,pickedID,result;
pickedID = picker->GetCellId();
picker->GetPickPosition(pickPosition);
- MESSAGE("Position = "<<pickPosition[0]<<" "<<pickPosition[1]<<" "<<pickPosition[2]);
- vtkUnstructuredGrid* UGrid = vtkUnstructuredGrid::SafeDownCast( SActor->GetMapper()->GetInput());
- if (!UGrid) break;
- vtkCell* pickedCell = UGrid->GetCell(pickedID);
- if (!pickedCell) break;
- vtkCell* edge;
- vtkLine* line;
- for (int i=0;i<pickedCell->GetNumberOfEdges();i++) {
- edge = pickedCell->GetEdge(i);
- if (edge->GetCellType() == 3) { //3 for VTK_LINE
- line = (vtkLine*)edge;
- result = line->EvaluatePosition(pickPosition,closestPoint,subId,pcoords,dist2,weights);
- MESSAGE("edge "<< i <<" dist = " << dist2);
- if (dist2 < dist1) {
- dist1 = dist2;
- edgeId = i;
- }
- }
- }
- MESSAGE("edgeID transformed = "<<edgeId);
- // Look in the current selection
- SALOME_ListIteratorOfListIO It(aSel->StoredIObjects());
- Standard_Boolean IsSelected = false;
- for(;It.More();It.Next()) {
- Handle(SALOME_InteractiveObject) IOS = It.Value();
- if(IO->isSame(IOS)) {
- IO = IOS; //Added by SRN, fix SAL1307
- IsSelected = true;
- break;
- }
- }
- if(!myShiftState) {
- this->HighlightProp( NULL );
- aSel->ClearIObjects();
- }
- aSel->SetSelectionMode(3, true);
- bool add = aSel->AddOrRemoveIndex( IO, pickedID, 0 );
- aSel->SetSelectionMode(2, true);
- edgeId = -edgeId;
- add = aSel->AddOrRemoveIndex( IO, edgeId, 0, false );
- aSel->AddIObject( IO, false );
- }
- }
+ if (vtkDataSet* UGrid = SActor->GetMapper()->GetInput()){
+ if (vtkCell* pickedCell = UGrid->GetCell(pickedID)){
+ edgeId = -1;
+ for (int i = 0, iEnd = pickedCell->GetNumberOfEdges(); i < iEnd; i++){
+ vtkCell* edge = pickedCell->GetEdge(i);
+ if(vtkLine* line = vtkLine::SafeDownCast(edge)){
+ result = line->EvaluatePosition(pickPosition,closestPoint,subId,pcoords,dist2,weights);
+ if (dist2 < dist1) {
+ dist1 = dist2;
+ edgeId = i;
+ }
+ }
+ }
+ MESSAGE("edgeID transformed = "<<edgeId);
+ // Look in the current selection
+ SALOME_ListIteratorOfListIO It(aSel->StoredIObjects());
+ Standard_Boolean IsSelected = false;
+ for(;It.More();It.Next()) {
+ Handle(SALOME_InteractiveObject) IOS = It.Value();
+ if(IO->isSame(IOS)) {
+ IO = IOS; //Added by SRN, fix SAL1307
+ IsSelected = true;
+ break;
+ }
+ }
+ if(!myShiftState) {
+ this->HighlightProp( NULL );
+ aSel->ClearIObjects();
+ }
+ aSel->SetSelectionMode(2, true);
+ bool add = aSel->AddOrRemoveIndex( IO, pickedID, true, false);
+ if(edgeId >= 0)
+ add = aSel->AddOrRemoveIndex( IO, -edgeId-1, true, true );
+ aSel->AddIObject( IO, false );
+ }
+ }
+ }
+ }
} else {
this->HighlightProp( NULL );
aSel->ClearIObjects();
case 2: // edges selection
case 3: // triangles selection
{
- if (! rwi->GetPicker()->IsA("vtkCellPicker") ) break;
+ aSel->SetSelectionMode(aSelectionMode,true);
+ if (!rwi->GetPicker()->IsA("vtkCellPicker") ) break;
vtkCellPicker* aCellPicker = vtkCellPicker::SafeDownCast(rwi->GetPicker());
vtkActorCollection* aListActors = this->CurrentRenderer->GetActors();
aListActors->InitTraversal();
vtkActor* aActor;
- for (int k = 0; k < aListActors->GetNumberOfItems(); k++) {
- aActor = aListActors->GetNextActor();
- if (aActor != NULL) {
- if (aActor->GetVisibility() == 0)
- continue;
- vtkAbstractMapper3D* aMapper3D = aActor->GetMapper();
- if ((aMapper3D != NULL) && (aActor->IsA("SALOME_Actor"))) {
- SALOME_Actor* SActor = SALOME_Actor::SafeDownCast(aActor);
-
- if ((SActor != NULL) && (SActor->hasIO())) {
+ for (int k = 0, kEnd = aListActors->GetNumberOfItems(); k < kEnd; k++){
+ vtkActor* aActor = aListActors->GetNextActor();
+ if (vtkActor* aActor = aListActors->GetNextActor()){
+ if (aActor->GetVisibility() == 0) continue;
+ if(SALOME_Actor* SActor = SALOME_Actor::SafeDownCast(aActor)) {
+ if(SActor->hasIO()) {
Handle(SALOME_InteractiveObject) IO = SActor->getIO();
- if (IO.IsNull())
- continue;
- if (aSelActiveCompOnly &&
- strcmp(aActiveComponent->ComponentDataType(), IO->getComponentDataType()) != 0) {
- continue;
- }
-
- vtkMapper* aMapper;
- vtkVolumeMapper* aVolumeMapper;
- vtkDataSet* aDataSet;
-
- if ( (aMapper = vtkMapper::SafeDownCast(aMapper3D)) != NULL ) {
- aDataSet = aMapper->GetInput();
- } else if ((aVolumeMapper = vtkVolumeMapper::SafeDownCast(aMapper3D)) != NULL ){
- aDataSet = aVolumeMapper->GetInput();
- } else {
- continue;
- }
- if (aDataSet) {
- for (int i=0; i < aDataSet->GetNumberOfCells(); i++) {
- vtkCell* aCell = aDataSet->GetCell(i);
- if (aCell != NULL) {
- if (IsInRect(aCell, x1, y1, x2, y2)) {
+ if(IO.IsNull()) continue;
+ if(aSelActiveCompOnly)
+ if(strcmp(aActiveComponent->ComponentDataType(),IO->getComponentDataType()) != 0)
+ continue;
+ if(vtkDataSet* aDataSet = SActor->GetMapper()->GetInput()){
+ for(int i = 0, iEnd = aDataSet->GetNumberOfCells(); i < iEnd; i++){
+ if(vtkCell* aCell = aDataSet->GetCell(i)){
+ if(IsInRect(aCell, x1, y1, x2, y2)){
float* aBounds = aCell->GetBounds();
float aCenter[3];
aCenter[0] =(aBounds[0] + aBounds[1])/2; // Center X
aCenter[1] =(aBounds[2] + aBounds[3])/2; // Center Y
aCenter[2] =(aBounds[4] + aBounds[5])/2; // Center Z
float aDisp[3];
- ComputeWorldToDisplay(aCenter[0],
- aCenter[1],
- aCenter[2], aDisp);
+ ComputeWorldToDisplay(aCenter[0],aCenter[1],aCenter[2],aDisp);
aCellPicker->Pick(aDisp[0], aDisp[1], 0.0, CurrentRenderer);
- if (aSelectionMode == 3) {
- if ( aCellPicker->GetCellId() >= 0 &&
- (!aSel->IsIndexSelected(IO, aCellPicker->GetCellId()))) {
- aSel->AddOrRemoveIndex( IO, aCellPicker->GetCellId(), true, false);
- aSel->AddIObject( IO, false );
- }
- } else {
- vtkCell* aTriangleCell = aDataSet->GetCell(aCellPicker->GetCellId());
- vtkCell* aEdge;
- if (!aSel->IsIndexSelected(IO, aCellPicker->GetCellId())) {
- aSel->SetSelectionMode(3, true);
- aSel->AddOrRemoveIndex(IO, aCellPicker->GetCellId(), true, false);
- }
- aSel->SetSelectionMode(2, true);
- for (int i=0; i < aTriangleCell->GetNumberOfEdges(); i++) {
- aSel->AddOrRemoveIndex( IO, i, true, false);
- }
+ if(aCellPicker->GetCellId() >= 0 && !aSel->IsIndexSelected(IO,aCellPicker->GetCellId())){
+ aSel->AddOrRemoveIndex( IO, aCellPicker->GetCellId(), true, false);
aSel->AddIObject( IO, false );
}
}
// called during viewer operation when user moves mouse (!put necessary processing here!)
void VTKViewer_InteractorStyleSALOME::onOperation(QPoint mousePos)
{
+ if (!myGUIWindow) return;
int w, h;
GetInteractor()->GetSize(w, h);
- VTKViewer_RenderWindow* wnd = dynamic_cast< VTKViewer_RenderWindow*>(GetInteractor()->GetRenderWindow());
switch (State) {
case VTK_INTERACTOR_STYLE_CAMERA_PAN:
{
// processing panning
- this->FindPokedCamera(mousePos.x(), mousePos.y());
+ //this->FindPokedCamera(mousePos.x(), mousePos.y());
this->PanXY(mousePos.x(), myPoint.y(), myPoint.x(), mousePos.y());
myPoint = mousePos;
break;
case VTK_INTERACTOR_STYLE_CAMERA_ZOOM:
{
// processing zooming
- this->FindPokedCamera(mousePos.x(), mousePos.y());
+ //this->FindPokedCamera(mousePos.x(), mousePos.y());
this->DollyXY(mousePos.x() - myPoint.x(), mousePos.y() - myPoint.y());
myPoint = mousePos;
break;
case VTK_INTERACTOR_STYLE_CAMERA_ROTATE:
{
// processing rotation
- this->FindPokedCamera(mousePos.x(), mousePos.y());
+ //this->FindPokedCamera(mousePos.x(), mousePos.y());
this->RotateXY(mousePos.x() - myPoint.x(), myPoint.y() - mousePos.y());
myPoint = mousePos;
break;
case VTK_INTERACTOR_STYLE_CAMERA_SPIN:
{
// processing spinning
- this->FindPokedCamera(mousePos.x(), mousePos.y());
+ //this->FindPokedCamera(mousePos.x(), mousePos.y());
this->SpinXY(mousePos.x(), mousePos.y(), myPoint.x(), myPoint.y());
myPoint = mousePos;
break;
}
case VTK_INTERACTOR_STYLE_CAMERA_FIT:
{
- QPainter p(wnd);
+ QPainter p(myGUIWindow);
p.setPen(Qt::lightGray);
p.setRasterOp(Qt::XorROP);
p.drawRect(QRect(myPoint, myOtherPoint));
cam->SetParallelScale(myScale);
this->CurrentRenderer->ResetCameraClippingRange();
- if (this->CurrentLight) {
+ /* VSV Light follows camera: if (this->CurrentLight) {
this->CurrentLight->SetPosition(cam->GetPosition());
this->CurrentLight->SetFocalPoint(cam->GetFocalPoint());
- }
- VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(this->Interactor->GetRenderWindow());
- if (aRW) aRW->updateGL();
+ }*/
+ //VTKViewer_RenderWindow* aRW = dynamic_cast<VTKViewer_RenderWindow*>(this->Interactor->GetRenderWindow());
+ if (myGUIWindow) myGUIWindow->update();
}
-// File : VTKViewer_InteractorStyleSALOME.h
-// Created : Wed Mar 20 11:36:07 2002
-// Author : Christophe ATTANASIO
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_InteractorStyleSALOME.h
+// Author : Christophe ATTANASIO
+// Module : SALOME
// $Header$
-
#ifndef __VTKViewer_InteractorStyleSALOME_h
#define __VTKViewer_InteractorStyleSALOME_h
void startFitArea();
void startSpin();
bool needsRedrawing();
+ QWidget* getGUIWindow() {return myGUIWindow;}
+ void setGUIWindow(QWidget* theWin) { myGUIWindow = theWin;}
protected:
void loadCursors();
bool myShiftState;
int ForcedState;
vtkActorCollection* m_Triedron;
+
+ QWidget* myGUIWindow;
+
+ // members from old version
+ double DeltaElevation;
+ double DeltaAzimuth;
+ int LastPos[2];
};
#endif
-using namespace std;
-// File : VTKViewer_RenderWindow.cxx
-// Created : Wed Mar 20 11:34:28 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_RenderWindow.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "VTKViewer_RenderWindow.h"
#include "utilities.h"
#include "QAD_Settings.h"
#include <iostream.h>
#include <vtkRenderWindowInteractor.h>
+#include <vtkRendererCollection.h>
+#include <vtkXOpenGLRenderWindow.h>
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include <qgl.h>
+//#include <GL/gl.h>
+//#include <GL/glu.h>
+//#include <qgl.h>
#if QT_VERSION > 300
#include <qcursor.h>
#endif
VTKViewer_RenderWindow::VTKViewer_RenderWindow(QWidget *parent, const char *name) :
- QGLWidget(parent, name)
+ QWidget(parent, name,
+ Qt::WStyle_NoBorder | Qt::WDestructiveClose |
+ Qt::WResizeNoErase | Qt::WRepaintNoErase)
{
- mInitialized = false ;
- //NRI - 22/02/2002 setFocusPolicy(QWidget::StrongFocus) ;
- //NRI - comment rev 1.6 - setFocus();
+ myRW = vtkRenderWindow::New();
+ MESSAGE(QString("RenderWindow is ") + QString(myRW->GetClassName()));
+ myRW->SetDisplayId((void*)x11Display());
+ myRW->SetWindowId((void*)winId());
+ myRW->DoubleBufferOn();
}
VTKViewer_RenderWindow::~VTKViewer_RenderWindow() {
- this->ReferenceCount-- ;
-}
-
-void VTKViewer_RenderWindow::PrintSelf(ostream& os, vtkIndent indent) {
- this->vtkRenderWindow::PrintSelf(os, indent);
-
- QGLFormat myFormat = this->format() ;
- os << indent << "qGLVersion: " << qGLVersion() << endl ;
- os << indent << "doubleBuffer: " << myFormat.doubleBuffer() << endl ;
- os << indent << "depth: " << myFormat.depth() << endl ;
- os << indent << "rgba: " << myFormat.rgba() << endl ;
- os << indent << "alpha: " << myFormat.alpha() << endl ;
- os << indent << "accum: " << myFormat.accum() << endl ;
- os << indent << "stencil: " << myFormat.stencil() << endl ;
- os << indent << "stereo: " << myFormat.stereo() << endl ;
- os << indent << "directRendering: " << myFormat.directRendering() << endl ;
-}
-
-void VTKViewer_RenderWindow::Start(void) {
- //
- // Initialize the QGLWidget part of the widget if it has not
- // been initialized so far.
- //
- if( ! this->mInitialized ) {
- this->WindowInitialize() ;
- }
- this->MakeCurrent() ;
-}
-
-// End the rendering process and display the image.
-void VTKViewer_RenderWindow::Frame(void) {
- glFlush() ;
- if( (! this->AbortRender) && // the render is not being aborted
- (! autoBufferSwap() ) && // buffers are not switched automatically
- doubleBuffer() && // double buffering is enabled on QGLWidget side
- this->vtkRenderWindow::DoubleBuffer && // double buffering is enabled on VTK side
- this->SwapBuffers ) { // VTK wants us to swap buffers
- QGLWidget::swapBuffers() ;
- }
-}
-void* VTKViewer_RenderWindow::GetGenericDisplayId() {
- return ((void*)x11Display());
-}
-
-void* VTKViewer_RenderWindow::GetGenericWindowId() {
- return ((void*)winId());
-}
-
-void* VTKViewer_RenderWindow::GetGenericContext() {
- return ((void*)(this->context())->currentContext());
-}
-
-// Initialize the window for rendering.
-void VTKViewer_RenderWindow::WindowInitialize(void) {
- if( ! this->mInitialized ) {
- this->initializeGL() ;
- this->MakeCurrent() ;
-
- vtkDebugMacro(<< " glMatrixMode ModelView\n");
- glMatrixMode( GL_MODELVIEW );
-
- vtkDebugMacro(<< " zbuffer enabled\n");
- glDepthFunc( GL_LEQUAL );
- glEnable( GL_DEPTH_TEST );
-
- vtkDebugMacro(" texture stuff\n");
- glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
-
- // initialize blending for transparency
- vtkDebugMacro(<< " blend func stuff\n");
- glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
- glEnable(GL_BLEND);
-
- if (this->PointSmoothing)
- {
- glEnable(GL_POINT_SMOOTH);
- }
- else
- {
- glDisable(GL_POINT_SMOOTH);
- }
-
- if (this->LineSmoothing)
- {
- glEnable(GL_LINE_SMOOTH);
- }
- else
- {
- glDisable(GL_LINE_SMOOTH);
- }
-
- if (this->PolygonSmoothing)
- {
- glEnable(GL_POLYGON_SMOOTH);
- }
- else
- {
- glDisable(GL_POLYGON_SMOOTH);
- }
-
- glEnable( GL_NORMALIZE );
- glAlphaFunc(GL_GREATER,0);
-
- this->Mapped = 1;
-
- }
+ //myRW->Delete(); //BUG SAL2954, Commented by SRN, to avoid problems when using rlogin
}
-void VTKViewer_RenderWindow::SetFullScreen(int arg) {
- //
- // We do not need to do anything if the FullScreen mode
- // is already set to the specified value.
- //
- if( this->FullScreen == arg ) return ;
-
- //
- // :TODO: Fri Apr 21 16:41:06 2000 Pagey
- // This is not implemented in QGLWidget yet. Hence, we
- // will ignore it.
- //
- vtkDebugMacro(<< " QGLWidget::SetFullScreen() not supported by QGLWidget yet.\n") ;
+void VTKViewer_RenderWindow::paintEvent(QPaintEvent* theEvent) {
+ myRW->Render();
}
-void VTKViewer_RenderWindow::WindowRemap(void) {
- //
- // :TODO: Fri Apr 21 16:44:35 2000 Pagey
- // I am not sure why we would ever need to do this under Qt.
- // Hence, I have not done anything here yet.
- //
- vtkDebugMacro(<< " QGLWidget::WindowRemap() not supported by QGLWidget yet.\n") ;
+void VTKViewer_RenderWindow::resizeEvent(QResizeEvent* theEvent) {
+ vtkRenderWindowInteractor* aRWI = myRW->GetInteractor();
+ if (aRWI != NULL)
+ aRWI->SetSize(width(), height());
+ myRW->SetSize(width(), height());
}
-void VTKViewer_RenderWindow::PrefFullScreen(void) {
- //
- // :TODO: Fri Apr 21 16:46:30 2000 Pagey
- // Since, SetFullScreen() is not supported yet, this is useless.
- //
- vtkDebugMacro(<< " QGLWidget::PrefFullScreen() not supported by QGLWidget yet.\n") ;
-}
-
-void VTKViewer_RenderWindow::SetSize(int w, int h) {
- if ((this->Size[0] != w)||(this->Size[1] != h)) {
- this->Modified();
- this->Size[0] = w;
- this->Size[1] = h;
- }
-
- if( this->Interactor ) {
- this->Interactor->SetSize(w, h) ;
- }
-
- // if we arent mappen then just set the ivars
- if (!this->Mapped) {
- return;
- }
-
- glViewport( 0, 0, (GLint)w, (GLint)h ) ;
-}
-
-void VTKViewer_RenderWindow::StereoUpdate() {
- //
- // :NOTE: Fri Apr 21 16:55:32 2000 Pagey
- // This routine is taken directly from vtkOpenGLRenderWindow.cxx.
- // I am not sure what it does. Hope it works.
- //
- if (this->StereoRender && (!this->StereoStatus))
- {
- switch (this->StereoType)
- {
- case VTK_STEREO_CRYSTAL_EYES:
- {
- }
- break;
- case VTK_STEREO_RED_BLUE:
- {
- this->StereoStatus = 1;
- }
- }
- }
- else if ((!this->StereoRender) && this->StereoStatus)
- {
- switch (this->StereoType)
- {
- case VTK_STEREO_CRYSTAL_EYES:
- {
- this->StereoStatus = 0;
- }
- break;
- case VTK_STEREO_RED_BLUE:
- {
- this->StereoStatus = 0;
- }
- }
- }
-}
-
-unsigned char *VTKViewer_RenderWindow::GetPixelData(int x1, int y1, int x2, int y2, int front) {
- //
- // :NOTE: Fri Apr 21 16:58:53 2000 Pagey
- // This routine is taken directly from vtkOpenGLRenderWindow.cxx.
- // I am not sure what it does. Hope it works.
- //
- int y_low, y_hi;
- int x_low, x_hi;
- unsigned char *data = NULL;
-
- // set the current window
- this->MakeCurrent();
-
- if (y1 < y2)
- {
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
- if (front)
- {
- glReadBuffer(GL_FRONT);
- }
- else
- {
- glReadBuffer(GL_BACK);
- }
-
- data = new unsigned char[(x_hi - x_low + 1)*(y_hi - y_low + 1)*3];
-
-#ifdef sparc
- // We need to read the image data one row at a time and convert it
- // from RGBA to RGB to get around a bug in Sun OpenGL 1.1
- long xloop, yloop;
- unsigned char *buffer;
- unsigned char *p_data = NULL;
-
- buffer = new unsigned char [4*(x_hi - x_low + 1)];
- p_data = data;
- for (yloop = y_low; yloop <= y_hi; yloop++)
- {
- // read in a row of pixels
- glReadPixels(x_low,yloop,(x_hi-x_low+1),1,
- GL_RGBA, GL_UNSIGNED_BYTE, buffer);
- for (xloop = 0; xloop <= x_hi-x_low; xloop++)
- {
- *p_data = buffer[xloop*4]; p_data++;
- *p_data = buffer[xloop*4+1]; p_data++;
- *p_data = buffer[xloop*4+2]; p_data++;
- }
- }
-
- delete [] buffer;
-#else
- // If the Sun bug is ever fixed, then we could use the following
- // technique which provides a vast speed improvement on the SGI
-
- // Calling pack alignment ensures that we can grab the any size window
- glPixelStorei( GL_PACK_ALIGNMENT, 1 );
- glReadPixels(x_low, y_low, x_hi-x_low+1, y_hi-y_low+1, GL_RGB,
- GL_UNSIGNED_BYTE, data);
-#endif
-
- return data;
-}
-
-void VTKViewer_RenderWindow::SetPixelData(int x1, int y1, int x2, int y2,
- unsigned char *data, int front) {
-
- //
- // :NOTE: Fri Apr 21 17:00:16 2000 Pagey
- // This routine is taken directly from vtkOpenGLRenderWindow.cxx.
- // I am not sure what it does. Hope it works.
- //
- int y_low, y_hi;
- int x_low, x_hi;
-
- // set the current window
- this->MakeCurrent();
-
- if (front)
- {
- glDrawBuffer(GL_FRONT);
- }
- else
- {
- glDrawBuffer(GL_BACK);
- }
-
- if (y1 < y2)
- {
-
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
-#ifdef sparc
- // We need to read the image data one row at a time and convert it
- // from RGBA to RGB to get around a bug in Sun OpenGL 1.1
- long xloop, yloop;
- unsigned char *buffer;
- unsigned char *p_data = NULL;
-
- buffer = new unsigned char [4*(x_hi - x_low + 1)];
-
- // now write the binary info one row at a time
- glDisable(GL_BLEND);
- p_data = data;
- for (yloop = y_low; yloop <= y_hi; yloop++)
- {
- for (xloop = 0; xloop <= x_hi - x_low; xloop++)
- {
- buffer[xloop*4] = *p_data; p_data++;
- buffer[xloop*4+1] = *p_data; p_data++;
- buffer[xloop*4+2] = *p_data; p_data++;
- buffer[xloop*4+3] = 0xff;
- }
- /* write out a row of pixels */
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
- glLoadIdentity();
- glMatrixMode( GL_PROJECTION );
- glPushMatrix();
- glLoadIdentity();
- glRasterPos3f( (2.0 * (GLfloat)(x_low) / this->Size[0] - 1),
- (2.0 * (GLfloat)(yloop) / this->Size[1] - 1),
- -1.0 );
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
- glMatrixMode( GL_MODELVIEW );
- glPopMatrix();
-
- glDrawPixels((x_hi-x_low+1),1, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
- }
- glEnable(GL_BLEND);
-#else
- // If the Sun bug is ever fixed, then we could use the following
- // technique which provides a vast speed improvement on the SGI
-
- // now write the binary info
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
- glLoadIdentity();
- glMatrixMode( GL_PROJECTION );
- glPushMatrix();
- glLoadIdentity();
- glRasterPos3f( (2.0 * (GLfloat)(x_low) / this->Size[0] - 1),
- (2.0 * (GLfloat)(y_low) / this->Size[1] - 1),
- -1.0 );
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
- glMatrixMode( GL_MODELVIEW );
- glPopMatrix();
-
- glPixelStorei( GL_UNPACK_ALIGNMENT, 1);
- glDisable(GL_BLEND);
- glDrawPixels((x_hi-x_low+1), (y_hi - y_low + 1),
- GL_RGB, GL_UNSIGNED_BYTE, data);
- glEnable(GL_BLEND);
-#endif
-}
-
-float *VTKViewer_RenderWindow::GetRGBAPixelData(int x1, int y1, int x2, int y2, int front)
-{
- //
- // :NOTE: Fri Apr 21 17:00:16 2000 Pagey
- // This routine is taken directly from VTKViewer_RenderWindow.cxx.
- // I am not sure what it does. Hope it works.
- //
- int y_low, y_hi;
- int x_low, x_hi;
- int width, height;
- float *data = NULL;
-
- // set the current window
- this->MakeCurrent();
-
- if (y1 < y2)
- {
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
- if (front)
- {
- glReadBuffer(GL_FRONT);
- }
- else
- {
- glReadBuffer(GL_BACK);
- }
-
- width = abs(x_hi - x_low) + 1;
- height = abs(y_hi - y_low) + 1;
-
- data = new float[ (width*height*4) ];
-
- glReadPixels( x_low, y_low, width, height, GL_RGBA, GL_FLOAT, data);
-
- return data;
-}
-
-void VTKViewer_RenderWindow::SetRGBAPixelData(int x1, int y1, int x2, int y2,
- float *data, int front, int blend)
-{
- //
- // :NOTE: Fri Apr 21 17:00:16 2000 Pagey
- // This routine is taken directly from VTKViewer_RenderWindow.cxx.
- // I am not sure what it does. Hope it works.
- //
- int y_low, y_hi;
- int x_low, x_hi;
- int width, height;
-
- // set the current window
- this->MakeCurrent();
-
- if (front)
- {
- glDrawBuffer(GL_FRONT);
- }
- else
- {
- glDrawBuffer(GL_BACK);
- }
-
- if (y1 < y2)
- {
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
- width = abs(x_hi-x_low) + 1;
- height = abs(y_hi-y_low) + 1;
-
- /* write out a row of pixels */
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
- glLoadIdentity();
- glMatrixMode( GL_PROJECTION );
- glPushMatrix();
- glLoadIdentity();
- glRasterPos3f( (2.0 * (GLfloat)(x_low) / this->Size[0] - 1),
- (2.0 * (GLfloat)(y_low) / this->Size[1] - 1),
- -1.0 );
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
- glMatrixMode( GL_MODELVIEW );
- glPopMatrix();
-
- if (!blend)
- {
- glDisable(GL_BLEND);
- glDrawPixels( width, height, GL_RGBA, GL_FLOAT, data);
- glEnable(GL_BLEND);
- }
- else
- {
- glDrawPixels( width, height, GL_RGBA, GL_FLOAT, data);
- }
-}
-
-float *VTKViewer_RenderWindow::GetZbufferData( int x1, int y1, int x2, int y2 )
-{
- int y_low, y_hi;
- int x_low, x_hi;
- int width, height;
- float *z_data = NULL;
-
- // set the current window
- this->MakeCurrent();
-
- if (y1 < y2)
- {
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
- width = abs(x2 - x1)+1;
- height = abs(y2 - y1)+1;
-
- z_data = new float[width*height];
-
- glReadPixels( x_low, y_low,
- width, height,
- GL_DEPTH_COMPONENT, GL_FLOAT,
- z_data );
-
- return z_data;
-}
-
-void VTKViewer_RenderWindow::SetZbufferData( int x1, int y1, int x2, int y2,
- float *buffer )
-{
- int y_low, y_hi;
- int x_low, x_hi;
- int width, height;
-
- // set the current window
- this->MakeCurrent();
-
- if (y1 < y2)
- {
- y_low = y1;
- y_hi = y2;
- }
- else
- {
- y_low = y2;
- y_hi = y1;
- }
-
- if (x1 < x2)
- {
- x_low = x1;
- x_hi = x2;
- }
- else
- {
- x_low = x2;
- x_hi = x1;
- }
-
- width = abs(x2 - x1)+1;
- height = abs(y2 - y1)+1;
-
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
- glLoadIdentity();
- glMatrixMode( GL_PROJECTION );
- glPushMatrix();
- glLoadIdentity();
- glRasterPos2f( 2.0 * (GLfloat)(x_low) / this->Size[0] - 1,
- 2.0 * (GLfloat)(y_low) / this->Size[1] - 1);
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
- glMatrixMode( GL_MODELVIEW );
- glPopMatrix();
-
- glDrawPixels( width, height, GL_DEPTH_COMPONENT, GL_FLOAT, buffer);
-
-}
-
-void VTKViewer_RenderWindow::MakeCurrent() {
- if( this->mInitialized ) {
- //const QGLContext* current = this->context()->currentContext();
- //if(!current)
- this->makeCurrent();
- }
-}
-
-void VTKViewer_RenderWindow::initializeGL() {
- if ( ! this->mInitialized ) {
- //
- // Construct a format which is similar to the
- // format set by vtkOpenGLRenderWindow.cxx
- //
- QGLFormat myFormat ;
- if( this->vtkRenderWindow::DoubleBuffer ) {
- myFormat.setDoubleBuffer(true) ;
- } else {
- myFormat.setDoubleBuffer(false) ;
- }
- if( this->StereoCapableWindow ) {
- myFormat.setStereo(true) ;
- } else {
- myFormat.setStereo(false) ;
- }
- myFormat.setRgba(true) ;
- myFormat.setDepth(true) ;
- myFormat.setDirectRendering(true) ;
-
- setFormat(myFormat) ;
-
- glClearColor(0.0, 0.0, 0.0, 0.0) ;
- this->mInitialized = true ;
-
- setMouseTracking(true);
- }
-}
-
-void VTKViewer_RenderWindow::paintGL() {
- Render() ;
-}
-
-void VTKViewer_RenderWindow::resizeGL(int w, int h) {
- SetSize(w, h) ;
-}
-
-void VTKViewer_RenderWindow::setContext( QGLContext *context,
- const QGLContext *shareContext,
- bool deleteOldContex ) {
- mInitialized = false ;
- QGLWidget::setContext(context, shareContext, deleteOldContex) ;
-}
void VTKViewer_RenderWindow::mouseMoveEvent( QMouseEvent *event ) {
emit MouseMove(event) ;
}
void VTKViewer_RenderWindow::mousePressEvent( QMouseEvent *event ) {
- //NRI - comment rev 1.6 - setFocus() ;
- //
- // Emit a ButtonPressed signal for all mouse presses.
- //
emit ButtonPressed(event) ;
- //
- // Emit a signal for the button which was pressed.
- //
switch(event->button()) {
case LeftButton:
emit LeftButtonPressed(event) ;
default:
break ;
}
- return ;
}
void VTKViewer_RenderWindow::mouseReleaseEvent( QMouseEvent *event ) {
- //
- // Emit a ButtonPressed signal for all mouse releases.
- //
emit ButtonReleased(event) ;
- //
- // Emit a signal for the the mouse button which was
- // released.
- //
switch(event->button()) {
case LeftButton:
emit LeftButtonReleased(event) ;
default:
break ;
}
- return ;
}
void VTKViewer_RenderWindow::keyPressEvent (QKeyEvent * event) {
- //
- // Let the interactor handle this.
- //
emit KeyPressed(event) ;
}
float red, green, blue;
float backint[3];
- vtkRendererCollection * theRenderers = GetRenderers();
+ vtkRendererCollection * theRenderers = myRW->GetRenderers();
theRenderers->InitTraversal();
vtkRenderer * theRenderer = theRenderers->GetNextItem();
theRenderer->GetBackground(backint);
-// File : VTKViewer_RenderWindow.h
-// Created : Wed Mar 20 11:33:30 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_RenderWindow.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef VTKViewer_RenderWindow_h
#include <stdlib.h>
#include <vtkRenderWindow.h>
-#include <qgl.h>
+//#include <qgl.h>
+#include <vtkRenderWindow.h>
#include "QAD_Popup.h"
-// ------------------------------------------------------------
-// :TRICKY: Fri Apr 21 22:19:27 2000 Pagey
-// The Signal/Slot mechanism used by Qt requires that QGLWidget
-// appear as the first class when using multiple inheritance.
-// Hence the order of the two classes QGLWidget and vtkRenderWindow
-// matters here. Be careful not to change it by accident.
-// ------------------------------------------------------------
class VTK_EXPORT VTKViewer_RenderWindow :
-public QGLWidget, virtual public vtkRenderWindow,
+public QWidget, /*virtual public vtkRenderWindow, */
public QAD_PopupClientServer
{
Q_OBJECT
/* popup management */
void onCreatePopup();
- /* ------------------------------------------------------------
- * Methods from vtkRenderWindow class.
- */
- static VTKViewer_RenderWindow *New(QWidget *parent=0, const char *name=0) {
- return new VTKViewer_RenderWindow(parent,name) ;
- };
const char *GetClassName() {return "VTKViewer_RenderWindow";};
- void PrintSelf(ostream& os, vtkIndent indent);
-
- virtual void Start(void);
- virtual void Frame(void);
- void WindowInitialize(void);
- virtual void SetFullScreen(int);
- virtual void WindowRemap(void);
- void PrefFullScreen(void);
- void SetSize(int,int);
-
- virtual void *GetGenericDisplayId();
- virtual void *GetGenericWindowId();
- virtual void *GetGenericContext();
-
- // stereo rendering stuff
- virtual void StereoUpdate();
-
- // Description:
- // Set/Get the pixel data of an image, transmitted as RGBRGB...
- virtual unsigned char *GetPixelData(int x,int y,int x2,int y2,int front);
- virtual void SetPixelData(int x,int y,int x2,int y2,unsigned char *,int front);
-
- // Description:
- // Set/Get the pixel data of an image, transmitted as RGBARGBA...
- virtual float *GetRGBAPixelData(int x,int y,int x2,int y2,int front);
- virtual void SetRGBAPixelData(int x,int y,int x2,int y2,float *,int front,
- int blend=0);
-
- // Description:
- // Set/Get the zbuffer data from an image
- virtual float *GetZbufferData( int x1, int y1, int x2, int y2 );
- virtual void SetZbufferData( int x1, int y1, int x2, int y2, float *buffer );
- virtual void MakeCurrent();
-
- /* ------------------------------------------------------------
- * Methods from QGLWidget class.
- */
- virtual void setContext( QGLContext *context,
- const QGLContext *shareContext=0,
- bool deleteOldContex=TRUE ) ;
protected slots:
void onChangeBackgroundColor();
- //NRIprotected:
public:
- bool mInitialized ;
VTKViewer_RenderWindow(QWidget *parent, const char *name);
~VTKViewer_RenderWindow() ;
- VTKViewer_RenderWindow(const VTKViewer_RenderWindow&) { }
- void operator=(const VTKViewer_RenderWindow&) { }
- /* ------------------------------------------------------------
- * Methods from QGLWidget class.
- */
- virtual void initializeGL() ;
- virtual void paintGL() ;
- virtual void resizeGL(int w, int h) ;
virtual void mouseMoveEvent( QMouseEvent * ) ;
virtual void mousePressEvent( QMouseEvent * ) ;
virtual void mouseReleaseEvent( QMouseEvent * ) ;
virtual void keyPressEvent( QKeyEvent * ) ;
- //
- // Every focus-in and focus-out event results in a repaint
- // through the default implementations of focusInEvent and
- // focusOutEvent. This results in a flicker in the vtkQGLRenderWindow
- // ever time the cursor moves in or out of the widget. We can
- // disble this by calling repaint(FALSE) in the implementation
- // of these methods.
- //
-/* virtual void focusInEvent( QFocusEvent * ) { repaint(FALSE) ; } */
-/* virtual void focusOutEvent( QFocusEvent * ) { repaint(FALSE) ; } */
- //
- // If this widget is not the top level widget, it does not
- // get focus until it receives its first mouse click. By
- // overloading the enterEvent and leaveEvent methods, we
- // give keyboard focus to the widget when the mouse enters
- // and remove the focus once the mouse leaves.
- //
- /* virtual void enterEvent( QEvent * ) { setFocus() ; } */
-/* virtual void leaveEvent( QEvent * ) { clearFocus() ; } */
- /* ------------------------------------------------------------
- * A few signals which will help us write an interactor for this
- * render window.
- */
+ vtkRenderWindow* getRenderWindow() { return myRW; }
+
+ protected:
+ virtual void paintEvent (QPaintEvent* theEvent);
+ virtual void resizeEvent (QResizeEvent* theEvent);
+
+
signals:
- //
- // Mouse moved.
- //
void MouseMove(const QMouseEvent *event) ;
- //
- // Left button pressed/released at the specified location.
- //
void LeftButtonPressed(const QMouseEvent *event) ;
void LeftButtonReleased(const QMouseEvent *event) ;
- //
- // Middle button pressed/released at the specified location.
- //
void MiddleButtonPressed(const QMouseEvent *event) ;
void MiddleButtonReleased(const QMouseEvent *event) ;
- //
- // Right button pressed/released at the specified location.
- //
void RightButtonPressed(const QMouseEvent *event) ;
void RightButtonReleased(const QMouseEvent *event) ;
- //
- // Any mouse button pressed.
- //
void ButtonPressed(const QMouseEvent *event) ;
void ButtonReleased(const QMouseEvent *event) ;
- //
- // Any key pressed.
- //
void KeyPressed(QKeyEvent *event) ;
+
+ protected:
+ vtkRenderWindow* myRW;
};
#endif
-using namespace std;
-// File : VTKViewer_RenderWindowInteractor.cxx
-// Created : Wed Mar 20 11:32:45 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_RenderWindowInteractor.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "VTKViewer_RenderWindowInteractor.h"
#include "VTKViewer_RenderWindow.h"
#include "VTKViewer_InteractorStyleSALOME.h"
#include <vtkPicker.h>
#include <vtkCellPicker.h>
#include <vtkPointPicker.h>
-#include <vtkDataSetMapper.h>
#include <vtkUnstructuredGrid.h>
-#include <vtkUnstructuredGridReader.h>
+#include <vtkPolyDataMapper.h>
#include <vtkSphereSource.h>
#include <vtkDataSet.h>
#include <vtkMaskPoints.h>
#include <vtkVertex.h>
+#include <vtkRendererCollection.h>
+#include <vtkPolyDataWriter.h>
+
// QT Includes
#include <qkeycode.h>
this->Enabled = 0 ;
this->mTimer = new QTimer( this ) ;
this->displaymode = 0;
-
+ myGUIWindow = 0;
vtkPicker* thepicker = vtkPicker::New();
thepicker->SetTolerance(0);
this->SetPicker(thepicker);
// it works. If the dynamic_cast does not work, we flag an error
// and get the hell out.
//
- VTKViewer_RenderWindow *my_render_win = dynamic_cast<VTKViewer_RenderWindow *>(RenderWindow) ;
- if( ! my_render_win ) {
+ vtkRenderWindow *my_render_win = dynamic_cast<vtkRenderWindow *>(RenderWindow) ;
+ if( !my_render_win ) {
vtkErrorMacro(<< "VTKViewer_RenderWindowInteractor::Initialize() can only handle VTKViewer_RenderWindow.") ;
return ;
}
// If the render window has zero size, then set it to a default
// value of 300x300.
//
- int *size = my_render_win->GetSize() ;
- size[0] = ((size[0] > 0) ? size[0] : 300);
- size[1] = ((size[1] > 0) ? size[1] : 300);
+ int* aSize = my_render_win->GetSize();
+ this->Size[0] = ((aSize[0] > 0) ? aSize[0] : 300);
+ this->Size[1] = ((aSize[1] > 0) ? aSize[1] : 300);
//
// Enable the interactor.
//
my_render_win->Start() ;
- //
- // Set our size to that of the render window.
- //
- this->Size[0] = size[0] ;
- this->Size[1] = size[1] ;
-
//
// The interactor has been initialized.
//
this->Initialized = 1 ;
- VTKViewer_InteractorStyleSALOME* style = VTKViewer_InteractorStyleSALOME::New();
- this->SetInteractorStyle(style);
-
Cell_Actor = vtkActor::New();
Cell_Actor->PickableOff();
Cell_Actor->GetProperty()->SetColor(1,1,0);
+ Cell_Actor->GetProperty()->SetLineWidth(5);
Cell_Actor->GetProperty()->SetRepresentationToSurface();
Edge_Actor = vtkActor::New();
Edge_Actor->PickableOff();
Edge_Actor->GetProperty()->SetColor(1,0,0);
Edge_Actor->GetProperty()->SetRepresentationToSurface();
- Edge_Actor->GetProperty()->SetLineWidth(20);
+ Edge_Actor->GetProperty()->SetLineWidth(5);
Point_Actor = vtkActor::New();
Point_Actor->PickableOff();
Point_Actor->GetProperty()->SetColor(1,1,0);
Point_Actor->GetProperty()->SetRepresentationToSurface();
- Point_Actor->GetProperty()->SetPointSize(3);
+ Point_Actor->GetProperty()->SetPointSize(5);
return ;
}
return ;
}
- this->InteractorStyle->OnTimer() ;
+ ((vtkInteractorStyle*)this->InteractorStyle)->OnTimer() ;
emit RenderWindowModified() ;
}
// We cannot do much unless there is a render window
// associated with this interactor.
//
- if( ! RenderWindow ) {
+ if( ! myGUIWindow ) {
vtkErrorMacro(<< "VTKViewer_RenderWindowInteractor::Initialize(): No render window attached!") ;
return ;
}
// it works. If the dynamic_cast does not work, we flag an error
// and get the hell out.
//
- VTKViewer_RenderWindow *my_render_win = dynamic_cast<VTKViewer_RenderWindow *>(RenderWindow) ;
- if( ! my_render_win ) {
+ if( ! myGUIWindow ) {
vtkErrorMacro(<< "VTKViewer_RenderWindowInteractor::Initialize() can only handle VTKViewer_RenderWindow.") ;
return ;
}
- slot_func ( my_render_win, SIGNAL(ButtonPressed(const QMouseEvent *)),
+ slot_func ( myGUIWindow, SIGNAL(ButtonPressed(const QMouseEvent *)),
this, SLOT(ButtonPressed(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(ButtonReleased(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(ButtonReleased(const QMouseEvent *)),
this, SLOT(ButtonReleased(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(LeftButtonPressed(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(LeftButtonPressed(const QMouseEvent *)),
this, SLOT(LeftButtonPressed(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(LeftButtonReleased(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(LeftButtonReleased(const QMouseEvent *)),
this, SLOT(LeftButtonReleased(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(MiddleButtonPressed(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(MiddleButtonPressed(const QMouseEvent *)),
this, SLOT(MiddleButtonPressed(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(MiddleButtonReleased(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(MiddleButtonReleased(const QMouseEvent *)),
this, SLOT(MiddleButtonReleased(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(RightButtonPressed(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(RightButtonPressed(const QMouseEvent *)),
this, SLOT(RightButtonPressed(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(RightButtonReleased(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(RightButtonReleased(const QMouseEvent *)),
this, SLOT(RightButtonReleased(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(MouseMove(const QMouseEvent *)),
+ slot_func( myGUIWindow, SIGNAL(MouseMove(const QMouseEvent *)),
this, SLOT(MouseMove(const QMouseEvent *)) ) ;
- slot_func( my_render_win, SIGNAL(KeyPressed(QKeyEvent *)),
+ slot_func( myGUIWindow, SIGNAL(KeyPressed(QKeyEvent *)),
this, SLOT(KeyPressed(QKeyEvent *)) ) ;
slot_func( this, SIGNAL(RenderWindowModified()),
- my_render_win, SLOT(updateGL()) ) ;
+ myGUIWindow, SLOT(update()) ) ;
}
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnMouseMove(0, 0,
- event->x(),
- event->y()/*this->Size[1] - event->y() - 1*/) ;
VTKViewer_InteractorStyleSALOME* Style = 0;
if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
- if (!Style || Style->needsRedrawing() )
+ else {
+ emit RenderWindowModified() ;
+ return;
+ }
+ Style->OnMouseMove(0, 0, event->x(), event->y()/*this->Size[1] - event->y() - 1*/) ;
+ if (Style->needsRedrawing() )
emit RenderWindowModified() ;
}
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnLeftButtonDown( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y()) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnLeftButtonDown((event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y());
}
void VTKViewer_RenderWindowInteractor::LeftButtonReleased(const QMouseEvent *event) {
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnLeftButtonUp( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y() ) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnLeftButtonUp( (event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y() ) ;
}
void VTKViewer_RenderWindowInteractor::MiddleButtonPressed(const QMouseEvent *event) {
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnMiddleButtonDown( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y() ) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnMiddleButtonDown((event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y() ) ;
}
void VTKViewer_RenderWindowInteractor::MiddleButtonReleased(const QMouseEvent *event) {
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnMiddleButtonUp( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y() ) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnMiddleButtonUp( (event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y() ) ;
}
void VTKViewer_RenderWindowInteractor::RightButtonPressed(const QMouseEvent *event) {
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnRightButtonDown( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y() ) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnRightButtonDown( (event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y() ) ;
}
void VTKViewer_RenderWindowInteractor::RightButtonReleased(const QMouseEvent *event) {
if( ! this->Enabled ) {
return ;
}
- this->InteractorStyle->OnRightButtonUp( (event->state() & ControlButton),
- (event->state() & ShiftButton),
- event->x(),
- event->y() ) ;
+ VTKViewer_InteractorStyleSALOME* Style = 0;
+ if (this->InteractorStyle->IsA("VTKViewer_InteractorStyleSALOME"))
+ Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ else
+ return;
+ Style->OnRightButtonUp( (event->state() & ControlButton),
+ (event->state() & ShiftButton),
+ event->x(), event->y() ) ;
}
void VTKViewer_RenderWindowInteractor::ButtonPressed(const QMouseEvent *event) {
bool hilight,
bool update)
{
+ VTKViewer_InteractorStyleSALOME* aStyle = VTKViewer_InteractorStyleSALOME::SafeDownCast(this->InteractorStyle);
+ if (!aStyle) return false;
+
vtkRenderer* aren;
for (this->RenderWindow->GetRenderers()->InitTraversal();
(aren = this->RenderWindow->GetRenderers()->GetNextItem()); ) {
vtkActor2D *actor2D;
vtkProp3D *prop3D;
if ( (prop3D=vtkProp3D::SafeDownCast(anActor)) != NULL ) {
- this->InteractorStyle->HighlightProp3D(prop3D);
+ aStyle->HighlightProp3D(prop3D);
} else if ( (actor2D=vtkActor2D::SafeDownCast(anActor)) != NULL ) {
- this->InteractorStyle->HighlightActor2D(actor2D);
+ aStyle->HighlightActor2D(actor2D);
}
//this->InteractorStyle->HighlightProp(anActor);
} else {
- this->InteractorStyle->HighlightProp3D(NULL);
- this->InteractorStyle->HighlightActor2D(NULL);
+ aStyle->HighlightProp3D(NULL);
+ aStyle->HighlightActor2D(NULL);
//this->InteractorStyle->HighlightProp(NULL);
}
}
while(!(ac==NULL)) {
ac->ApplyProperties();
- ac->Update();
+ //VSV: No in VTK: ac->Update();
ac = theActors->GetNextActor();
}
aren->ResetCamera();
emit RenderWindowModified() ;
}
-bool VTKViewer_RenderWindowInteractor::highlightCell( const Handle(SALOME_InteractiveObject)& IObject,
- bool hilight,
- const TColStd_MapOfInteger& MapIndex,
- bool update )
+bool VTKViewer_RenderWindowInteractor::highlight(const Handle(SALOME_InteractiveObject)& IObject,
+ const TColStd_MapOfInteger& MapIndex,
+ VTKViewer_RenderWindowInteractor::TCreateMapperFun theFun,
+ vtkActor *theActor, bool hilight, bool update )
{
- vtkRenderer* aren;
- for (this->RenderWindow->GetRenderers()->InitTraversal();
- (aren = this->RenderWindow->GetRenderers()->GetNextItem()); ) {
- vtkActorCollection* theActors = aren->GetActors();
-
- if ( theActors->IsItemPresent(Cell_Actor) != 0 )
- aren->RemoveActor( Cell_Actor );
-
- theActors->InitTraversal();
- vtkActor *ac = theActors->GetNextActor();
- for ( ; ac; ac = theActors->GetNextActor() ) {
- if ( ac->IsA("SALOME_Actor") ) {
- SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( ac );
- if ( anActor->hasIO() ) {
- if ( IObject->isSame( anActor->getIO() ) ) {
- vtkUnstructuredGrid* Cell_UGrid = vtkUnstructuredGrid::New();
- vtkUnstructuredGrid* UGrid = vtkUnstructuredGrid::SafeDownCast( ac->GetMapper()->GetInput() );
- if (UGrid == 0) break;
- vtkIdList *ptIds = vtkIdList::New(); ptIds->Allocate(12);
- vtkDataSetMapper* Cell_Mapper = vtkDataSetMapper::New();
- Cell_UGrid->SetPoints( UGrid->GetPoints() );
- TColStd_MapIteratorOfMapOfInteger ite( MapIndex );
- for ( ; ite.More(); ite.Next() ) {
- UGrid->GetCellPoints( ite.Key(), ptIds );
- Cell_UGrid->InsertNextCell(ac->GetMapper()->GetInput()->GetCellType( ite.Key() ), ptIds);
+ if(MapIndex.Extent() == 0) return false;
+ vtkRenderer* aRen;
+ this->RenderWindow->GetRenderers()->InitTraversal();
+ for (; aRen = this->RenderWindow->GetRenderers()->GetNextItem(); ) {
+ vtkActorCollection* anActorColl = aRen->GetActors();
+ if ( anActorColl->IsItemPresent(theActor) != 0 )
+ aRen->RemoveActor(theActor);
+ anActorColl->InitTraversal();
+ vtkActor *ac = NULL;
+ for(; (ac = anActorColl->GetNextActor()) != NULL; ){
+ if(ac->IsA("SALOME_Actor")){
+ SALOME_Actor* anActor = SALOME_Actor::SafeDownCast(ac);
+ if(anActor->hasIO()){
+ if(IObject->isSame(anActor->getIO())){
+ if(vtkPolyData* aSourcePolyData = anActor->GetPolyDataInput()){
+ vtkPolyDataMapper* aMapper = vtkPolyDataMapper::New();
+ (*theFun)(aSourcePolyData,aMapper,MapIndex);
+ theActor->SetMapper(aMapper);
+ aMapper->Delete();
+ if(anActorColl->IsItemPresent(theActor) == 0)
+ aRen->AddActor(theActor);
+ if(hilight)
+ theActor->VisibilityOn();
+ else
+ theActor->VisibilityOff();
+ break;
}
-
-
- Cell_Mapper->SetInput(Cell_UGrid);
- Cell_Actor->SetMapper(Cell_Mapper);
-
- if ( theActors->IsItemPresent(Cell_Actor) == 0 )
- aren->AddActor( Cell_Actor );
-
- if ( hilight )
- Cell_Actor->VisibilityOn();
- else
- Cell_Actor->VisibilityOff();
- break;
}
}
}
}
}
- if (update) {
+ if(update){
this->RenderWindow->Render();
emit RenderWindowModified() ;
}
- return 0;
+ return false;
}
-bool VTKViewer_RenderWindowInteractor::highlightEdge( const Handle(SALOME_InteractiveObject)& IObject,
- bool hilight,
- const TColStd_MapOfInteger& MapIndex,
- bool update )
+static void CellCreateMapper(vtkPolyData *theSourcePolyData, vtkPolyDataMapper* theMapper,
+ const TColStd_MapOfInteger& theMapIndex)
{
- vtkRenderer* aren;
- for (this->RenderWindow->GetRenderers()->InitTraversal();
- (aren = this->RenderWindow->GetRenderers()->GetNextItem()); ) {
- vtkActorCollection* theActors = aren->GetActors();
- theActors->InitTraversal();
- vtkActor *ac = theActors->GetNextActor();
- for( ; ac; ac = theActors->GetNextActor() ) {
- if ( ac->IsA("SALOME_Actor") ) {
- SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( ac );
- if ( anActor->hasIO() ) {
- if ( IObject->isSame( anActor->getIO() ) ) {
-
- vtkUnstructuredGrid* Edge_UGrid = vtkUnstructuredGrid::New();
- vtkUnstructuredGrid* UGrid = vtkUnstructuredGrid::SafeDownCast( ac->GetMapper()->GetInput() );
- if (UGrid == 0) break;
-
- vtkDataSetMapper* Edge_Mapper = vtkDataSetMapper::New();
- vtkCell* pickedCell;
- vtkCell* pickedEdge;
- int cellId, edgeId;
- Edge_UGrid->SetPoints( UGrid->GetPoints() );
- TColStd_MapIteratorOfMapOfInteger ite( MapIndex );
- int numberOfIndexes = MapIndex.Extent();
- int i, j, npts, *pts, aLen;
-
- if ( theActors->IsItemPresent(Cell_Actor) != 0 ) {
- Cell_Actor->VisibilityOff();
- if ( theActors->IsItemPresent(Edge_Actor) != 0 ) {
- vtkUnstructuredGrid* EdgeGrid = vtkUnstructuredGrid::SafeDownCast( Edge_Actor->GetMapper()->GetInput() );
- if (EdgeGrid) {
- aLen = EdgeGrid->GetNumberOfCells();
- //SRN: modified traversal of edge cells.
- vtkCellArray* cells = EdgeGrid->GetCells();
- for (i=0, cells->InitTraversal(); cells->GetNextCell(npts,pts); i++) {
- if(MapIndex.Contains(i))
- Edge_UGrid->InsertNextCell(VTK_LINE, npts, pts);
- }
- }
- }
- vtkUnstructuredGrid* CellGrid = vtkUnstructuredGrid::SafeDownCast( Cell_Actor->GetMapper()->GetInput() );
-
- bool isOneEdge = (MapIndex.Extent() <= 2);
- int edgeId;
-
- //SRN: modified finding the selected edges
- if (CellGrid) {
- aLen = CellGrid->GetNumberOfCells();
- for (i=0; i<aLen; i++) {
- pickedCell = CellGrid->GetCell(i);
- int aLen2 = pickedCell->GetNumberOfEdges();
- for(j=0; j<aLen2; j++) {
- edgeId = (isOneEdge)?(-j):j;
- if(MapIndex.Contains(edgeId)) {
- pickedEdge = pickedCell->GetEdge(j);
- Edge_UGrid->InsertNextCell(pickedEdge->GetCellType(), pickedEdge->GetPointIds());
- }
- }
- }
- }
-
- Edge_Mapper->SetInput(Edge_UGrid);
- Edge_Actor->SetMapper(Edge_Mapper);
-
- if ( theActors->IsItemPresent(Edge_Actor) == 0 )
- aren->AddActor( Edge_Actor );
-
- if ( hilight )
- Edge_Actor->VisibilityOn();
- else
- Edge_Actor->VisibilityOff();
- }
-
- break;
- }
- }
- }
- }
+ vtkPolyData* aPolyData = vtkPolyData::New();
+ aPolyData->Allocate();
+
+ vtkIdList *ptIds = vtkIdList::New();
+ ptIds->Allocate(theSourcePolyData->GetMaxCellSize());
+ vtkPolyDataMapper* aMapper = vtkPolyDataMapper::New();
+ aPolyData->SetPoints(theSourcePolyData->GetPoints());
+ TColStd_MapIteratorOfMapOfInteger ite(theMapIndex);
+ int aNbOfParts = theSourcePolyData->GetNumberOfCells();
+ for(; ite.More(); ite.Next()){
+ int aPartId = ite.Key();
+ if(0 > aPartId || aPartId >= aNbOfParts) break;
+ theSourcePolyData->GetCellPoints(aPartId,ptIds);
+ aPolyData->InsertNextCell(theSourcePolyData->GetCellType(aPartId),ptIds);
}
+ ptIds->Delete();
+ theMapper->SetInput(aPolyData);
+ aPolyData->Delete();
+}
+
+bool VTKViewer_RenderWindowInteractor::highlightCell(const Handle(SALOME_InteractiveObject)& IObject,
+ bool hilight,
+ const TColStd_MapOfInteger& MapIndex,
+ bool update )
+{
+ return highlight(IObject,MapIndex,&CellCreateMapper,Cell_Actor,hilight,update);
+}
- if (update) {
- this->RenderWindow->Render();
- emit RenderWindowModified();
- }
- return 0;
+static void PointCreateMapper(vtkPolyData *theSourcePolyData, vtkPolyDataMapper* theMapper,
+ const TColStd_MapOfInteger& theMapIndex)
+{
+ vtkPolyData* aPolyData = vtkPolyData::New();
+ aPolyData->Allocate();
+
+ vtkPoints *aPoints = vtkPoints::New();
+ vtkMaskPoints* aMaskPoints = vtkMaskPoints::New();
+ TColStd_MapIteratorOfMapOfInteger ite(theMapIndex);
+ aPoints->SetNumberOfPoints(theMapIndex.Extent());
+ int aNbOfParts = theSourcePolyData->GetNumberOfPoints();
+ for(int i = 0; ite.More(); ite.Next(),i++){
+ int aPartId = ite.Key();
+ if(0 > aPartId || aPartId >= aNbOfParts) break;
+ aPoints->SetPoint(i,theSourcePolyData->GetPoint(aPartId));
+ }
+ aPolyData->SetPoints(aPoints);
+ aPoints->Delete();
+ aMaskPoints->SetInput(aPolyData);
+ aMaskPoints->SetGenerateVertices(1);
+ aMaskPoints->SetOnRatio(1);
+ theMapper->SetInput(aMaskPoints->GetOutput());
+ aMaskPoints->Delete();
}
-
+
bool VTKViewer_RenderWindowInteractor::highlightPoint(const Handle(SALOME_InteractiveObject)& IObject,
bool hilight, const TColStd_MapOfInteger& MapIndex,
bool update)
{
- vtkRenderer* aren;
- for (this->RenderWindow->GetRenderers()->InitTraversal();
- (aren = this->RenderWindow->GetRenderers()->GetNextItem()); ) {
- vtkActorCollection* theActors = aren->GetActors();
-
- if ( theActors->IsItemPresent(Point_Actor) != 0 )
- aren->RemoveActor( Point_Actor );
+ return highlight(IObject,MapIndex,&PointCreateMapper,Point_Actor,hilight,update);
+}
- theActors->InitTraversal();
- vtkActor *ac = theActors->GetNextActor();
- for ( ; ac; ac = theActors->GetNextActor() ) {
- if ( ac->IsA("SALOME_Actor") ) {
- SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( ac );
- if ( anActor->hasIO() ) {
- if ( IObject->isSame( anActor->getIO() ) ) {
- vtkUnstructuredGrid* UGrid = vtkUnstructuredGrid::SafeDownCast( ac->GetMapper()->GetInput() );
- if (UGrid == 0) break;
- vtkUnstructuredGrid* Point_UGrid = vtkUnstructuredGrid::New();
- float pts[3];
-
- vtkPoints *Points = vtkPoints::New();
- vtkMaskPoints* verts = vtkMaskPoints::New();
- vtkPolyDataMapper* vertMapper = vtkPolyDataMapper::New();
-
- TColStd_MapIteratorOfMapOfInteger ite( MapIndex );
- int i = 0;
- // Points->SetNumberOfPoints( MapIndex.Extent() );
- if ( MapIndex.Extent() == 1 )
- Points->SetNumberOfPoints( MapIndex.Extent() + 1 );
- else
- Points->SetNumberOfPoints( MapIndex.Extent() );
-
- for ( ; ite.More(); ite.Next() ) {
- UGrid->GetPoint( ite.Key(), pts) ;
- Points->SetPoint(i, pts );
- i++;
- // DEBUG : it's not possible to see only one point !!!!
- if ( MapIndex.Extent() == 1 )
- Points->SetPoint(i, 0., 0., 0. );
- }
-
- Point_UGrid->SetPoints(Points);
- verts->SetInput(Point_UGrid);
- verts->SetGenerateVertices(1);
- verts->SetOnRatio(1);
- vertMapper->SetInput(verts->GetOutput());
- Point_Actor->SetMapper(vertMapper);
-
- if ( theActors->IsItemPresent(Point_Actor) == 0 ) {
- aren->AddActor( Point_Actor );
- }
-
- if ( hilight )
- Point_Actor->VisibilityOn();
- else
- Point_Actor->VisibilityOff();
-
- break;
- }
+
+static void EdgeCreateMapper(vtkPolyData *theSourcePolyData, vtkPolyDataMapper* theMapper,
+ const TColStd_MapOfInteger& theMapIndex)
+{
+ vtkPolyData* aPolyData = vtkPolyData::New();
+ aPolyData->Allocate();
+
+ vtkIdList *ptIds = vtkIdList::New();
+ ptIds->Allocate(theSourcePolyData->GetMaxCellSize());
+ vtkPolyDataMapper* aMapper = vtkPolyDataMapper::New();
+ aPolyData->SetPoints(theSourcePolyData->GetPoints());
+ int aCellId = -1, aCellCounter = 0;
+ for(TColStd_MapIteratorOfMapOfInteger ite(theMapIndex); ite.More(); ite.Next()){
+ if(ite.Key() > 0){
+ aCellId = ite.Key();
+ aCellCounter++;
+ }
+ }
+ if(aCellCounter == 1){
+ vtkCell* aCell = theSourcePolyData->GetCell(aCellId);
+ if(aCell->GetCellType() <= VTK_LINE){
+ aPolyData->InsertNextCell(aCell->GetCellType(),aCell->GetPointIds());
+ }else{
+ TColStd_MapIteratorOfMapOfInteger ite(theMapIndex);
+ int aNbOfParts = aCell->GetNumberOfEdges();
+ for(; ite.More(); ite.Next()){
+ if(ite.Key() < 0){
+ int aPartId = -ite.Key()-1;
+ if(0 > aPartId || aPartId >= aNbOfParts) break;
+ vtkCell* anEdgeCell = aCell->GetEdge(aPartId);
+ aPolyData->InsertNextCell(VTK_LINE,anEdgeCell->GetPointIds());
}
}
}
+ }else{
+ int aNbOfParts = theSourcePolyData->GetNumberOfCells();
+ for(TColStd_MapIteratorOfMapOfInteger ite(theMapIndex); ite.More(); ite.Next()){
+ if(ite.Key() > 0){
+ int aPartId = ite.Key();
+ if(0 > aPartId || aPartId >= aNbOfParts) break;
+ vtkCell* aCell = theSourcePolyData->GetCell(aPartId);
+ aPolyData->InsertNextCell(aCell->GetCellType(),aCell->GetPointIds());
+ }
+ }
}
+ ptIds->Delete();
+ theMapper->SetInput(aPolyData);
+ aPolyData->Delete();
+}
- if (update) {
- this->RenderWindow->Render();
- emit RenderWindowModified();
- }
- return 0;
+
+bool VTKViewer_RenderWindowInteractor::highlightEdge( const Handle(SALOME_InteractiveObject)& IObject,
+ bool hilight,
+ const TColStd_MapOfInteger& MapIndex,
+ bool update )
+{
+ return highlight(IObject,MapIndex,&EdgeCreateMapper,Edge_Actor,hilight,update);
}
-// File : VTKViewer_RenderWindowInteractor.h
-// Created : Wed Mar 20 11:31:36 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_RenderWindowInteractor.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef VTKViewer_RenderWindowInteractor_h
// VTK Includes
#include <vtkVersion.h>
#include <vtkRenderWindowInteractor.h>
-#include <vtkUnstructuredGrid.h>
// Open CASCADE Includes
#include <TColStd_MapOfInteger.hxx>
#include <TColStd_MapIteratorOfMapOfInteger.hxx>
-class VTKViewer_RenderWindow ;
+class VTKViewer_RenderWindow;
+class vtkPolyData;
+class vtkPolyDataMapper;
// ------------------------------------------------------------
// :TRICKY: Fri Apr 21 22:19:27 2000 Pagey
vtkRenderer* GetRenderer();
+ QWidget* getGUIWindow() {return myGUIWindow;}
+ void setGUIWindow(QWidget* theWin) { myGUIWindow = theWin;}
+
+ typedef void (*TCreateMapperFun)(vtkPolyData *theSourcePolyData,
+ vtkPolyDataMapper* theMapper,
+ const TColStd_MapOfInteger& theMapIndex);
protected:
VTKViewer_RenderWindowInteractor();
~VTKViewer_RenderWindowInteractor();
+
+ bool highlight(const Handle(SALOME_InteractiveObject)& IObject,
+ const TColStd_MapOfInteger& MapIndex, TCreateMapperFun theFun,
+ vtkActor *theActor, bool hilight, bool update );
//
// Timer used during various mouse events to figure
// out mouse movements.
void TimerFunc() ;
signals:
void RenderWindowModified() ;
+
+ private:
+ QWidget* myGUIWindow;
};
#endif
-using namespace std;
-// File : VTKViewer_ViewFrame.cxx
-// Created : Wed Mar 20 11:29:40 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_ViewFrame.cxx
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
+using namespace std;
#include "VTKViewer_ViewFrame.h"
#include "VTKViewer_RenderWindow.h"
-#include "VTKViewer_InteractorStyleSALOME.h"
+//#include "VTKViewer_InteractorStyleSALOME.h"
#include "QAD_Settings.h"
#include "QAD_Config.h"
#include "QAD_Desktop.h"
#include "SALOME_Selection.h"
#include "SALOME_InteractiveObject.hxx"
+#include "VTKViewer_InteractorStyleSALOME.h"
#include "utilities.h"
#include <qapplication.h>
// VTK Includes
+#include <vtkActor.h>
+#include <vtkRenderer.h>
+#include <vtkTransform.h>
+#include <vtkPolyDataMapper.h>
+
#include <vtkMath.h>
#include <vtkTextSource.h>
#include <vtkLine.h>
#include <vtkActor2D.h>
#include <vtkWindowToImageFilter.h>
#include <vtkTIFFWriter.h>
-
-#include <vtkTransformPolyDataFilter.h>
-#include <vtkDataSetMapper.h>
+#include <vtkVectorText.h>
+#include <vtkFollower.h>
/*!
Constructor
{
m_ViewUp[0] = 0; m_ViewUp[1] = 0; m_ViewUp[2] = -1;
m_ViewNormal[0] = 0; m_ViewNormal[1] = 0; m_ViewNormal[2] = 1;
+ m_Transform = SALOME_Transform::New();
// m_InitialSetupDone = false ;
InitialSetup();
-
- m_NonIsometricTransform = NULL;
-
}
-static vtkActor* CreateTextActor(char *text) {
-
- vtkTextSource* XLabel = vtkTextSource::New();
- XLabel->SetForegroundColor(1,1,1);
- XLabel->SetBackgroundColor(0,0,0);
- XLabel->SetText(text);
-
- vtkActor* XLabelActor = vtkActor::New();
-
- vtkPolyDataMapper* text1Mapper = vtkPolyDataMapper::New();
- text1Mapper->SetInput(XLabel->GetOutput());
-
- XLabelActor->SetMapper(text1Mapper);
- XLabelActor->SetScale(1,1,1);
-
- return XLabelActor;
+vtkFollower* CreateTextActor(char *text, float aSize) {
+ vtkVectorText* aTxt = vtkVectorText::New();
+ aTxt->SetText(text);
+ vtkPolyDataMapper* textMapper = vtkPolyDataMapper::New();
+ textMapper->SetInput(aTxt->GetOutput());
+ vtkFollower* textActor = vtkFollower::New();
+ textActor->SetMapper(textMapper);
+ float aScale = 6 * aSize/100;
+ textActor->SetScale(aScale, aScale, aScale);
+ return textActor;
}
-void VTKViewer_ViewFrame::AddVector(float* o,float* p,vtkRenderer* renderer) {
-
- // Create line
-
+void VTKViewer_ViewFrame::AddVector(float* o,float* p,vtkRenderer* renderer, float aSize) {
vtkPoints* myPoints = vtkPoints::New();
vtkLine* myLine = vtkLine::New();
vtkConeSource* acone = vtkConeSource::New();
- float dim;
- QString Size = QAD_CONFIG->getSetting("Viewer:TrihedronSize");
- if( Size.isEmpty() ) {
- dim = 100;
- } else {
- dim = Size.toFloat();
- }
+ float dim = aSize;
acone->SetResolution(2);
// acone->SetAngle(70);
float rot[3];
rot[0]=0; rot[1]=0; rot[2]=0;
+ vtkFollower* aTextActor;
+
+ coneActor->AddPosition(p);
if(p[0]!=0) {
// x
- coneActor->AddPosition(p);
+ aTextActor = CreateTextActor("X", dim);
+ } else if(p[1]!=0) {
+ // y
+ rot[2]=90;
+ coneActor->AddOrientation(rot);
+ aTextActor = CreateTextActor("Y", dim);
+ } else if(p[2]!=0) {
+ // z
+ rot[1]=-90;
+ coneActor->AddOrientation(rot);
+ aTextActor = CreateTextActor("Z", dim);
}
- else {
- if(p[1]!=0) {
- // y
- coneActor->AddPosition(p);
- rot[2]=90;
- coneActor->AddOrientation(rot);
- }
- else {
- if(p[2]!=0) {
- // z
- coneActor->AddPosition(p);
- rot[1]=-90;
- coneActor->AddOrientation(rot);
- }
- }
- }
-
- // Create 2d TEXT
+ aTextActor->AddPosition(p);
+ aTextActor->SetCamera(renderer->GetActiveCamera());
coneActor->GetProperty()->SetInterpolation(1);
coneActor->GetProperty()->SetRepresentationToSurface();
lineActor->GetProperty()->SetAmbientColor(1,1,1);
lineActor->GetProperty()->SetDiffuseColor(0.7,0.7,0.7);
lineActor->GetProperty()->SetSpecularColor(0.7,0.7,0.7);
+
+ aTextActor->GetProperty()->SetAmbient(1);
+ aTextActor->GetProperty()->SetAmbientColor(1,1,1);
+ aTextActor->GetProperty()->SetDiffuseColor(0.7,0.7,0.7);
+ aTextActor->GetProperty()->SetSpecularColor(0.7,0.7,0.7);
coneActor->PickableOff();
lineActor->PickableOff();
+ aTextActor->PickableOff();
m_Triedron->AddItem(coneActor);
m_Triedron->AddItem(lineActor);
+ m_Triedron->AddItem(aTextActor);
renderer->AddActor(coneActor);
renderer->AddActor(lineActor);
+ renderer->AddActor(aTextActor);
}
-bool VTKViewer_ViewFrame::isTrihedronDisplayed()
-{
+bool VTKViewer_ViewFrame::isTrihedronDisplayed() {
m_Triedron->InitTraversal();
vtkActor *ac = m_Triedron->GetNextActor();
while(!(ac==NULL)) {
m_Triedron->RemoveAllItems();
AddAxis(m_Renderer);
- m_RW->updateGL();
+ m_RW->update();
}
-void VTKViewer_ViewFrame::AddAxis(vtkRenderer* renderer) {
-
+void VTKViewer_ViewFrame::AddAxis(vtkRenderer* renderer) {
float origine[3];
float X[3];
float Y[3];
Y[0]=origine[0]; Y[1]=origine[0]+dim; Y[2]=origine[0];
Z[0]=origine[0]; Z[1]=origine[0]; Z[2]=origine[0]+dim;
- AddVector(origine,X,renderer);
- AddVector(origine,Y,renderer);
- AddVector(origine,Z,renderer);
+ AddVector(origine,X,renderer, dim);
+ AddVector(origine,Y,renderer, dim);
+ AddVector(origine,Z,renderer, dim);
}
*/
QWidget* VTKViewer_ViewFrame::getViewWidget()
{
- return (QWidget*)getRW();
-}
-
-
-void VTKViewer_ViewFrame::setRW(VTKViewer_RenderWindow* rw) {
- m_RW = rw;
+ return m_RW;
}
void VTKViewer_ViewFrame::InitialSetup() {
- //
- // Create a render window.
- //
- m_RW = new VTKViewer_RenderWindow(this,"");
- //
- // Create a renderer for this widget.
- //
m_Renderer = vtkRenderer::New() ;
- m_RW->AddRenderer(m_Renderer) ;
+ m_RW = new VTKViewer_RenderWindow(this, "RenderWindow");
+ m_RW->getRenderWindow()->AddRenderer(m_Renderer);
- vtkCamera* camera = vtkCamera::New();
- camera->SetPosition(1,-1,1);
- camera->SetParallelProjection(true);
- camera->SetRoll(-60);
+ m_Renderer->GetActiveCamera()->ParallelProjectionOn();
+ m_Renderer->LightFollowCameraOn();
+
+ // Set BackgroundColor
+ QString BgrColorRed = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorRed");
+ QString BgrColorGreen = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorGreen");
+ QString BgrColorBlue = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorBlue");
+ if( !BgrColorRed.isEmpty() && !BgrColorGreen.isEmpty() && !BgrColorBlue.isEmpty() )
+ m_Renderer->SetBackground( BgrColorRed.toInt()/255., BgrColorGreen.toInt()/255., BgrColorBlue.toInt()/255. );
+ else
+ m_Renderer->SetBackground( 0, 0, 0 );
+
// CREATE AXIS
m_Triedron = vtkActorCollection::New();
AddAxis(m_Renderer);
- // Set BackgroundColor
- QString BackgroundColorRed = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorRed");
- QString BackgroundColorGreen = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorGreen");
- QString BackgroundColorBlue = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorBlue");
+ // Create an interactor.
+ m_RWInteractor = VTKViewer_RenderWindowInteractor::New();
+ m_RWInteractor->setGUIWindow(m_RW);
+ m_RWInteractor->SetRenderWindow(m_RW->getRenderWindow());
- if( !BackgroundColorRed.isEmpty() && !BackgroundColorGreen.isEmpty() && !BackgroundColorBlue.isEmpty() )
- m_Renderer->SetBackground( BackgroundColorRed.toInt()/255., BackgroundColorGreen.toInt()/255., BackgroundColorBlue.toInt()/255. );
- else
- m_Renderer->SetBackground( 0, 0 , 0 );
+ VTKViewer_InteractorStyleSALOME* RWS = VTKViewer_InteractorStyleSALOME::New();
+ RWS->setGUIWindow(m_RW);
+ m_RWInteractor->SetInteractorStyle(RWS);
- //
- // Create an interactor.
- //
- m_RWInteractor = VTKViewer_RenderWindowInteractor::New() ;
- m_RWInteractor->SetRenderWindow(m_RW) ;
- //
- // :TRICKY: Tue May 2 19:29:36 2000 Pagey
- // The order of the next two statements is very
- // important. The interactor must be initialized
- // before rendering.
- //
m_RWInteractor->Initialize();
- m_Renderer->Render() ;
- m_Renderer->SetActiveCamera(camera);
- m_Renderer->ResetCamera();
- camera->Zoom(0.3);
- VTKViewer_InteractorStyleSALOME* RWS = dynamic_cast<VTKViewer_InteractorStyleSALOME*>(getRWInteractor()->GetInteractorStyle());
- if (RWS) {
- RWS->setTriedron( m_Triedron );
- //SRN: additional initialization, to init CurrentRenderer of vtkInteractorStyle
- RWS->FindPokedRenderer(0, 0);
- }
-
- m_RW->updateGL() ;
+ RWS->setTriedron( m_Triedron );
+ //SRN: additional initialization, to init CurrentRenderer of vtkInteractorStyle
+ RWS->FindPokedRenderer(0, 0);
setCentralWidget( m_RW );
+ onViewReset();
}
VTKViewer_ViewFrame::~VTKViewer_ViewFrame() {
// this RenderWindow, we assign a NULL RenderWindow to
// it before deleting it.
//
- if ( m_NonIsometricTransform )
- m_NonIsometricTransform->Delete() ;
+ m_Transform->Delete() ;
m_RWInteractor->SetRenderWindow(NULL) ;
m_RWInteractor->Delete() ;
- m_RW->Delete() ;
+ //m_RW->Delete() ;
- // NRI : BugID 1137.
- // m_Renderer->Delete() ;
+ // NRI : BugID 1137: m_Renderer->Delete() ;
}
}
m_TriedronVisible = true;
}
- m_RW->updateGL();
+ m_RW->update();
}
/*!
Provides top projection of the active view
*/
void VTKViewer_ViewFrame::onViewTop() {
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
+ camera->SetFocalPoint(0,0,0);
camera->SetPosition(0,0,1);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetViewUp(0,1,0);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewBottom()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
+ camera->SetFocalPoint(0,0,0);
camera->SetPosition(0,0,-1);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetViewUp(0,1,0);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewLeft()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
+ camera->SetFocalPoint(0,0,0);
camera->SetPosition(0,1,0);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetViewUp(0,0,1);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewRight()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
+ camera->SetFocalPoint(0,0,0);
camera->SetPosition(0,-1,0);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetViewUp(0,0,1);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewBack()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
camera->SetPosition(-1,0,0);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetFocalPoint(0,0,0);
+ camera->SetViewUp(0,0,1);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewFront()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
camera->SetPosition(1,0,0);
- camera->SetParallelProjection(true);
- m_Renderer->SetActiveCamera(camera);
-// m_Renderer->ResetCamera();
+ camera->SetFocalPoint(0,0,0);
+ camera->SetViewUp(0,0,1);
+ m_Renderer->ResetCamera();
onViewFitAll();
-// m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewReset()
{
- vtkCamera* camera = vtkCamera::New();
+ vtkCamera* camera = m_Renderer->GetActiveCamera();
camera->SetPosition(1,-1,1);
- camera->SetParallelProjection(true);
- camera->SetRoll(-60);
- m_Renderer->SetActiveCamera(camera);
+ camera->SetFocalPoint(0,0,0);
+ camera->SetViewUp(0,0,1);
m_Renderer->ResetCamera();
+ camera->SetParallelScale(500);
m_Renderer->ResetCameraClippingRange();
- camera->Zoom(0.3);
- m_RW->updateGL();
+ m_RW->update();
}
/*!
*/
void VTKViewer_ViewFrame::onViewFitArea()
{
-
VTKViewer_InteractorStyleSALOME* RWS = dynamic_cast<VTKViewer_InteractorStyleSALOME*>(getRWInteractor()->GetInteractorStyle());
if (RWS)
RWS->startFitArea();
// update the camera
theRenderer->GetActiveCamera()->SetFocalPoint(center[0],center[1],center[2]);
- theRenderer->GetActiveCamera()->SetPosition(center[0]+distance*vn[0],
+ theRenderer->GetActiveCamera()->SetPosition(center[0]+distance*vn[0],
center[1]+distance*vn[1],
center[2]+distance*vn[2]);
// setup default parallel scale
ResetCamera(m_Renderer);
}
//m_Renderer->ResetCameraClippingRange();
- m_RW->updateGL();
+ m_RW->update();
}
/*!
{
QAD_Study* ActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
SALOME_Selection* Sel = SALOME_Selection::Selection( ActiveStudy->getSelection() );
-
if ( Sel->SelectionMode() == 4 )
m_RWInteractor->highlight(IObject, highlight, update);
else if ( Sel->SelectionMode() == 3 ) {
if ( anActor->hasIO() ) {
Handle(SALOME_InteractiveObject) IO = anActor->getIO();
if ( IO->hasEntry() ) {
- if (!QAD_ViewFrame::isInViewer(aStudy, IO->getEntry(), StudyFrameEntry)) {
+ /*if (!QAD_ViewFrame::isInViewer(aStudy, IO->getEntry(), StudyFrameEntry)) {
m_RWInteractor->Erase(IO);
- }
+ }*/
}
}
}
if ( anActor->hasIO() ) {
Handle(SALOME_InteractiveObject) IO = anActor->getIO();
if ( IO->hasEntry() ) {
- if ( strcmp(IO->getEntry(),RefSO->GetID()) == 0 )
- m_RWInteractor->Display(IO);
+ /*if ( strcmp(IO->getEntry(),RefSO->GetID()) == 0 )
+ m_RWInteractor->Display(IO);*/
}
}
}
void VTKViewer_ViewFrame::Repaint()
{
- m_RWInteractor->Render();
- m_RW->updateGL();
+ // m_RWInteractor->Render();
+ m_RW->update();
}
-void VTKViewer_ViewFrame::AddActor( SALOME_Actor* theActor, bool update /*=false*/ )
-{
- m_Renderer->AddActor( theActor );
- if (m_NonIsometricTransform != NULL)
- {
- vtkPolyDataMapper* mapper = NULL;
- vtkMapper* initialMapper = theActor->GetInitialMapper();
- if ( initialMapper == NULL )
- initialMapper = theActor->GetMapper();
- if ( initialMapper->IsA("vtkDataSetMapper") )
- {
- mapper = vtkDataSetMapper::SafeDownCast( initialMapper )->GetPolyDataMapper ();
- if (!mapper)
- {
- initialMapper->Render(m_Renderer,theActor);
- mapper = vtkDataSetMapper::SafeDownCast( initialMapper )->GetPolyDataMapper ();
- }
- }
- else
- mapper = vtkPolyDataMapper::SafeDownCast( initialMapper );
- if (mapper)
- {
- //create Filter
- vtkTransformPolyDataFilter *aTransformFilter = vtkTransformPolyDataFilter::New();
- aTransformFilter->SetInput ( mapper->GetInput() );
- aTransformFilter->SetTransform (m_NonIsometricTransform);
-
- //create new mapper
- vtkPolyDataMapper *aMapper = vtkPolyDataMapper::New();
- aMapper->SetInput (aTransformFilter->GetOutput());
- aMapper->ShallowCopy ( theActor->GetMapper());
-
- //set new mapper
- theActor->SetMapper (aMapper);
-
- aTransformFilter->Delete();
- aMapper->Delete();
- }
- }
- theActor->SetVisibility( true );
-
- if (update)
+void VTKViewer_ViewFrame::GetScale(double theScale[3]){
+ m_Transform->GetScale(theScale);
+}
+
+void VTKViewer_ViewFrame::SetScale(double theScale[3]){
+ m_Transform->SetScale(theScale[0], theScale[1], theScale[2]);
+ m_Transform->Modified();
+ Repaint();
+}
+
+void VTKViewer_ViewFrame::AddActor( SALOME_Actor* theActor, bool update /*=false*/ ){
+ theActor->SetVisibility(true);
+ theActor->AddToRender(m_Renderer);
+ theActor->SetTransform(m_Transform);
+ if(update){
+ m_Renderer->ResetCameraClippingRange();
+ m_RWInteractor->Render();
+ }
+}
+
+void VTKViewer_ViewFrame::RemoveActor( SALOME_Actor* theActor, bool update /*=false*/ ){
+ theActor->RemoveFromRender(m_Renderer);
+ if(update){
+ m_Renderer->ResetCameraClippingRange();
m_RWInteractor->Render();
+ }
}
+
+
-// File : VTKViewer_ViewFrame.h
-// Created : Wed Mar 20 11:27:26 2002
-// Author : Nicolas REJNERI
-// Project : SALOME
-// Module : VTKViewer
-// Copyright : Open CASCADE 2002
+// SALOME VTKViewer : build VTK viewer into Salome desktop
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : VTKViewer_ViewFrame.h
+// Author : Nicolas REJNERI
+// Module : SALOME
// $Header$
#ifndef VTKViewer_ViewFrame_H
#define VTKViewer_ViewFrame_H
-#include "VTKViewer_RenderWindowInteractor.h"
-#include "VTKViewer_RenderWindow.h"
-#include "VTKViewer_NonIsometricTransform.h"
-
#include "QAD.h"
#include "QAD_ViewFrame.h"
-// VTK Includes
-#include <vtkAxes.h>
-#include <vtkPolyDataMapper.h>
-#include <vtkActor.h>
-#include <vtkRenderer.h>
+#include "VTKViewer_RenderWindowInteractor.h"
+#include "VTKViewer_RenderWindow.h"
-class QAD_EXPORT VTKViewer_ViewFrame : public QAD_ViewFrame
-{
- Q_OBJECT
+// VTK Includes
+class vtkRenderer;
+class vtkActorCollection;
+class vtkTransform;
- public:
+class QAD_EXPORT VTKViewer_ViewFrame : public QAD_ViewFrame{
+ Q_OBJECT;
+ public:
VTKViewer_ViewFrame(QWidget* parent, const char* name=0 );
~VTKViewer_ViewFrame();
-
+
ViewType getTypeView() const{ return VIEW_VTK;};
QWidget* getViewWidget();
vtkRenderer* getRenderer() {return m_Renderer;}
- void setRW(VTKViewer_RenderWindow* rw);
- VTKViewer_RenderWindow* getRW() {return m_RW;}
- VTKViewer_RenderWindowInteractor* getRWInteractor() {return m_RWInteractor;}
+ VTKViewer_RenderWindow* getRW() {return m_RW;}
+ VTKViewer_RenderWindowInteractor* getRWInteractor() {return m_RWInteractor;}
bool isTrihedronDisplayed();
void SetTrihedronSize( int dim );
void EraseAll();
void Repaint();
- /* non-isometric transformation */
- void setNonIsometricTransform (VTKViewer_NonIsometricTransform *NonIsometricTransform)
- {
- m_NonIsometricTransform = NonIsometricTransform;
- }
- VTKViewer_NonIsometricTransform * getNonIsometricTransform ()
- {
- if ( m_NonIsometricTransform == NULL )
- m_NonIsometricTransform = VTKViewer_NonIsometricTransform::New();
- return m_NonIsometricTransform;
- }
//apply existing transformation on adding SALOME_Actor
+ void SetScale(double theScale[3]);
+ void GetScale(double theScale[3]);
void AddActor(SALOME_Actor*, bool update = false);
+ void RemoveActor(SALOME_Actor*, bool update = false);
private:
- void AddVector(float* o,float* p,vtkRenderer* renderer);
+ void AddVector(float* o,float* p,vtkRenderer* renderer, float aSize);
void AddAxis(vtkRenderer* renderer);
public slots:
Standard_Boolean m_TriedronVisible;
vtkActorCollection* m_Triedron;
- VTKViewer_NonIsometricTransform *m_NonIsometricTransform;
-
+ SALOME_Transform *m_Transform;
};
#endif