From: NDJINGA Michael Date: Tue, 18 Jan 2022 15:10:49 +0000 (+0100) Subject: Added sphinx documentation of the GUI X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=fa4fa8138eab16a2e83f3da0cc35372516656798;p=tools%2Fsolverlab.git Added sphinx documentation of the GUI --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d4db93..bd890b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -644,6 +644,12 @@ if (SOLVERLAB_WITH_DOCUMENTATION) configure_file (Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE) add_custom_target (doc COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile SOURCES ${PROJECT_BINARY_DIR}/Doxyfile) # install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html DESTINATION share/doc/solverlab-dev-doc OPTIONAL) # + + if ( SOLVERLAB_WITH_GUI OR COREFLOWS_WITH_GUI ) + find_package(Sphinx) + add_custom_target (docGUI COMMAND ${SPHINX_EXECUTABLE} -M html "${PROJECT_SOURCE_DIR}/CoreFlows/gui/doc" "${PROJECT_BINARY_DIR}/CoreFlows/gui/doc" SOURCES ${PROJECT_SOURCE_DIR}/CoreFlows/gui/doc) # + install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Utilities/html DESTINATION share/doc/solverlab-gui-doc OPTIONAL) # + endif( SOLVERLAB_WITH_GUI OR COREFLOWS_WITH_GUI ) endif(SOLVERLAB_WITH_DOCUMENTATION) if (SOLVERLAB_WITH_TESTS) # diff --git a/CoreFlows/gui/doc/FAQ.rst b/CoreFlows/gui/doc/FAQ.rst new file mode 100644 index 0000000..6a15ee6 --- /dev/null +++ b/CoreFlows/gui/doc/FAQ.rst @@ -0,0 +1,44 @@ + +.. include:: ./rst_prolog.rst + +.. _iraFaq: + +************************************ +Add an Item in this FAQ +************************************ + +Edit *solverlabGUI/doc/src/FAQ.rst* and read documentation :ref:`iraDocumentation_compilation`. + + +************************************ +FAQ +************************************ + + +Why there is NOT all options of Solverlab code in SolverlabObjects tree ? +.......................................................................... + +Default user mode is set to **simple**, for beginners use. + +Select action *change user mode* in contextual menu of *Solverlab* node of tree +(which is first line/node of tree). + +.. image:: images/iraUserMode1.png + :align: center + +Then Apply as **advanced**. + +.. image:: images/iraUserMode2.png + :align: center + +User can edit/modify value *General.usermode* parameter in the +:ref:`iraConfiguration`, to get a permanent setting. + + +Next question ? +........................... + +Here there is your next answer etc. + + + diff --git a/CoreFlows/gui/doc/apidoc.rst b/CoreFlows/gui/doc/apidoc.rst new file mode 100644 index 0000000..3c6ada4 --- /dev/null +++ b/CoreFlows/gui/doc/apidoc.rst @@ -0,0 +1,16 @@ + +.. include:: ./rst_prolog.rst + + +Code documentation +================== + +.. toctree:: + :maxdepth: 1 + + solverlabpy + configparserpy + settingspy + filewatcherpy + + diff --git a/CoreFlows/gui/doc/apidoc_solverlabpy/modules.rst b/CoreFlows/gui/doc/apidoc_solverlabpy/modules.rst new file mode 100644 index 0000000..431d197 --- /dev/null +++ b/CoreFlows/gui/doc/apidoc_solverlabpy/modules.rst @@ -0,0 +1,7 @@ +solverlabpy +=========== + +.. toctree:: + :maxdepth: 4 + + solverlabpy diff --git a/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.colorama.rst b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.colorama.rst new file mode 100644 index 0000000..2fd1af1 --- /dev/null +++ b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.colorama.rst @@ -0,0 +1,54 @@ +solverlabpy.colorama package +============================ + +Submodules +---------- + +solverlabpy.colorama.ansi module +-------------------------------- + +.. automodule:: solverlabpy.colorama.ansi + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.colorama.ansitowin32 module +--------------------------------------- + +.. automodule:: solverlabpy.colorama.ansitowin32 + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.colorama.initialise module +-------------------------------------- + +.. automodule:: solverlabpy.colorama.initialise + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.colorama.win32 module +--------------------------------- + +.. automodule:: solverlabpy.colorama.win32 + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.colorama.winterm module +----------------------------------- + +.. automodule:: solverlabpy.colorama.winterm + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: solverlabpy.colorama + :members: + :undoc-members: + :show-inheritance: diff --git a/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.example.rst b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.example.rst new file mode 100644 index 0000000..081be48 --- /dev/null +++ b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.example.rst @@ -0,0 +1,30 @@ +solverlabpy.example package +=========================== + +Submodules +---------- + +solverlabpy.example.essai\_logging\_1 module +-------------------------------------------- + +.. automodule:: solverlabpy.example.essai_logging_1 + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.example.essai\_logging\_2 module +-------------------------------------------- + +.. automodule:: solverlabpy.example.essai_logging_2 + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: solverlabpy.example + :members: + :undoc-members: + :show-inheritance: diff --git a/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.resources.rst b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.resources.rst new file mode 100644 index 0000000..1151d75 --- /dev/null +++ b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.resources.rst @@ -0,0 +1,10 @@ +solverlabpy.resources package +============================= + +Module contents +--------------- + +.. automodule:: solverlabpy.resources + :members: + :undoc-members: + :show-inheritance: diff --git a/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.rst b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.rst new file mode 100644 index 0000000..7ff74cf --- /dev/null +++ b/CoreFlows/gui/doc/apidoc_solverlabpy/solverlabpy.rst @@ -0,0 +1,183 @@ +solverlabpy package +=================== + +Subpackages +----------- + +.. toctree:: + + solverlabpy.colorama + solverlabpy.example + solverlabpy.resources + +Submodules +---------- + +solverlabpy.LaunchDiffusionEq module +------------------------------------ + +.. automodule:: solverlabpy.LaunchDiffusionEq + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.abcdExpression module +--------------------------------- + +.. automodule:: solverlabpy.abcdExpression + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.analysisSvl module +------------------------------ + +.. automodule:: solverlabpy.analysisSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.caseSolverlab module +-------------------------------- + +.. automodule:: solverlabpy.caseSolverlab + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.coloringSvl module +------------------------------ + +.. automodule:: solverlabpy.coloringSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.configSvl module +---------------------------- + +.. automodule:: solverlabpy.configSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.controlSimulationSvl module +--------------------------------------- + +.. automodule:: solverlabpy.controlSimulationSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.controllerSvl module +-------------------------------- + +.. automodule:: solverlabpy.controllerSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.dateTime module +--------------------------- + +.. automodule:: solverlabpy.dateTime + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.diffusionEq module +------------------------------ + +.. automodule:: solverlabpy.diffusionEq + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.equationSvl module +------------------------------ + +.. automodule:: solverlabpy.equationSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.loggingSvl module +----------------------------- + +.. automodule:: solverlabpy.loggingSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.mainWindowSvl module +-------------------------------- + +.. automodule:: solverlabpy.mainWindowSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.modelSvl module +--------------------------- + +.. automodule:: solverlabpy.modelSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.solverlabFilePatterns module +---------------------------------------- + +.. automodule:: solverlabpy.solverlabFilePatterns + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.solverlabGui module +------------------------------- + +.. automodule:: solverlabpy.solverlabGui + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.solverlabSettings module +------------------------------------ + +.. automodule:: solverlabpy.solverlabSettings + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.testPrerequisitesSvl module +--------------------------------------- + +.. automodule:: solverlabpy.testPrerequisitesSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.treeViewSvl module +------------------------------ + +.. automodule:: solverlabpy.treeViewSvl + :members: + :undoc-members: + :show-inheritance: + +solverlabpy.utilsSvl module +--------------------------- + +.. automodule:: solverlabpy.utilsSvl + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: solverlabpy + :members: + :undoc-members: + :show-inheritance: diff --git a/CoreFlows/gui/doc/background.rst b/CoreFlows/gui/doc/background.rst new file mode 100644 index 0000000..c728029 --- /dev/null +++ b/CoreFlows/gui/doc/background.rst @@ -0,0 +1,24 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraBackground: + +Background +----------- + +When you choose to launch a simulation in background you can have more control on your case. + +Launch in Background was thought to have the possiblity to replay case whenever you want in addition to not blocking the GUI when a simulation is launch. +Everything needed to relaunch the case is written in the output directory. And you can choose to copy your mesh here too so you can just zip the directory and send it for exemple. + +Every case launched generate a save of the Solverlab tree in ..xml. It means your always have a readable save of all your parameters. +You can also choose to save the mesh locally to always have it near the parameters. + +One Bash script is generated. The scrpit generated will save the latest path use for PACKAGESPY. +Without it you can't relaunch easily your case. +One python file is copied from PACKAGESPY. It's needed to launch the simulation again because it need the Python class of your Solverlab Tree. +This mean you can modify it locally and launch your simulation with almost similar parameters. + +If environment variable of Solverlab and Packagespy are not set the script will not work. You need to source SOLVERLAB_install/env_solverlab.sh then ./LaunchSolverlab.sh. + diff --git a/CoreFlows/gui/doc/conf.py b/CoreFlows/gui/doc/conf.py new file mode 100644 index 0000000..921b8d2 --- /dev/null +++ b/CoreFlows/gui/doc/conf.py @@ -0,0 +1,285 @@ +# -*- coding: utf-8 -*- +# +# solverlabgui documentation build configuration file, created by +# sphinx-quickstart on Fri Apr 13 10:08:59 2018. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# Append source folder to path in order to enable autodoc +currentPath = os.path.dirname(__file__) +print("\n\n\nxxxxxxxxxxxxxxxx sphinx on file", __file__) +# dirAutodoc = os.path.realpath(os.path.join(currentPath, '..', '..')) +# print("autodoc on dir", dirAutodoc) +# sys.path.append(dirAutodoc) +# sys.path.append(dirAutodoc + "/commands") +# sys.path.append(dirAutodoc + "/salomepy") + + +# https://stackoverflow.com/questions/23462494/how-to-add-a-custom-css-file-to-sphinx +# this needs realpath(custom), cause problem on relocated git clone, +# so use file link instead in _themes/alabaster: ln -s ../../../../src/custom.css custom.css +# def setup(app): +# custom = os.path.join('src', 'custom.css') +# print "setup add_stylesheet\n %s as\n %s" % (custom, os.path.realpath(custom)) +# app.add_stylesheet(os.path.realpath(custom)) + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + # 'sphinx.ext.autodoc', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.mathjax', + 'sphinx.ext.viewcode'] + +# avoid warnings autodoc: failed to import module u'solverlabpy.controllerIra'; +# the following exception was raised: +# No module named PyQt5 +autodoc_mock_imports = ["PyQt5", ""] + +# do not use rst_prolog please use doc/rst_prolog.rst and '.. include:: ../rst_prolog.rst' +# https://github.com/sphinx-doc/sphinx/issues/2445 + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'solverlabGUI' +copyright = '2018-2022, CEA' + +# 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 = 'Sphinx @SPHINX_TARGET_VERSION_MAJOR@.@SPHINX_TARGET_VERSION_MINOR@' +# The full version, including alpha/beta/rc tags. +release = '@SOLVERLAB_VERSION_MAJOR@.@SOLVERLAB_VERSION_MINOR@.@SOLVERLAB_VERSION_SUBMINOR@' + +# 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 patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# 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' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# default sphinxdoc scrolls agogo traditional nature haiku +html_theme = 'alabaster' #added in _theme dir + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +html_theme_options = { + #'logo': 'logo.png', + #'github_user': 'bitprophet', + #'github_repo': 'alabaster', + #'description': 'MYYY DESCRIPTION', + #'sidebar_includehidden': True, + #'sidebar_collapse': True, + #'show_powered_by': False, + 'show_related': True, + 'fixed_sidebar': False, + 'page_width': '1000px', + 'sidebar_width': '250px', + 'font_size': '0.9em', #'1.0625em', + 'code_font_size': '0.8em', + #'note_bg': '#eee', + 'pre_bg': '#fee', # code-block background + #'gray_1': '#00f', + #'gray_2': '#f00', + #'gray_3': '#0f0', +} + +# Add any paths that contain custom themes here, relative to this directory. +html_theme_path = ["../_themes/alabaster", ] + +# 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 = "images/icon_applogo_SolverlabGUI.png" + +# 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 = "" + +# 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 = False + +# 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_domain_indices = True + +# 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, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = 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 = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'solverlabGUIdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + 'papersize': 'a4paper', + + # The font size ('10pt', '11pt' or '12pt'). + 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + #'preamble': '', + + # http://www.sphinx-doc.org/en/master/latex.html + 'sphinxsetup': 'verbatimwithframe=false, VerbatimColor={rgb}{.98,.94,.94}', +} + + +# 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, documentclass [howto/manual]). +latex_documents = [ + ('index', 'solverlabGUI.tex', 'solverlabGUI Documentation', + 'CEA DES/ISAS/DM2S/STMF/LGLS', '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 + +# If true, show page references after internal links. +latex_show_pagerefs = True + +# If true, show URL addresses after external links. +latex_show_urls = 'footnote' # sphinx version 1.7 # True + +# 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_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'solverlabGUI', 'solverlabGUI Documentation', + ['CEA DES/ISAS/DM2S/STMF/LGLS'], 1) +] + diff --git a/CoreFlows/gui/doc/configuration.rst b/CoreFlows/gui/doc/configuration.rst new file mode 100644 index 0000000..37d4f8c --- /dev/null +++ b/CoreFlows/gui/doc/configuration.rst @@ -0,0 +1,46 @@ + +.. include:: ./rst_prolog.rst + +.. _iraConfiguration: + +**************************** +SolverlabGUI configuration +**************************** + +SolverlabGUI uses files to store its configuration parameters. +It uses ConfigParser_ package, from The Python Standard Library. + +Two configuration files are created or used at solverlabGUI launch, +and located at *SOLVERLABGUI_WORKDIR* directory. + +#. file *.../SOLVERLABGUI_WORKDIR/solverlabGUI_user.cfg* +#. file *.../SOLVERLABGUI_WORKDIR/solverlabGUI_default.cfg* + +.. note:: **User may edit/modify** file *solverlabGUI_user.cfg* + + +Syntax +======== + +See https://docs.python.org/3/library/configparser.html + + +.. _iraConfiguration_description: + +Description +============= + +The effective configuration **is a merge** of these two previous files. +Parameters in *solverlabGUI_user.cfg* override parameters in *solverlabGUI_default.cfg*. + +User will find **all allowed parameters** in systematically up-to-dated +*solverlabGUI_default.cfg*. + + + + + + + + + diff --git a/CoreFlows/gui/doc/custom.css b/CoreFlows/gui/doc/custom.css new file mode 100644 index 0000000..a088ba6 --- /dev/null +++ b/CoreFlows/gui/doc/custom.css @@ -0,0 +1,25 @@ +/* This file is for theme alabaster custom. */ + +/* +http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html +set backquotes: ``text`` for code samples more color red +*/ +tt, code { + background-color: #ecf0f3; + color: #842; + /* padding: 1px 2px; */ +} + +/* +set 'Note:' etc size less than titles +*/ +div.admonition p.admonition-title { + font-family: {{ theme_head_font_family }}; + font-weight: normal; + font-size: 16px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + + diff --git a/CoreFlows/gui/doc/documentation.rst b/CoreFlows/gui/doc/documentation.rst new file mode 100644 index 0000000..be1a2fb --- /dev/null +++ b/CoreFlows/gui/doc/documentation.rst @@ -0,0 +1,88 @@ + +.. include:: ./rst_prolog.rst + +.. _iraDocumentation: + +************************************ +Documentation +************************************ + +.. _iraDocumentation_consultation: + + +Doc consultation +================= + +To display solverlabGUI html documentation in your web browser *firefox*, or *else*. +The initial entry file is located at *solverlabGUI/doc/build/html/index.html*. + +.. code-block:: bash + + # Linux bash, as an example + cd .../solverlabGUI + firefox doc/build/html/index.html & + # or as CLI_ + solverlabGUI --doc + +.. _iraDocumentation_modification: + +Doc modification +================= + +To modify solverlabGUI documentation with simple editor *pluma*, or else. + +Read the manual, see http://www.sphinx-doc.org/en/stable/tutorial.html, +or may be copy/paste from 'Show Source' item. + +.. code-block:: bash + + # Linux bash, as an example + cd ...solverlabGUI/ + tmp=$(find doc -name "*.rst") + pluma $tmp & + + +.. _iraDocumentation_compilation: + +Doc compilation Linux +====================== + +On a Linux system, to compile solverlabGUI html documentation, +programmers use installed GNU_ *make*, and SPHINX_. + +.. warning:: To make documentation **pdf** programmers needs + installed *texlive* package (preferably up to date version). + See: https://www.tug.org/texlive/quickinstall.html + + +.. code-block:: text + + cd ...solverlabGUI/doc + cat README # read some environment setup information + # ... and read it + make + Please use `make ' where is one of + html to make standalone HTML files + dirhtml to make HTML files named index.html in directories + singlehtml to make a single large HTML file + pickle to make pickle files + json to make JSON files + htmlhelp to make HTML files and a HTML help project + qthelp to make HTML files and a qthelp project + devhelp to make HTML files and a Devhelp project + epub to make an epub + latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + latexpdf to make LaTeX files and run them through pdflatex + text to make text files + man to make manual pages + changes to make an overview of all changed/added/deprecated items + linkcheck to check all external links for integrity + doctest to run all doctests embedded in the documentation (if enabled) + + # and then + make html # make html doc + make latexpdf # make pdf doc + + + + diff --git a/CoreFlows/gui/doc/exploredirwidget.rst b/CoreFlows/gui/doc/exploredirwidget.rst new file mode 100644 index 0000000..5a0ec4f --- /dev/null +++ b/CoreFlows/gui/doc/exploredirwidget.rst @@ -0,0 +1,68 @@ + +.. include:: ./rst_prolog.rst + +.. _iraExploreDirWidget: + +Explore Dir widget +-------------------------- + +This widget displays the contents of user solverlabGUI working directory. +This directory is usually referenced as *SOLVERLABGUI_WORKDIR*. + +Its usage is like a **simple** file explorer. + +.. note:: Theses result files of Solverlab code are located in sub-directories named *output*. + + +.. image:: images/solverlabExploreDirWidget1.png + :scale: 80 % + :align: center + +There are three main widgets (from left to right): + +#. Directories names widget +#. Files names widget +#. File contents widget + +.. note:: The lower *selected files* widget is for future improvments, no usage *yet*. + + +There are some contextual menus to explore directories, and to display input/output text files. + + +Directories names widget menu +:::::::::::::::::::::::::::::: + +.. image:: images/solverlabExploreDirectoriesMenu1.png + :scale: 80 % + :align: center + +This menu contains some elementary actions to navigate in **all** disk directories. + + +.. _iraFilesNamesMenu: + +Files names widget menu +::::::::::::::::::::::::: + +.. image:: images/solverlabExploreFilesMenu1.png + :scale: 80 % + :align: center + + +This menu contains some actions to apply on selected file. + + +Files contents widget menu +:::::::::::::::::::::::::::::::::: + +.. image:: images/solverlabExploreDisplayMenu1.png + :scale: 80 % + :align: center + +This menu contains some elementary actions to apply on displayed file. +The files are *syntax highlighted* if possible, using highlight_ tool, only on Linux distributions for now. + +.. warning:: The lower *highlight theme* action is displayed only for Linux distribution. + + diff --git a/CoreFlows/gui/doc/generaluse.rst b/CoreFlows/gui/doc/generaluse.rst new file mode 100644 index 0000000..4097450 --- /dev/null +++ b/CoreFlows/gui/doc/generaluse.rst @@ -0,0 +1,30 @@ + +.. include:: ./rst_prolog.rst + + +.. _generalUse: + +Usage of the GUI +----------------- + +Create a new *Solverlab tree* by clicking on the first item in the **TOOLBAR** + +Right click on the *fileMed* Field to import your .med you want to study. +Then Right click on *Model* to choose the physical model you want to apply on your file. + +.. note:: All model are not implemented yet in the GUI. + +You can now modify all the data on your model. + +Before launching the simulation check *Analysis* to select how you want to launch the simulation. + +.. warning:: file_name under *Model/computation_parameters* is the name of the result file. + name under *Analysis/dataInformations* is the directory name where the result file will be stored. + +All model use *computation_parameters*. +(TODO explicit paramters with pictures) + +To launch the simulation you have to go in the *Analysis* section of the **TREE VIEW**. +(picture of analysis field) +You can select where to save your file. +Choose to launch in foreground (will stop the gui until the solverlab is done) or background and launch another simulation. diff --git a/CoreFlows/gui/doc/images/SolverlabToolbar.png b/CoreFlows/gui/doc/images/SolverlabToolbar.png new file mode 100644 index 0000000..1b0eb41 Binary files /dev/null and b/CoreFlows/gui/doc/images/SolverlabToolbar.png differ diff --git a/CoreFlows/gui/doc/images/diffusionModel1.png b/CoreFlows/gui/doc/images/diffusionModel1.png new file mode 100644 index 0000000..c4d2b89 Binary files /dev/null and b/CoreFlows/gui/doc/images/diffusionModel1.png differ diff --git a/CoreFlows/gui/doc/images/diffusionModelchoice.png b/CoreFlows/gui/doc/images/diffusionModelchoice.png new file mode 100644 index 0000000..12e1bd3 Binary files /dev/null and b/CoreFlows/gui/doc/images/diffusionModelchoice.png differ diff --git a/CoreFlows/gui/doc/images/diffusionequationtree.png b/CoreFlows/gui/doc/images/diffusionequationtree.png new file mode 100644 index 0000000..2fd6d65 Binary files /dev/null and b/CoreFlows/gui/doc/images/diffusionequationtree.png differ diff --git a/CoreFlows/gui/doc/images/emptyTreeview.png b/CoreFlows/gui/doc/images/emptyTreeview.png new file mode 100644 index 0000000..9b8f3c2 Binary files /dev/null and b/CoreFlows/gui/doc/images/emptyTreeview.png differ diff --git a/CoreFlows/gui/doc/images/icon_about_SolverlabGUI.png b/CoreFlows/gui/doc/images/icon_about_SolverlabGUI.png new file mode 100644 index 0000000..6c602a8 Binary files /dev/null and b/CoreFlows/gui/doc/images/icon_about_SolverlabGUI.png differ diff --git a/CoreFlows/gui/doc/images/icon_applogo_SolverlabGUI.png b/CoreFlows/gui/doc/images/icon_applogo_SolverlabGUI.png new file mode 100644 index 0000000..5166129 Binary files /dev/null and b/CoreFlows/gui/doc/images/icon_applogo_SolverlabGUI.png differ diff --git a/CoreFlows/gui/doc/images/icon_splash_SolverlabGUI.png b/CoreFlows/gui/doc/images/icon_splash_SolverlabGUI.png new file mode 100644 index 0000000..06d9c8f Binary files /dev/null and b/CoreFlows/gui/doc/images/icon_splash_SolverlabGUI.png differ diff --git a/CoreFlows/gui/doc/images/iraUserMode1.png b/CoreFlows/gui/doc/images/iraUserMode1.png new file mode 100644 index 0000000..6a5a5fc Binary files /dev/null and b/CoreFlows/gui/doc/images/iraUserMode1.png differ diff --git a/CoreFlows/gui/doc/images/iraUserMode2.png b/CoreFlows/gui/doc/images/iraUserMode2.png new file mode 100644 index 0000000..a3ab884 Binary files /dev/null and b/CoreFlows/gui/doc/images/iraUserMode2.png differ diff --git a/CoreFlows/gui/doc/images/rogne.png b/CoreFlows/gui/doc/images/rogne.png new file mode 100644 index 0000000..0020cf6 Binary files /dev/null and b/CoreFlows/gui/doc/images/rogne.png differ diff --git a/CoreFlows/gui/doc/images/solverlabContentsTabWidgetPlots1.png b/CoreFlows/gui/doc/images/solverlabContentsTabWidgetPlots1.png new file mode 100644 index 0000000..f122a9e Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabContentsTabWidgetPlots1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabDeleteMenu1.png b/CoreFlows/gui/doc/images/solverlabDeleteMenu1.png new file mode 100644 index 0000000..a9f0c77 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabDeleteMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression0.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression0.png new file mode 100644 index 0000000..d028d2c Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression0.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression1.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression1.png new file mode 100644 index 0000000..69e0700 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression2.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression2.png new file mode 100644 index 0000000..afe926f Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression2.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression3.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression3.png new file mode 100644 index 0000000..5700825 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression3.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression4.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression4.png new file mode 100644 index 0000000..2bcb349 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression4.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExecutePandasExpression5.png b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression5.png new file mode 100644 index 0000000..0d6360d Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExecutePandasExpression5.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExpandMenu1.png b/CoreFlows/gui/doc/images/solverlabExpandMenu1.png new file mode 100644 index 0000000..0020cf6 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExpandMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExploreDirWidget1.png b/CoreFlows/gui/doc/images/solverlabExploreDirWidget1.png new file mode 100644 index 0000000..3f0d4ca Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExploreDirWidget1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExploreDirectoriesMenu1.png b/CoreFlows/gui/doc/images/solverlabExploreDirectoriesMenu1.png new file mode 100644 index 0000000..7d8ea44 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExploreDirectoriesMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExploreDisplayMenu1.png b/CoreFlows/gui/doc/images/solverlabExploreDisplayMenu1.png new file mode 100644 index 0000000..6267e53 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExploreDisplayMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabExploreFilesMenu1.png b/CoreFlows/gui/doc/images/solverlabExploreFilesMenu1.png new file mode 100644 index 0000000..a250973 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabExploreFilesMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabInfoTabWidgetEllipse1.png b/CoreFlows/gui/doc/images/solverlabInfoTabWidgetEllipse1.png new file mode 100644 index 0000000..4f5c560 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabInfoTabWidgetEllipse1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabInfosTabWidgetPlots1.png b/CoreFlows/gui/doc/images/solverlabInfosTabWidgetPlots1.png new file mode 100644 index 0000000..2658631 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabInfosTabWidgetPlots1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabLogRunCodeWidget1.png b/CoreFlows/gui/doc/images/solverlabLogRunCodeWidget1.png new file mode 100644 index 0000000..4f57b6a Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabLogRunCodeWidget1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabLogWidgetMenu1.png b/CoreFlows/gui/doc/images/solverlabLogWidgetMenu1.png new file mode 100644 index 0000000..8975829 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabLogWidgetMenu1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabMainWidget1.png b/CoreFlows/gui/doc/images/solverlabMainWidget1.png new file mode 100644 index 0000000..cf5096e Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabMainWidget1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar.png b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar.png new file mode 100644 index 0000000..83a4fc2 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar.png differ diff --git a/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..5f67f0f Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1n.png b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1n.png new file mode 100644 index 0000000..2b1da47 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabMainWidgetToolbar1n.png differ diff --git a/CoreFlows/gui/doc/images/solverlabMenuPlot1.png b/CoreFlows/gui/doc/images/solverlabMenuPlot1.png new file mode 100644 index 0000000..29ce510 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabMenuPlot1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabNavigationToolbarMatplotlib1.png b/CoreFlows/gui/doc/images/solverlabNavigationToolbarMatplotlib1.png new file mode 100644 index 0000000..eaba687 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabNavigationToolbarMatplotlib1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabOtherTab.png b/CoreFlows/gui/doc/images/solverlabOtherTab.png new file mode 100644 index 0000000..e307c8f Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabOtherTab.png differ diff --git a/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1.png b/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1.png new file mode 100644 index 0000000..2bae868 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1.png differ diff --git a/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1n.png b/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1n.png new file mode 100644 index 0000000..e4cc3af Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabToolbarWidgetPlots1n.png differ diff --git a/CoreFlows/gui/doc/images/solverlabTreeViewWidget1 b/CoreFlows/gui/doc/images/solverlabTreeViewWidget1 new file mode 100644 index 0000000..dc2f8f7 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabTreeViewWidget1 differ diff --git a/CoreFlows/gui/doc/images/solverlabTreeViewWidget1.png b/CoreFlows/gui/doc/images/solverlabTreeViewWidget1.png new file mode 100644 index 0000000..dc2f8f7 Binary files /dev/null and b/CoreFlows/gui/doc/images/solverlabTreeViewWidget1.png differ diff --git a/CoreFlows/gui/doc/images/svlcomputation_parameters.png b/CoreFlows/gui/doc/images/svlcomputation_parameters.png new file mode 100644 index 0000000..bd08c54 Binary files /dev/null and b/CoreFlows/gui/doc/images/svlcomputation_parameters.png differ diff --git a/CoreFlows/gui/doc/images_tips/README_tips.txt b/CoreFlows/gui/doc/images_tips/README_tips.txt new file mode 100644 index 0000000..6003864 --- /dev/null +++ b/CoreFlows/gui/doc/images_tips/README_tips.txt @@ -0,0 +1,10 @@ +## HOWTO + +oodraw tips_text_arrows_draw.odg +copy paste modify items + +gimp *.xcf + +copy paste from oodraw texts and arrows into gimp as new calque(s) + +gimp export as tip_nn_xxxxxxx.png diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlab.png b/CoreFlows/gui/doc/images_tips/splash_solverlab.png new file mode 100644 index 0000000..00ab762 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlab.png differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI.png b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI.png new file mode 100644 index 0000000..6c602a8 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI.png differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.png b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.png new file mode 100644 index 0000000..6c602a8 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.png differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.xcf b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.xcf new file mode 100644 index 0000000..3d69aa3 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_arrow.xcf differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth.png b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth.png new file mode 100644 index 0000000..df4293e Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth.png differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.png b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.png new file mode 100644 index 0000000..1847c24 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.png differ diff --git a/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.xcf b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.xcf new file mode 100644 index 0000000..2083192 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/splash_solverlabGUI_smooth_arrow.xcf differ diff --git a/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..5fa2afc Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.xcf b/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.xcf new file mode 100644 index 0000000..5ca76e9 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_01_solverlabMainWidgetToolbar1.xcf differ diff --git a/CoreFlows/gui/doc/images_tips/tip_05_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_05_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..12d3077 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_05_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_06_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_06_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..8eabfda Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_06_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_08_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_08_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..1bebaaf Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_08_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_20_expand.png b/CoreFlows/gui/doc/images_tips/tip_20_expand.png new file mode 100644 index 0000000..8a027e8 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_20_expand.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_25_contextual_menu.png b/CoreFlows/gui/doc/images_tips/tip_25_contextual_menu.png new file mode 100644 index 0000000..f67fb2a Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_25_contextual_menu.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_28_mouseover_tooltip.png b/CoreFlows/gui/doc/images_tips/tip_28_mouseover_tooltip.png new file mode 100644 index 0000000..a2fb17e Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_28_mouseover_tooltip.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_30_modify_values.png b/CoreFlows/gui/doc/images_tips/tip_30_modify_values.png new file mode 100644 index 0000000..1647ab4 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_30_modify_values.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_98_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_98_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..2ac6087 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_98_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_99_solverlabMainWidgetToolbar1.png b/CoreFlows/gui/doc/images_tips/tip_99_solverlabMainWidgetToolbar1.png new file mode 100644 index 0000000..cc0ff14 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_99_solverlabMainWidgetToolbar1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_expand.xcf b/CoreFlows/gui/doc/images_tips/tip_expand.xcf new file mode 100644 index 0000000..ed2c735 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_expand.xcf differ diff --git a/CoreFlows/gui/doc/images_tips/tip_iraUserMode1.png b/CoreFlows/gui/doc/images_tips/tip_iraUserMode1.png new file mode 100644 index 0000000..6a5a5fc Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_iraUserMode1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_solverlabDeleteMenu1.png b/CoreFlows/gui/doc/images_tips/tip_solverlabDeleteMenu1.png new file mode 100644 index 0000000..9816e13 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_solverlabDeleteMenu1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_solverlabExpandMenu1.png b/CoreFlows/gui/doc/images_tips/tip_solverlabExpandMenu1.png new file mode 100644 index 0000000..94bee84 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_solverlabExpandMenu1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tip_solverlabMainWidget1.png b/CoreFlows/gui/doc/images_tips/tip_solverlabMainWidget1.png new file mode 100644 index 0000000..274a913 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tip_solverlabMainWidget1.png differ diff --git a/CoreFlows/gui/doc/images_tips/tips_text_arrows_draw.odg b/CoreFlows/gui/doc/images_tips/tips_text_arrows_draw.odg new file mode 100644 index 0000000..7543741 Binary files /dev/null and b/CoreFlows/gui/doc/images_tips/tips_text_arrows_draw.odg differ diff --git a/CoreFlows/gui/doc/index.rst b/CoreFlows/gui/doc/index.rst new file mode 100644 index 0000000..2b8168d --- /dev/null +++ b/CoreFlows/gui/doc/index.rst @@ -0,0 +1,67 @@ + +.. include:: ./rst_prolog.rst + +.. empty first toctree is used for pdf contents maxdepth, see sphinx/builders/latex/__init__.py, toctrees[0].get('maxdepth') + +.. toctree:: + :maxdepth: 2 + + +.. _iraHome: + +************** +Solverlab GUI +************** + +.. image:: images/icon_about_SolverlabGUI.png + :align: center + +.. note:: Find *Solverlab code* documentation `here `_ [1]_. + +The Solverlab GUI code is a GUI_ (Graphical User Interface) +used to perform simulations with `Solverlab physical models `_. + +The Solverlab GUI is designed with (Packagespy based on) PyQt5_ and Python3_ scripts files. + + + +User's manual +============== + +.. toctree:: + :maxdepth: 2 + + svlinstallation + iramainwidget + generaluse + modelusage + + + +Programmer's guide +==================== + +.. toctree:: + :maxdepth: 1 + + background + +Packagespy +============ +(TODO packagespy doc) + +.. toctree:: + :maxdepth: 1 + + packagespy + + +Release Notes +============= + +.. toctree:: + :maxdepth: 1 + + Release Notes 9.8.0 + +.. [1] solverlabGUI/doc/src/solverlabDocuments/solverlab_manual.pdf diff --git a/CoreFlows/gui/doc/installation.rst b/CoreFlows/gui/doc/installation.rst new file mode 100644 index 0000000..33139ad --- /dev/null +++ b/CoreFlows/gui/doc/installation.rst @@ -0,0 +1,128 @@ + +.. include:: ./rst_prolog.rst + +.. _iraInstallation: + +************************** +Development installations +************************** + +A development installation of solverlabGUI allows programmer improvments. +It is a classical usage of Python_ packages. +It needs a directory for Python_ interpreter (usually named *miniconda3*), +and another directory for solverlabGUI scripts (usually named *solverlabGUI*), + +*In fine*, user could find (and use) command *solverlabGUI* directly after a +*detar/unzip* installation. Or a *git clone*. + +.. warning:: #. **Windows7-10** all-in-one installation is a *development installation* of solverlabGUI, + which allows programmer improvments. + #. Users find *miniconda3* and *solverlabGUI* directories in parent directory named + *C:\\Users\\Public\\solverlab*. + #. **Linux** all-in-one installation PyInstaller_ bundle is **NOT** like that. + #. To get *development installation* **Linux** (freely located) of solverlabGUI, + users have to follow the two next chapters. + + +.. _iraInstallation_pythonlinux: + +Python installation Linux +============================ + +To install python3 (and its mandatory packages PyQt5 etc.) *locally*, we suggest to use miniconda_. +Note that *miniconda* is windows7-10 compliant. + +.. note:: You may use this Python interpreter for another python scripting code than solverlabGUI. + +For information: + +#. https://conda.io/miniconda.html +#. https://conda.io/docs/index.html + +Example of install *(Linux-bash)*: + +.. code-block:: bash + + bash Miniconda3-latest-Linux-x86_64.sh + # -> Miniconda3 will now be installed into this location: + # -> /volatile/common/miniconda3 (for example. It is located as you want.) + # -> Thank you for installing Miniconda3! + + export PATH=/volatile/common/miniconda3/bin:$PATH + which conda + # -> /volatile/common/miniconda3/bin/conda + + conda create --name py3qt5 python=3 \ + pip jupyter matplotlib numpy pandas pandas-datareader \ + pyqt=5 scipy sympy jsonschema pyyaml libxml2 paramiko + # -> Solving environment: done + # -> Proceed ([y]/n)? y + # -> Downloading and Extracting Packages + # -> To activate this environment, use: + # -> source activate py3qt5 + + conda info --envs + # -> conda environments: + # -> base /volatile/common/miniconda3 + # -> py3qt5 /volatile/common/miniconda3/envs/py3qt5 + # -> etc... + + source activate py3qt5 + which python + # - > /volatile/common/miniconda3/envs/py3qt5/bin/python + + +.. _iraInstallation_linux: + +solverlabGUI installation Linux +================================= + + +.. warning:: Python interpreter py3qt5 is supposed to be set + and useful in environment path. + Usually command *source activate py3qt5* assume that. + +Example of install/launch *(Linux-bash)*: + +.. code-block:: bash + + cd whereYouWant + tar -xf .../solverlabGUI_xxxx.tgz + cd solverlabGUI + ls -l solverlabGUI # the launch executable command (is a script python) + which python # --> py3qt5 + ./solverlabGUI -h # on line help + ./solverlabGUI -g -w ... # launch GUI + + +.. _iraInstallation_windows: + +solverlabGUI installation Windows7-10 +====================================== + +.. warning:: Python interpreter py3qt5 is supposed to be set + and useful in environment path, at **mandatory** usual location + *C:\\Users\\Public\\solverlab\\miniconda3*. + Usually command *conda activate py3qt5* assume that. + + +Example of install/launch *(Windows7/10-cmd.exe shell)*, using 7-zip_: + +.. code-block:: bat + + C:\ + cd C:\Users\Public\solverlab # this is mandatory location, useful for all users + "C:\Program Files\7-Zip\7z.exe" x .../solverlabGUI_xxxx.7z + cd C:\Users\Public\solverlab\solverlabGUI + where python # --> py3qt5 + python solverlabGUI -h # on line help + python solverlabGUI -g -w ... # launch GUI + + +.. note:: To launch solverlab GUI, you may use Windows shortcut + *C:\\User\\Public\\solverlab\\solverlabGUI\\LaunchSolverlabGUI(.lnk)* + . + + + + diff --git a/CoreFlows/gui/doc/iramainwidget.rst b/CoreFlows/gui/doc/iramainwidget.rst new file mode 100644 index 0000000..4e7d769 --- /dev/null +++ b/CoreFlows/gui/doc/iramainwidget.rst @@ -0,0 +1,133 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraMainWidget: + +Solverlab GUI main widget +========================== + +This is the main window of the Solverlab GUI. It's composed of three parts: + +#. The **TOOLBAR** is at the top and is used to realise quick action +#. The **TREE VIEW** is at the left and is used to import and modifie all data needed by Solverlab. +#. The **CONTENT TAB** is at the center/right and has diverse utility + + +.. image:: images/solverlabMainWidget1.png + :scale: 75 % + :align: center + +Toolbar +------------ + +.. image:: images/solverlabMainWidgetToolbar1n.png + :align: center + +This toolbar contains icons related to actions, from left to right: + +#. New Solverlab data. Create solverlab case from scratch +#. Load Solverlab data. Load case from previously saved case in a file Xml. +#. Save Solverlab data. Save current solverlab case in a file Xml. +#. Launch Solverlab calculus. Launch Solverlab code on current solverlab case. +#. Refresh SolverlabObjects tree view. +#. Clear Solverlab data model, remove Solverlab data tree (in SolverlabObject widget). +#. Solverlab GUI help. Display this current documentation in a browser (html mode). +#. Solverlab code help. Display Solverlab code manual in a browser (pdf mode). +#. Solverlab Example. Show directory with example of implemented model. + +Solverlab tree view widget +---------------------------- + +From this tree view widget named *SolverlabObjects* users can prepare Solverlab code data. + + +.. image:: images/solverlabTreeViewWidget1.png + :scale: 70 % + :align: center + +Modify tree view widget items values +++++++++++++++++++++++++++++++++++++++ + +There are some values as leaves of tree. Names and tooltips are *almost* as Solverlab code naming usage. + +#. **Simple scalar values**. + User can modify value on *mouse-left-double-click*, selecting tree item nodes **hovering column value**. +#. **Other specific values**. + User can modify value on *mouse-right-click*, to get a contextual menu for modification, + selecting tree item nodes **hovering columns name and value**. + +.. note:: Some values are context specific and can be displayed only when they are needed. + + +Tree view widget menus +++++++++++++++++++++++++ + +There are some menus, as *contextual menu* on *mouse-right-click* when selected tree item nodes. +Some menu are generic, and other are specific to node, as contextual actions. +This is a **NOT exhaustive** list of menus: + +Expand/collapse menu +++++++++++++++++++++++ + +.. image:: images/solverlabExpandMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to expand or collapse all or selected part of +data tree. +To activate this menu users have to *mouse-right-click* on **head of arrow** +of tree item nodes (at **left** of item icon). + +Delete/Insert menu +++++++++++++++++++++++ + +.. image:: images/solverlabDeleteMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to insert, delete and reset all or selected part of +data tree. +To activate this menu users have to *mouse-right-click* on 'name' of tree item nodes +(at right of item icon). +The concerned items are usually not leaves (are items without a value). + +Log Run Code widget +-------------------- + +This widget displays log trace of Solverlab code execution. + +Solverlab code is executed when users activate *Launch Solverlab calculus* button +in the **TOOLBAR**. + +.. image:: images/solverlabLogRunCodeWidget1.png + :scale: 80 % + :align: center + +Log Run Code widget menu ++++++++++++++++++++++++++ + +.. image:: images/solverlabLogWidgetMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to display, but **also** edit all or selected part of +current log trace, considering log trace as an ascii file. +To activate this menu users have to *mouse-right-click* **somewhere in** Log Run Code widget. + +.. note:: Using *Open* and *Save* actions in this menu, users can use this widget as + an elementary text file viewer/editor. + +Other File widget +------------------ + +This widget displays the content of the selected med file. +It use the MEDCoupling API to do so. + +.. image:: images/solverlabOtherTab.png + +How to use ++++++++++++ + +The user can *mouse-right-click* on the fileMed field in the **TREE VIEW** and select the "Dump ascii content" context menu. + diff --git a/CoreFlows/gui/doc/iratreeviewwidget.rst b/CoreFlows/gui/doc/iratreeviewwidget.rst new file mode 100644 index 0000000..36d0b19 --- /dev/null +++ b/CoreFlows/gui/doc/iratreeviewwidget.rst @@ -0,0 +1,71 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraTreeViewWidget: + +Solverlab tree view widget +-------------------------- + +From this tree view widget named *SolverlabObjects* users can prepare Solverlab code data. + + +.. image:: images/solverlabTreeViewWidget1.png + :scale: 70 % + :align: center + + +.. _iraModifyTreeViewWidget: + +Modify tree view widget items values +:::::::::::::::::::::::::::::::::::::: + +There are some values as leaves of tree. Names and tooltips are *almost* as Solverlab code naming usage. + +#. **Simple scalar values**. + User can modify value on *mouse-left-double-click*, selecting tree item nodes **hovering column value**. +#. **Other specific values**. + User can modify value on *mouse-right-click*, to get a contextual menu for modification, + selecting tree item nodes **hovering columns name and value**. + +.. note:: Some values are context specific and can be displayed only when they are needed. + + +Tree view widget menus +::::::::::::::::::::::::: + +There are some menus, as *contextual menu* on *mouse-right-click* when selected tree item nodes. +Some menu are generic, and other are specific to node, as contextual actions. +This is a **NOT exhaustive** list of menus: + + +.. _iraExpandMenu: + +Expand/collapse menu +++++++++++++++++++++++ + +.. image:: images/solverlabExpandMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to expand or collapse all or selected part of +data tree. +To activate this menu users have to *mouse-right-click* on **head of arrow** +of tree item nodes (at **left** of item icon). + + +.. _iraDeleteMenu: + +Delete/Insert menu +++++++++++++++++++++++ + +.. image:: images/solverlabDeleteMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to insert, delete and reset all or selected part of +data tree. +To activate this menu users have to *mouse-right-click* on 'name' of tree item nodes +(at right of item icon). +The concerned items are usually not leaves (are items without a value). + diff --git a/CoreFlows/gui/doc/logruncodewidget.rst b/CoreFlows/gui/doc/logruncodewidget.rst new file mode 100644 index 0000000..8c3fce3 --- /dev/null +++ b/CoreFlows/gui/doc/logruncodewidget.rst @@ -0,0 +1,32 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraLogRunCodeWidget: + +Log Run Code widget +-------------------------- + +This widget displays log trace of Solverlab code execution. + +Solverlab code is executed when users activate *Launch Solverlab calculus* button +in :ref:`iraMainWidgetToolbar`. + +.. image:: images/solverlabLogRunCodeWidget1.png + :scale: 80 % + :align: center + +Log Run Code widget menu +::::::::::::::::::::::::: + +.. image:: images/solverlabLogWidgetMenu1.png + :scale: 80 % + :align: center + +This menu contains some actions to display, but **also** edit all or selected part of +current log trace, considering log trace as an ascii file. +To activate this menu users have to *mouse-right-click* **somewhere in** Log Run Code widget. + +.. note:: Using *Open* and *Save* actions in this menu, users can use this widget as + an elementary text file viewer/editor. + diff --git a/CoreFlows/gui/doc/modelusage.rst b/CoreFlows/gui/doc/modelusage.rst new file mode 100644 index 0000000..c41305e --- /dev/null +++ b/CoreFlows/gui/doc/modelusage.rst @@ -0,0 +1,46 @@ + +.. include:: ./rst_prolog.rst + + +.. _modelUsage: + +Model +--------- + +This section will explicit all options of the implemented model in the GUI + +.. image:: images/emptyTreeview.png + :align: center + +The Solverlab Tree Object you can see in the **TREE VIEW** broke down as follows: + +* GeometryMed + + * fileMed: the .med file you want to work on (you can import one by right-clicking and select "Browse file") + * contents: read the selected file and display some important information about its content + +* Model + + * List of Model (Right-click to add one) + +* Analysis + + * datainformations + * name: name of the directory where it will save your work + * directory: location of the directory + + * caseSolverlab + * launchInBackground: + * Equation: Choose which simulation to launch from the List of Model + * NumberOfProcessors: If in background try to launch solverlab in multicore + +Diffusion Equation ++++++++++++++++++++ + +You can see the documentation here (TODO put link to solverlab git hub doc) + +.. image:: images/diffusionequationtree.png + :align: center + +Some value can be a scalar or use a field already in your .med file you can select which mode to use and the GUI will adapt itself. +(Todo show how to switch mode) diff --git a/CoreFlows/gui/doc/packagespy.rst b/CoreFlows/gui/doc/packagespy.rst new file mode 100644 index 0000000..ab494a0 --- /dev/null +++ b/CoreFlows/gui/doc/packagespy.rst @@ -0,0 +1,83 @@ + +.. include:: ./rst_prolog.rst + + +.. _packagespy: + + +============= +Packagespy +============= + +Packagespy est une bibliothèque python développé au CEA permettant la création d'interface graphique. Elle est basé sur le design du Model-Vue-Controller. +Le Model est une structure de donnée de type Arbre ou les feuilles contiennent les valeurs. +(Chaque partie est normalement indépendante et ne peux pas agir directement sur l'autre ainsi elle communique la l'aide de request au coeur de l'api) + +Vue +-------------------- + +Packagespy a d'abord été pensé pour une disposition graphique spécifique. Un arbre (TREEVIEW) dans le dock de gauche, un barre d'action (TOOLBAR) dans le dock du haut et une fenetre central pour afficher du contenu. + + +Model +----------- + +Le Model est la structure de donnée qui va enregistrer les données entrées par l'utilisateur. Packagespy à été concu pour fonctionner avec un arbre de donnée. Chaque noeud comportant une Key, son nom et une Value, sa classe. + +Toute les classes utilisées en tant que noeud doivent hérité de xyz.BaseFreeXyz +Packagespy fournit des classes abstraites (reconnaissable car commançant par "_" ) ainsi que des classes basique permettant de répondre a une grande parties des besoins de la plupart des structures de données necessaire aux lancements des applications. + +Une classe typique est composé de 3 éléments: + +- _attributesList : une liste contenant les fils du noeud actuel. +- _helpDict : un dictionnaire contenant des tooltips a afficher a l'utilisateur pour chaque fils du noeud. +- __init__ : la fonction qui va definir le comportement a l'initialisation. + +.. code-block:: python + + class AnimalList(StrInListXyz): + _allowedList = ["None", "Cat", "Dog", "Other"] + + class NodeExample(_XyzContrainBase): + _attributesList = [ + ("Name","StringXyz"), + ("Room","IntPosXyz"), + ("Animal","AnimalList") + ] + + _helpDict = { + "Name": ("Name of the customer",""), + "Room": ("Room of the customer",""), + "Animal":("Which animal is with him ?",""), + } + + def __init__(self): + super(NodeExample, self).__init__() + self.setIsCast(True) + self._setAllAttributesList() + + class ListExample(ListOfBaseXyz) + _allowedClasses = ["NodeExample"] + + class MyModel(_XyzConstrainBase): + + _atributesList = [ + ("Customers","ListExample"), + ] + + _helpDict = { + "Customers": ("List of all actual customer","") + } + + def __init__(self): + super(MyModel, self).__init__() + self.setIsCast(True) + self._defautNameAsRoot = "Hotel" + self._setAllAttributesList() + + +Controller +------------ + +Le Controller est la partie du code qui va gérer les interactions entre le Model en mémoire et les actions de l'utilisateur sur la fenetre ainsi que celle avec le code sur lequel la GUI s'appuie. + diff --git a/CoreFlows/gui/doc/prerequisites.rst b/CoreFlows/gui/doc/prerequisites.rst new file mode 100644 index 0000000..5f4e2f3 --- /dev/null +++ b/CoreFlows/gui/doc/prerequisites.rst @@ -0,0 +1,107 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraPrerequisites: + +*************** +Prerequisites +*************** + +There are some definitions, and links. + +#. Solverlab_ code, and its `manual `_. +#. PYTHON_ 3.5, with packages PyQt5_, numpy, matplotlib_, pandas_, etc. (usually named *py3qt5*). +#. PyInstaller_ 3.4, free sofware to make solverlabGUI bundle (*only* valid for Linux). +#. 7-zip_, free sofware to compress/uncompress .7z files (for Windows installations). + +Installation needs a PYTHON_ 3.6 interpreter, which is included in +*All-in-one* solverlab installations (Linux *and* Windows). +see :ref:`iraInstallation_pythonlinux`. + +PyInstaller_ is a program that freezes Python programs +in *bundle*, which is **almost** a python package. +For more information about *bundle*, see `PyInstaller manual `_. + + +.. _iraAllInOneInstallation: + +********************************* +All-in-one installation +********************************* + +These installations contain in **one** compressed file: + +#. the solverlabGUI python scripts. +#. An interpreter PYTHON_. +#. The Solverlab code (GPL), its **source files**, and + two executable files, one for Linux and one Windows. +#. The useful Corteo_ data base (4bits). + + +.. warning:: Corteo data base used version in solverlabGUI is **NOT** Version 20160816. + + +********************************* +All-in-one installation Linux +********************************* + +.. warning:: This is a PyInstaller_ bundle, + installed locally **where users want**. + Python interpreter (named py3qt5) is simultaneously installed, + + +Source tar file *solverlabGUI_bundle_xxxx.tgz* is the **one** compressed archive file +of the PyInstaller bundle in *one folder* mode. +See `more information here `_. + +There are two ways to install solverlabGUI: + +#. Install solverlabGUI directly, using usual *file manager* functionalities: + uncompress tar file in user's choice directory. +#. Install solverlabGUI typing bash command, in usual *terminal*: + + .. code-block:: bash + + # install + cd yourChoiceDirectory # which is really where you want + tar -xf .../solverlabGUI_bundle_xxxx.tgz + # launch + cd solverlabGUI_bundle # folder name as linux pyinstaller bundle + ./solverlabGUI -h # on line help + ./solverlabGUI -g -w ... # launch GUI + + +********************************************* +All-in-one installation Windows7-10 +********************************************* + +.. warning:: #. This is **not** a PyInstaller_ bundle. + #. The **mandatory located** root directory is *C:\\Users\\Public\\solverlab*. + #. The **mandatory located** solverlabGUI directory + is *C:\\Users\\Public\\solverlab\\solverlabGUI*. + #. The **mandatory located** Python interpreter py3qt5 directory + is *C:\\Users\\Public\\solverlab\\miniconda3*. + #. The sofware tool to uncompress .7z files is 7-zip_, which **has to be installed**. + +Source .7z file *solverlabGUI_xxxx.7z* is the **one** compressed archive file. + +There are two ways to install solverlabGUI: + +#. Install solverlabGUI directly, using usual *file manager* functionalities: + uncompress .7z file in mandatory *C:\\Users\\Public* directory. +#. Install solverlabGUI typing DOS command, in usual *(Windows7/10-cmd.exe shell)*: + + .. code-block:: bat + + rem install + C:\ + cd C:\Users\Public # this is mandatory location, useful for all users + "C:\Program Files\7-Zip\7z.exe" x .../solverlab_xxxx.7z + rem launch + C:\User\Public\solverlab\solverlabGUI\LaunchSolverlabGUI.bat + +.. note:: To launch solverlab GUI, you may use Windows shortcut + *C:\\User\\Public\\solverlab\\solverlabGUI\\LaunchSolverlabGUI(.lnk)* + + . diff --git a/CoreFlows/gui/doc/release_notes/release_notes_1.0.0.rst b/CoreFlows/gui/doc/release_notes/release_notes_1.0.0.rst new file mode 100644 index 0000000..55b6aad --- /dev/null +++ b/CoreFlows/gui/doc/release_notes/release_notes_1.0.0.rst @@ -0,0 +1,5 @@ +*************** +Release notes +*************** + +In construction. diff --git a/CoreFlows/gui/doc/rst_prolog.rst b/CoreFlows/gui/doc/rst_prolog.rst new file mode 100644 index 0000000..6c0b973 --- /dev/null +++ b/CoreFlows/gui/doc/rst_prolog.rst @@ -0,0 +1,45 @@ + +.. raw:: latex + + \clearpage + +.. _SOLVERLAB: https://www.nano.uni-jena.de/en/solverlab.html +.. _SALOME: http://www.salome-platform.org +.. _SPHINX: http://sphinx-doc.org +.. _MATPLOTLIB: https://matplotlib.org +.. _PANDAS: https://pandas.pydata.org +.. _NavToolPlt: http://matplotlib.org/users/navigation_toolbar.html?highlight=toolbar +.. _C++: http://www.cplusplus.com/ +.. _CMake: https://cmake.org/ +.. _Python: https://docs.python.org/3.5 +.. _Python3: https://docs.python.org/3.5 +.. _ParaView: http://www.paraview.org +.. _Anaconda: https://docs.continuum.io/anaconda/pkg-docs# +.. _Miniconda: http://conda.pydata.org/miniconda.html +.. _Git: https://git-scm.com +.. _Git-windows: https://git-scm.com +.. _GitCheatSheet: https://services.github.com/kit/downloads/github-git-cheat-sheet.pdf +.. _SolverlabCheatSheet: ../solverlab-cheat-sheet.pdf +.. _SolverlabGuiPdf: ./../../src/solverlabDocuments/solverlabGUI.pdf +.. _SolverlabManualPdf: https://github.com/ndjinga/SOLVERLAB/blob/master/README.md +.. _SolverlabPresentationPdf: https://github.com/ndjinga/SOLVERLAB/blob/master/CoreFlows/Documentation/PhysicalModels.md +.. _CLI: https://en.wikipedia.org/wiki/Command-line_interface +.. _Tar: https://en.wikipedia.org/wiki/Tar_(computing) +.. _OS: https://en.wikipedia.org/wiki/Operating_system +.. _VCS: https://en.wikipedia.org/wiki/Version_control +.. _CVS: https://fr.wikipedia.org/wiki/Concurrent_versions_system +.. _SVN: https://en.wikipedia.org/wiki/Apache_Subversion +.. _GUI: https://en.wikipedia.org/wiki/Graphical_user_interface +.. _RestructuredText: https://en.wikipedia.org/wiki/ReStructuredText +.. _PyQt5: https://pypi.org/project/PyQt5 +.. _ConfigParser: https://docs.python.org/3/library/configparser.html +.. _PyInstaller: https://www.pyinstaller.org +.. _PyInstallerManual: https://pyinstaller.readthedocs.io/en/stable +.. _Corteo: http://www.lps.umontreal.ca/~schiette/index.php?n=Recherche.Corteo +.. _highlight: http://www.andre-simon.de/doku/highlight/en/highlight.php +.. _CSV: https://en.wikipedia.org/wiki/Comma-separated_values +.. _MinGW: http://www.mingw.org +.. _GNU: https://www.gnu.org/home.en.html +.. _GNUgcc: https://www.gnu.org/software/gcc +.. _7-zip: https://www.7-zip.org +.. _Solveralabinstall: https://github.com/ndjinga/SOLVERLAB#compile-and-install-solverlab diff --git a/CoreFlows/gui/doc/solverlabcode.rst b/CoreFlows/gui/doc/solverlabcode.rst new file mode 100644 index 0000000..06277b3 --- /dev/null +++ b/CoreFlows/gui/doc/solverlabcode.rst @@ -0,0 +1,132 @@ + +.. include:: ./rst_prolog.rst + +.. _iraSolverlabCode: + +*************************** +Solverlab code compilation +*************************** + +SolverlabGUI uses a specific version of Solverlab code, modified by J.P. Crocombette (cea), +which is tagged version 1.1.x for now. +This code comes from original version 1.0.8 by Christian Borschel. + +Users find two current compiled executable files, which are used by solverlabGUI, located at +*.../solverlabGUI/solverlabCode*. + +#. *solverlab_mingw64.exe*, compiled by MinGW_ gcc compiler, for Windows (64 bits). +#. *solverlab_linux64.exe*, compiled by GNU_ `gcc `_ compiler, for Linux (64 bits). + +A development installation of Solverlab code allows programmer improvments. +The following chapters explain Solverlab code compilation processes. + + +.. _iraSolverlabCodeSources: + +Solverlab code sources +============================ + +With GPL licence, sources are available in solverlabGUI directory tree, located at +*.../solverlabGUI/solverlabCodes/solverlab_cea*. + +User find also the useful Corteo_ data base, located at +*.../solverlabGUI/solverlabCodes/data_4bit* + +.. code-block:: bash + + .../solverlabCodes > tree + . + ├── data_4bit + │   ├── 10.asp + │   ├── 11.asp + etc. + │   ├── corteo.mat + │   └── erfinv.dat + ├── doc + │   ├── 20140804_solverlab_manual.pdf + │   ├── Corteo20160816.pdf + │   ├── solverlab-1-s2.0-S0168583X11006318-main.pdf + │   └── Solverlab_tuto_installation.pdf + ├── solverlab_cea + │   ├── compileSolverlab.bat + │   ├── fileio.c + │   ├── fileio.h + │   ├── fromcorteo.c + │   ├── fromcorteo.h + │   ├── geometry.c + │   ├── geometry.h + │   ├── indexvalues6bit.h + │   ├── indexvalues.h + │   ├── solverlab.c + │   ├── solverlab.h + │   ├── license.txt + │   ├── makefile_cea + │   ├── target.c + │   ├── target.h + │   ├── transport.c + │   ├── transport.h + │   ├── utils.c + │   └── utils.h + ├── compileSolverlab.lnk + └── README.txt + + + +.. _iraSolverlabCodeCompilation_linux: + +Solverlab code compilation Linux +================================== + +Example of compilation *(Linux-bash)*: + +.. code-block:: bash + + # this is your location + cd .../solverlabGUI/solverlabCodes/solverlab_cea + # verifications + cat README.txt + # compilation + make -f makefile_cea clean + make -f makefile_cea solverlab + make -f makefile_cea installGUI # install executable in solverlabGUI/solverlabCode + + + +.. _iraSolverlabCodeCompilation_windows: + +Solverlab code compilation Windows7-10 +======================================= + +.. warning:: #. MinGW_ is supposed to be set + and useful in environment path, at an usual location + *C:\\MinGW* (for example). + #. Git-windows_ is supposed to be set + and useful in environment path, at an usual location + *C:\\Program Files\\Git* (for example). + In order to use like-Linux commands. + + +Example of compilation *(Windows7/10-cmd.exe shell)*: + +.. code-block:: bat + + # this is mandatory location + C:\ + cd C:\Users\Public\solverlab\solverlabGUI\solverlabCodes\solverlab_cea + # verifications + where make # --> C:\MinGW\bin\make.exe + where gcc # --> C:\MinGW\bin\gcc.exe + where uname # --> C:\Program Files\Git\usr\bin\uname.exe + # compilation + make -f makefile_cea clean + make -f makefile_cea solverlab + make -f makefile_cea installGUI # install executable in solverlabGUI/solverlabCode + + +.. note:: To launch Solverlab code compilation, you may use Windows shortcut + *C:\\User\\Public\\solverlab\\solverlabGUI\\solverlabCodes\\compileSolverlab(.lnk)* + . + + + + diff --git a/CoreFlows/gui/doc/specificinstall.rst b/CoreFlows/gui/doc/specificinstall.rst new file mode 100644 index 0000000..e69de29 diff --git a/CoreFlows/gui/doc/svlinstallation.rst b/CoreFlows/gui/doc/svlinstallation.rst new file mode 100644 index 0000000..14ae60e --- /dev/null +++ b/CoreFlows/gui/doc/svlinstallation.rst @@ -0,0 +1,67 @@ + +.. include:: ./rst_prolog.rst + + +.. _svlInstallation: + +************** +Installation +************** + +In a normal use case Solverlab should be installed with SALOME (TODO link salome) +This section describe other method to get it. + +Prerequisite +-------------- + +Solverlab in his core componment is a really small package and need other librairies to work properly. + +Some dependencies are needed for the installation and need to be on your computer before trying to install Solverlab: + +- cmake3 +- g++ (or another C++ compiler) +- python3-dev, python3-numpy, swig3 + + +Standalone installation +-------------------------- + +The most simple installation process and should suit to most users. + +To use the GUI you need to have installed Python3_ on your computer with the following dependency: + +- PyQt5_ + +- TODO packagespy + +.. warning:: For the moment Solverlab **doesn't** work with Conda TODO why ? can't find some librairy + +When all the dependency are installed on your computer you can follow the `Solverlab install process `_ + +When it's done you should be able to launch the GUI with the command + +.. code-block:: bash + + python3 $SOLVERLABGUI + + +Advanced Installation +------------------------ + +If you already have PETSC MED or MEDCoupling on your device you can specify their path and the installation process will not download them again. + +This assumes that you have an existing install of: + +- PETSC (with submodules SLEPC and HDF5) at the location given by the environment variable PETSC_DIR and the architecture variable PETSC_ARCH + +- MED at the location given by the environment variable MEDFILE_ROOT_DIR + +- MEDCoupling at the location given by the environment variable MEDCOUPLING_ROOT_DIR + +The 3 dependencies PETSC, MED and MEDCOUPLING should have been compiled with the same version of HDF5 + +.. code-block:: bash + + cmake ../SOLVERLAB-master -DCMAKE_INSTALL_PREFIX=../SOLVERLAB_install -DCMAKE_BUILD_TYPE=Release -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.3 -DSOLVERLAB_WITH_DOCUMENTATION=ON -DPETSC_DIR=${PETSC_DIR} -DPETSC_ARCH=${PETSC_ARCH} -DMEDFILE_ROOT_DIR=${MEDFILE_ROOT_DIR} -DMEDCOUPLING_ROOT_DIR=${MEDCOUPLING_ROOT_DIR} -DSOLVERLAB_WITH_GUI=ON + + diff --git a/CoreFlows/gui/doc/svlotherfilewidget.rst b/CoreFlows/gui/doc/svlotherfilewidget.rst new file mode 100644 index 0000000..3fdfc54 --- /dev/null +++ b/CoreFlows/gui/doc/svlotherfilewidget.rst @@ -0,0 +1,19 @@ + +.. include:: ./rst_prolog.rst + + +.. _svlOtherFileWidget: + +Other File widget +------------------ + +This widget displays the content of the selected med file. +It use the MEDCoupling API to do so. + +.. image:: images/solverlabOtherTab.png + +How to use +..................... + +The user can *mouse-right-click* on the fileMed field in the **TREE VIEW** and select the "Dump ascii content" context menu. + diff --git a/CoreFlows/gui/doc/tips.rst b/CoreFlows/gui/doc/tips.rst new file mode 100644 index 0000000..c8cfd63 --- /dev/null +++ b/CoreFlows/gui/doc/tips.rst @@ -0,0 +1,65 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraTips: + +Tips +-------------------------- + +Tip 01 +======= +.. image:: images_tips/tip_01_solverlabMainWidgetToolbar1.png + :scale: 80 % + :align: center + +Tip 05 +======= +.. image:: images_tips/tip_05_solverlabMainWidgetToolbar1.png + :scale: 80 % + :align: center + +Tip 08 +======= +.. image:: images_tips/tip_08_solverlabMainWidgetToolbar1.png + :scale: 80 % + :align: center + +Tip 20 +======= +.. image:: images_tips/tip_20_expand.png + :scale: 80 % + :align: center + +Tip 25 +======= +.. image:: images_tips/tip_25_contextual_menu.png + :scale: 80 % + :align: center + +Tip 28 +======= +.. image:: images_tips/tip_28_mouseover_tooltip.png + :scale: 80 % + :align: center + +Tip 30 +======= +.. image:: images_tips/tip_30_modify_values.png + :scale: 80 % + :align: center + +Tip 98 +======= +.. image:: images_tips/tip_98_solverlabMainWidgetToolbar1.png + :scale: 80 % + :align: center + +Tip 99 +======= +.. image:: images_tips/tip_99_solverlabMainWidgetToolbar1.png + :scale: 80 % + :align: center + + + diff --git a/CoreFlows/gui/doc/usage.rst b/CoreFlows/gui/doc/usage.rst new file mode 100644 index 0000000..62150c7 --- /dev/null +++ b/CoreFlows/gui/doc/usage.rst @@ -0,0 +1,71 @@ + +.. include:: ./rst_prolog.rst + + +.. _iraUsage: + +********************** +Usage of solverlabGUI +********************** + +Usage +===== + +SolverlabGUI usage is a Command Line Interface (CLI_), which is +Windows *and* Linux compatible (but only tested on Linus for the moment). + +.. code-block:: bash + + solverlabGUI --[options] + + +Options of solverlabGUI +............................ + +Useful but *not exhaustive* generic options of *solverlabGUI* CLI. + + +Option *--help or -h* +............................ + +Get help as simple text. + +.. code-block:: bash + + solverlabGUI --help # get list of existing options + + +Option *--doc or -d* +............................ + +Get documentation as browser html. + +.. code-block:: bash + + solverlabGUI --doc # see html doc + + +Option *--verbose or -v* +............................ + +Change verbosity level (default is 'info'). + +.. code-block:: bash + + # execute solverlabGUI command in verbose debug mode + solverlabGUI -v debug + + +Option *--workdir or -w* +............................ + +Change working directory (user data directory). Default is +../SOLVERLABGUI_WORKDIR + +.. code-block:: bash + + # execute solverlabGUI in user choice working directory + solverlabGUI -w .../MY_WORKDIR + + + diff --git a/cmake_files/FindSphinx.cmake b/cmake_files/FindSphinx.cmake new file mode 100644 index 0000000..9d252e8 --- /dev/null +++ b/cmake_files/FindSphinx.cmake @@ -0,0 +1,27 @@ +# CMake find_package() Module for Sphinx documentation generator +# http://sphinx-doc.org/ +# +# Example usage: +# +# find_package(Sphinx) +# +# If successful the following variables will be defined +# SPHINX_FOUND +# SPHINX_EXECUTABLE + +find_program(SPHINX_EXECUTABLE + NAMES sphinx-build sphinx-build2 + DOC "Path to sphinx-build executable") + +# Handle REQUIRED and QUIET arguments +# this will also set SPHINX_FOUND to true if SPHINX_EXECUTABLE exists +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Sphinx + "Failed to locate sphinx-build executable" + SPHINX_EXECUTABLE) + +# Provide options for controlling different types of output +option(SPHINX_OUTPUT_HTML "Output standalone HTML files" ON) +option(SPHINX_OUTPUT_MAN "Output man pages" ON) + +option(SPHINX_WARNINGS_AS_ERRORS "When building documentation treat warnings as errors" ON)