--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
+PROJECT(SalomePYHELLO C CXX)
+
+# Ensure a proper linker behavior:
+CMAKE_POLICY(SET CMP0003 NEW)
+
+# Versioning
+# ===========
+# Project name, upper case
+STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
+
+SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 2)
+SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
+SET(${PROJECT_NAME_UC}_VERSION
+ ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
+
+# Find KERNEL
+# ===========
+SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL")
+IF(EXISTS ${KERNEL_ROOT_DIR})
+ LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files")
+ INCLUDE(SalomeMacros)
+ FIND_PACKAGE(SalomeKERNEL REQUIRED)
+ELSE(EXISTS ${KERNEL_ROOT_DIR})
+ MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR")
+ENDIF(EXISTS ${KERNEL_ROOT_DIR})
+
+IF(SALOME_LIGHT_ONLY)
+ MESSAGE(FATAL_ERROR "PYHELLO module can't be built in Light mode (without CORBA)")
+ENDIF()
+
+# Platform setup
+# ==============
+INCLUDE(SalomeSetupPlatform) # From KERNEL
+# Always build libraries as shared objects:
+SET(BUILD_SHARED_LIBS TRUE)
+# Local macros:
+LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
+
+# User options
+# (some options have already been defined in KERNEL)
+# ============
+#OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ${SALOME_BUILD_TESTS}) For use in the future
+OPTION(SALOME_BUILD_DOC "Generate SALOME PYHELLO documentation" ${SALOME_BUILD_DOC})
+
+IF(SALOME_BUILD_DOC)
+ FIND_PACKAGE(SalomeDoxygen)
+ SALOME_LOG_OPTIONAL_PACKAGE(Doxygen SALOME_BUILD_DOC)
+ENDIF()
+
+# Find GUI
+# ===========
+SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "Path to the Salome GUI")
+IF(EXISTS ${GUI_ROOT_DIR})
+ LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files")
+ FIND_PACKAGE(SalomeGUI REQUIRED)
+ ELSE(EXISTS ${GUI_ROOT_DIR})
+ MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR")
+ENDIF(EXISTS ${GUI_ROOT_DIR})
+
+##
+## PYHELLO specifics
+##
+
+FIND_PACKAGE(SalomePython REQUIRED)
+FIND_PACKAGE(SalomeOmniORB REQUIRED)
+FIND_PACKAGE(SalomeOmniORBPy REQUIRED)
+# Qt4
+FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui)
+INCLUDE(${QT_USE_FILE})
+
+# Detection summary:
+SALOME_PACKAGE_REPORT_AND_CHECK()
+
+# Directories
+# (default values taken from KERNEL)
+# ===========
+SET(SALOME_INSTALL_BINS "${SALOME_INSTALL_BINS}" CACHE PATH "Install path: SALOME binaries")
+SET(SALOME_INSTALL_LIBS "${SALOME_INSTALL_LIBS}" CACHE PATH "Install path: SALOME libs")
+SET(SALOME_INSTALL_IDLS "${SALOME_INSTALL_IDLS}" CACHE PATH "Install path: SALOME IDL files")
+SET(SALOME_INSTALL_HEADERS "${SALOME_INSTALL_HEADERS}" CACHE PATH "Install path: SALOME headers")
+SET(SALOME_INSTALL_SCRIPT_SCRIPTS "${SALOME_INSTALL_SCRIPT_SCRIPTS}" CACHE PATH
+ "Install path: SALOME scripts")
+SET(SALOME_INSTALL_SCRIPT_DATA "${SALOME_INSTALL_SCRIPT_DATA}" CACHE PATH
+ "Install path: SALOME script data")
+SET(SALOME_INSTALL_SCRIPT_PYTHON "${SALOME_INSTALL_SCRIPT_PYTHON}" CACHE PATH
+ "Install path: SALOME Python scripts")
+SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "${SALOME_INSTALL_APPLISKEL_SCRIPTS}" CACHE PATH
+ "Install path: SALOME application skeleton - scripts")
+SET(SALOME_INSTALL_APPLISKEL_PYTHON "${SALOME_INSTALL_APPLISKEL_PYTHON}" CACHE PATH
+ "Install path: SALOME application skeleton - Python")
+#SET(SALOME_INSTALL_PYTHON "${SALOME_INSTALL_PYTHON}" CACHE PATH "Install path: SALOME Python stuff")
+#SET(SALOME_INSTALL_PYTHON_SHARED "${SALOME_INSTALL_PYTHON_SHARED}" CACHE PATH
+# "Install path: SALOME Python shared modules")
+SET(SALOME_INSTALL_CMAKE_LOCAL "${SALOME_INSTALL_CMAKE_LOCAL}" CACHE PATH "Install path: SALOME CMake files")
+SET(SALOME_INSTALL_AMCONFIG_LOCAL "${SALOME_INSTALL_AMCONFIG_LOCAL}" CACHE PATH
+ "Install path: local SALOME config files (obsolete, to be removed)")
+
+SET(SALOME_INSTALL_RES "${SALOME_INSTALL_RES}" CACHE PATH "Install path: SALOME resources")
+SET(SALOME_INSTALL_DOC "${SALOME_INSTALL_DOC}" CACHE PATH "Install path: SALOME documentation")
+
+# Specific to PYHELLO:
+SET(SALOME_PYHELLO_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/pyhello" CACHE PATH
+ "Install path: SALOME PYHELLO specific data")
+
+MARK_AS_ADVANCED(SALOME_INSTALL_BINS SALOME_INSTALL_LIBS SALOME_INSTALL_IDLS SALOME_INSTALL_HEADERS)
+MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME_INSTALL_SCRIPT_PYTHON)
+MARK_AS_ADVANCED(SALOME_INSTALL_APPLISKEL_SCRIPTS SALOME_INSTALL_APPLISKEL_PYTHON SALOME_INSTALL_CMAKE_LOCAL SALOME_INSTALL_RES)
+MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED)
+MARK_AS_ADVANCED(SALOME_INSTALL_AMCONFIG_LOCAL SALOME_INSTALL_DOC)
+MARK_AS_ADVANCED(SALOME_PYHELLO_INSTALL_RES_DATA)
+
+# Sources
+# ========
+
+ADD_SUBDIRECTORY(idl)
+ADD_SUBDIRECTORY(adm_local)
+ADD_SUBDIRECTORY(resources)
+ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(doc)
+ADD_SUBDIRECTORY(bin)
+
+# Configuration export
+# (here only the level 1 prerequisites are exposed)
+# ====================
+INCLUDE(CMakePackageConfigHelpers)
+
+# List of targets in this project we want to make visible to the rest of the world.
+# They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup"
+SET(_${PROJECT_NAME}_exposed_targets
+ SalomeIDLPYHELLO
+)
+
+# Add all targets to the build-tree export set
+EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets}
+ FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake)
+
+# Create the configuration files:
+# - in the build tree:
+
+# Ensure the variables are always defined for the configure:
+SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}")
+
+SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include")
+CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${PROJECT_NAME}Config.cmake.in
+ ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+ INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
+ PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX
+ GUI_ROOT_DIR)
+
+WRITE_BASIC_PACKAGE_VERSION_FILE(${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+ VERSION ${${PROJECT_NAME_UC}_VERSION}
+ COMPATIBILITY AnyNewerVersion)
+
+# Install the CMake configuration files:
+INSTALL(FILES
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+ DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}")
+
+# Install the export set for use with the install-tree
+INSTALL(EXPORT ${PROJECT_NAME}TargetGroup DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
+ FILE ${PROJECT_NAME}Targets.cmake)
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# -* Makefile *-
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-# $Header:
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-ACLOCAL_AMFLAGS = -I adm_local/unix/config_files \
- -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
- -I ${GUI_ROOT_DIR}/adm_local/unix/config_files
-
-SUBDIRS = idl adm_local resources src bin doc
-
-DISTCLEANFILES = a.out aclocal.m4 configure local-install.sh hack_libtool
-
-EXTRA_DIST += \
- build_configure \
- clean_configure
-
-dist-hook:
- rm -rf `find $(distdir) -name CVS`
-
-usr_docs:
- (cd doc && $(MAKE) $(AM_MAKEFLAGS) usr_docs)
-
-docs: usr_docs
-
-dev_docs:
- (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs)
-
-
This module is a Salome example of a module implemented in Python with PyQt GUI
Installation and compilation is like every Salome modules :
- src_dir/build_configure
- mkdir build_dir
+ mkdir build_dir
mkdir instal_dir
cd build_dir
- src_dir/configure --prefix=instal_dir
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=instal_dir ../src_dir
make
make install
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+ADD_SUBDIRECTORY(unix)
+ADD_SUBDIRECTORY(cmake_files)
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-SUBDIRS = unix
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ===============================================================
+# Files to be installed
+# ===============================================================
+
+# These files are data, module or lib files
+SET(_adm_data
+ FindPYHELLO.cmake
+ FindSalomePYHELLO.cmake
+)
+INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL})
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+#
+
+SET(PYHELLO_CXXFLAGS -I${PYHELLO_ROOT_DIR}/include/salome)
+
+FIND_LIBRARY(SalomeIDLPYHELLO SalomeIDLPYHELLO ${PYHELLO_ROOT_DIR}/lib/salome)
\ No newline at end of file
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+#
+
+IF(NOT SalomePYHELLO_FIND_QUIETLY)
+ MESSAGE(STATUS "Looking for Salome PYHELLO ...")
+ENDIF()
+
+SET(CMAKE_PREFIX_PATH "${PYHELLO_ROOT_DIR}")
+SALOME_FIND_PACKAGE(SalomePYHELLO SalomePYHELLO CONFIG)
+
+IF(NOT SalomePYHELLO_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Salome PYHELLO: ${PYHELLO_ROOT_DIR}")
+ENDIF()
\ No newline at end of file
--- /dev/null
+# - Config file for the @PROJECT_NAME@ package
+# It defines the following variables.
+# Specific to the pacakge @PROJECT_NAME@ itself:
+# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
+#
+
+###############################################################
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or
+# email : webmaster.salome@opencascade.com
+###############################################################
+
+### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE:
+@PACKAGE_INIT@
+
+
+# Package root dir:
+SET_AND_CHECK(PYHELLO_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@")
+
+# Include directories
+SET_AND_CHECK(PYHELLO_INCLUDE_DIRS "${PYHELLO_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@")
+
+# Load the dependencies for the libraries of @PROJECT_NAME@
+# (contains definitions for IMPORTED targets). This is only
+# imported if we are not built as a subproject (in this case targets are already there)
+IF(NOT TARGET SalomeIDLPYHELLO AND NOT @PROJECT_NAME@_BINARY_DIR)
+ INCLUDE("${PYHELLO_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE_LOCAL}/SalomePYHELLOTargets.cmake")
+ENDIF()
+
+#### Now the specificities
+
+# Options exported by the package:
+#SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@)
+SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@)
+
+# Level 1 prerequisites:
+SET_AND_CHECK(GUI_ROOT_DIR_EXP "@PACKAGE_GUI_ROOT_DIR@")
+
+# For all prerequisites, load the corresponding targets if the package was used
+# in CONFIG mode. This ensures dependent projects link correctly
+# without having to set LD_LIBRARY_PATH:
+SET(_PREREQ)
+SET(_PREREQ_CONFIG_DIR)
+LIST(LENGTH _PREREQ_CONFIG_DIR _list_len)
+# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
+MATH(EXPR _range "${_list_len}-1")
+FOREACH(_p RANGE ${_range})
+ LIST(GET _PREREQ ${_p} _pkg )
+ LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir)
+ IF(_pkg_dir)
+ MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...")
+ FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE
+ PATHS "${_pkg_dir}"
+ NO_DEFAULT_PATH)
+ ENDIF()
+ENDFOREACH()
+
+# Installation directories
+SET(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@")
+SET(SALOME_INSTALL_LIBS "@SALOME_INSTALL_LIBS@")
+SET(SALOME_INSTALL_IDLS "@SALOME_INSTALL_IDLS@")
+SET(SALOME_INSTALL_HEADERS "@SALOME_INSTALL_HEADERS@")
+SET(SALOME_INSTALL_SCRIPT_SCRIPTS "@SALOME_INSTALL_SCRIPT_SCRIPTS@")
+SET(SALOME_INSTALL_SCRIPT_DATA "@SALOME_INSTALL_SCRIPT_DATA@")
+SET(SALOME_INSTALL_SCRIPT_PYTHON "@SALOME_INSTALL_SCRIPT_PYTHON@")
+SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "@SALOME_INSTALL_APPLISKEL_SCRIPTS@")
+SET(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@")
+SET(SALOME_INSTALL_CMAKE_LOCAL "@SALOME_INSTALL_CMAKE_LOCAL@")
+SET(SALOME_INSTALL_PYTHON "@SALOME_INSTALL_PYTHON@")
+SET(SALOME_INSTALL_PYTHON_SHARED "@SALOME_INSTALL_PYTHON_SHARED@")
+SET(SALOME_INSTALL_RES "@SALOME_INSTALL_RES@")
+SET(SALOME_INSTALL_DOC "@SALOME_INSTALL_DOC@")
+SET(SALOME_INSTALL_AMCONFIG_LOCAL "@SALOME_INSTALL_AMCONFIG_LOCAL@")
+
+# Include GUI targets if they were not already loaded:
+IF(NOT (TARGET Event))
+ INCLUDE("${GUI_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeGUITargets.cmake")
+ENDIF()
+
+# Exposed PYHELLO targets:
+SET(PYHELLO_SalomeIDLPYHELLO SalomeIDLPYHELLO)
\ No newline at end of file
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+ADD_SUBDIRECTORY(config_files)
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-SUBDIRS = config_files
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SET(_m4_data
+ check_PYHELLO.m4
+)
+
+INSTALL(FILES ${_m4_data} DESTINATION ${SALOME_INSTALL_AMCONFIG_LOCAL}/config_files)
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-dist_admlocalm4_DATA = \
- check_PYHELLO.m4
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# ============================================================
-# The following is to avoid PACKAGE_... env variable
-# redefinition compilation warnings
-# ============================================================
-#
-AM_CXXFLAGS = @KERNEL_CXXFLAGS@ -include SALOMEconfig.h
-AM_CPPFLAGS = @KERNEL_CXXFLAGS@ -include SALOMEconfig.h
-
-# ============================================================
-# This file defines the common definitions used in several
-# Makefile. This file must be included, if needed, by the file
-# Makefile.am.
-# ============================================================
-# Standard directory for installation
-#
-salomeincludedir = $(includedir)/salome
-libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/salome
-bindir = $(prefix)/bin/salome
-salomescriptdir = $(bindir)
-salomepythondir = $(pythondir)/salome
-salomepyexecdir = $(pyexecdir)/salome
-
-# Directory for installing idl files
-salomeidldir = $(prefix)/idl/salome
-
-# Directory for installing resource files
-salomeresdir = $(prefix)/share/salome/resources/@MODULE_NAME@
-
-# Directories for installing admin files
-admlocaldir = $(prefix)/adm_local
-admlocalunixdir = $(admlocaldir)/unix
-admlocalm4dir = $(admlocaldir)/unix/config_files
-
-# Shared modules installation directory
-sharedpkgpythondir = $(salomepythondir)/shared_modules
-
-# Documentation directory
-docdir = $(datadir)/doc/salome
-
-# common rules
-
-# meta object implementation files generation (moc)
-%_moc.cxx: %.h
- $(MOC) $< -o $@
-
-# translation (*.qm) files generation (lrelease)
-%.qm: %.ts
- $(LRELEASE) $< -qm $@
-
-# resource files generation (qrcc)
-qrc_%.cxx: %.qrc
- $(QRCC) $< -o $@ -name $(*F)
-
-# qt forms files generation (uic)
-ui_%.h: %.ui
- $(UIC) -o $@ $<
-
-# extra distributed files
-EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(QRC_FILES:qrc_%.cxx=%.qrc) \
- $(UIC_FILES:ui_%.h=%.ui) $(nodist_salomeres_DATA:%.qm=%.ts)
-
-# customize clean operation
-mostlyclean-local:
- rm -f @builddir@/*_moc.cxx
- rm -f @builddir@/*.qm
- rm -f @builddir@/ui_*.h
- rm -f @builddir@/qrc_*.cxx
-
-# tests
-tests: unittest
-
-unittest: $(UNIT_TEST_PROG)
- @if test "x$(UNIT_TEST_PROG)" != "x"; then \
- $(UNIT_TEST_PROG); \
- fi;
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS})
+SALOME_CONFIGURE_FILE(runAppli.in runAppli INSTALL ${SALOME_INSTALL_BINS})
+
+# ===============================================================
+# Files to be installed
+# ===============================================================
+
+SET(_bin_scripts
+ myrunSalome.py
+)
+
+SALOME_INSTALL_SCRIPTS("${_bin_scripts}" ${SALOME_INSTALL_SCRIPT_SCRIPTS})
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# -* Makefile *-
-# Author : Guillaume Boulant (CSSI)
-# Module : COMPONENT
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-dist_salomescript_SCRIPTS = \
- myrunSalome.py
-
-nodist_salomescript_SCRIPTS = \
- runAppli
-
-nodist_salomescript_DATA = \
- VERSION
-[SALOME PYHELLO] : @VERSION@
-[DEVELOPMENT] : @VERSION_DEV@
+[SALOME PYHELLO] : @SALOMEPYHELLO_VERSION@
+[DEVELOPMENT] : @SALOMEPYHELLO_VERSION_DEV@
[DESCRIPTION] : Sample Python SALOME module
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-CURRENT_DIR=`pwd`
-CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
-cd ${CONF_DIR}
-python $KERNEL_ROOT_DIR/salome_adm/cmake_files/deprecated/am2cmake.py --pyhello
-status=$?
-cd ${CURRENT_DIR}
-exit $status
+++ /dev/null
-@REM Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-@REM
-@REM This library is free software; you can redistribute it and/or
-@REM modify it under the terms of the GNU Lesser General Public
-@REM License as published by the Free Software Foundation; either
-@REM version 2.1 of the License.
-@REM
-@REM This library is distributed in the hope that it will be useful,
-@REM but WITHOUT ANY WARRANTY; without even the implied warranty of
-@REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-@REM Lesser General Public License for more details.
-@REM
-@REM You should have received a copy of the GNU Lesser General Public
-@REM License along with this library; if not, write to the Free Software
-@REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-@REM
-@REM See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-@REM
-
-%PYTHONBIN% %KERNEL_ROOT_DIR%\salome_adm\cmake_files\deprecated\am2cmake.py --pyhello\r
+++ /dev/null
-#!/bin/bash
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# Tool for updating list of .in file for the SALOME project
-# and regenerating configure script
-# Author :
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-# Date : 10/10/2002
-#
-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
-
-
-########################################################################
-# Test if the GUI_ROOT_DIR is set correctly
-
-if test ! -d "${GUI_ROOT_DIR}"; then
- echo "failed : GUI_ROOT_DIR variable is not correct !"
- exit
-fi
-
-cd ${CONF_DIR}
-ABS_CONF_DIR=`pwd`
-
-########################################################################
-
-# ____________________________________________________________________
-# aclocal creates the aclocal.m4 file from the standard macro and the
-# custom macro embedded in the directory adm_local/unix/config_files
-# and KERNEL config_files directory.
-# output:
-# aclocal.m4
-# autom4te.cache (directory)
-echo "======================================================= aclocal"
-
-aclocal -I adm_local/unix/config_files \
- -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
- -I ${GUI_ROOT_DIR}/adm_local/unix/config_files || exit 1
-
-# ____________________________________________________________________
-# libtoolize creates some configuration files (ltmain.sh,
-# config.guess and config.sub). It only depends on the libtool
-# version. The files are created in the directory specified with the
-# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac).
-# output:
-# adm_local/unix/config_files/config.guess
-# adm_local/unix/config_files/config.sub
-# adm_local/unix/config_files/ltmain.sh
-echo "==================================================== libtoolize"
-
-libtoolize --force --copy --automake || exit 1
-
-# ____________________________________________________________________
-# autoconf creates the configure script from the file configure.ac (or
-# configure.in if configure.ac doesn't exist)
-# output:
-# configure
-echo "====================================================== autoconf"
-
-autoconf
-
-# ____________________________________________________________________
-# automake creates some scripts used in building process
-# (install-sh, missing, ...). It only depends on the automake
-# version. The files are created in the directory specified with the
-# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac). This step also
-# creates the Makefile.in files from the Makefile.am files.
-# output:
-# adm_local/unix/config_files/compile
-# adm_local/unix/config_files/depcomp
-# adm_local/unix/config_files/install-sh
-# adm_local/unix/config_files/missing
-# adm_local/unix/config_files/py-compile
-# Makefile.in (from Makefile.am)
-echo "====================================================== automake"
-
-automake --copy --gnu --add-missing
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-rm -rf autom4te.cache aclocal.m4 configure make_config
-find . -name "*~" -print -exec rm {} \;
-find . -name "*.pyc" -print -exec rm {} \;
-#exit
-# ==================== ON SORT AVANT
-
-find . -name Makefile.in | xargs rm -f
-( cd adm_local/unix/config_files && rm -f config.* depcomp install-sh ltmain.sh missing py-compile )
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# 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([Salome2 Project PYHELLO module], [7.2.0], [webmaster.salome@opencascade.com], [SalomePYHELLO])
-AC_CONFIG_AUX_DIR(adm_local/unix/config_files)
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE([-Wno-portability])
-
-XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
-AC_SUBST(XVERSION)
-VERSION_DEV=0
-AC_SUBST(VERSION_DEV)
-
-# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
-MODULE_NAME=pyhello
-AC_SUBST(MODULE_NAME)
-
-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
-
-AC_CHECK_PROG(SHELL,sh)
-AC_SUBST(SHELL)
-
-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
-AC_LOCAL_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}'/adm_local/unix/config_files/install-sh
- ;;
-esac
-
-echo
-echo ---------------------------------------------
-echo testing python
-echo ---------------------------------------------
-echo
-
-CHECK_PYTHON
-
-AM_PATH_PYTHON(2.3)
-
-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 QT
-echo ---------------------------------------------
-echo
-
-CHECK_QT
-
-echo
-echo ---------------------------------------------
-echo Testing html generators
-echo ---------------------------------------------
-echo
-
-CHECK_HTML_GENERATORS
-
-echo
-echo ---------------------------------------------
-echo Testing Kernel
-echo ---------------------------------------------
-echo
-
-CHECK_KERNEL
-
-echo
-echo ---------------------------------------------
-echo Testing GUI
-echo ---------------------------------------------
-echo
-
-CHECK_SALOME_GUI
-
-echo
-echo ---------------------------------------------
-echo Testing full GUI
-echo ---------------------------------------------
-echo
-
-CHECK_CORBA_IN_GUI
-
-if test "x${CORBA_IN_GUI}" != "xyes"; then
- echo "failed : For configure PYHELLO module necessary full GUI !"
- exit
-fi
-
-echo
-echo ---------------------------------------------
-echo Summary
-echo ---------------------------------------------
-echo
-
-echo Configure
-variables="python_ok omniORB_ok qt_ok doxygen_ok Kernel_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 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
-echo
-echo ---------------------------------------------
-echo generating Makefiles and configure files
-echo ---------------------------------------------
-echo
-
-AC_OUTPUT_COMMANDS([ \
- chmod +x ./bin/*; \
-])
-
-AC_HACK_LIBTOOL
-AC_CONFIG_COMMANDS([hack_libtool],[
-sed -i "s%^CC=\"\(.*\)\"%hack_libtool (){ \n\
- $(pwd)/hack_libtool \1 \"\$[@]\" \n\
-}\n\
-CC=\"hack_libtool\"%g" libtool
-sed -i "s%\(\s*\)for searchdir in \$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path; do%\1searchdirs=\"\$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path\"\n\1for searchdir in \$searchdirs; do%g" libtool
-sed -i "s%\(\s*\)searchdirs=\"\$newlib_search_path \$lib_search_path \(.*\)\"%\1searchdirs=\"\$newlib_search_path \$lib_search_path\"\n\1sss_beg=\"\"\n\1sss_end=\"\2\"%g" libtool
-sed -i "s%\(\s*\)\(for searchdir in \$searchdirs; do\)%\1for sss in \$searchdirs; do\n\1 if ! test -d \$sss; then continue; fi\n\1 ssss=\$(cd \$sss; pwd)\n\1 if test \"\$ssss\" != \"\" \&\& test -d \$ssss; then\n\1 case \$ssss in\n\1 /usr/lib | /usr/lib64 ) ;;\n\1 * ) sss_beg=\"\$sss_beg \$ssss\" ;;\n\1 esac\n\1 fi\n\1done\n\1searchdirs=\"\$sss_beg \$sss_end\"\n\1\2%g" libtool
-],[])
-
-# This list is initiated using autoscan and must be updated manually
-# when adding a new file <filename>.in to manage. When you execute
-# autoscan, the Makefile list is generated in the output file configure.scan.
-# This could be helpfull to update de configuration.
-AC_OUTPUT([ \
- adm_local/Makefile \
- adm_local/unix/Makefile \
- adm_local/unix/config_files/Makefile \
- bin/VERSION \
- bin/runAppli \
- bin/Makefile \
- doc/Makefile \
- doc/doxyfile \
- doc/static/header.html \
- src/Makefile \
- src/PYHELLO/Makefile \
- src/PYHELLOGUI/Makefile \
- resources/Makefile \
- resources/SalomeApp.xml \
- resources/PYHELLOCatalog.xml \
- idl/Makefile \
- Makefile \
-])
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SALOME_CONFIGURE_FILE(doxyfile.in doxyfile)
+SALOME_CONFIGURE_FILE(static/header.html.in static/header.html)
+
+ADD_CUSTOM_TARGET(usr_docs ${DOXYGEN_EXECUTABLE})
+
+ADD_DEPENDENCIES(usr_docs html_docs)
+
+INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PYHELLO DESTINATION ${SALOME_INSTALL_DOC}/gui)
+INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/PYHELLO)
\ No newline at end of file
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-EXTRA_DIST += images static/footer.html static/salome_extra.css
-
-guidocdir = $(docdir)/gui/PYHELLO
-guidoc_DATA = images/head.png
-
-usr_docs: doxyfile
- $(DOXYGEN) doxyfile
-
-docs: usr_docs
-
-dev_docs:
-
-clean-local:
- @for filen in `find . -maxdepth 1` ; do \
- case $${filen} in \
- ./Makefile | ./doxyfile ) ;; \
- . | .. | ./static ) ;; \
- *) echo "Removing $${filen}" ; rm -rf $${filen} ;; \
- esac ; \
- done ;
-
-install-data-local: usr_docs
- $(INSTALL) -d $(DESTDIR)$(docdir)/gui/PYHELLO
- @for filen in `find . -maxdepth 1` ; do \
- case $${filen} in \
- ./Makefile | ./doxyfile | ./doxyfile.bak ) ;; \
- . | .. | ./static ) ;; \
- *) echo "Installing $${filen}" ; cp -rp $${filen} $(DESTDIR)$(docdir)/gui/PYHELLO ;;\
- esac ; \
- done ;
-
-uninstall-local:
- rm -rf $(DESTDIR)$(docdir)/gui/PYHELLO
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "PYHELLO sample module reference manual v.@VERSION@"
-OUTPUT_DIRECTORY = .
+PROJECT_NAME = "PYHELLO sample module reference manual v.@SALOMEPYHELLO_VERSION@"
+OUTPUT_DIRECTORY = PYHELLO
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
TAB_SIZE = 5
#---------------------------------------------------------------------------
#Input related options
#---------------------------------------------------------------------------
-INPUT = @srcdir@
+INPUT = @CMAKE_CURRENT_SOURCE_DIR@/input
FILE_PATTERNS = *.doc
EXCLUDE =
-IMAGE_PATH = @srcdir@/images
+IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/images
EXAMPLE_PATH =
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
-HTML_HEADER = @builddir@/static/header.html
-HTML_FOOTER = @srcdir@/static/footer.html
-HTML_EXTRA_STYLESHEET = @srcdir@/static/salome_extra.css
+HTML_HEADER = @CMAKE_CURRENT_BINARY_DIR@/static/header.html
+HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html
+HTML_EXTRA_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/static/salome_extra.css
TOC_EXPAND = YES
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
+++ /dev/null
-/*!
-
-\mainpage Introduction to PYHELLO sample module
-
-The purpose of the \b PYHELLO module is to describe briefly the different
-steps in the development of a SALOME module in Python.
-
-Contents:
-- \subpage dev_steps
-- \subpage tree_structure
-- \subpage build_proc_files
-- \subpage idl_dir
-- \subpage src_dir
-- \subpage bin_dir
-- \subpage doc_dir
-- \subpage build_procedure
-- \subpage run_procedure
-- \subpage load_module
-- \subpage catalog_def
-- \subpage load_lcc
-- \subpage load_iapp
-
-\ref dev_steps ">> Next"
-
-\page dev_steps Steps in construction of the example module
-
-The example module chosen to illustrate the process of SALOME module
-development is extremely simple. The module contains a single
-component and this component provides a single service called \b
-makeBanner that accepts a character string as the sole argument and
-that returns a character string obtained by the concatenation of a
-'Hello' and the input string. The component also provides a simple
-GUI.
-
-The steps in the development are as follows:
-- create a module tree structure
-- create a SALOME component that can be loaded by a Python SALOME container
-- configure the module so that the component is known to SALOME
-- add a graphic GUI
-
-\ref main "<< Previous"<br>\ref tree_structure ">> Next"
-
-\page tree_structure Create the module tree structure
-
-The first step in the development process is the creation of the
-module tree file structure. The typical SALOME module usually includes
-some set of the configuration files (used in the build procedure of a
-module), Makefiles, IDL file that provides a definition of a CORBA
-services implemented in a module and a set of source Python files
-which implement the module CORBA engine and (optionally) its GUI.
-
-The following file structure is typical for the SALOME module:
-
-<pre>
-+ PYHELLO1_SRC
- + build_configure
- + configure.ac
- + Makefile.am
- + adm_local
- + Makefile.am
- + unix
- + Makefile.am
- + make_common_starter.am
- + config_files
- + Makefile.am
- + check_PYHELLO.m4
- + bin
- + Makefile.am
- + VERSION.in
- + runAppli.in
- + myrunSalome.py
- + idl
- + Makefile.am
- + PYHELLO_Gen.idl
- + src
- + Makefile.am
- + PYHELLO
- + Makefile.am
- + PYHELLO.py
- + PYHELLO_utils.py
- + PYHELLOGUI
- + Makefile.am
- + PYHELLOGUI.py
- + PYHELLO_msg_en.ts
- + PYHELLO_icons.ts
- + resources
- + Makefile.am
- + PYHELLO.png
- + PYHELLO_small.png
- + ExecPYHELLO.png
- + handshake.png
- + stop.png
- + PYHELLOCatalog.xml.in
- + SalomeApp.xml.in
- + doc
- + Makefile.am
- + doxyfile.in
- + index.doc
-</pre>
-
-Note that other files can be optionally present. For example, in some
-SALOME modules sources tree you can find such files as AUTHORS,
-INSTALL, ChangeLog, COPYING, NEWS, README, etc. Some files are
-specific only for this PYHELLO sample module, for example PNG images
-in the resources directory which are used in the GUI dialog boxes etc.
-
-The usual way of the sources directory tree structure initial creation
-is to copy it from the existing SALOME module.
-
-\warning The files of the platform base module (KERNEL) must not be
-copied to initialise a module tree structure. It is usually preferable
-to copy files from another module such as GEOM or MED.
-
-The module name is PYHELLO, the component name is PYHELLO and all the
-files are put in a directory named PYHELLO1_SRC.
-Below is a short description of these files. Note, that files with .in
-suffix are the autoconf templates from which the actual files are
-generated during the build procedure.
-
-- build_configure, configure.ac, Makefile.am, make_common_starter.am
-
-These files are a part of the build system based on GNU
-automake/autoconf auto-tools. These files define the build procedure,
-namely, compilation and installation rules like compiler and linker
-options, installation destination folder, package version etc.
-
-- adm_local/unix/config_files/check_PYHELLO.m4
-
-The files in this directory are also a part of the GNU auto-tools
--based build procedure. The scripts written in m4 language are usually
-used to test an availability of some 3rd-party pre-requisite product,
-compiler feature, different configuration options.
-
-- bin/VERSION.in
-
-This file is used to document the module, it must give its version (at
-least) and (optionally) compatibilities or incompatibilities with
-other modules. This file is strongly recommended but is not essential
-for operation of the module.
-
-- bin/runAppli.in
-- bin/myrunSalome.py
-
-These files are not essential but make the example easier to
-use. These are scripts that can be used to run SALOME session with
-PYHELLO module.
-
-- idl/PYHELLO_Gen.idl
-
-This is the CORBA IDL definition of the services implemented by SALOME
-PYHELLO module.
-
-- src/PYHELLO/PYHELLO.py
-- src/PYHELLO/PYHELLO_utils.py
-
-These files provide the implementation of a CORBA engine of the
-PYHELLO module. In particular, this is an implementation of the
-services defined in the PYHELLO_Gen.idl file.
-
-- src/PYHELLOGUI/PYHELLOGUI.py
-
-The src/PYHELLOGUI is an optional directory that provides an
-implementation of PYHELLO module's GUI. Strictly speaking, the
-GUI is optional for each SALOME module. In some cases it's
-enough to implement CORBA engine only. Then, the services of the
-module will be avaiable in a CORBA environment. The module can be
-loaded to the SALOME container and its services can be used in the
-Supervisor computation schemas, in Python scripts or/and refer to it
-in other modules. A GUI is necessary in the cases if it is planned to
-access to the module functionality from the SALOME GUI session via
-menu actions, dialog boxes and so on.
-
-- src/PYHELLOGUI/PYHELLO_msg_en.ts
-- src/PYHELLOGUI/PYHELLO_icons.ts
-
-These files provide a description (internationalization) of GUI
-resources of the PYHELLO module. PYHELLO_msg_en.ts provides an English
-translation of the string resources used in a module. PYHELLO_icons.ts
-defines images and icons resources used within the GUI of the
-PYHELLO module. Please refer to Qt linguist documentation for more
-details.
-
-- resources/PYHELLO.png
-- resources/PYHELLO_small.png
-- resources/ExecPYHELLO.png
-- resources/handshake.png
-- resources/stop.png
-
-The resources folder usually includes different resource files used
-within the SALOME module. For example, PYHELLO.png file provides an icon
-of PYHELLO module to be shown in the SALOME GUI desktop. ExecPYHELLO.png is
-an icon for the makeBanner() function used in the menu and
-toolbar. The icons handshake.png and stop.png are used in the dialog
-boxes and PYHELLO_small.png icon is used to display in the Object
-browser for root PYHELLO entity.
-
-- resources/PYHELLOCatalog.xml.in
-
-The XML description of the CORBA services provided by the PYHELLO
-module. This file is parsed by Supervisor and YACS module to generate
-the list of service nodes to be used in the calculation schemas. The
-simplest way to create this file is to use Catalog Generator utility
-provided by the SALOME KERNEL module, that can automatically generate
-XML description file from the IDL file.
-
-- resources/SalomeApp.xml.in
-
-This file is essential for the module. It provides some parameters of
-the module which define module behavior in SALOME. In particular it
-should provide a section with the name corresponding to the name of a
-module ("PYHELLO" in this case) with the following parameters:
-\code
- <section name="PYHELLO">
- <parameter name="name" value="PyHello"/>
- <parameter name="icon" value="PYHELLO.png"/>
- <parameter name="library" value="SalomePyQtGUI"/>
- <parameter name="version" value="@VERSION@"/>
- </section>
-\endcode
-
-The "name" parameter defines GUI name of a module. The "icon"
-parameter defines a GUI icon of a module. The parameter "library"
-specifies the name of the C++ library representing the front-end of
-the module in the SALOME GUI desktop. The Python modules which do not
-implement its own C++ front-end GUI library should specify
-"SalomePyQtGUI" value in this parameter. The "version" parameter
-defines the version of the module.
-
-The section "resources" also specifies the directory that contains
-resources of a module (icons, translation files, etc).
-
-\code
- <section name="resources">
- <parameter name="PYHELLO" value="${PYHELLO_ROOT_DIR}/share/salome/resources/pyhello"/>
- </section>
-\endcode
-
-The section [module_name]_help provides information on the location of
-the help page and the eventual sub-menu in the Help menu.
-
-\code
- <section name="pyhello_help" >
- <parameter name="sub_menu" value="Samples"/>
- <parameter name="%1 User's Guide" value="%PYHELLO_ROOT_DIR%/share/doc/salome/gui/PYHELLO/index.html"/>
- </section>
-\endcode
-
-- doc/doxyfile.in
-
-The Doxygen configuration file. The Doxygen is used to build this
-documentation. The file doxyfile.in provides a rules for the
-generation of module documentation.
-
-- doc/index.doc
-
-An input file for the Doxygen, which provides a source of this documentation.
-
-\ref dev_steps "<< Previous"<br>\ref build_proc_files ">> Next"
-
-\page build_proc_files Build procedure input files
-
-SALOME uses autoconf and automake GNU auto-tools to build the
-modules. The configure script is used for the build procedure to test
-the system configuration and to pre-configure the module construction
-Makefile files.
-
-The \b build_configure script provides a procedure that uses \b
-configure.ac and set of \b Makefile.am files as input and uses autoconf
-to generate the configure script and automake to generate Makefile.in
-files.
-
-The files with an .in extension are the skeletons that are the input
-of the configure script (to be more precise, these files should be
-listed in the end of the configure.ac file in the AC_OUTPUT()
-autoconf macro) and are transformed by the configure process.
-
-Almost all files used for this process are located in the platform
-base module KERNEL that is referenced by the KERNEL_ROOT_DIR
-environment variable, namely in its salome_adm sub-folder.
-Similarly, the GUI_ROOT_DIR environment variable is used for the
-graphical user interface (GUI), that also provides a set of
-configuration utilities (m4 files) in its adm_local folder. However,
-some files must be modified as a function of the target module. This
-is the case for build_configure and configure.ac files which usually
-need to be adapted to the module needs.
-
-The file \b make_common_starter.am file in the adm_local directory of
-the example module provides basic build rules to be used in other
-Makefile.am files. To refer to this file in the Makefile.am it is
-necessary to use "include" clause:
-
-\code
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-\endcode
-
-The adm_local/unix/config_files is a directory in which the m4 files
-that are used to test the configuration of the system in the configure
-process can be placed. If the salome_adm files are not sufficient,
-additional configuration files can be put to the adm_local directory.
-
-\ref tree_structure "<< Previous"<br>\ref idl_dir ">> Next"
-
-\page idl_dir The idl directory
-
-The idl directory requires a Makefile.am that must make the
-compilation of the idl PYHELLO_Gen.idl file and install all the
-generated files into the correct module installation directories. The
-BASEIDL_FILES target has to be modified to reach this goal.
-
-The idl file itself must define a CORBA module for which the name must
-be different from the module name to avoid name conflicts and define a
-CORBA interface that is derived at least from the EngineComponent interface
-of the Engines module. The name of the CORBA module will be
-\b PYHELLO_ORB and the name of the interface will be \b PYHELLO_Gen.
-
-\ref build_proc_files "<< Previous"<br>\ref src_dir ">> Next"
-
-\page src_dir The src directory
-
-The src contains all source files required to build and install CORBA
-engine and (optionally) GUI of the module. Each of these entities usually
-has (but this is not actually obligatory) its own directory.
-
-The Makefile.am simply triggers the path of sub-directories described
-by the SUBDIRS target.
-
-- The src/PYHELLO directory
-
-This directory contains the Python files that implement the engine
-of the module. The Makefile.am defines the rules used to install these
-files to the destination folder. The name of the module
-engine Python file is predefined and should be set as <MODULE>.py
-where <MODULE> is a name of the module. In the case of the PYHELLO
-module, the name of the engine Python script should be PYHELLO.so.
-
-The PYHELLO.py Python script implements PYHELLO class that is derived
-from the PYHELLO_Gen interface of the PYHELLO_ORB__POA CORBA module,
-the SALOME_ComponentPy_i class (base implementation of SALOME
-Python module engine exported by the KERNEL module) and
-SALOME_DriverPy_i class that provides base implementation of
-persistence mechanism.
-
-In particular, PYHELLO class implements makeBanner() function that is
-defined in the IDL interface PYHELLO_ORB::PYHELLO_Gen.
-
-\code
-def makeBanner( self, name ):
- banner = "Hello %s!" % name
- return banner
-\endcode
-
-Other services
-defined in PYHELLO_Gen CORBA interface also should be implemented by
-this class.
-
-- The src/PYHELLOGUI directory
-
-This directory contains the Python files that implement the GUI
-of PYHELLO module. The name of the module GUI Python script is
-predefined and should be set as <MODULE>GUI.py where <MODULE> is a
-name of the module. In the case of the PYHELLO module, the name of the
-GUI Python script should be PYHELLOGUI.py.
-
-The implementation of GUI of the PYHELLO module should be done
-according to the architecture and rules specified by the SALOME GUI
-module. The PYHELLO.py script should implement a set of the functions
-which define the module behavior in GUI, for example, create menus,
-toolbars, define context popup menus, objects selection behavior,
-implement dialog boxes etc.
-
-Here below is a short description of these methods. For more details
-please refer to the SALOME GUI module documentation.
-
-- initialize() - module first initialization; usually used to create
- GUI actions, menus, toolbars and so on;
-- activate() - module activation; perform actions which should
- be done when the module is activated by the user;
-- deactivate() - module deactivation; perform actions which should
- be done when the module is deactivated by the user;
-- windows() - get a list and a position of the windows to be
- associated with the module; these windows will be automatically
- opened and positioned according to the setting defined by the value
- returned by this function;
-- views() - get a list of the compatible viewers; these viewers
- will be automatically opened/raised on the module activation;
-- createPopupMenu() - create and return context popup menu according
- to the current selection;
-- createPreferences() - initialize module's preferences;
-- preferenceChanged() - callback function that is called when some
- module's preference is changed by the user; allows to perform the
- corresponding actions;
-- engineIOR() - to get the reference to the module CORBA engine
-
-Note, that some of these methods are optional and need not be
-obligatory implemented because SalomePyQtGUI_Module class provides a
-base implementation of these functions. It's sometimes enough to
-implement only some of them, depending on the module needs.
-
-In the case of PYHELLO module, some of these functions are
-implemented to provide a sample for the development:
-
-- engineIOR() that initializes PYHELLO module's eggine:
-
-\code
-def engineIOR():
- IOR = ""
- if getORB() and getEngine():
- IOR = getORB().object_to_string( getEngine() )
- pass
- return IOR
-\endcode
-
-- initialize() that sets default module preferences
-
-\code
-def initialize():
- if not sgPyQt.hasSetting( "PYHELLO", "def_obj_name"):
- sgPyQt.addSetting( "PYHELLO", "def_obj_name", GUIcontext.DEFAULT_NAME )
- if not sgPyQt.hasSetting( "PYHELLO", "creation_mode"):
- sgPyQt.addSetting( "PYHELLO", "creation_mode", 0 )
-\endcode
-
-- createPreferences() that initializes module preferences for the
- application's Preferences dialog box
-
-\code
-def createPreferences():
- if verbose() : print "PYHELLOGUI.createPreferences() : study : %d" % _getStudyId()
- gid = sgPyQt.addPreference( "General" )
- gid = sgPyQt.addPreference( "Object creation", gid )
- pid = sgPyQt.addPreference( "Default name", gid, SalomePyQt.PT_String, "PYHELLO", "def_obj_name" )
- pid = sgPyQt.addPreference( "Default creation mode", gid, SalomePyQt.PT_Selector, "PYHELLO", "creation_mode" )
- strings = QStringList()
- strings.append( "Default name" )
- strings.append( "Generate name" )
- strings.append( "Ask name" )
- indexes = []
- indexes.append( QVariant(0) )
- indexes.append( QVariant(1) )
- indexes.append( QVariant(2) )
- sgPyQt.setPreferenceProperty( pid, "strings", QVariant( strings ) )
- sgPyQt.setPreferenceProperty( pid, "indexes", QVariant( indexes ) )
- pass
-\endcode
-
-- windows() that defines dockable windows layout
-
-\code
-def windows():
- if verbose() : print "PYHELLOGUI.windows() : study : %d" % _getStudyId()
- wm = {}
- wm[SalomePyQt.WT_ObjectBrowser] = Qt.LeftDockWidgetArea
- wm[SalomePyQt.WT_PyConsole] = Qt.BottomDockWidgetArea
- return wm
-\endcode
-
-Please refer to PYHELLOGUI.py script for more details about
-implementation of other callback functions.
-
-An implemention of the ShowHello() function is quite simple. It shows
-the small dialog box allowing user to enter the name, and then uses
-reference to the module CORBA engine to invoke its makeBanner()
-service.
-
-Note, that GUI elements of the Python module are implemented with help
-of PyQt toolkit which provides a Python wrappings of the Qt library.
-
-\ref idl_dir "<< Previous"<br>\ref bin_dir ">> Next"
-
-\page bin_dir The bin directory
-
-The file VERSION.in is used to document the module, it must define its
-version and (optionally) its compatibilities or incompatibilities with
-other modules. Therefore, it is strongly recommended but is not
-essential for correct operation of the module.
-
-The runAppli.in file is the equivalent of the runSalome script
-distributed by the KERNEL module but configured to start SALOME
-session with PYHELLO module only.
-
-The myrunSalome.py file reuses part of functionality provided by the
-KERNEL's runSalome.py script. It is used to run SALOME session and
-start PYHELLO module in this session.
-
-\ref src_dir "<< Previous"<br>\ref doc_dir ">> Next"
-
-\page doc_dir The doc directory
-
-This directory provides documentation files of the module. The
-documentation of the module can be implemented in the arbitrary
-way. But if you want your documentation to appear in the SALOME GUI
-desktop's Help menu, some specific actions should be done as follows.
-
-The documentation should be generated in the HTML format. For example,
-the documentation of the PYHELLO module is generated using Doxygen
-tool. It allows to generate structured set of HTML pages from the set
-of input plain text files. Input source files should include Doxygen
-tags and optionally direct HTML tags. For more details please refer to
-the Doxygen documentation.
-
-The resulting documentation of a module should include at least one
-file index.html. All the HTML and image files should be exported by
-the build procedure to the following directory:
-<module_installation_dir>/share/doc/salome/gui/<MODULE>
-where <module_installation_dir> is a module installation folder and
-MODULE is its name. For example, for PYHELLO module, at least one file
-should exist:
-<PYHELLO_module_installation_dir>/share/doc/salome/gui/PYHELLO/index.html.
-
-The SALOME GUI automatically searches for the index.html file in the
-mentioned module directory. If the file is found, the corresponding
-menu command is automatically added to the Help menu of the SALOME GUI
-desktop.
-
-\ref bin_dir "<< Previous"<br>\ref build_procedure ">> Next"
-
-\page build_procedure Construction, installation
-
-Before building PYHELLO module, please ensure that SALOME environment is
-set properly. Assume that SALOME environment is set in env_products.sh
-script. In order to build and install PYHELLO module, you have to
-perform several steps:
-
-<pre>
-[bash% ] source env_products.sh
-[bash% ] mkdir PYHELLO_BUILD
-[bash% ] cd PYHELLO_BUILD
-[bash% ] ../PYHELLO1_SRC/build_configure
-[bash% ] ../PYHELLO1_SRC/configure --prefix=<PYHELLO_module_installation_dir>
-[bash% ] make
-[bash% ] make install
-</pre>
-
-The first command creates a build directory for the PYHELLO module. Then
-next step is to cd to this build directory. From this directory you
-sequentially invoke build_configure, configure, make and make install
-commands. On each step, you have to ensure that the operation is
-finished correctly (no errors raised).
-
-The <PYHELLO_module_installation_dir> variable above defines the
-destination directory to which the PYHELLO module should be
-installed. After the last step is finished, the PYHELLO module is built
-and installed to the <PYHELLO_module_installation_dir> directory.
-
-\ref doc_dir "<< Previous"<br>\ref run_procedure ">> Next"
-
-\page run_procedure Running SALOME
-
-Go to the the <PYHELLO_module_installation_dir> directory and type:
-
-<pre>
-[bash% ] ./bin/salome/runAppli
-</pre>
-
-This command runs SALOME session configured for KERNEL and the PYHELLO
-module. At the end of running, the user will be prompted by the
-Python interpreter command line configured for SALOME that provides
-access to SALOME Python API (including CORBA interfaces).
-
-The runAppli file is a shell script that executes a Python commands
-running SALOME session by passing arguments to it in a command line:
-
-<pre>
-${KERNEL_ROOT_DIR}/bin/salome/envSalome.py python -i $PYHELLO_ROOT_DIR/bin/salome/myrunSalome.py --modules=PYHELLO --killall
-</pre>
-
-These arguments state that the myrunSalome.py script located in the
-PYHELLO module will be used, that the PYHELLO component will be
-activated and all previously running SALOME sessions should be
-shutdowned.
-
-This command will not function unless the following environment
-variables have previously been set:
-
-<pre>
-export KERNEL_ROOT_DIR=<KERNEL_module_installation_dir>
-export PYHELLO_ROOT_DIR=<PYHELLO_module_installation_dir>
-</pre>
-
-\warning It is possible that the SALOME run will not reach the end.
-In some circumstances, the time to start CORBA servers may be long and
-could exceed the timeout. If the reasons is that the time to
-load dynamic libraries is long, it is possible that a second run
-immediately afterwards will be successful.
-
-\ref build_procedure "<< Previous"<br>\ref load_module ">> Next"
-
-\page load_module Loading PYHELLO component
-
-The PYHELLO_ORB module has to be imported before making a request to
-load the component into the container, to obtain access to methods of
-the component. This container is made accessible in the myrunSalome.py
-by means of the \b container variable:
-
-<pre>
->> import PYHELLO_ORB
->> c=container.load_impl("PYHELLO","PYHELLO")
->> c.makeBanner("Christian")
-</pre>
-
-The last instruction returns a string "Hello Christian". Proceed as
-follows to see the CORBA objects created by these actions:
-
-<pre>
->> clt.showNS()
-</pre>
-
-\ref run_procedure "<< Previous"<br>\ref catalog_def ">> Next"
-
-\page catalog_def PYHELLO module catalog definition
-
-In the example from the previous chapter, the PYHELLO component was
-loaded by making a direct request to the SALOME container. This is not
-the standard method for loading of a component. The normal way uses
-the SALOME LifeCycle service that invokes SALOME Module Catalog
-services to identify the component and its properties and then calls
-the requested container to load the component.
-
-Before this method can be used, the component must be declared in a
-catalog in the XML format, for which the name must be
-<Module>Catalog.xml. In our case, it will be PYHELLOCatalog.xml.
-Usually this catalog is put to the resources sub-directory of the
-directory tree. The simplest way to create this file is to use Catalog
-Generator utility provided by the SALOME KERNEL module, that can
-automatically generate XML description file from the IDL file.
-
-\ref load_module "<< Previous"<br>\ref load_lcc ">> Next"
-
-\page load_lcc Loading PYHELLO component via LifeCycle service
-
-The method of loading the component is not very different from that
-is described above. The services of the LifeCycle module are used in
-this case instead of calling the container directly. The call sequence
-is contained in the myrunSalome.py \b test() function.
-
-<pre>
- c=test(clt)
- c.makeBanner("Christian")
-</pre>
-
-The test function creates the LifeCycle object. It then asks for the
-PYHELLO component to be loaded in the FactoryServer container:
-
-\code
-def test(clt):
- """
- Test function that creates an instance of PYHELLO component
- usage : hello=test(clt)
- """
- import LifeCycleCORBA
- lcc = LifeCycleCORBA.LifeCycleCORBA(clt.orb)
- import PYHELLO_ORB
- pyhello = lcc.FindOrLoadComponent("FactoryServePy", "PYHELLO")
- return pyhello
-\endcode
-
-\ref catalog_def "<< Previous"<br>\ref load_iapp ">> Next"
-
-\page load_iapp Loading from the GUI (IAPP)
-
-In order to activate PYHELLO module in the SALOME GUI desktop, the user
-should press the PYHELLO module's button on the "Modules" toolbar or
-select the name of the module in the combo box on this toolbar.
-
-The image file to be used as an icon of a module should be exported by
-the module build procedure. The icon file name is defined in the
-corresponding SalomeApp.xml configuration file:
-\code
- <section name="PYHELLO">
- <parameter name="name" value="Hello"/>
- <parameter name="icon" value="PYHELLO.png"/>
- <parameter name="library" value="SalomePyQtGUI"/>
- </section>
-\endcode
-
-\ref load_lcc "<< Previous"
-
-*/
--- /dev/null
+/*!
+
+\mainpage Introduction to PYHELLO sample module
+
+The purpose of the \b PYHELLO module is to describe briefly the different
+steps in the development of a SALOME module in Python.
+
+Contents:
+- \subpage dev_steps
+- \subpage tree_structure
+- \subpage build_proc_files
+- \subpage idl_dir
+- \subpage src_dir
+- \subpage bin_dir
+- \subpage doc_dir
+- \subpage build_procedure
+- \subpage run_procedure
+- \subpage load_module
+- \subpage catalog_def
+- \subpage load_lcc
+- \subpage load_iapp
+
+\ref dev_steps ">> Next"
+
+\page dev_steps Steps in construction of the example module
+
+The example module chosen to illustrate the process of SALOME module
+development is extremely simple. The module contains a single
+component and this component provides a single service called \b
+makeBanner that accepts a character string as the sole argument and
+that returns a character string obtained by the concatenation of a
+'Hello' and the input string. The component also provides a simple
+GUI.
+
+The steps in the development are as follows:
+- create a module tree structure
+- create a SALOME component that can be loaded by a Python SALOME container
+- configure the module so that the component is known to SALOME
+- add a graphic GUI
+
+\ref main "<< Previous"<br>\ref tree_structure ">> Next"
+
+\page tree_structure Create the module tree structure
+
+The first step in the development process is the creation of the
+module tree file structure. The typical SALOME module usually includes
+some set of the configuration files (used in the build procedure of a
+module), Makefiles, IDL file that provides a definition of a CORBA
+services implemented in a module and a set of source Python files
+which implement the module CORBA engine and (optionally) its GUI.
+
+The following file structure is typical for the SALOME module:
+
+<pre>
++ PYHELLO1_SRC
+ + build_configure
+ + configure.ac
+ + Makefile.am
+ + adm_local
+ + Makefile.am
+ + unix
+ + Makefile.am
+ + make_common_starter.am
+ + config_files
+ + Makefile.am
+ + check_PYHELLO.m4
+ + bin
+ + Makefile.am
+ + VERSION.in
+ + runAppli.in
+ + myrunSalome.py
+ + idl
+ + Makefile.am
+ + PYHELLO_Gen.idl
+ + src
+ + Makefile.am
+ + PYHELLO
+ + Makefile.am
+ + PYHELLO.py
+ + PYHELLO_utils.py
+ + PYHELLOGUI
+ + Makefile.am
+ + PYHELLOGUI.py
+ + PYHELLO_msg_en.ts
+ + PYHELLO_icons.ts
+ + resources
+ + Makefile.am
+ + PYHELLO.png
+ + PYHELLO_small.png
+ + ExecPYHELLO.png
+ + handshake.png
+ + stop.png
+ + PYHELLOCatalog.xml.in
+ + SalomeApp.xml.in
+ + doc
+ + Makefile.am
+ + doxyfile.in
+ + index.doc
+</pre>
+
+Note that other files can be optionally present. For example, in some
+SALOME modules sources tree you can find such files as AUTHORS,
+INSTALL, ChangeLog, COPYING, NEWS, README, etc. Some files are
+specific only for this PYHELLO sample module, for example PNG images
+in the resources directory which are used in the GUI dialog boxes etc.
+
+The usual way of the sources directory tree structure initial creation
+is to copy it from the existing SALOME module.
+
+\warning The files of the platform base module (KERNEL) must not be
+copied to initialise a module tree structure. It is usually preferable
+to copy files from another module such as GEOM or MED.
+
+The module name is PYHELLO, the component name is PYHELLO and all the
+files are put in a directory named PYHELLO1_SRC.
+Below is a short description of these files. Note, that files with .in
+suffix are the autoconf templates from which the actual files are
+generated during the build procedure.
+
+- build_configure, configure.ac, Makefile.am, make_common_starter.am
+
+These files are a part of the build system based on GNU
+automake/autoconf auto-tools. These files define the build procedure,
+namely, compilation and installation rules like compiler and linker
+options, installation destination folder, package version etc.
+
+- adm_local/unix/config_files/check_PYHELLO.m4
+
+The files in this directory are also a part of the GNU auto-tools
+-based build procedure. The scripts written in m4 language are usually
+used to test an availability of some 3rd-party pre-requisite product,
+compiler feature, different configuration options.
+
+- bin/VERSION.in
+
+This file is used to document the module, it must give its version (at
+least) and (optionally) compatibilities or incompatibilities with
+other modules. This file is strongly recommended but is not essential
+for operation of the module.
+
+- bin/runAppli.in
+- bin/myrunSalome.py
+
+These files are not essential but make the example easier to
+use. These are scripts that can be used to run SALOME session with
+PYHELLO module.
+
+- idl/PYHELLO_Gen.idl
+
+This is the CORBA IDL definition of the services implemented by SALOME
+PYHELLO module.
+
+- src/PYHELLO/PYHELLO.py
+- src/PYHELLO/PYHELLO_utils.py
+
+These files provide the implementation of a CORBA engine of the
+PYHELLO module. In particular, this is an implementation of the
+services defined in the PYHELLO_Gen.idl file.
+
+- src/PYHELLOGUI/PYHELLOGUI.py
+
+The src/PYHELLOGUI is an optional directory that provides an
+implementation of PYHELLO module's GUI. Strictly speaking, the
+GUI is optional for each SALOME module. In some cases it's
+enough to implement CORBA engine only. Then, the services of the
+module will be avaiable in a CORBA environment. The module can be
+loaded to the SALOME container and its services can be used in the
+Supervisor computation schemas, in Python scripts or/and refer to it
+in other modules. A GUI is necessary in the cases if it is planned to
+access to the module functionality from the SALOME GUI session via
+menu actions, dialog boxes and so on.
+
+- src/PYHELLOGUI/PYHELLO_msg_en.ts
+- src/PYHELLOGUI/PYHELLO_icons.ts
+
+These files provide a description (internationalization) of GUI
+resources of the PYHELLO module. PYHELLO_msg_en.ts provides an English
+translation of the string resources used in a module. PYHELLO_icons.ts
+defines images and icons resources used within the GUI of the
+PYHELLO module. Please refer to Qt linguist documentation for more
+details.
+
+- resources/PYHELLO.png
+- resources/PYHELLO_small.png
+- resources/ExecPYHELLO.png
+- resources/handshake.png
+- resources/stop.png
+
+The resources folder usually includes different resource files used
+within the SALOME module. For example, PYHELLO.png file provides an icon
+of PYHELLO module to be shown in the SALOME GUI desktop. ExecPYHELLO.png is
+an icon for the makeBanner() function used in the menu and
+toolbar. The icons handshake.png and stop.png are used in the dialog
+boxes and PYHELLO_small.png icon is used to display in the Object
+browser for root PYHELLO entity.
+
+- resources/PYHELLOCatalog.xml.in
+
+The XML description of the CORBA services provided by the PYHELLO
+module. This file is parsed by Supervisor and YACS module to generate
+the list of service nodes to be used in the calculation schemas. The
+simplest way to create this file is to use Catalog Generator utility
+provided by the SALOME KERNEL module, that can automatically generate
+XML description file from the IDL file.
+
+- resources/SalomeApp.xml.in
+
+This file is essential for the module. It provides some parameters of
+the module which define module behavior in SALOME. In particular it
+should provide a section with the name corresponding to the name of a
+module ("PYHELLO" in this case) with the following parameters:
+\code
+ <section name="PYHELLO">
+ <parameter name="name" value="PyHello"/>
+ <parameter name="icon" value="PYHELLO.png"/>
+ <parameter name="library" value="SalomePyQtGUI"/>
+ <parameter name="version" value="@SALOMEPYHELLO_VERSION@"/>
+ </section>
+\endcode
+
+The "name" parameter defines GUI name of a module. The "icon"
+parameter defines a GUI icon of a module. The parameter "library"
+specifies the name of the C++ library representing the front-end of
+the module in the SALOME GUI desktop. The Python modules which do not
+implement its own C++ front-end GUI library should specify
+"SalomePyQtGUI" value in this parameter. The "version" parameter
+defines the version of the module.
+
+The section "resources" also specifies the directory that contains
+resources of a module (icons, translation files, etc).
+
+\code
+ <section name="resources">
+ <parameter name="PYHELLO" value="${PYHELLO_ROOT_DIR}/share/salome/resources/pyhello"/>
+ </section>
+\endcode
+
+The section [module_name]_help provides information on the location of
+the help page and the eventual sub-menu in the Help menu.
+
+\code
+ <section name="pyhello_help" >
+ <parameter name="sub_menu" value="Samples"/>
+ <parameter name="%1 User's Guide" value="%PYHELLO_ROOT_DIR%/share/doc/salome/gui/PYHELLO/index.html"/>
+ </section>
+\endcode
+
+- doc/doxyfile.in
+
+The Doxygen configuration file. The Doxygen is used to build this
+documentation. The file doxyfile.in provides a rules for the
+generation of module documentation.
+
+- doc/index.doc
+
+An input file for the Doxygen, which provides a source of this documentation.
+
+\ref dev_steps "<< Previous"<br>\ref build_proc_files ">> Next"
+
+\page build_proc_files Build procedure input files
+
+SALOME uses autoconf and automake GNU auto-tools to build the
+modules. The configure script is used for the build procedure to test
+the system configuration and to pre-configure the module construction
+Makefile files.
+
+The \b build_configure script provides a procedure that uses \b
+configure.ac and set of \b Makefile.am files as input and uses autoconf
+to generate the configure script and automake to generate Makefile.in
+files.
+
+The files with an .in extension are the skeletons that are the input
+of the configure script (to be more precise, these files should be
+listed in the end of the configure.ac file in the AC_OUTPUT()
+autoconf macro) and are transformed by the configure process.
+
+Almost all files used for this process are located in the platform
+base module KERNEL that is referenced by the KERNEL_ROOT_DIR
+environment variable, namely in its salome_adm sub-folder.
+Similarly, the GUI_ROOT_DIR environment variable is used for the
+graphical user interface (GUI), that also provides a set of
+configuration utilities (m4 files) in its adm_local folder. However,
+some files must be modified as a function of the target module. This
+is the case for build_configure and configure.ac files which usually
+need to be adapted to the module needs.
+
+The file \b make_common_starter.am file in the adm_local directory of
+the example module provides basic build rules to be used in other
+Makefile.am files. To refer to this file in the Makefile.am it is
+necessary to use "include" clause:
+
+\code
+include $(top_srcdir)/adm_local/unix/make_common_starter.am
+\endcode
+
+The adm_local/unix/config_files is a directory in which the m4 files
+that are used to test the configuration of the system in the configure
+process can be placed. If the salome_adm files are not sufficient,
+additional configuration files can be put to the adm_local directory.
+
+\ref tree_structure "<< Previous"<br>\ref idl_dir ">> Next"
+
+\page idl_dir The idl directory
+
+The idl directory requires a Makefile.am that must make the
+compilation of the idl PYHELLO_Gen.idl file and install all the
+generated files into the correct module installation directories. The
+BASEIDL_FILES target has to be modified to reach this goal.
+
+The idl file itself must define a CORBA module for which the name must
+be different from the module name to avoid name conflicts and define a
+CORBA interface that is derived at least from the EngineComponent interface
+of the Engines module. The name of the CORBA module will be
+\b PYHELLO_ORB and the name of the interface will be \b PYHELLO_Gen.
+
+\ref build_proc_files "<< Previous"<br>\ref src_dir ">> Next"
+
+\page src_dir The src directory
+
+The src contains all source files required to build and install CORBA
+engine and (optionally) GUI of the module. Each of these entities usually
+has (but this is not actually obligatory) its own directory.
+
+The Makefile.am simply triggers the path of sub-directories described
+by the SUBDIRS target.
+
+- The src/PYHELLO directory
+
+This directory contains the Python files that implement the engine
+of the module. The Makefile.am defines the rules used to install these
+files to the destination folder. The name of the module
+engine Python file is predefined and should be set as <MODULE>.py
+where <MODULE> is a name of the module. In the case of the PYHELLO
+module, the name of the engine Python script should be PYHELLO.so.
+
+The PYHELLO.py Python script implements PYHELLO class that is derived
+from the PYHELLO_Gen interface of the PYHELLO_ORB__POA CORBA module,
+the SALOME_ComponentPy_i class (base implementation of SALOME
+Python module engine exported by the KERNEL module) and
+SALOME_DriverPy_i class that provides base implementation of
+persistence mechanism.
+
+In particular, PYHELLO class implements makeBanner() function that is
+defined in the IDL interface PYHELLO_ORB::PYHELLO_Gen.
+
+\code
+def makeBanner( self, name ):
+ banner = "Hello %s!" % name
+ return banner
+\endcode
+
+Other services
+defined in PYHELLO_Gen CORBA interface also should be implemented by
+this class.
+
+- The src/PYHELLOGUI directory
+
+This directory contains the Python files that implement the GUI
+of PYHELLO module. The name of the module GUI Python script is
+predefined and should be set as <MODULE>GUI.py where <MODULE> is a
+name of the module. In the case of the PYHELLO module, the name of the
+GUI Python script should be PYHELLOGUI.py.
+
+The implementation of GUI of the PYHELLO module should be done
+according to the architecture and rules specified by the SALOME GUI
+module. The PYHELLO.py script should implement a set of the functions
+which define the module behavior in GUI, for example, create menus,
+toolbars, define context popup menus, objects selection behavior,
+implement dialog boxes etc.
+
+Here below is a short description of these methods. For more details
+please refer to the SALOME GUI module documentation.
+
+- initialize() - module first initialization; usually used to create
+ GUI actions, menus, toolbars and so on;
+- activate() - module activation; perform actions which should
+ be done when the module is activated by the user;
+- deactivate() - module deactivation; perform actions which should
+ be done when the module is deactivated by the user;
+- windows() - get a list and a position of the windows to be
+ associated with the module; these windows will be automatically
+ opened and positioned according to the setting defined by the value
+ returned by this function;
+- views() - get a list of the compatible viewers; these viewers
+ will be automatically opened/raised on the module activation;
+- createPopupMenu() - create and return context popup menu according
+ to the current selection;
+- createPreferences() - initialize module's preferences;
+- preferenceChanged() - callback function that is called when some
+ module's preference is changed by the user; allows to perform the
+ corresponding actions;
+- engineIOR() - to get the reference to the module CORBA engine
+
+Note, that some of these methods are optional and need not be
+obligatory implemented because SalomePyQtGUI_Module class provides a
+base implementation of these functions. It's sometimes enough to
+implement only some of them, depending on the module needs.
+
+In the case of PYHELLO module, some of these functions are
+implemented to provide a sample for the development:
+
+- engineIOR() that initializes PYHELLO module's eggine:
+
+\code
+def engineIOR():
+ IOR = ""
+ if getORB() and getEngine():
+ IOR = getORB().object_to_string( getEngine() )
+ pass
+ return IOR
+\endcode
+
+- initialize() that sets default module preferences
+
+\code
+def initialize():
+ if not sgPyQt.hasSetting( "PYHELLO", "def_obj_name"):
+ sgPyQt.addSetting( "PYHELLO", "def_obj_name", GUIcontext.DEFAULT_NAME )
+ if not sgPyQt.hasSetting( "PYHELLO", "creation_mode"):
+ sgPyQt.addSetting( "PYHELLO", "creation_mode", 0 )
+\endcode
+
+- createPreferences() that initializes module preferences for the
+ application's Preferences dialog box
+
+\code
+def createPreferences():
+ if verbose() : print "PYHELLOGUI.createPreferences() : study : %d" % _getStudyId()
+ gid = sgPyQt.addPreference( "General" )
+ gid = sgPyQt.addPreference( "Object creation", gid )
+ pid = sgPyQt.addPreference( "Default name", gid, SalomePyQt.PT_String, "PYHELLO", "def_obj_name" )
+ pid = sgPyQt.addPreference( "Default creation mode", gid, SalomePyQt.PT_Selector, "PYHELLO", "creation_mode" )
+ strings = QStringList()
+ strings.append( "Default name" )
+ strings.append( "Generate name" )
+ strings.append( "Ask name" )
+ indexes = []
+ indexes.append( QVariant(0) )
+ indexes.append( QVariant(1) )
+ indexes.append( QVariant(2) )
+ sgPyQt.setPreferenceProperty( pid, "strings", QVariant( strings ) )
+ sgPyQt.setPreferenceProperty( pid, "indexes", QVariant( indexes ) )
+ pass
+\endcode
+
+- windows() that defines dockable windows layout
+
+\code
+def windows():
+ if verbose() : print "PYHELLOGUI.windows() : study : %d" % _getStudyId()
+ wm = {}
+ wm[SalomePyQt.WT_ObjectBrowser] = Qt.LeftDockWidgetArea
+ wm[SalomePyQt.WT_PyConsole] = Qt.BottomDockWidgetArea
+ return wm
+\endcode
+
+Please refer to PYHELLOGUI.py script for more details about
+implementation of other callback functions.
+
+An implemention of the ShowHello() function is quite simple. It shows
+the small dialog box allowing user to enter the name, and then uses
+reference to the module CORBA engine to invoke its makeBanner()
+service.
+
+Note, that GUI elements of the Python module are implemented with help
+of PyQt toolkit which provides a Python wrappings of the Qt library.
+
+\ref idl_dir "<< Previous"<br>\ref bin_dir ">> Next"
+
+\page bin_dir The bin directory
+
+The file VERSION.in is used to document the module, it must define its
+version and (optionally) its compatibilities or incompatibilities with
+other modules. Therefore, it is strongly recommended but is not
+essential for correct operation of the module.
+
+The runAppli.in file is the equivalent of the runSalome script
+distributed by the KERNEL module but configured to start SALOME
+session with PYHELLO module only.
+
+The myrunSalome.py file reuses part of functionality provided by the
+KERNEL's runSalome.py script. It is used to run SALOME session and
+start PYHELLO module in this session.
+
+\ref src_dir "<< Previous"<br>\ref doc_dir ">> Next"
+
+\page doc_dir The doc directory
+
+This directory provides documentation files of the module. The
+documentation of the module can be implemented in the arbitrary
+way. But if you want your documentation to appear in the SALOME GUI
+desktop's Help menu, some specific actions should be done as follows.
+
+The documentation should be generated in the HTML format. For example,
+the documentation of the PYHELLO module is generated using Doxygen
+tool. It allows to generate structured set of HTML pages from the set
+of input plain text files. Input source files should include Doxygen
+tags and optionally direct HTML tags. For more details please refer to
+the Doxygen documentation.
+
+The resulting documentation of a module should include at least one
+file index.html. All the HTML and image files should be exported by
+the build procedure to the following directory:
+<module_installation_dir>/share/doc/salome/gui/<MODULE>
+where <module_installation_dir> is a module installation folder and
+MODULE is its name. For example, for PYHELLO module, at least one file
+should exist:
+<PYHELLO_module_installation_dir>/share/doc/salome/gui/PYHELLO/index.html.
+
+The SALOME GUI automatically searches for the index.html file in the
+mentioned module directory. If the file is found, the corresponding
+menu command is automatically added to the Help menu of the SALOME GUI
+desktop.
+
+\ref bin_dir "<< Previous"<br>\ref build_procedure ">> Next"
+
+\page build_procedure Construction, installation
+
+Before building PYHELLO module, please ensure that SALOME environment is
+set properly. Assume that SALOME environment is set in env_products.sh
+script. In order to build and install PYHELLO module, you have to
+perform several steps:
+
+<pre>
+[bash% ] source env_products.sh
+[bash% ] mkdir PYHELLO_BUILD
+[bash% ] cd PYHELLO_BUILD
+[bash% ] ../PYHELLO1_SRC/build_configure
+[bash% ] ../PYHELLO1_SRC/configure --prefix=<PYHELLO_module_installation_dir>
+[bash% ] make
+[bash% ] make install
+</pre>
+
+The first command creates a build directory for the PYHELLO module. Then
+next step is to cd to this build directory. From this directory you
+sequentially invoke build_configure, configure, make and make install
+commands. On each step, you have to ensure that the operation is
+finished correctly (no errors raised).
+
+The <PYHELLO_module_installation_dir> variable above defines the
+destination directory to which the PYHELLO module should be
+installed. After the last step is finished, the PYHELLO module is built
+and installed to the <PYHELLO_module_installation_dir> directory.
+
+\ref doc_dir "<< Previous"<br>\ref run_procedure ">> Next"
+
+\page run_procedure Running SALOME
+
+Go to the the <PYHELLO_module_installation_dir> directory and type:
+
+<pre>
+[bash% ] ./bin/salome/runAppli
+</pre>
+
+This command runs SALOME session configured for KERNEL and the PYHELLO
+module. At the end of running, the user will be prompted by the
+Python interpreter command line configured for SALOME that provides
+access to SALOME Python API (including CORBA interfaces).
+
+The runAppli file is a shell script that executes a Python commands
+running SALOME session by passing arguments to it in a command line:
+
+<pre>
+${KERNEL_ROOT_DIR}/bin/salome/envSalome.py python -i $PYHELLO_ROOT_DIR/bin/salome/myrunSalome.py --modules=PYHELLO --killall
+</pre>
+
+These arguments state that the myrunSalome.py script located in the
+PYHELLO module will be used, that the PYHELLO component will be
+activated and all previously running SALOME sessions should be
+shutdowned.
+
+This command will not function unless the following environment
+variables have previously been set:
+
+<pre>
+export KERNEL_ROOT_DIR=<KERNEL_module_installation_dir>
+export PYHELLO_ROOT_DIR=<PYHELLO_module_installation_dir>
+</pre>
+
+\warning It is possible that the SALOME run will not reach the end.
+In some circumstances, the time to start CORBA servers may be long and
+could exceed the timeout. If the reasons is that the time to
+load dynamic libraries is long, it is possible that a second run
+immediately afterwards will be successful.
+
+\ref build_procedure "<< Previous"<br>\ref load_module ">> Next"
+
+\page load_module Loading PYHELLO component
+
+The PYHELLO_ORB module has to be imported before making a request to
+load the component into the container, to obtain access to methods of
+the component. This container is made accessible in the myrunSalome.py
+by means of the \b container variable:
+
+<pre>
+>> import PYHELLO_ORB
+>> c=container.load_impl("PYHELLO","PYHELLO")
+>> c.makeBanner("Christian")
+</pre>
+
+The last instruction returns a string "Hello Christian". Proceed as
+follows to see the CORBA objects created by these actions:
+
+<pre>
+>> clt.showNS()
+</pre>
+
+\ref run_procedure "<< Previous"<br>\ref catalog_def ">> Next"
+
+\page catalog_def PYHELLO module catalog definition
+
+In the example from the previous chapter, the PYHELLO component was
+loaded by making a direct request to the SALOME container. This is not
+the standard method for loading of a component. The normal way uses
+the SALOME LifeCycle service that invokes SALOME Module Catalog
+services to identify the component and its properties and then calls
+the requested container to load the component.
+
+Before this method can be used, the component must be declared in a
+catalog in the XML format, for which the name must be
+<Module>Catalog.xml. In our case, it will be PYHELLOCatalog.xml.
+Usually this catalog is put to the resources sub-directory of the
+directory tree. The simplest way to create this file is to use Catalog
+Generator utility provided by the SALOME KERNEL module, that can
+automatically generate XML description file from the IDL file.
+
+\ref load_module "<< Previous"<br>\ref load_lcc ">> Next"
+
+\page load_lcc Loading PYHELLO component via LifeCycle service
+
+The method of loading the component is not very different from that
+is described above. The services of the LifeCycle module are used in
+this case instead of calling the container directly. The call sequence
+is contained in the myrunSalome.py \b test() function.
+
+<pre>
+ c=test(clt)
+ c.makeBanner("Christian")
+</pre>
+
+The test function creates the LifeCycle object. It then asks for the
+PYHELLO component to be loaded in the FactoryServer container:
+
+\code
+def test(clt):
+ """
+ Test function that creates an instance of PYHELLO component
+ usage : hello=test(clt)
+ """
+ import LifeCycleCORBA
+ lcc = LifeCycleCORBA.LifeCycleCORBA(clt.orb)
+ import PYHELLO_ORB
+ pyhello = lcc.FindOrLoadComponent("FactoryServePy", "PYHELLO")
+ return pyhello
+\endcode
+
+\ref catalog_def "<< Previous"<br>\ref load_iapp ">> Next"
+
+\page load_iapp Loading from the GUI (IAPP)
+
+In order to activate PYHELLO module in the SALOME GUI desktop, the user
+should press the PYHELLO module's button on the "Modules" toolbar or
+select the name of the module in the combo box on this toolbar.
+
+The image file to be used as an icon of a module should be exported by
+the module build procedure. The icon file name is defined in the
+corresponding SalomeApp.xml configuration file:
+\code
+ <section name="PYHELLO">
+ <parameter name="name" value="Hello"/>
+ <parameter name="icon" value="PYHELLO.png"/>
+ <parameter name="library" value="SalomePyQtGUI"/>
+ </section>
+\endcode
+
+\ref load_lcc "<< Previous"
+
+*/
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea"><div align="right"><div class="version">Version: @VERSION@</div></div></div>
+<div id="titlearea"><div align="right"><div class="version">Version: @SALOMEPYHELLO_VERSION@</div></div></div>
<!-- end header part -->
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE(UseOmniORB) # Provided by KERNEL
+
+INCLUDE_DIRECTORIES(
+ ${OMNIORB_INCLUDE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${KERNEL_INCLUDE_DIRS}
+)
+
+SET(SalomeIDLPYHELLO_IDLSOURCES
+ PYHELLO_Gen.idl
+)
+
+SET(_idl_include_dirs
+ ${KERNEL_ROOT_DIR}/idl/salome
+)
+
+SET(_idl_link_flags
+ ${KERNEL_SalomeIDLKernel}
+)
+
+OMNIORB_ADD_MODULE(SalomeIDLPYHELLO "${SalomeIDLPYHELLO_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}")
+INSTALL(TARGETS SalomeIDLPYHELLO EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# This Makefile is responsible of generating the client and server
-# implementation of IDL interfaces for both C++ and python usage.
-# The building process of the C++ files is in charge of each source
-# package and then is not manage here.
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-BASEIDL_FILES = PYHELLO_Gen.idl
-
-BASEIDL_FILES_PY=$(BASEIDL_FILES:%.idl=%_idl.py)
-
-# This variable defines the files to be installed
-dist_salomeidl_DATA = $(BASEIDL_FILES)
-
-# These variables defines the building process of CORBA files
-OMNIORB_IDL = @OMNIORB_IDL@
-OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
-OMNIORB_IDLPYFLAGS = \
- @OMNIORB_IDLPYFLAGS@ \
- -I$(top_builddir)/idl/salome \
- -I$(KERNEL_ROOT_DIR)/idl/salome
-
-IDLCXXFLAGS = \
- -bcxx \
- @IDLCXXFLAGS@ \
- -I$(top_builddir)/idl/salome \
- -I$(KERNEL_ROOT_DIR)/idl/salome
-IDLPYFLAGS = \
- @IDLPYFLAGS@ \
- -I$(KERNEL_ROOT_DIR)/idl/salome
-
-install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%)
- $(INSTALL) -d $(DESTDIR)$(salomepythondir)
- @for file in $^ dummy; do \
- if [ $$file != "dummy" ]; then \
- $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(DESTDIR)$(salomepythondir) $$file ; \
- fi ; \
- done ;
-
-# we want to remove only staff generated for IDL files and nothing more
-uninstall-local:
- @for modulen in PYHELLO_ORB ; do \
- test -d $(DESTDIR)$(salomepythondir)/$${modulen} && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen} ; \
- test -d $(DESTDIR)$(salomepythondir)/$${modulen}__POA && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}__POA" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen}__POA ; \
- done ; \
- for filen in $(BASEIDL_FILES_PY) ; do \
- echo "Removing $(DESTDIR)$(salomepythondir)/$${filen}" && rm -f $(DESTDIR)$(salomepythondir)/$${filen}* ; \
- done
-
-mostlyclean-local:
- -rm -f *.py
-
--- /dev/null
+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SET(PYHELLO_RESOURCES_FILES
+ ExecPYHELLO.png
+ handshake.png
+ PYHELLO_small.png
+ PYHELLO.png
+ stop.png
+)
+
+INSTALL(FILES ${PYHELLO_RESOURCES_FILES} DESTINATION ${SALOME_PYHELLO_INSTALL_RES_DATA})
+
+SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_PYHELLO_INSTALL_RES_DATA})
+SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/PYHELLOCatalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/PYHELLOCatalog.xml INSTALL ${SALOME_PYHELLO_INSTALL_RES_DATA})
\ No newline at end of file
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# -* Makefile *-
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-dist_salomeres_DATA = \
- PYHELLO.png \
- PYHELLO_small.png \
- ExecPYHELLO.png \
- handshake.png \
- stop.png
-
-# VSR: little trick to avoid putting if PYHELLOCatalog.xml to the distribution archive
-nodist_salomeres_SCRIPTS = PYHELLOCatalog.xml SalomeApp.xml
<component-username>PYHELLO GUI</component-username>
<component-type>Data</component-type>
<component-author>C. Caremoli</component-author>
- <component-version>@VERSION@</component-version>
+ <component-version>@SALOMEPYHELLO_VERSION@</component-version>
<component-comment>EDF - RD</component-comment>
<component-multistudy>1</component-multistudy>
<component-icone>PYHELLO.png</component-icone>
<parameter name="icon" value="PYHELLO.png"/>
<parameter name="library" value="SalomePyQtGUI"/>
<parameter name="documentation" value="pyhello_help"/>
- <parameter name="version" value="@VERSION@"/>
+ <parameter name="version" value="@SALOMEPYHELLO_VERSION@"/>
</section>
<section name="resources">
<!-- Module resources -->
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+##
+# Common packages
+##
+SET(SUBDIRS_COMMON
+ PYHELLO PYHELLOGUI
+)
+
+SET(SUBDIRS
+ ${SUBDIRS_COMMON}
+)
+
+FOREACH(dir ${SUBDIRS})
+ ADD_SUBDIRECTORY(${dir})
+ENDFOREACH(dir ${SUBDIRS})
+
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# File : Makefile.in
-# Author : (CEA)
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-SUBDIRS = PYHELLO PYHELLOGUI
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# --- scripts ---
+
+# scripts / static
+SET(_bin_SCRIPTS
+ PYHELLO.py
+ PYHELLO_utils.py
+)
+
+# --- rules ---
+SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})
\ No newline at end of file
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# SuperVisionTest AddComponent : example of component that adds two numbers
-# File : Makefile.in
-# Author : , CEA
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-# Scripts to be installed
-dist_salomescript_SCRIPTS = \
- PYHELLO.py \
- PYHELLO_utils.py
--- /dev/null
+# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE(UseQt4Ext)
+
+# additional include directories
+INCLUDE_DIRECTORIES(
+ ${QT_INCLUDES}
+)
+
+# --- scripts ---
+
+# scripts / static
+SET(_bin_SCRIPTS
+ PYHELLOGUI.py
+)
+
+# --- resources ---
+
+# resource files / to be processed by lrelease
+SET(_ts_RESOURCES
+ PYHELLO_msg_en.ts
+ PYHELLO_msg_fr.ts
+ PYHELLO_icons.ts
+)
+
+# --- rules ---
+
+SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})
+QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_PYHELLO_INSTALL_RES_DATA}")
\ No newline at end of file
+++ /dev/null
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# SuperVisionTest AddComponent : example of component that adds two numbers
-# File : Makefile.in
-# Author : , CEA
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-# Scripts to be installed
-dist_salomescript_SCRIPTS = \
- PYHELLOGUI.py
-
-# resources files
-nodist_salomeres_DATA = \
- PYHELLO_msg_en.qm \
- PYHELLO_msg_fr.qm \
- PYHELLO_icons.qm