From: vsr Date: Fri, 15 Jul 2011 11:34:23 +0000 (+0000) Subject: Merge from V6_3_BR 15/07/2011 X-Git-Tag: V6_4_0a1~15 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=39ab8ee3fdc994e443ad30bbc4264465b300843d;p=modules%2Fjobmanager.git Merge from V6_3_BR 15/07/2011 --- diff --git a/configure.ac b/configure.ac index 15f3f2d..dd15957 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ # -- # ----------------------------------------------------------------------------- # -AC_INIT([JOBMANAGER project], [6.3.0], [andre.ribes@edf.fr], [JobManager-Module]) +AC_INIT([JOBMANAGER project], [6.3.1], [andre.ribes@edf.fr], [JobManager-Module]) AM_INIT_AUTOMAKE([tar-pax]) AC_CONFIG_HEADER(jobmanager_config.h) @@ -30,6 +30,8 @@ AC_CONFIG_HEADER(jobmanager_config.h) MODULE_NAME=jobmanager AC_SUBST(MODULE_NAME) +SHORT_VERSION=`echo $VERSION | awk -F. '{printf("%d.%d",$1,$2)}'` +AC_SUBST(SHORT_VERSION) XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'` AC_SUBST(XVERSION) @@ -135,4 +137,5 @@ AC_OUTPUT([ \ src/standalone/start_jobmanager.sh \ src/salomegui/Makefile \ doc/Makefile \ + doc/conf.py \ ]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 011a67f..c32c941 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -41,13 +41,13 @@ ALLSPHINXOPTS = -d doctrees $(PAPEROPT_a4) $(SPHINXOPTS) $(SOURCEDIR) htm: mkdir -p html doctrees - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) html + $(SPHINXBUILD) -c $(top_builddir)/doc -b html $(ALLSPHINXOPTS) html @echo @echo "Build finished. The HTML pages are in html." latex: mkdir -p latex doctrees - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) latex + $(SPHINXBUILD) -c $(top_builddir)/doc -b latex $(ALLSPHINXOPTS) latex @echo @echo "Build finished; the LaTeX files are in latex." @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ @@ -68,7 +68,7 @@ jobmanager_gui.rst \ advanced.rst -EXTRA_DIST+= $(RSTFILES) conf.py +EXTRA_DIST+= $(RSTFILES) install-data-local: $(INSTALL) -d $(DESTDIR)$(jobmanagerdocdir) diff --git a/doc/conf.py b/doc/conf.py deleted file mode 100644 index 54870ec..0000000 --- a/doc/conf.py +++ /dev/null @@ -1,185 +0,0 @@ -# -*- coding: utf-8 -*- -# -# jobmanager documentation build configuration file, created by -# sphinx-quickstart on Fri Aug 29 09:57:25 2008. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# The contents of this file are pickled, so don't put values in the namespace -# that aren't pickleable (module imports are okay, they're removed automatically). -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If your extensions are in another directory, add it here. If the directory -# is relative to the documentation root, use os.path.abspath to make it -# absolute, like shown here. -#sys.path.append(os.path.abspath('.')) - -# General configuration -# --------------------- - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'jobmanager' -copyright = '2010 CEA/DEN, EDF R&D, A. Ribes' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '6.2' -# The full version, including alpha/beta/rc tags. -release = '6.2' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = ['.build','ref','images','CVS'] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - - -# Options for HTML output -# ----------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -html_use_modindex = False - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, the reST sources are included in the HTML build as _sources/. -#html_copy_source = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'jobmanagerdoc' - - -# Options for LaTeX output -# ------------------------ - -# The paper size ('letter' or 'a4'). -latex_paper_size = 'a4' - -# The font size ('10pt', '11pt' or '12pt'). -latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, document class [howto/manual]). -latex_documents = [ - ('index', 'jobmanager.tex', 'Jobmanager User Documentation', 'A. Ribes', 'manual') -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -latex_use_modindex = False diff --git a/doc/conf.py.in b/doc/conf.py.in new file mode 100644 index 0000000..053e397 --- /dev/null +++ b/doc/conf.py.in @@ -0,0 +1,185 @@ +# -*- coding: utf-8 -*- +# +# jobmanager documentation build configuration file, created by +# sphinx-quickstart on Fri Aug 29 09:57:25 2008. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# The contents of this file are pickled, so don't put values in the namespace +# that aren't pickleable (module imports are okay, they're removed automatically). +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If your extensions are in another directory, add it here. If the directory +# is relative to the documentation root, use os.path.abspath to make it +# absolute, like shown here. +#sys.path.append(os.path.abspath('.')) + +# General configuration +# --------------------- + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'jobmanager' +copyright = '2010-2011 CEA/DEN, EDF R&D, A. Ribes' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '@SHORT_VERSION@' +# The full version, including alpha/beta/rc tags. +release = '@VERSION@' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of documents that shouldn't be included in the build. +#unused_docs = [] + +# List of directories, relative to source directory, that shouldn't be searched +# for source files. +exclude_trees = ['.build','ref','images','CVS'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# Options for HTML output +# ----------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +html_theme = 'default' + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +html_use_modindex = False + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, the reST sources are included in the HTML build as _sources/. +#html_copy_source = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = '' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'jobmanagerdoc' + + +# Options for LaTeX output +# ------------------------ + +# The paper size ('letter' or 'a4'). +latex_paper_size = 'a4' + +# The font size ('10pt', '11pt' or '12pt'). +latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, document class [howto/manual]). +latex_documents = [ + ('index', 'jobmanager.tex', 'Jobmanager User Documentation', 'A. Ribes', 'manual') +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +latex_use_modindex = False diff --git a/src/engine/BL_Job.cxx b/src/engine/BL_Job.cxx index 5bfb3bd..19b8084 100644 --- a/src/engine/BL_Job.cxx +++ b/src/engine/BL_Job.cxx @@ -234,7 +234,7 @@ BL::Job::setStringState(const std::string & state) ) { DEBTRACE("Error state in setStringState"); - result = state; + result = "RefreshError"; } if (result == "") @@ -244,7 +244,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::CREATED) { setState(BL::Job::CREATED); - result = "new_state"; + result = state; } } else if (state == "NOT_CREATED") @@ -252,7 +252,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::NOT_CREATED) { setState(BL::Job::NOT_CREATED); - result = "new_state"; + result = state; } } else if (state == "QUEUED") @@ -260,7 +260,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::QUEUED) { setState(BL::Job::QUEUED); - result = "new_state"; + result = state; } } else if (state == "IN_PROCESS") @@ -268,7 +268,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::IN_PROCESS) { setState(BL::Job::IN_PROCESS); - result = "new_state"; + result = state; } } else if (state == "RUNNING") @@ -276,7 +276,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::RUNNING) { setState(BL::Job::RUNNING); - result = "new_state"; + result = state; } } else if (state == "PAUSED") @@ -284,7 +284,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::PAUSED) { setState(BL::Job::PAUSED); - result = "new_state"; + result = state; } } else if (state == "FINISHED") @@ -292,7 +292,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::FINISHED) { setState(BL::Job::FINISHED); - result = "new_state"; + result = state; } } else if (state == "ERROR") @@ -300,7 +300,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::ERROR) { setState(BL::Job::ERROR); - result = "new_state"; + result = state; } } else if (state == "FAILED") @@ -308,7 +308,7 @@ BL::Job::setStringState(const std::string & state) if (_state != BL::Job::FAILED) { setState(BL::Job::FAILED); - result = "new_state"; + result = state; } } } diff --git a/src/engine/BL_JobsManager.cxx b/src/engine/BL_JobsManager.cxx index 5acdb8c..9eee2ae 100644 --- a/src/engine/BL_JobsManager.cxx +++ b/src/engine/BL_JobsManager.cxx @@ -235,16 +235,16 @@ BL::JobsManager::refresh_jobs_thread(void * object_ptr) { std::string result_launcher = object->_salome_services->refresh_job(job); std::string result_job = job->setStringState(result_launcher); - if (result_job == "new_state") + if (result_job == "RefreshError") { + // Error using launcher... if (object->_observer) - object->_observer->sendEvent("refresh_job", "Ok", job->getName(), "new state"); + object->_observer->sendEvent("refresh_job", "Error", job->getName(), result_launcher); } else if (result_job != "") { - // Error using launcher... if (object->_observer) - object->_observer->sendEvent("refresh_job", "Error", job->getName(), result_launcher); + object->_observer->sendEvent("refresh_job", "Ok", job->getName(), result_job); } } } diff --git a/src/engine/BL_SALOMEServices.cxx b/src/engine/BL_SALOMEServices.cxx index 4b8672d..1b05577 100644 --- a/src/engine/BL_SALOMEServices.cxx +++ b/src/engine/BL_SALOMEServices.cxx @@ -582,8 +582,8 @@ BL::SALOMEServices::get_new_job(int job_number) // Get current state std::string result_job = job_return->setStringState(refresh_job(job_return)); - if (result_job == "new_state") {} - else if (result_job != "") + if (result_job != "RefreshError") {} + else { // Error in getting state DEBMSG("Error in getting state of the new job!"); diff --git a/src/genericgui/BL_GenericGui.cxx b/src/genericgui/BL_GenericGui.cxx index deba35e..3254484 100644 --- a/src/genericgui/BL_GenericGui.cxx +++ b/src/genericgui/BL_GenericGui.cxx @@ -161,9 +161,18 @@ void BL::GenericGui::showDockWidgets(bool isVisible) { DEBTRACE("BL::GenericGui::showDockWidgets " << isVisible); - if (_jobs_manager) _jobs_manager->setVisible(isVisible); - if (_dw_summary) _dw_summary->setVisible(isVisible); - if (_dw_resource_catalog) _dw_resource_catalog->setVisible(isVisible); + if (_jobs_manager) { + _jobs_manager->setVisible(isVisible); + _jobs_manager->toggleViewAction()->setVisible(isVisible); + } + if (_dw_summary) { + _dw_summary->setVisible(isVisible); + _dw_summary->toggleViewAction()->setVisible(isVisible); + } + if (_dw_resource_catalog) { + _dw_resource_catalog->setVisible(isVisible); + _dw_resource_catalog->toggleViewAction()->setVisible(isVisible); + } } void diff --git a/src/genericgui/BL_JobsManager_QT.cxx b/src/genericgui/BL_JobsManager_QT.cxx index ea5612b..b157c46 100644 --- a/src/genericgui/BL_JobsManager_QT.cxx +++ b/src/genericgui/BL_JobsManager_QT.cxx @@ -232,7 +232,7 @@ BL::JobsManager_QT::edit_clone_job(const std::string & name) // Check if the job has the same name if (name == wizard.job_name) { - DEBTRACE("Job " << name << " has been changed"); + DEBTRACE("Job " << name << " has been edited"); _main_gui->delete_job_internal(); } @@ -378,8 +378,10 @@ BL::JobsManager_QT::event(QEvent * e) { if (event->event_name == "Ok") { - QString str((event->job_name).c_str()); - write_normal_text("Job " + str + " state changed\n"); + QString name((event->job_name).c_str()); + QString state((event->data).c_str()); + state = state.toLower(); + write_normal_text("Job " + name + " new state is " + state + "\n"); emit job_state_changed(QString((event->job_name).c_str())); } else diff --git a/src/genericgui/JM_EditSalomeResource.cxx b/src/genericgui/JM_EditSalomeResource.cxx index dba4dfa..8fac9cb 100644 --- a/src/genericgui/JM_EditSalomeResource.cxx +++ b/src/genericgui/JM_EditSalomeResource.cxx @@ -49,6 +49,7 @@ JM::EditSalomeResource::EditSalomeResource(QWidget *parent, BL::SALOMEServices * _protocol_line = new QComboBox(this); _protocol_line->addItem("ssh"); _protocol_line->addItem("rsh"); + _protocol_line->addItem("srun"); _protocol_line->setCurrentIndex(-1); QLabel * componentList_label = new QLabel("Component List:"); @@ -108,10 +109,11 @@ JM::EditSalomeResource::EditSalomeResource(QWidget *parent, BL::SALOMEServices * _nb_proc_per_node_line->setMaximum(1000000); _nb_proc_per_node_line->setValue(1); - QLabel * iprotocol_label = new QLabel("Internal proctocol:"); + QLabel * iprotocol_label = new QLabel("Internal protocol:"); _iprotocol_line = new QComboBox(this); _iprotocol_line->addItem("ssh"); _iprotocol_line->addItem("rsh"); + _iprotocol_line->addItem("srun"); _iprotocol_line->setCurrentIndex(-1); QLabel * batch_label = new QLabel("Batch:"); @@ -194,6 +196,8 @@ JM::EditSalomeResource::get_infos() _protocol_line->setCurrentIndex(0); else if(protocol == "rsh") _protocol_line->setCurrentIndex(1); + else if(protocol == "srun") + _protocol_line->setCurrentIndex(2); else _protocol_line->setCurrentIndex(-1); @@ -202,6 +206,8 @@ JM::EditSalomeResource::get_infos() _iprotocol_line->setCurrentIndex(0); else if (iprotocol == "rsh") _iprotocol_line->setCurrentIndex(1); + else if (iprotocol == "srun") + _iprotocol_line->setCurrentIndex(2); else _iprotocol_line->setCurrentIndex(-1);