Salome HOME
premiere version V0
authorcrouzet <crouzet>
Tue, 25 Nov 2003 13:32:24 +0000 (13:32 +0000)
committercrouzet <crouzet>
Tue, 25 Nov 2003 13:32:24 +0000 (13:32 +0000)
29 files changed:
Makefile.in [new file with mode: 0644]
adm_local/unix/make_commence.in [new file with mode: 0644]
adm_local/unix/make_omniorb.in [new file with mode: 0644]
bin/VERSION [new file with mode: 0755]
bin/runAppli.in [new file with mode: 0755]
bin/runSalome.py [new file with mode: 0755]
build_configure [new file with mode: 0755]
configure.in.base [new file with mode: 0644]
idl/HELLO_Gen.idl [new file with mode: 0644]
idl/Makefile.in [new file with mode: 0644]
resources/ExecHELLO.png [new file with mode: 0644]
resources/HELLO.png [new file with mode: 0644]
resources/HELLOCatalog.xml [new file with mode: 0644]
resources/HELLO_en.ps [new file with mode: 0644]
resources/HELLO_en.xml [new file with mode: 0644]
resources/HELLO_fr.xml [new file with mode: 0644]
src/HELLO/HELLO.cxx [new file with mode: 0755]
src/HELLO/HELLO.hxx [new file with mode: 0644]
src/HELLO/Makefile.in [new file with mode: 0644]
src/HELLOGUI/HELLOGUI.cxx [new file with mode: 0644]
src/HELLOGUI/HELLOGUI.h [new file with mode: 0644]
src/HELLOGUI/HELLO_icons.po [new file with mode: 0644]
src/HELLOGUI/HELLO_msg_en.po [new file with mode: 0644]
src/HELLOGUI/HELLO_msg_fr.po [new file with mode: 0644]
src/HELLOGUI/Makefile.in [new file with mode: 0644]
src/HELLOGUI/PYHELLOGUI.py [new file with mode: 0644]
src/HELLOGUI/old/HELLO_msg_en.po [new file with mode: 0644]
src/HELLOGUI/old/HELLO_msg_fr.po [new file with mode: 0644]
src/Makefile.in [new file with mode: 0644]

diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..dffca8e
--- /dev/null
@@ -0,0 +1,91 @@
+# -* Makefile *- 
+#
+# Author : C. Caremoli
+# Date : 10/10/2003
+# $Header$
+#
+
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=.
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/bin:@top_srcdir@/resources:./bin:@top_srcdir@/idl
+
+@COMMENCE@
+
+SUBDIRS = idl src
+
+RESOURCES_FILES = HELLOCatalog.xml HELLO.png HELLO_en.xml \
+                  ExecHELLO.png
+
+BIN_SCRIPT= VERSION runAppli runSalome.py
+
+# copy header files in common directory
+ifeq ($(HAVE_SSTREAM),yes)
+  include_list=include/salome/SALOMEconfig.h
+else
+  include_list=include/salome/SALOMEconfig.h include/salome/sstream
+endif
+
+inc: idl $(include_list)
+
+include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref
+       -$(RM) $@
+       $(LN_S) ../../$< $@
+
+# test if SALOMEconfig.h has changed (contents)
+salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h
+       @if ! [ -a $@ ]; then \
+         cp -p $< $@;        \
+       fi;                   \
+       if ! cmp $< $@; then  \
+         cp -p $< $@;        \
+       fi;                   \
+
+include/salome/sstream: salome_adm/unix/sstream
+       -$(RM) $@
+       $(LN_S) ../../$< $@
+
+depend: depend_idl
+
+depend_idl:
+       (cd idl ; $(MAKE) $@) || exit 1
+
+# doc is already build : if you want to had documents, go manually to doc and run 'make doc'
+#doc:
+#      (cd doc && $(MAKE) $@) || exit 1
+
+install-end:
+# finish libtool install
+#      @$(LT) --mode=finish $(libdir)
+
+install-include: $(include_list)
+       $(INSTALL) -d  $(includedir)
+       @for f in X $(include_list); do                         \
+          if test $$f != X; then                               \
+            ($(INSTALL_DATA) $$f $(includedir)/. || exit 1);   \
+          fi;                                                  \
+       done
+
+# install script in $(bindir) :
+install-bin: $(BIN_SCRIPT)
+       $(INSTALL) -d  $(bindir)
+       $(INSTALL_PROGRAM) $^ $(bindir)
+
+uninstall: uninstall-idl
+
+uninstall-idl:
+       $(RM) $(idldir)/*.idl
+
+distclean: distclean-other
+
+distclean-other:
+       -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old
+       -$(RM) salome_adm/unix/make_* 
+       -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h 
+       -$(RM) config.cache config.log config.status 
+
+@MODULE@
+
+install: install-bin install-include install-end
+
diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in
new file mode 100644 (file)
index 0000000..f6d5ea9
--- /dev/null
@@ -0,0 +1,249 @@
+# common directories to put headerfiles
+inc_builddir=$(top_builddir)/include/salome
+
+@SET_MAKE@
+SHELL=/bin/sh
+
+# header missing
+
+HAVE_SSTREAM=@HAVE_SSTREAM@
+
+
+LIBS=@LIBS@ 
+LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker -L$(top_builddir)/lib/salome
+# add libstdc++ to link c++ library with libtool !
+LDFLAGS+= -lstdc++
+
+CP=@CP@
+
+# CPP
+
+CPP=@CPP@
+CXXCPP=@CXXCPP@
+CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
+
+# C
+
+CC = @CC@
+CFLAGS = @CFLAGS@
+C_DEPEND_FLAG = @C_DEPEND_FLAG@
+
+# C++
+
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@ 
+CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
+
+# JAVA
+
+JAVA_INCLUDES = @JAVA_INCLUDES@
+JAVA_LIBS = @JAVA_LIBS@
+JAVA_LDPATH = @JAVA_LDPATH@
+
+# PYTHON
+
+PYTHON = @PYTHON@
+PYTHONHOME = @PYTHONHOME@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_LIBS = @PYTHON_LIBS@
+PYTHON_VERSION = @PYTHON_VERSION@
+PYTHON_SITE = @PYTHON_SITE@
+PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@
+
+# QT
+
+QT_ROOT = @QT_ROOT@
+QT_INCLUDES = @QT_INCLUDES@
+QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT
+QT_LIBS = @QT_LIBS@
+QT_MT_LIBS = @QT_MT_LIBS@
+
+MOC = @MOC@
+UIC = @UIC@
+
+
+#QWT
+
+QWT_INCLUDES=@QWT_INCLUDES@
+QWT_LIBS=@QWT_LIBS@
+
+# SIP
+SIP = @SIP@
+SIP_INCLUDES = @SIP_INCLUDES@
+SIP_LIBS = @SIP_LIBS@
+
+# PYQT
+PYQT_SIPS = @PYQT_SIPS@
+PYQT_LIBS = @PYQT_LIBS@
+
+# openGL
+OGL_INCLUDES=@OGL_INCLUDES@
+OGL_LIBS=@OGL_LIBS@
+
+# VTK
+VTK_INCLUDES=@VTK_INCLUDES@
+VTK_LIBS=@VTK_LIBS@
+
+# HDF5
+
+HDF5_INCLUDES=@HDF5_INCLUDES@
+HDF5_LIBS=@HDF5_LIBS@
+HDF5_MT_LIBS=@HDF5_MT_LIBS@
+
+# MED2
+
+MED2_INCLUDES=@MED2_INCLUDES@
+MED2_LIBS=@MED2_LIBS@
+MED2_MT_LIBS=@MED2_MT_LIBS@
+
+# OpenCasCade
+
+OCC_INCLUDES=@CAS_CPPFLAGS@
+OCC_CXXFLAGS=@CAS_CXXFLAGS@
+
+OCC_KERNEL_LIBS=@CAS_KERNEL@
+OCC_OCAF_LIBS=@CAS_OCAF@
+OCC_VIEWER_LIBS=@CAS_VIEWER@
+OCC_MODELER_LIBS=@CAS_MODELER@
+OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@
+OCC_LIBS=@CAS_LDFLAGS@
+
+# MPICH
+
+MPICH_INCLUDES=@MPICH_INCLUDES@
+MPICH_LIBS=@MPICH_LIBS@
+
+# Swig C++ Python
+
+SWIG       = @SWIG@
+SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
+
+# OMNIORB
+
+OMNIORB_ROOT        = @OMNIORB_ROOT@
+OMNIORB_INCLUDES    = @OMNIORB_INCLUDES@
+OMNIORB_LIBS        = @OMNIORB_LIBS@
+OMNIORB_CXXFLAGS    = @OMNIORB_CXXFLAGS@
+
+OMNIORB_IDL         = @OMNIORB_IDL@
+OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
+OMNIORB_IDLPYFLAGS  = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome
+
+OMNIORB_IDL_CLN_H   = @OMNIORB_IDL_CLN_H@
+OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@
+OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@
+
+OMNIORB_IDL_SRV_H   = @OMNIORB_IDL_SRV_H@
+OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@
+OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@
+
+# Default ORB
+
+CORBA_ROOT        = @CORBA_ROOT@
+CORBA_INCLUDES    = @CORBA_INCLUDES@
+CORBA_LIBS        = @CORBA_LIBS@
+CORBA_CXXFLAGS    = @CORBA_CXXFLAGS@
+
+IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome
+IDLPYFLAGS  = @IDLPYFLAGS@
+
+IDL = @IDL@
+
+IDL_CLN_H   = @IDL_CLN_H@
+IDL_CLN_CXX = @IDL_CLN_CXX@
+IDL_CLN_OBJ = @IDL_CLN_OBJ@
+
+IDL_SRV_H   = @IDL_SRV_H@
+IDL_SRV_CXX = @IDL_SRV_CXX@
+IDL_SRV_OBJ = @IDL_SRV_OBJ@
+
+CPPFLAGS+= $(CORBA_INCLUDES) 
+CXXFLAGS+= $(CORBA_CXXFLAGS)
+
+# add corba libs when link salome application ! 
+#LDFLAGS+= $(CORBA_LIBS)
+LIBS+=$(CORBA_LIBS)
+
+## Shared libraries
+LT_STATIC_EXEC=@LT_STATIC_EXEC@
+DYNAMIC_DIRS=@DYNAMIC_DIRS@
+LT_LIB=libtool
+LT=$(top_builddir)/libtool
+LT_COMPILE=$(LT) --mode=compile $(CC)
+LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir)
+LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
+LT_RUN=$(LT) --mode=execute
+LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
+LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
+LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
+
+INSTALL=@INSTALL@
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
+INSTALL_DATA=@INSTALL_DATA@
+
+# create a symbolic link (or a copie ?)
+LN_S=@LN_S@
+
+## Installation points
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@/salome
+libdir=@libdir@/salome
+# warning : if user give this path in configure we could have salome/salome :-(
+includedir=@includedir@/salome
+datadir=@datadir@/salome
+idldir=$(prefix)/idl/salome
+sharedpydir=@libdir@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
+
+docdir=$(datadir)/doc
+
+#
+# begin of package rules
+#
+
+.PHONY: all lib bin inc resources tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean
+
+.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm
+
+all:
+       $(MAKE) inc
+       $(MAKE) depend_idl
+       $(MAKE) depend
+       $(MAKE) lib
+       $(MAKE) bin
+       $(MAKE) resources
+
+#
+# add target to build administrative files
+#
+
+Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in
+       cd $(top_builddir) ; ./config.status
+
+$(top_builddir)/config.status: $(top_srcdir)/configure
+       cd $(top_builddir) ; ./config.status --recheck
+
+# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-)
+ifneq ($(top_srcdir),$(srcdir))
+configure: $(top_srcdir)/configure
+endif
+
+$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
+       cd $(top_srcdir) ; autoconf
+
+$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base
+       cd $(top_srcdir) && ./build_configure
+
+
+ACLOCAL_SRC = \
+ac_cxx_bool.m4                    check_corba.m4     check_vtk.m4      \
+ac_cxx_depend_flag.m4             check_hdf5.m4      enable_pthreads.m4        \
+ac_cxx_mutable.m4                 check_mico.m4      libtool.m4                \
+ac_cxx_namespaces.m4              check_omniorb.m4   pyembed.m4                \
+ac_cxx_partial_specialization.m4  check_opengl.m4    python.m4         \
+ac_cxx_typename.m4                check_pthreads.m4  check_cas.m4      \
+ac_cc_warnings.m4                 check_qt.m4        check_med2.m4      \
+check_swig.m4 
+
+$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%)
+       cd $(top_srcdir) ; aclocal --acdir=adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files
diff --git a/adm_local/unix/make_omniorb.in b/adm_local/unix/make_omniorb.in
new file mode 100644 (file)
index 0000000..84679a9
--- /dev/null
@@ -0,0 +1,53 @@
+#=======================================================================
+# Begin specific part to omniorb 
+# (include from file adm/unix/make_omniorb generated by 
+# adm/unix/make_omniorb.in)
+#=======================================================================
+# -* Makefile *- 
+#
+# Author : Patrick GOLDBRONN (CEA)
+# Date : 29/06/2001
+# $Header$
+#
+
+# Client and server object are the same with omniorb
+# There are one header file and one source file generate
+
+#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
+
+# dependancies between idl and it's generated files
+%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl
+       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
+
+%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl
+       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
+
+# dependncies between idl files
+depend_idl: .depidl
+
+# we use cpp to generate dependencies between idl files.
+# we change cpp output to keep only idl file and transform it to get a suitable rule
+.depidl: $(IDL_FILES)
+       @touch $@
+       @for dep in $? dummy; do \
+         if [ $$dep != "dummy" ]; then \
+           echo Building dependencies for $$dep; \
+           basedep=`basename $$dep .idl`; \
+           header="$$basedep"$(IDL_CLN_H); \
+           sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
+           $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \
+           sed `echo "s%$$basedep\\.idl%$$header:%g"` | \
+           sed 's% $(srcdir)/% %g' | \
+           sed 's% $(top_srcdir)/% %g' | \
+           sed 's% $(top_builddir)/% %g' | \
+           sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \
+           sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \
+           echo ''  >>$@; \
+         fi; \
+       done ;
+
+-include .depidl
+
+#=======================================================================
+# End specific part to omniorb 
+#=======================================================================
diff --git a/bin/VERSION b/bin/VERSION
new file mode 100755 (executable)
index 0000000..23a578f
--- /dev/null
@@ -0,0 +1,2 @@
+SALOME 2 EXEMPLE MODULE C++ : HELLO
+This module works with KERNEL 1.2.1
diff --git a/bin/runAppli.in b/bin/runAppli.in
new file mode 100755 (executable)
index 0000000..9a47b00
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export KERNEL_ROOT_DIR=@KERNEL_ROOT_DIR@
+export PYHELLO_ROOT_DIR=@prefix@
+
+python -i $PYHELLO_ROOT_DIR/bin/salome/runSalome.py --modules=PYHELLO --xterm --containers=cpp,python --killall
+
+
diff --git a/bin/runSalome.py b/bin/runSalome.py
new file mode 100755 (executable)
index 0000000..c7eb2e7
--- /dev/null
@@ -0,0 +1,506 @@
+#!/usr/bin/env python
+
+usage="""USAGE: runSalome.py [options]
+
+[command line options] :
+--help                        : affichage de l'aide
+--gui                         : lancement du GUI
+--logger                     : redirection des messages dans un fichier
+--xterm                              : les serveurs ouvrent une fenêtre xterm et les messages sont affichés dans cette fenêtre
+--modules=module1,module2,... : où modulen est le nom d'un module Salome à charger dans le catalogue
+--containers=cpp,python,superv: lancement des containers cpp, python et de supervision
+--killall                    : arrêt des serveurs de salome
+
+ La variable d'environnement <modulen>_ROOT_DIR doit etre préalablement
+ positionnée (modulen doit etre en majuscule).
+ KERNEL_ROOT_DIR est obligatoire.
+"""
+
+# -----------------------------------------------------------------------------
+#
+# Fonction d'arrêt de salome
+#
+
+def killSalome():
+   print "arret des serveurs SALOME"
+   for pid, cmd in process_id.items():
+      print "arret du process %s : %s"% (pid, cmd[0])
+      try:
+       os.kill(pid,signal.SIGKILL)
+      except:
+         print "  ------------------ process %s : %s inexistant"% (pid, cmd[0])
+   print "arret du naming service"
+   os.system("killall -9 omniNames")
+   
+# -----------------------------------------------------------------------------
+#
+# Fonction message
+#
+
+def message(code, msg=''):
+    if msg: print msg
+    sys.exit(code)
+
+import sys,os,string,glob,time,signal,pickle,getopt
+
+init_time=os.times()
+opts, args=getopt.getopt(sys.argv[1:], 'hmglxck:', ['help','modules=','gui','logger','xterm','containers=','killall'])
+modules_root_dir={}
+process_id={}
+liste_modules={}
+liste_containers={}
+with_gui=0
+with_logger=0
+with_xterm=0
+
+with_container_cpp=0
+with_container_python=0
+with_container_superv=0
+
+try:
+  for o, a in opts:
+    if o in ('-h', '--help'):
+      print usage
+      sys.exit(1)
+    elif o in ('-g', '--gui'):
+      with_gui=1
+    elif o in ('-l', '--logger'):
+      with_logger=1
+    elif o in ('-x', '--xterm'):
+      with_xterm=1
+    elif o in ('-m', '--modules'):
+      liste_modules = [x.upper() for x in a.split(',')]
+    elif o in ('-c', '--containers'):
+      liste_containers = [x.lower() for x in a.split(',')]
+      for r in liste_containers:
+        if r not in ('cpp', 'python', 'superv'):
+          message(1, 'Invalid -c/--containers option: %s' % a)
+      if 'cpp' in liste_containers:
+          with_container_cpp=1
+      else:
+          with_container_cpp=0
+      if 'python' in liste_containers:
+          with_container_python=1
+      else:
+          with_container_python=0
+      if 'superv' in liste_containers:
+          with_container_superv=1
+      else:
+          with_container_superv=0
+    elif o in ('-k', '--killall'):
+      filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
+      #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
+      found = 0
+      try:
+         fpid=open(filedict, 'r')
+        found = 1
+      except:
+         print "le fichier %s des process SALOME n'est pas accessible"% filedict
+
+      if found:
+         process_id=pickle.load(fpid)
+         fpid.close()
+         killSalome()
+        process_id={}
+         os.remove(filedict)
+       
+except getopt.error, msg:
+  print usage
+  sys.exit(1)
+
+# -----------------------------------------------------------------------------
+#
+# Vérification des variables d'environnement
+#
+try:
+  kernel_root_dir=os.environ["KERNEL_ROOT_DIR"]
+  modules_root_dir["KERNEL"]=kernel_root_dir
+except:
+  print usage
+  sys.exit(1)
+
+for module in liste_modules :
+   try:
+      module=module.upper()
+      module_root_dir=os.environ[module +"_ROOT_DIR"]
+      modules_root_dir[module]=module_root_dir
+   except:
+      print usage
+      sys.exit(1)
+
+# il faut KERNEL en premier dans la liste des modules
+# - l'ordre des modules dans le catalogue sera identique
+# - la liste des modules presents dans le catalogue est exploitée pour charger les modules CORBA python,
+#   il faut charger les modules python du KERNEL en premier
+
+if "KERNEL" in liste_modules:liste_modules.remove("KERNEL")
+liste_modules[:0]=["KERNEL"]
+#print liste_modules
+#print modules_root_dir
+
+os.environ["SALOMEPATH"]=":".join(modules_root_dir.values())
+if "SUPERV" in liste_modules:with_container_superv=1
+
+
+# -----------------------------------------------------------------------------
+#
+# Définition des classes d'objets pour le lancement des Server CORBA
+#
+
+class Server:
+   CMD=[]
+   if with_xterm:
+       ARGS=['xterm', '-iconic', '-sb', '-sl', '500', '-e']
+   else:
+       ARGS=[] 
+
+   def run(self):
+      args = self.ARGS+self.CMD
+      #print "args = ", args
+      pid = os.spawnvp(os.P_NOWAIT, args[0], args)
+      process_id[pid]=self.CMD
+
+class CatalogServer(Server):
+   SCMD1=['SALOME_ModuleCatalog_Server','-common']
+   SCMD2=['-personal','${HOME}/Salome/resources/CatalogModulePersonnel.xml'] 
+
+   def setpath(self,liste_modules):
+      cata_path=[]
+      for module in liste_modules:
+          module_root_dir=modules_root_dir[module]
+          module_cata=module+"Catalog.xml"
+          print "   ", module_cata
+          cata_path.extend(glob.glob(os.path.join(module_root_dir,"share","salome","resources",module_cata)))
+      self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2
+
+class SalomeDSServer(Server):
+   CMD=['SALOMEDS_Server']
+
+class RegistryServer(Server):
+   CMD=['SALOME_Registry_Server', '--salome_session','theSession']
+
+class ContainerCPPServer(Server):
+   CMD=['SALOME_Container','FactoryServer','-ORBInitRef','NameService=corbaname::localhost']
+
+class ContainerPYServer(Server):
+   CMD=['SALOME_ContainerPy.py','FactoryServerPy','-ORBInitRef','NameService=corbaname::localhost']
+
+class ContainerSUPERVServer(Server):
+   CMD=['SALOME_Container','SuperVisionContainer','-ORBInitRef','NameService=corbaname::localhost']
+
+class LoggerServer(Server):
+   CMD=['SALOME_Logger_Server', 'logger.log']
+
+class SessionLoader(Server):
+   CMD=['SALOME_Session_Loader']
+   if with_container_cpp:
+       CMD=CMD+['CPP']
+   if with_container_python:
+       CMD=CMD+['PY']
+   if with_container_superv:
+       CMD=CMD+['SUPERV']
+   if with_gui:
+       CMD=CMD+['GUI']
+
+class SessionServer(Server):
+   CMD=['SALOME_Session_Server']
+
+class NotifyServer(Server):
+   CMD=['notifd','-c','${KERNEL_ROOT_DIR}/share/salome/resources/channel.cfg -DFactoryIORFileName=/tmp/${LOGNAME}_rdifact.ior -DChannelIORFileName=/tmp/${LOGNAME}_rdichan.ior']
+
+# -----------------------------------------------------------------------------
+#
+# Fonction de test
+#
+
+def test(clt):
+   """
+        Test function that creates an instance of PYHELLO component
+        usage : pyhello=test(clt)
+   """
+   # create an LifeCycleCORBA instance
+   import LifeCycleCORBA 
+   lcc = LifeCycleCORBA.LifeCycleCORBA(clt.orb)
+   import PYHELLO_ORB
+   pyhello = lcc.FindOrLoadComponent("FactoryServerPy", "PYHELLO")
+   return pyhello
+
+# -----------------------------------------------------------------------------
+#
+# Fonctions helper pour ajouter des variables d'environnement
+#
+
+def add_path(directory):
+   os.environ["PATH"]=directory + ":" + os.environ["PATH"]
+
+def add_ld_library_path(directory):
+   os.environ["LD_LIBRARY_PATH"]=directory + ":" + os.environ["LD_LIBRARY_PATH"]
+
+def add_python_path(directory):
+   os.environ["PYTHONPATH"]=directory + ":" + os.environ["PYTHONPATH"]
+   sys.path[:0]=[directory]
+
+# -----------------------------------------------------------------------------
+#
+# initialisation des variables d'environnement
+#
+
+python_version="python%d.%d" % sys.version_info[0:2]
+
+#
+# Ajout du chemin d'acces aux executables de KERNEL dans le PATH
+#
+
+add_path(os.path.join(kernel_root_dir,"bin","salome"))
+#print "PATH=",os.environ["PATH"]
+
+#
+# Ajout des modules dans le LD_LIBRARY_PATH
+#
+for module in liste_modules:
+    module_root_dir=modules_root_dir[module]
+    add_ld_library_path(os.path.join(module_root_dir,"lib","salome"))
+#print "LD_LIBRARY_PATH=",os.environ["LD_LIBRARY_PATH"]
+
+#
+# Ajout des modules dans le PYTHONPATH (KERNEL prioritaire, donc en dernier)
+#
+
+liste_modules_reverse=liste_modules[:]
+liste_modules_reverse.reverse()
+#print liste_modules
+#print liste_modules_reverse
+for module in liste_modules_reverse:
+    module_root_dir=modules_root_dir[module]
+    add_python_path(os.path.join(module_root_dir,"bin","salome"))
+    add_python_path(os.path.join(module_root_dir,"lib",python_version,"site-packages","salome"))
+    add_python_path(os.path.join(module_root_dir,"lib","salome"))
+    add_python_path(os.path.join(module_root_dir,"lib",python_version,"site-packages","salome","shared_modules"))
+
+#print "PYTHONPATH=",sys.path
+
+import orbmodule
+
+#
+# -----------------------------------------------------------------------------
+#
+
+def startGUI():
+  import SALOME
+  session=clt.waitNS("/Kernel/Session",SALOME.Session)
+
+  #
+  # Activation du GUI de Session Server
+  #
+       
+  session.GetInterface()
+  
+#
+# -----------------------------------------------------------------------------
+#
+
+def startSalome():
+
+  #
+  # Lancement Session Loader
+  #
+  SessionLoader().run()
+
+  #
+  # Initialisation ORB et Naming Service
+  #
+  clt=orbmodule.client()
+
+  # (non obligatoire) Lancement Logger Server et attente de sa 
+  #  disponibilite dans le naming service
+  #
+  if with_logger:
+       LoggerServer().run()
+       clt.waitLogger("Logger")
+
+  #
+  # Lancement Registry Server
+  #
+  RegistryServer().run()
+
+  #
+  # Attente de la disponibilité du Registry dans le Naming Service
+  #
+  clt.waitNS("/Registry")
+
+  #
+  # Lancement Catalog Server
+  #
+  cataServer=CatalogServer()
+  cataServer.setpath(liste_modules)
+  cataServer.run()
+
+  #
+  # Attente de la disponibilité du Catalog Server dans le Naming Service
+  #
+  import SALOME_ModuleCatalog
+  clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
+
+  #
+  # Lancement SalomeDS Server
+  #
+  os.environ["CSF_PluginDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+  os.environ["CSF_SALOMEDS_ResourcesDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+  SalomeDSServer().run()
+
+  if "GEOM" in liste_modules:
+       print "GEOM OCAF Resources"
+       os.environ["CSF_GEOMDS_ResourcesDefaults"]=os.path.join(modules_root_dir["GEOM"],"share","salome","resources")
+
+
+  #
+  # Attente de la disponibilité du SalomeDS dans le Naming Service
+  #
+  clt.waitNS("/myStudyManager")
+
+  #
+  # Lancement Session Server
+  #
+  SessionServer().run()
+
+  #
+  # Attente de la disponibilité du Session Server dans le Naming Service
+  #
+  import SALOME
+  session=clt.waitNS("/Kernel/Session",SALOME.Session)
+
+  #
+  # Lancement containers
+  #
+  theComputer = os.getenv("HOSTNAME")
+  theComputer = theComputer.split('.')[0]
+
+  #
+  # Lancement Container C++ local
+  #
+  if with_container_cpp:
+         ContainerCPPServer().run()
+         #
+         # Attente de la disponibilité du Container C++ local 
+          # dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
+  #
+  # Lancement Container Python local
+  #
+  if with_container_python:
+         ContainerPYServer().run()
+         #
+         # Attente de la disponibilité du Container Python local 
+          #  dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
+
+  if with_container_superv:
+       #
+       # Lancement Container Supervision local
+       #
+       ContainerSUPERVServer().run()
+       #
+       # Attente de la disponibilité du Container Supervision local 
+        # dans le Naming Service
+       #
+       clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
+  #
+  # Activation du GUI de Session Server
+  #
+  #session.GetInterface()
+
+  end_time = os.times()
+  print
+  print "Start SALOME, elpased time : %5.1f seconds"% (end_time[4] - init_time[4])
+
+  return clt
+
+#
+# -----------------------------------------------------------------------------
+#
+
+if __name__ == "__main__":
+   clt=None
+   try:
+      clt = startSalome()
+   except:
+      print
+      print
+      print "--- erreur au lancement Salome ---"
+   
+   #print process_id
+   
+   
+   filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
+   #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
+   
+   fpid=open(filedict, 'w')
+   pickle.dump(process_id,fpid)
+   fpid.close()
+   
+   print """
+
+Sauvegarde du dictionnaire des process dans , %s
+Pour tuer les process SALOME, executer : python killSalome.py depuis
+une console, ou bien killSalome() depuis le present interpreteur,
+s'il n'est pas fermé.
+
+runSalome, avec l'option --killall, commence par tuer les process restants 
+d'une execution précédente.
+
+Pour lancer uniquement le GUI, executer startGUI() depuis le present interpreteur,
+s'il n'est pas fermé.
+
+""" % filedict
+   
+   #
+   #  Impression arborescence Naming Service
+   #
+   
+   if clt != None:
+     print
+     print " --- registered objects tree in Naming Service ---"
+     clt.showNS()
+     session=clt.waitNS("/Kernel/Session")
+     catalog=clt.waitNS("/Kernel/ModulCatalog")
+     import socket
+     container =  clt.waitNS("/Containers/" + socket.gethostname().split('.')[0] + "/FactoryServerPy")
+   
+   if os.path.isfile("~/.salome/pystartup"):
+      f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+      PYTHONSTARTUP=f.read()
+      f.close()
+   else:
+      PYTHONSTARTUP="""
+# Add auto-completion and a stored history file of commands to your Python
+# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
+# bound to the TAB key by default (you can change it - see readline docs).
+#
+# Store the history in ~/.salome/pyhistory, 
+#
+import atexit
+import os
+import readline
+import rlcompleter
+readline.parse_and_bind('tab: complete')
+
+historyPath = os.path.expanduser("~/.salome/pyhistory")
+
+def save_history(historyPath=historyPath):
+    import readline
+    readline.write_history_file(historyPath)
+
+if os.path.exists(historyPath):
+    readline.read_history_file(historyPath)
+
+atexit.register(save_history)
+del os, atexit, readline, rlcompleter, save_history, historyPath
+"""
+      f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+      f.write(PYTHONSTARTUP)
+      f.close()
+
+   exec PYTHONSTARTUP in {}
+   
diff --git a/build_configure b/build_configure
new file mode 100755 (executable)
index 0000000..573a23b
--- /dev/null
@@ -0,0 +1,207 @@
+#!/bin/bash
+
+#
+# Tool for updating list of .in file for the SALOME project 
+# and regenerating configure script
+#
+# Author : Marc Tajchman - CEA
+# Date : 10/10/2002
+# $Header $
+#
+
+ORIG_DIR=`pwd`
+CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
+
+########################################################################
+# Test if the KERNEL_ROOT_DIR is set correctly
+
+if test ! -d "${KERNEL_ROOT_DIR}"; then
+    echo "failed : KERNEL_ROOT_DIR variable is not correct !"
+    exit
+fi
+
+########################################################################
+# find_in - utility function
+#
+# usage :  
+#    find_in directory filename 
+#
+# Finds files following the *.in pattern, recursively in the
+# directory (first argument).
+# Results are appended into the file (second argument)
+#
+# Difference from the standard unix find is that files are tested
+# before directories
+# 
+
+find_in()
+{
+  local i
+  local f=$2
+
+# if the first argument is not a directory, returns
+
+  if [ ! -d "$1" ] ; then 
+     return 
+  fi
+
+# dont look in the CVS directories
+
+  case $1 in
+    */CVS) return ;;
+    *) ;;
+  esac
+
+# for each regular file contained in the directory
+# test if it's a .in file
+
+  for i in "$1"/*
+  do
+     if [ -f "$i" ] ; then
+       case $i in 
+         *.in) echo $i" \\" >> $f;;
+         *) ;;
+        esac
+     fi
+  done
+
+# for each subdirectory of the first argument, proceeds recursively
+
+  for i in "$1"/*
+  do
+     if [ -d "$i" ] ; then
+        find_in "$i" "$f"
+     fi
+  done
+}
+
+
+#######################################################################
+# Generate list of .in files (Makefile.in, config.h.in, etc)
+# appending it in file configure.in
+
+cd ${CONF_DIR}
+ABS_CONF_DIR=`pwd`
+
+#
+# Common part of the configure.in file
+#
+chmod u+w configure.in.base
+if ! \cp -f configure.in.base configure.in_tmp1 
+then
+       echo
+       echo "error : can't create files in" ${CONF_DIR}
+       echo "aborting ..."
+        chmod u-w configure.in.base 
+       exit
+fi
+chmod u-w configure.in.base 
+
+if [ -e "${CONF_DIR}/salome_adm" ] ; then
+    \rm -f ${CONF_DIR}/salome_adm
+fi
+
+# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in  files
+echo "" >> configure.in_tmp1
+echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}' >> configure.in_tmp1
+
+echo  "" >> configure.in_tmp1
+echo "AC_OUTPUT([ \\" >> configure.in_tmp1
+
+#
+# List of .in files in the adm/unix directory
+# These files MUST be on top of AC_OUTPUT list so we
+# put them "manually"
+#
+
+echo "./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1
+echo "./salome_adm/unix/F77config.h \\" >> configure.in_tmp1
+echo "./salome_adm/unix/sstream \\" >> configure.in_tmp1
+echo "./salome_adm/unix/depend \\" >> configure.in_tmp1
+echo "./adm_local/unix/make_omniorb \\" >> configure.in_tmp1
+echo "./salome_adm/unix/envScript \\" >> configure.in_tmp1
+echo "./adm_local/unix/make_commence \\" >> configure.in_tmp1
+echo "./salome_adm/unix/make_conclude \\" >> configure.in_tmp1
+echo "./salome_adm/unix/make_module \\" >> configure.in_tmp1
+
+\rm -f configure.in_tmp2
+touch configure.in_tmp2
+find_in . configure.in_tmp2
+
+sed -e '/^.\/salome_adm/d'    \
+    -e '/configure.in/d'      \
+    -e '/^.\/adm_local/d'   \
+    -e 's/.in / /'            \
+    configure.in_tmp2  >>  configure.in_tmp1
+
+echo  "])" >> configure.in_tmp1
+
+# delete the link created for AC_OUTPUT
+echo "" >> configure.in_tmp1
+\mv configure.in_tmp1 configure.in_new
+\rm  -f configure.in_tmp2 
+
+
+########################################################################
+# Create new (or replace old) configure.in file
+# Print a message if the file is write protected
+#
+
+echo
+if test ! -f configure.in
+then
+       echo -n "Creating new file 'configure.in' ... "
+       if \mv configure.in_new configure.in >& /dev/null
+       then
+               echo "done"
+       else
+               echo "error, check your file permissions"
+       fi
+else
+       echo -n "Updating 'configure.in' file ... "
+       if ! \cp configure.in configure.in_old >& /dev/null
+       then
+               echo
+               echo
+               echo "Can't backup previous configure.in"
+               echo -n "Continue (you will not be able to revert) - (Y/N) ? "
+               read R
+                case "x$R" in
+                   xn*) exit;;
+                   xN*) exit;;
+               esac
+               echo
+               echo -n "                                 "
+       fi
+       if \cp configure.in_new configure.in >& /dev/null
+       then
+                \rm  -f configure.in_new
+               echo "done"
+       else
+               echo
+               echo "error, can't update previous configure.in"
+       fi
+fi
+
+########################################################################
+# Use autoconf to rebuild the configure script
+#
+
+if test -f configure
+then
+       echo -n "Updating 'configure' script ...  "
+else
+       echo -n "Creating 'configure' script ...  "
+fi
+
+aclocal --acdir=adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files
+if autoconf
+then
+       echo "done"
+else
+       echo "failed (check file permissions and/or user quotas ...)"
+fi
+
+cd ${ORIG_DIR}
+
+echo
diff --git a/configure.in.base b/configure.in.base
new file mode 100644 (file)
index 0000000..386022d
--- /dev/null
@@ -0,0 +1,219 @@
+#
+#  PLEASE DO NOT MODIFY configure.in FILE
+#
+#  ALL CHANGES WILL BE DISCARDED BY THE NEXT
+#  build_configure COMMAND
+#
+#  CHANGES MUST BE MADE IN configure.in.base FILE
+#
+#
+# Author : Marc Tajchman (CEA)
+# Date : 28/06/2001
+# Modified by : Patrick GOLDBRONN (CEA)
+# Modified by : Marc Tajchman (CEA)
+#
+# Created from configure.in.base
+#
+
+AC_INIT(src)
+AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files)
+AC_CANONICAL_HOST
+
+PACKAGE=salome
+AC_SUBST(PACKAGE)
+
+VERSION=1.2.1
+AC_SUBST(VERSION)
+
+dnl
+dnl Initialize source and build root directories
+dnl
+
+ROOT_BUILDDIR=`pwd`
+ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
+cd $ROOT_SRCDIR
+ROOT_SRCDIR=`pwd`
+cd $ROOT_BUILDDIR
+
+AC_SUBST(ROOT_SRCDIR)
+AC_SUBST(ROOT_BUILDDIR)
+
+echo
+echo Source root directory : $ROOT_SRCDIR
+echo Build  root directory : $ROOT_BUILDDIR
+echo
+echo
+
+if test -z "$AR"; then
+   AC_CHECK_PROGS(AR,ar xar,:,$PATH)
+fi
+AC_SUBST(AR)
+
+dnl Export the AR macro so that it will be placed in the libtool file
+dnl correctly.
+export AR
+
+echo
+echo ---------------------------------------------
+echo testing make
+echo ---------------------------------------------
+echo
+
+AC_PROG_MAKE_SET
+AC_PROG_INSTALL
+dnl 
+dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + for shared libraries
+
+AC_ENABLE_DEBUG(yes)
+AC_DISABLE_PRODUCTION
+
+echo ---------------------------------------------
+echo testing libtool
+echo ---------------------------------------------
+
+dnl first, we set static to no!
+dnl if we want it, use --enable-static
+AC_ENABLE_STATIC(no)
+
+AC_LIBTOOL_DLOPEN
+AC_PROG_LIBTOOL
+
+dnl Fix up the INSTALL macro if it s a relative path. We want the
+dnl full-path to the binary instead.
+case "$INSTALL" in
+   *install-sh*)
+      INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh
+      ;;
+esac
+
+echo
+echo ---------------------------------------------
+echo testing python
+echo ---------------------------------------------
+echo
+
+CHECK_PYTHON
+
+echo
+echo ---------------------------------------------
+echo testing QT
+echo ---------------------------------------------
+echo
+
+CHECK_QT
+
+echo
+echo ---------------------------------------------
+echo Testing OpenCascade
+echo ---------------------------------------------
+echo
+
+CHECK_CAS
+
+echo
+echo ---------------------------------------------
+echo testing omniORB
+echo ---------------------------------------------
+echo
+
+CHECK_OMNIORB
+
+echo
+echo ---------------------------------------------
+echo default ORB : omniORB
+echo ---------------------------------------------
+echo
+
+DEFAULT_ORB=omniORB
+CHECK_CORBA
+
+AC_SUBST_FILE(CORBA)
+corba=make_$ORB
+CORBA=adm_local/unix/$corba
+
+echo
+echo ---------------------------------------------
+echo Testing Kernel
+echo ---------------------------------------------
+echo
+
+CHECK_KERNEL
+
+echo
+echo ---------------------------------------------
+echo Summary
+echo ---------------------------------------------
+echo
+
+echo Configure
+variables="python_ok omniORB_ok Kernel_ok qt_ok"
+
+for var in $variables
+do
+   printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
+   eval echo \$$var
+done
+
+echo
+echo "Default ORB   : $DEFAULT_ORB"
+echo
+
+dnl generals files which could be included in every makefile
+
+AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence
+AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
+AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
+
+dnl les dependences
+AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
+
+dnl We don t need to say when we re entering directories if we re using
+dnl GNU make becuase make does it for us.
+if test "X$GMAKE" = "Xyes"; then
+   AC_SUBST(SETX) SETX=":"
+else
+   AC_SUBST(SETX) SETX="set -x"
+fi
+
+# make other build directories
+for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources share/salome/doc idl
+do
+    $INSTALL -d $rep
+done
+
+echo 
+echo ---------------------------------------------
+echo copying resource files, shell scripts, and 
+echo xml files
+echo ---------------------------------------------
+echo
+
+dnl copy shells and utilities contained in the bin directory
+dnl excluding .in files (treated in AC-OUTPUT below) and CVS 
+dnl directory
+
+cd bin
+for i in $ROOT_SRCDIR/bin/*
+do
+  local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
+  case "$local_bin" in
+        *.in | *~)                    ;;
+        ./bin/CVS)                    ;;
+        *) ln -fs $i; echo $local_bin ;;
+  esac
+done
+cd $ROOT_BUILDDIR
+
+AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript
+
+echo
+echo ---------------------------------------------
+echo generating Makefiles and configure files
+echo ---------------------------------------------
+echo
+
+AC_OUTPUT_COMMANDS([ \
+       chmod +x ./bin/* \
+])
+
+## do not delete this line
diff --git a/idl/HELLO_Gen.idl b/idl/HELLO_Gen.idl
new file mode 100644 (file)
index 0000000..457d8ef
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef __PYHELLO_GEN__
+#define __PYHELLO_GEN__
+
+#include "SALOME_Component.idl"
+#include "SALOME_Exception.idl"
+
+
+module HELLO_ORB
+{
+  interface HELLO_Gen : Engines::Component
+  {
+     string makeBanner(in string name)
+         raises (SALOME::SALOME_Exception);
+  };
+};
+
+#endif
+
diff --git a/idl/Makefile.in b/idl/Makefile.in
new file mode 100644 (file)
index 0000000..5f3e7f2
--- /dev/null
@@ -0,0 +1,60 @@
+#
+# generate dependencies for idl file :
+#
+
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=..
+srcdir=@srcdir@
+VPATH=.:$(srcdir):${KERNEL_ROOT_DIR}/idl/salome
+
+@COMMENCE@
+
+IDL_FILES = HELLO_Gen.idl
+
+PY_CLIENT_IDL = $(IDL_FILES)
+
+# we copy all idl file in $(top_builddir)/idl
+inc: $(IDL_FILES:%=$(top_builddir)/idl/%)
+
+$(IDL_FILES:%=$(top_builddir)/idl/%):$(top_builddir)/idl/%:%
+       #$(CP) $< $@
+       cp -f $< $@
+
+lib: pyidl
+
+PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
+
+pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
+
+$(PYTHON_BUILD_SITE):
+       $(INSTALL) -d  $@
+
+$(PYTHON_BUILD_SITE)/%_idl.py: %.idl
+       $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $<
+
+# install python client (generated from idl file
+install: install-pyidl install-idl
+
+# create directory $(idldir) and copy idl files into it
+install-idl: $(IDL_FILES)
+       $(INSTALL) -d  $(idldir)
+       cp -p $^ $(idldir)
+
+install-pyidl: $(IDL_FILES)
+       $(INSTALL) -d  $(PYTHON_SITE_INSTALL)
+       @for file in $^ dummy; do \
+          if [ $$file != "dummy" ]; then \
+             $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \
+          fi ; \
+        done ;
+
+
+cleandep:
+       -$(RM) .dep*
+
+distclean:
+       -$(RM) *.py
+       -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/%)
+       -$(RM) Makefile
+
diff --git a/resources/ExecHELLO.png b/resources/ExecHELLO.png
new file mode 100644 (file)
index 0000000..16a20c1
Binary files /dev/null and b/resources/ExecHELLO.png differ
diff --git a/resources/HELLO.png b/resources/HELLO.png
new file mode 100644 (file)
index 0000000..16a20c1
Binary files /dev/null and b/resources/HELLO.png differ
diff --git a/resources/HELLOCatalog.xml b/resources/HELLOCatalog.xml
new file mode 100644 (file)
index 0000000..5db7d94
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='us-ascii' ?>
+<!-- XML component catalog -->
+<begin-catalog>
+
+<!-- Path prefix information -->
+
+<path-prefix-list>
+</path-prefix-list>
+
+<!-- Component list -->
+<component-list>
+        <component>
+                <!-- Component identification -->
+                <component-name>HELLO</component-name>
+               <component-username>HELLO GUI</component-username>
+                <component-type>Data</component-type>
+                <component-author>C. Caremoli</component-author>
+                <component-version> 1.0</component-version>
+                <component-comment>EDF - RD</component-comment>
+                <component-multistudy>1</component-multistudy>
+                <component-icone>HELLO.png</component-icone>
+                <constraint>'linux' ~ OS</constraint>
+       
+       </component>
+</component-list>
+</begin-catalog>
diff --git a/resources/HELLO_en.ps b/resources/HELLO_en.ps
new file mode 100644 (file)
index 0000000..4d6e36d
--- /dev/null
@@ -0,0 +1,789 @@
+%!PS-Adobe-3.0
+%%Title: PYHELLO_en.xml
+%%For: Nicolas CROUZET - SFME/LGLS
+%%Creator: a2ps version 4.13
+%%CreationDate: Tue Nov  4 17:58:50 2003
+%%BoundingBox: 24 24 588 768
+%%DocumentData: Clean7Bit
+%%Orientation: Landscape
+%%Pages: 1
+%%PageOrder: Ascend
+%%DocumentMedia: Letter 612 792 0 () ()
+%%DocumentNeededResources: font Courier
+%%+ font Courier-Bold
+%%+ font Courier-BoldOblique
+%%+ font Courier-Oblique
+%%+ font Helvetica
+%%+ font Helvetica-Bold
+%%+ font Symbol
+%%+ font Times-Bold
+%%+ font Times-Roman
+%%DocumentProcessColors: Black 
+%%DocumentSuppliedResources: procset a2ps-a2ps-hdr
+%%+ procset a2ps-black+white-Prolog
+%%+ encoding ISO-8859-1Encoding
+%%EndComments
+/a2psdict 200 dict def
+a2psdict begin
+%%BeginProlog
+%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana
+%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
+% Check PostScript language level.
+/languagelevel where {
+  pop /gs_languagelevel languagelevel def
+} {
+  /gs_languagelevel 1 def
+} ifelse
+
+% EPSF import as in the Red Book
+/BeginInclude {
+  /b4_Inc_state save def               % Save state for cleanup
+  /dict_count countdictstack def       % Count objects on dict stack
+  /op_count count 1 sub def            % Count objects on operand stack 
+  userdict begin
+    0 setgray 0 setlinecap
+    1 setlinewidth 0 setlinejoin
+    10 setmiterlimit [ ] 0 setdash newpath
+    gs_languagelevel 1 ne {
+      false setstrokeadjust false setoverprint 
+    } if
+} bind def
+
+/EndInclude {
+  count op_count sub { pos } repeat    % Clean up stacks
+  countdictstack dict_count sub { end } repeat
+  b4_Inc_state restore
+} bind def
+
+/BeginEPSF {
+  BeginInclude
+  /showpage { } def
+} bind def
+
+/EndEPSF {
+  EndInclude
+} bind def
+
+% Page prefeed
+/page_prefeed {         % bool -> -
+  statusdict /prefeed known {
+    statusdict exch /prefeed exch put
+  } {
+    pop
+  } ifelse
+} bind def
+
+/deffont {
+  findfont exch scalefont def
+} bind def
+
+/reencode_font {
+  findfont reencode 2 copy definefont pop def
+} bind def
+
+% Function c-show (str => -)
+% centers text only according to x axis.
+/c-show { 
+  dup stringwidth pop
+  2 div neg 0 rmoveto
+  show
+} bind def
+
+% Function l-show (str => -)
+% prints texts so that it ends at currentpoint
+/l-show {
+  dup stringwidth pop neg 
+  0 
+  rmoveto show
+} bind def
+
+% center-fit show (str w => -)
+% show centered, and scale currentfont so that the width is less than w
+/cfshow {
+  exch dup stringwidth pop
+  % If the title is too big, try to make it smaller
+  3 2 roll 2 copy
+  gt
+  { % if, i.e. too big
+    exch div
+    currentfont exch scalefont setfont
+  } { % ifelse
+    pop pop 
+  }
+  ifelse
+  c-show                       % center title
+} bind def
+
+% Return the y size of the current font
+% - => fontsize
+/currentfontsize {
+  currentfont /FontType get 0 eq {
+    currentfont /FontMatrix get 3 get
+  }{
+    currentfont /FontMatrix get 3 get 1000 mul
+  } ifelse
+} bind def
+
+% reencode the font
+% <encoding-vector> <fontdict> -> <newfontdict>
+/reencode { %def
+  dup length 5 add dict begin
+    { %forall
+      1 index /FID ne 
+      { def }{ pop pop } ifelse
+    } forall
+    /Encoding exch def
+
+    % Use the font's bounding box to determine the ascent, descent,
+    % and overall height; don't forget that these values have to be
+    % transformed using the font's matrix.
+    % We use `load' because sometimes BBox is executable, sometimes not.
+    % Since we need 4 numbers an not an array avoid BBox from being executed
+    /FontBBox load aload pop
+    FontMatrix transform /Ascent exch def pop
+    FontMatrix transform /Descent exch def pop
+    /FontHeight Ascent Descent sub def
+
+    % Define these in case they're not in the FontInfo (also, here
+    % they're easier to get to.
+    /UnderlinePosition 1 def
+    /UnderlineThickness 1 def
+    
+    % Get the underline position and thickness if they're defined.
+    currentdict /FontInfo known {
+      FontInfo
+      
+      dup /UnderlinePosition known {
+       dup /UnderlinePosition get
+       0 exch FontMatrix transform exch pop
+       /UnderlinePosition exch def
+      } if
+      
+      dup /UnderlineThickness known {
+       /UnderlineThickness get
+       0 exch FontMatrix transform exch pop
+       /UnderlineThickness exch def
+      } if
+      
+    } if
+    currentdict 
+  end 
+} bind def
+
+% composite fonts for ASCII-EUC mixed string
+% Version 1.2 1/31/1990
+% Orignal Ken'ichi HANDA (handa@etl.go.jp)
+% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998
+% Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999
+% Anyone can freely copy, modify, distribute this program.
+
+/copyfont {    % font-dic extra-entry-count  copyfont  font-dic
+       1 index maxlength add dict begin
+       {       1 index /FID ne 2 index /UniqueID ne and
+               {def} {pop pop} ifelse
+       } forall
+       currentdict
+       end
+} bind def
+
+/compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font
+    /RomanRotation exch def
+    /RomanOffset exch def
+    /RomanScale exch def
+    userdict /fixeucfont_dict known not {
+       userdict begin
+           /fixeucfont_dict 2 dict begin
+               /UpperByteEncoding [
+                   16#00 1 16#20 { pop 0 } for
+                   16#21 1 16#28 { 16#20 sub } for
+                   16#29 1 16#2F { pop 0 } for
+                   16#30 1 16#74 { 16#27 sub } for
+                   16#75 1 16#FF { pop 0 } for
+               ] def
+               /LowerByteEncoding [
+                   16#00 1 16#A0 { pop /.notdef } for
+                   16#A1 1 16#FE { 16#80 sub 16 2 string cvrs
+                                   (cXX) dup 1 4 -1 roll
+                                   putinterval cvn } for
+                   /.notdef
+               ] def
+               currentdict
+           end def
+       end
+    } if
+    findfont dup /FontType get 0 eq {
+       14 dict begin
+           %
+           % 7+8 bit EUC font
+           %
+           12 dict begin
+               /EUCFont exch def
+               /FontInfo (7+8 bit EUC font) readonly def
+               /PaintType 0 def
+               /FontType 0 def
+               /FontMatrix matrix def
+               % /FontName
+               /Encoding fixeucfont_dict /UpperByteEncoding get def
+               /FMapType 2 def
+               EUCFont /WMode known
+               { EUCFont /WMode get /WMode exch def }
+               { /WMode 0 def } ifelse
+               /FDepVector [
+                   EUCFont /FDepVector get 0 get
+                   [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ]
+                   {
+                       13 dict begin
+                           /EUCFont EUCFont def
+                           /UpperByte exch 16#80 add def       
+                           % /FontName
+                           /FontInfo (EUC lower byte font) readonly def
+                           /PaintType 0 def
+                           /FontType 3 def
+                           /FontMatrix matrix def
+                           /FontBBox {0 0 0 0} def
+                           /Encoding
+                               fixeucfont_dict /LowerByteEncoding get def
+                           % /UniqueID
+                           % /WMode
+                           /BuildChar {
+                               gsave
+                               exch dup /EUCFont get setfont
+                               /UpperByte get
+                               2 string
+                               dup 0 4 -1 roll put
+                               dup 1 4 -1 roll put
+                               dup stringwidth setcharwidth
+                               0 0 moveto show
+                               grestore
+                           } bind def
+                           currentdict
+                       end
+                       /lowerbytefont exch definefont
+                   } forall
+               ] def
+               currentdict
+           end
+           /eucfont exch definefont
+           exch
+           findfont 1 copyfont dup begin
+               RomanRotation {
+                       /FontMatrix FontMatrix
+                       [ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ]
+                       matrix concatmatrix def
+               }{
+                       /FontMatrix FontMatrix
+                       [ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix
+                       def
+                       /CDevProc
+                           {pop pop pop pop 0 exch -1000 exch 2 div 880} def
+               } ifelse
+           end
+           /asciifont exch definefont
+           exch
+           /FDepVector [ 4 2 roll ] def
+           /FontType 0 def
+           /WMode 0 def
+           /FMapType 4 def
+           /FontMatrix matrix def
+           /Encoding [0 1] def
+           /FontBBox {0 0 0 0} def
+%          /FontHeight 1.0 def % XXXX
+           /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def
+           /Descent -0.3 def   % XXXX
+           currentdict
+       end
+       /tmpfont exch definefont
+       pop
+       /tmpfont findfont
+    }{
+       pop findfont 0 copyfont
+    } ifelse
+} def  
+
+/slantfont {   % FontName slant-degree  slantfont  font'
+    exch findfont 1 copyfont begin
+    [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix
+    /FontMatrix exch def
+    currentdict
+    end
+} def
+
+% Function print line number (<string> # -)
+/# {
+  gsave
+    sx cw mul neg 2 div 0 rmoveto
+    f# setfont
+    c-show
+  grestore
+} bind def
+
+% -------- Some routines to enlight plain b/w printings ---------
+
+% Underline
+% width --
+/dounderline {
+  currentpoint
+  gsave
+    moveto
+    0 currentfont /Descent get currentfontsize mul rmoveto
+    0 rlineto
+    stroke
+  grestore
+} bind def
+
+% Underline a string
+% string --
+/dounderlinestring {
+  stringwidth pop
+  dounderline
+} bind def
+
+/UL {
+  /ul exch store
+} bind def
+
+% Draw a box of WIDTH wrt current font
+% width --
+/dobox {
+  currentpoint
+  gsave
+    newpath
+    moveto
+    0 currentfont /Descent get currentfontsize mul rmoveto
+    dup 0 rlineto
+    0 currentfont /FontHeight get currentfontsize mul rlineto
+    neg 0 rlineto
+    closepath
+    stroke
+  grestore
+} bind def
+
+/BX {
+  /bx exch store
+} bind def
+
+% Box a string
+% string --
+/doboxstring {
+  stringwidth pop
+  dobox
+} bind def
+
+%
+% ------------- Color routines ---------------
+%
+/FG /setrgbcolor load def
+
+% Draw the background
+% width --
+/dobackground {
+  currentpoint
+  gsave
+    newpath
+    moveto
+    0 currentfont /Descent get currentfontsize mul rmoveto
+    dup 0 rlineto
+    0 currentfont /FontHeight get currentfontsize mul rlineto
+    neg 0 rlineto
+    closepath
+    bgcolor aload pop setrgbcolor
+    fill
+  grestore
+} bind def
+
+% Draw bg for a string
+% string --
+/dobackgroundstring {
+  stringwidth pop
+  dobackground
+} bind def
+
+
+/BG {
+  dup /bg exch store
+  { mark 4 1 roll ] /bgcolor exch store } if
+} bind def
+
+
+/Show {
+  bg { dup dobackgroundstring } if
+  ul { dup dounderlinestring } if
+  bx { dup doboxstring } if
+  show
+} bind def
+
+% Function T(ab), jumps to the n-th tabulation in the current line
+/T {
+  cw mul x0 add
+  bg { dup currentpoint pop sub dobackground } if
+  ul { dup currentpoint pop sub dounderline } if
+  bx { dup currentpoint pop sub dobox } if
+  y0 moveto
+} bind def
+
+% Function n: move to the next line
+/n {
+  /y0 y0 bfs sub store
+  x0 y0 moveto
+} bind def
+
+% Function N: show and move to the next line
+/N {
+  Show
+  /y0 y0 bfs sub store
+  x0 y0 moveto
+} bind def
+
+/S {
+  Show
+} bind def
+
+%%BeginResource: procset a2ps-a2ps-hdr 2.0 2
+%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana
+%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
+% Function title: prints page header.
+% <ct> <rt> <lt> are passed as argument
+/title { 
+  % 1. Draw the background
+  x v get y v get moveto
+  gsave
+    0 th 2 div neg rmoveto 
+    th setlinewidth
+    0.95 setgray
+    pw 0 rlineto stroke
+  grestore
+  % 2. Border it
+  gsave
+    0.7 setlinewidth
+    pw 0 rlineto
+    0 th neg rlineto
+    pw neg 0 rlineto
+    closepath stroke
+  grestore
+  % stk: ct rt lt
+  x v get y v get th sub 1 add moveto
+%%IncludeResource: font Helvetica
+  fHelvetica fnfs 0.8 mul scalefont setfont
+  % 3. The left title
+  gsave
+    dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack
+    fnfs 0.8 mul hm rmoveto
+    show                       % left title
+  grestore
+  exch
+  % stk: ct ltw rt
+  % 4. the right title
+  gsave
+    dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack
+    dup
+    pw exch stringwidth pop fnfs 0.8 mul add sub
+    hm
+    rmoveto
+    show                       % right title
+  grestore
+  % stk: ct ltw rtw
+  % 5. the center title
+  gsave
+    pw 3 1 roll
+    % stk: ct pw ltw rtw
+    3 copy 
+    % Move to the center of the left room
+    sub add 2 div hm rmoveto
+    % What is the available space in here?
+    add sub fnfs 0.8 mul sub fnfs 0.8 mul sub
+    % stk: ct space_left
+%%IncludeResource: font Helvetica-Bold
+  fHelvetica-Bold fnfs scalefont setfont
+    cfshow
+  grestore
+} bind def
+
+% Function border: prints virtual page border
+/border { %def
+  gsave                                % print four sides
+    0 setgray
+    x v get y v get moveto
+    0.7 setlinewidth           % of the square
+    pw 0 rlineto
+    0 ph neg rlineto
+    pw neg 0 rlineto
+    closepath stroke
+  grestore
+} bind def
+
+% Function water: prints a water mark in background
+/water { %def
+  gsave
+    scx scy moveto rotate
+%%IncludeResource: font Times-Bold
+  fTimes-Bold 100 scalefont setfont
+    .97 setgray
+    dup stringwidth pop 2 div neg -50 rmoveto
+    show
+  grestore
+} bind def
+
+% Function rhead: prints the right header
+/rhead {  %def
+  lx ly moveto
+  fHelvetica fnfs 0.8 mul scalefont setfont
+  l-show
+} bind def
+
+% Function footer (cf rf lf -> -)
+/footer {
+  fHelvetica fnfs 0.8 mul scalefont setfont
+  dx dy moveto
+  show
+
+  snx sny moveto
+  l-show
+  
+  fnx fny moveto
+  c-show
+} bind def
+%%EndResource
+%%BeginResource: procset a2ps-black+white-Prolog 2.0 1
+
+% Function T(ab), jumps to the n-th tabulation in the current line
+/T { 
+  cw mul x0 add y0 moveto
+} bind def
+
+% Function n: move to the next line
+/n { %def
+  /y0 y0 bfs sub store
+  x0 y0 moveto
+} bind def
+
+% Function N: show and move to the next line
+/N {
+  Show
+  /y0 y0 bfs sub store
+  x0 y0 moveto
+}  bind def
+
+/S {
+  Show
+} bind def
+
+/p {
+  false UL
+  false BX
+  fCourier bfs scalefont setfont
+  Show
+} bind def
+
+/sy {
+  false UL
+  false BX
+  fSymbol bfs scalefont setfont
+  Show
+} bind def
+
+/k {
+  false UL
+  false BX
+  fCourier-Oblique bfs scalefont setfont
+  Show
+} bind def
+
+/K {
+  false UL
+  false BX
+  fCourier-Bold bfs scalefont setfont
+  Show
+} bind def
+
+/c {
+  false UL
+  false BX
+  fCourier-Oblique bfs scalefont setfont
+  Show
+} bind def
+
+/C {
+  false UL
+  false BX
+  fCourier-BoldOblique bfs scalefont setfont
+  Show 
+} bind def
+
+/l {
+  false UL
+  false BX
+  fHelvetica bfs scalefont setfont
+  Show
+} bind def
+
+/L {
+  false UL
+  false BX
+  fHelvetica-Bold bfs scalefont setfont
+  Show 
+} bind def
+
+/str{
+  false UL
+  false BX
+  fTimes-Roman bfs scalefont setfont
+  Show
+} bind def
+
+/e{
+  false UL
+  true BX
+  fHelvetica-Bold bfs scalefont setfont
+  Show
+} bind def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+%%IncludeResource: font Courier
+%%IncludeResource: font Courier-Oblique
+%%IncludeResource: font Courier-Bold
+%%IncludeResource: font Times-Roman
+%%IncludeResource: font Symbol
+%%IncludeResource: font Courier-BoldOblique
+%%BeginResource: encoding ISO-8859-1Encoding
+/ISO-8859-1Encoding [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright 
+/parenleft /parenright /asterisk /plus /comma /minus /period /slash 
+/zero /one /two /three /four /five /six /seven 
+/eight /nine /colon /semicolon /less /equal /greater /question 
+/at /A /B /C /D /E /F /G 
+/H /I /J /K /L /M /N /O 
+/P /Q /R /S /T /U /V /W 
+/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore 
+/quoteleft /a /b /c /d /e /f /g 
+/h /i /j /k /l /m /n /o 
+/p /q /r /s /t /u /v /w 
+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section 
+/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron 
+/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /bullet 
+/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown 
+/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla 
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis 
+/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply 
+/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls 
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla 
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis 
+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide 
+/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis 
+] def
+%%EndResource
+% Initialize page description variables.
+/sh 612 def
+/sw 792 def
+/llx 24 def
+/urx 768 def
+/ury 588 def
+/lly 24 def
+/#copies 1 def
+/th 20.000000 def
+/fnfs 15 def
+/bfs 8.000000 def
+/cw 4.800000 def
+
+% Dictionary for ISO-8859-1 support
+/iso1dict 8 dict begin
+  /fCourier ISO-8859-1Encoding /Courier reencode_font
+  /fCourier-Bold ISO-8859-1Encoding /Courier-Bold reencode_font
+  /fCourier-BoldOblique ISO-8859-1Encoding /Courier-BoldOblique reencode_font
+  /fCourier-Oblique ISO-8859-1Encoding /Courier-Oblique reencode_font
+  /fHelvetica ISO-8859-1Encoding /Helvetica reencode_font
+  /fHelvetica-Bold ISO-8859-1Encoding /Helvetica-Bold reencode_font
+  /fTimes-Bold ISO-8859-1Encoding /Times-Bold reencode_font
+  /fTimes-Roman ISO-8859-1Encoding /Times-Roman reencode_font
+currentdict end def
+/bgcolor [ 0 0 0 ] def
+/bg false def
+/ul false def
+/bx false def
+% The font for line numbering
+/f# /Helvetica findfont bfs .6 mul scalefont def
+/fSymbol /Symbol findfont def
+/hm fnfs 0.25 mul def
+/pw
+   cw 154.400000 mul
+def
+/ph
+   517.600000 th add
+def
+/pmw 0 def
+/pmh 0 def
+/v 0 def
+/x [
+  0
+] def
+/y [
+  pmh ph add 0 mul ph add
+] def
+/scx sw 2 div def
+/scy sh 2 div def
+/snx urx def
+/sny lly 2 add def
+/dx llx def
+/dy sny def
+/fnx scx def
+/fny dy def
+/lx snx def
+/ly ury fnfs 0.8 mul sub def
+/sx 0 def
+/tab 8 def
+/x0 0 def
+/y0 0 def
+%%EndSetup
+
+%%Page: (1) 1
+%%BeginPageSetup
+/pagesave save def
+sh 0 translate 90 rotate
+%%EndPageSetup
+iso1dict begin
+gsave
+llx lly 12 add translate
+/v 0 store
+/x0 x v get 3.360000 add sx cw mul add store
+/y0 y v get bfs th add sub store
+x0 y0 moveto
+(<?xml version='1.0' encoding='us-ascii'?>) p n
+(<!DOCTYPE application PUBLIC "" "desktop.dtd">) N
+(<application title="PYHELLO component" date="9/12/2001" author="C Caremoli" appId="PYHELLO" >) N
+(<desktop>) N
+(<!-- ### MENUBAR ###  -->) N
+(<menubar>) N
+( <menu-item label-id="PYHELLO" item-id="90" pos-id="3">) N
+(  <popup-item item-id="941" label-id="Lancer IHM" icon-id="" tooltip-id="Lancer IHM PYHELLO" accel-id="" toggle-id="" execute-action=""/>) N
+( </menu-item>) N
+(</menubar>) N
+(<!-- ### TOOLBAR ###  -->) N
+(<toolbar label-id="PYHELLO">) N
+( <toolbutton-item item-id="941" label-id="Lancer IHM" icon-id="ExecPYHELLO.png" tooltip-id="Lancer IHM PYHELLO" accel-id="" toggle-id="" execute-action=") N
+("/>) N
+(</toolbar>) N
+(</desktop>) N
+(</application>) N
+() N
+(PYHELLO_en.xml) (Page 1/1) (Oct 14, 03 10:41) title
+border
+grestore
+(Printed by Nicolas CROUZET - SFME/LGLS) rhead
+(PYHELLO_en.xml) (1/1) (Tuesday November 04, 2003) footer
+end % of iso1dict
+pagesave restore
+showpage
+
+%%Trailer
+end
+%%EOF
diff --git a/resources/HELLO_en.xml b/resources/HELLO_en.xml
new file mode 100644 (file)
index 0000000..980d0ab
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='us-ascii'?>
+<!DOCTYPE application PUBLIC "" "desktop.dtd">
+<application title="HELLO component" date="9/12/2001" author="C Caremoli" appId="HELLO" >
+<desktop>
+<!-- ### MENUBAR ###  -->
+<menubar>
+ <menu-item label-id="HELLO" item-id="90" pos-id="3">
+  <popup-item item-id="941" label-id="Get banner" icon-id="" tooltip-id="Get HELLO banner" accel-id="" toggle-id="" execute-action=""/>
+ </menu-item>
+</menubar>
+<!-- ### TOOLBAR ###  -->
+<toolbar label-id="HELLO">
+ <toolbutton-item item-id="941" label-id="Get banner" icon-id="ExecHELLO.png" tooltip-id="Get HELLO banner" accel-id="" toggle-id="" execute-action=""/>
+</toolbar>
+</desktop>
+</application>
+
diff --git a/resources/HELLO_fr.xml b/resources/HELLO_fr.xml
new file mode 100644 (file)
index 0000000..52fa8c8
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='us-ascii'?>
+<!DOCTYPE application PUBLIC "" "desktop.dtd">
+<application title="HELLO component" date="9/12/2001" author="C Caremoli" appId="HELLO" >
+<desktop>
+<!-- ### MENUBAR ###  -->
+<menubar>
+ <menu-item label-id="HELLO" item-id="90" pos-id="3">
+  <popup-item item-id="941" label-id="Lancer IHM" icon-id="" tooltip-id="Lancer IHM HELLO" accel-id="" toggle-id="" execute-action=""/>
+ </menu-item>
+</menubar>
+<!-- ### TOOLBAR ###  -->
+<toolbar label-id="HELLO">
+ <toolbutton-item item-id="941" label-id="Lancer IHM" icon-id="ExecHELLO.png" tooltip-id="Lancer IHM HELLO" accel-id="" toggle-id="" execute-action=""/>
+</toolbar>
+</desktop>
+</application>
+
diff --git a/src/HELLO/HELLO.cxx b/src/HELLO/HELLO.cxx
new file mode 100755 (executable)
index 0000000..93c8c26
--- /dev/null
@@ -0,0 +1,55 @@
+using namespace std;
+#include "HELLO.hxx"
+#include "utilities.h"
+
+#include <string>
+
+
+//=============================================================================
+/*!
+ *  standard constructor
+ */
+//=============================================================================
+
+HELLO::HELLO(CORBA::ORB_ptr orb,
+       PortableServer::POA_ptr poa,
+       PortableServer::ObjectId * contId, 
+       const char *instanceName, 
+       const char *interfaceName) :
+  Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
+{
+  MESSAGE("activate object");
+  _thisObj = this ;
+  _id = _poa->activate_object(_thisObj);
+}
+
+HELLO::~HELLO()
+{
+}
+
+
+char* HELLO::makeBanner(const char* name)
+{
+    string banner="Hello, ";
+    banner+=name;
+    return CORBA::string_dup(banner.c_str());
+}
+
+
+
+extern "C"
+{
+  PortableServer::ObjectId * HELLOEngine_factory(
+                              CORBA::ORB_ptr orb,
+                              PortableServer::POA_ptr poa, 
+                              PortableServer::ObjectId * contId,
+                              const char *instanceName, 
+                              const char *interfaceName)
+  {
+    MESSAGE("PortableServer::ObjectId * HELLOEngine_factory()");
+    SCRUTE(interfaceName);
+    HELLO * myHELLO 
+      = new HELLO(orb, poa, contId, instanceName, interfaceName);
+    return myHELLO->getId() ;
+  }
+}
diff --git a/src/HELLO/HELLO.hxx b/src/HELLO/HELLO.hxx
new file mode 100644 (file)
index 0000000..6d72653
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef _HELLO_HXX_
+#define _HELLO_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(HELLO_Gen)
+#include "SALOME_Component_i.hxx"
+
+class HELLO:
+  public POA_HELLO_ORB::HELLO_Gen,
+  public Engines_Component_i 
+{
+
+public:
+    HELLO(CORBA::ORB_ptr orb,
+           PortableServer::POA_ptr poa,
+           PortableServer::ObjectId * contId, 
+           const char *instanceName, 
+           const char *interfaceName);
+    virtual ~HELLO();
+
+    //
+
+    char* makeBanner(const char* name);
+
+};
+
+extern "C"
+    PortableServer::ObjectId * HELLOEngine_factory(
+           CORBA::ORB_ptr orb,
+           PortableServer::POA_ptr poa,
+           PortableServer::ObjectId * contId,
+           const char *instanceName,
+           const char *interfaceName);
+
+
+#endif
diff --git a/src/HELLO/Makefile.in b/src/HELLO/Makefile.in
new file mode 100644 (file)
index 0000000..8d98f04
--- /dev/null
@@ -0,0 +1,31 @@
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=../..
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
+
+@COMMENCE@
+
+# Libraries targets
+
+LIB = libHELLOEngine.la
+LIB_SRC = HELLO.cxx
+LIB_SERVER_IDL = HELLO_Gen.idl 
+LIB_CLIENT_IDL = SALOME_Component.idl SALOME_Exception.idl Logger.idl SALOMEDS.idl
+
+
+EXPORT_PYSCRIPTS =
+
+
+# additionnal information to compil and link file
+
+CPPFLAGS += -I${KERNEL_ROOT_DIR}/include/salome
+CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome
+
+LDFLAGS+= -lSalomeDS -lSalomeNS -lSalomeContainer -lOpUtil -L${KERNEL_ROOT_DIR}/lib/salome
+
+# Executables targets
+
+@CONCLUDE@
+
diff --git a/src/HELLOGUI/HELLOGUI.cxx b/src/HELLOGUI/HELLOGUI.cxx
new file mode 100644 (file)
index 0000000..3cd8bce
--- /dev/null
@@ -0,0 +1,147 @@
+using namespace std;
+#include "HELLOGUI.h"
+
+// SALOME Includes
+#include "Utils_ORB_INIT.hxx"
+#include "Utils_SINGLETON.hxx"
+#include "utilities.h"
+
+#include "SALOME_Selection.h"
+#include "SALOME_InteractiveObject.hxx"
+#include "SALOMEGUI_QtCatchCorbaException.hxx"
+
+#include "QAD_MessageBox.h"
+//#include "QAD_Tools.h"
+//#include "QAD_FileDlg.h"
+
+//#include "SMESH_TypeFilter.hxx"
+
+// QT Includes
+#include <qinputdialog.h>
+#include <qmessagebox.h>
+
+
+HELLO_ORB::HELLO_Gen_ptr HELLOGUI::InitHELLOGen(QAD_Desktop* parent)
+{
+    Engines::Component_var comp =
+       parent->getEngine("FactoryServer", "HELLO");
+    HELLO_ORB::HELLO_Gen_ptr clr = HELLO_ORB::HELLO_Gen::_narrow(comp);
+    ASSERT(!CORBA::is_nil(clr));
+    return clr;
+    //return clr._retn();
+}
+
+
+bool HELLOGUI::OnGUIEvent (int theCommandID, QAD_Desktop* parent)
+{
+  MESSAGE("HELLOGUI::OnGUIEvent");
+  
+  QAD_Study* myActiveStudy   = parent->getActiveStudy();
+
+  QString file;
+
+  switch (theCommandID)
+    {
+    case 941:
+      {
+       MESSAGE("command " << theCommandID << " activated");
+
+       QString myStudyName = myActiveStudy->getTitle();
+       int myStudyId = myActiveStudy->getStudyId();
+       
+       bool ok=FALSE;
+
+       QString meshName;
+       //meshName = QInputDialog::getText( "Saisie du Prénom", "Please, Enter your name", 
+       meshName = QInputDialog::getText( tr("QUE_HELLO_LABEL"), tr("QUE_HELLO_NAME"), 
+               QLineEdit::Normal,
+               QString::null, &ok);
+
+       if ( ! meshName.isEmpty())
+       {
+           HELLO_ORB::HELLO_Gen_ptr hellogen = HELLOGUI::InitHELLOGen(parent);
+           QString banner = hellogen->makeBanner(meshName);
+           QMessageBox::about( parent, tr("INF_HELLO_BANNER"), banner);
+
+       //    QAD_MessageBox::warn1 ((QWidget*)QAD_Application::getDesktop(),
+       //          Object::tr("WRN_WARNING"), 
+       //          QObject::tr("WRN_STUDY_LOCKED"),
+       //          QObject::tr("BUT_OK"));
+       }
+       else
+       {
+           MESSAGE("CANCEL");
+       }
+
+      }
+      break;
+    }
+  return true;
+}
+
+
+bool HELLOGUI::SetSettings (QAD_Desktop* parent)
+{
+  MESSAGE("HELLOGUI::SetSettings");
+  return true;
+}
+
+
+bool HELLOGUI::CustomPopup ( QAD_Desktop* parent,
+                          QPopupMenu* popup,
+                          const QString & theContext,
+                          const QString & theParent,
+                          const QString & theObject )
+{
+  MESSAGE("HELLOGUI::CustomPopup");
+  return true;
+}
+
+void HELLOGUI::ActiveStudyChanged( QAD_Desktop* parent )
+{
+  MESSAGE("HELLOGUI::ActiveStudyChanged");
+}
+
+void HELLOGUI::DefinePopup( QString & theContext, QString & theParent, QString & theObject )
+{
+  MESSAGE("HELLOGUI::DefinePopup");
+  //theObject = "";
+  //theContext = "";
+}
+
+
+
+
+extern "C"
+{
+  bool OnGUIEvent(int theCommandID, QAD_Desktop* parent)
+  {
+    return HELLOGUI::OnGUIEvent(theCommandID, parent);
+  }
+
+
+  bool SetSettings ( QAD_Desktop* parent )
+  {
+    return HELLOGUI::SetSettings( parent );
+  }
+
+  bool customPopup ( QAD_Desktop* parent,
+                    QPopupMenu* popup,
+                    const QString & theContext,
+                    const QString & theParent,
+                    const QString & theObject )
+  {
+    return HELLOGUI::CustomPopup( parent, popup, theContext,
+                               theParent, theObject );
+  }
+
+  void definePopup ( QString & theContext, QString & theParent, QString & theObject )
+  {
+    HELLOGUI::DefinePopup( theContext, theParent, theObject );
+  }
+  
+  bool activeStudyChanged ( QAD_Desktop* parent )
+  {
+    HELLOGUI::ActiveStudyChanged( parent );
+  }
+}
diff --git a/src/HELLOGUI/HELLOGUI.h b/src/HELLOGUI/HELLOGUI.h
new file mode 100644 (file)
index 0000000..577ca5f
--- /dev/null
@@ -0,0 +1,42 @@
+//  HELLOGUI : HELLO component GUI implemetation 
+//
+
+#ifndef _HELLOGUI_H_
+#define _HELLOGUI_H_
+
+#include "QAD_Desktop.h"
+
+#include <SALOMEconfig.h>
+#include CORBA_CLIENT_HEADER(HELLO_Gen)
+
+
+
+class HELLOGUI: public QObject
+{
+  Q_OBJECT
+
+public:
+
+  static bool OnGUIEvent (int theCommandID, QAD_Desktop* parent);
+
+  static bool SetSettings (QAD_Desktop* parent);
+
+  static bool CustomPopup ( QAD_Desktop* parent,
+                           QPopupMenu* popup,
+                           const QString & theContext,
+                           const QString & theParent,
+                           const QString & theObject);
+
+  static void DefinePopup(QString & theContext, QString & theParent, QString & theObject);
+
+  static void ActiveStudyChanged ( QAD_Desktop* parent );
+
+  static HELLO_ORB::HELLO_Gen_ptr InitHELLOGen(QAD_Desktop* parent);
+
+protected:
+
+private:
+
+};
+
+#endif
diff --git a/src/HELLOGUI/HELLO_icons.po b/src/HELLOGUI/HELLO_icons.po
new file mode 100644 (file)
index 0000000..b386757
--- /dev/null
@@ -0,0 +1,11 @@
+# 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".
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
+"PO-Revision-Date: YYYY-MM-DD\n"
+"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+
diff --git a/src/HELLOGUI/HELLO_msg_en.po b/src/HELLOGUI/HELLO_msg_en.po
new file mode 100644 (file)
index 0000000..31771b0
--- /dev/null
@@ -0,0 +1,23 @@
+# This is a Qt message file in .po format.  Each msgid starts with
+# a scope.  This scope should *NOT* be translated - eg. translating
+# from French to English, "Foo::Bar" would be translated to "Pub",
+# not "Foo::Pub".
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2003-11-19 03:10:19 PM CET\n"
+"PO-Revision-Date: YYYY-MM-DD\n"
+"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+
+#: HELLOGUI.cxx:64
+msgid "HELLOGUI::INF_HELLO_BANNER"
+msgstr "HELLO Information"
+
+#: HELLOGUI.cxx:56
+msgid "HELLOGUI::QUE_HELLO_LABEL"
+msgstr "Name Import"
+
+#: HELLOGUI.cxx:56
+msgid "HELLOGUI::QUE_HELLO_NAME"
+msgstr "Please, Enter your name"
diff --git a/src/HELLOGUI/HELLO_msg_fr.po b/src/HELLOGUI/HELLO_msg_fr.po
new file mode 100644 (file)
index 0000000..4faae7f
--- /dev/null
@@ -0,0 +1,23 @@
+# This is a Qt message file in .po format.  Each msgid starts with
+# a scope.  This scope should *NOT* be translated - eg. translating
+# from French to English, "Foo::Bar" would be translated to "Pub",
+# not "Foo::Pub".
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2003-11-19 03:10:25 PM CET\n"
+"PO-Revision-Date: YYYY-MM-DD\n"
+"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+
+#: HELLOGUI.cxx:64
+msgid "HELLOGUI::INF_HELLO_BANNER"
+msgstr "Information HELLO"
+
+#: HELLOGUI.cxx:56
+msgid "HELLOGUI::QUE_HELLO_LABEL"
+msgstr "Import Prénom"
+
+#: HELLOGUI.cxx:56
+msgid "HELLOGUI::QUE_HELLO_NAME"
+msgstr "Entrez votre prénom, s'il vous plait"
diff --git a/src/HELLOGUI/Makefile.in b/src/HELLOGUI/Makefile.in
new file mode 100644 (file)
index 0000000..f100be4
--- /dev/null
@@ -0,0 +1,33 @@
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=../..
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
+
+@COMMENCE@
+
+# header files
+EXPORT_HEADERS=
+
+# .po files to transform in .qm
+PO_FILES =  HELLO_msg_en.po HELLO_msg_fr.po HELLO_icons.po
+
+# Libraries targets
+LIB = libHELLOGUI.la
+LIB_SRC = HELLOGUI.cxx
+LIB_MOC = HELLOGUI.h
+
+
+LIB_CLIENT_IDL = SALOMEDS.idl SALOME_Exception.idl SALOME_ModuleCatalog.idl SALOMEDS_Attributes.idl SALOME_Component.idl HELLO_Gen.idl Logger.idl
+
+LIB_SERVER_IDL =
+
+# additionnal information to compil and link file
+
+CPPFLAGS += $(QT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
+CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome
+LDFLAGS += -lSalomeGUI -lHELLOEngine -L${KERNEL_ROOT_DIR}/lib/salome
+
+
+
+@CONCLUDE@
diff --git a/src/HELLOGUI/PYHELLOGUI.py b/src/HELLOGUI/PYHELLOGUI.py
new file mode 100644 (file)
index 0000000..8f81e8d
--- /dev/null
@@ -0,0 +1,76 @@
+import qt
+from qt import *
+import traceback
+
+# Global variable to store Salome Workspace
+WORKSPACE=None
+
+import SalomePyQt
+# Communication with Salome : desktop, signal and slots
+sgPyQt=SalomePyQt.SalomePyQt()
+desktop=sgPyQt.getDesktop()
+
+# LifeCycle and component PYHELLO
+import salome
+lifecycle = salome.lcc
+import PYHELLO_ORB
+pyhello=lifecycle.FindOrLoadComponent("FactoryServerPy", "PYHELLO")
+
+def setWorkSpace(pyws):
+    global WORKSPACE
+    print "setWorkSpace: ",pyws
+    WORKSPACE=pyws
+
+def OnGUIEvent(commandID) :
+    print "PYHELLOGUI::OnGUIEvent::commandID,WORKSPACE= ",commandID,WORKSPACE
+    if dict_command.has_key(commandID):
+       try:
+          r=dict_command[commandID](WORKSPACE)
+          print r
+       except:
+          traceback.print_exc()
+    else:
+       print "Pas de commande associée a : ",commandID
+
+def setSettings():
+    print "setSettings"
+
+def activeStudyChanged(ID):
+    print "activeStudyChanged: ",ID
+
+def definePopup(theContext, theObject, theParent):
+    print "PYHELLOGUI --- definePopup: ",theContext,theObject,theParent
+
+def customPopup(popup, theContext, theObject, theParent):
+    print "PYHELLOGUI --- customPopup: ",theContext,theObject,theParent
+
+class MyDialog(qt.QDialog):
+      def __init__(self,parent=None, name=None, modal=0, flags=0):
+          qt.QDialog.__init__(self,parent, name, modal, flags)
+          self.vb = qt.QVBoxLayout(self, 8)
+          self.vb.setAutoAdd(1)
+          self.hb0 = qt.QHBox(self)
+          label=QLabel("Prenom",self.hb0)
+          self.entry=QLineEdit( self.hb0)
+
+          self.hb = qt.QHBox(self)
+          c = qt.QPushButton("OK", self.hb)
+          self.connect(c, qt.SIGNAL('clicked()'), self.accept)
+          d = qt.QPushButton("CANCEL", self.hb)
+          self.connect(d, qt.SIGNAL('clicked()'), self.reject)
+
+def ExecPYHELLO(ws):
+    # Modal dialog, parent desktop
+    w=MyDialog(desktop,"Name",1)
+    # Wait answer
+    r=w.exec_loop()
+    if r == QDialog.Accepted:
+       name=str(w.entry.text())
+       banner=pyhello.makeBanner(name)
+       QMessageBox.about(desktop,'Salome Example',banner)
+    else:
+       print "CANCEL"
+
+dict_command={
+               941:ExecPYHELLO,
+             }
diff --git a/src/HELLOGUI/old/HELLO_msg_en.po b/src/HELLOGUI/old/HELLO_msg_en.po
new file mode 100644 (file)
index 0000000..a31d4c9
--- /dev/null
@@ -0,0 +1,16 @@
+# 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".
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
+"PO-Revision-Date: YYYY-MM-DD\n"
+"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+
+msgid "HELLO_INF_NAME"
+msgstr "Name Import"
+
+msgid "HELLO_MSG_NAME"
+msgstr "Please, Enter your name"
diff --git a/src/HELLOGUI/old/HELLO_msg_fr.po b/src/HELLOGUI/old/HELLO_msg_fr.po
new file mode 100644 (file)
index 0000000..b751560
--- /dev/null
@@ -0,0 +1,16 @@
+# 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".
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
+"PO-Revision-Date: YYYY-MM-DD\n"
+"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+
+msgid "HELLO_INF_NAME"
+msgstr "Import Prénom"
+
+msgid "HELLO_MSG_NAME"
+msgstr "Entrez votre prénom, s'il vous plait"
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644 (file)
index 0000000..9fe322d
--- /dev/null
@@ -0,0 +1,20 @@
+#==============================================================================
+#  File      : Makefile.in
+#  Created   : ven déc  7 13:32:20 CET 2001
+#  Author    : Paul RASCLE, EDF
+#  Project   : SALOME
+#  Copyright : EDF 2001
+#  $Header$
+#==============================================================================
+
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=..
+srcdir=@srcdir@
+VPATH=.:@srcdir@
+
+@COMMENCE@
+
+SUBDIRS = HELLO HELLOGUI
+
+@MODULE@