From: yfr Date: Tue, 22 Jun 2004 15:45:30 +0000 (+0000) Subject: DCQ : Merge with Ecole Ete. X-Git-Tag: V2_0_0b1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a2d7c47723bbdfe7305a42c0708de8787a0c209f;p=samples%2Fpycalculator.git DCQ : Merge with Ecole Ete. --- diff --git a/bin/VERSION b/bin/VERSION index f38a71b..1b4eeb6 100755 --- a/bin/VERSION +++ b/bin/VERSION @@ -1 +1 @@ -THIS IS SALOME PRO - GEOM VERSION: 1.2 +THIS IS SALOME - GEOM VERSION: 2.0.0 diff --git a/configure.in.base b/configure.in.base index 212a375..24c7673 100644 --- a/configure.in.base +++ b/configure.in.base @@ -327,14 +327,15 @@ dnl copy shells and utilities contained in the bin directory dnl excluding .in files (treated in AC-OUTPUT below) and CVS dnl directory -cd bin +mkdir -p bin/salome +cd bin/salome for i in $ROOT_SRCDIR/bin/* do local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` case "$local_bin" in *.in | *~) ;; - ./bin/CVS) ;; - *) ln -fs $i; echo $local_bin ;; + ./bin/CVS | ./bin/salome) ;; + *) /usr/bin/install -C $i .; echo $local_bin ;; esac done cd $ROOT_BUILDDIR diff --git a/doc/Makefile.in b/doc/Makefile.in index 0190159..13412b7 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -3,7 +3,7 @@ # # Author : Patrick GOLDBRONN (CEA) # Date : 30/11/2001 -# $Header$ +# $Heade$ # # source path top_srcdir=@top_srcdir@ @@ -11,9 +11,11 @@ top_builddir=.. srcdir=@srcdir@ VPATH=.:@srcdir@ -SUBDIRS=html +SUBDIRS= salome -doc: +@COMMENCE@ + +docs: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done @@ -31,3 +33,8 @@ install: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done + +uninstall: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done diff --git a/doc/html/INPUT/doxyfile b/doc/html/INPUT/doxyfile index d6fd95c..e341ffb 100755 --- a/doc/html/INPUT/doxyfile +++ b/doc/html/INPUT/doxyfile @@ -3,7 +3,7 @@ #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "SALOME PRO - GEOM - v.1.2" +PROJECT_NAME = "SALOME PRO - GEOM - v.2.0.0" PROJECT_NUMBER = id#1.1 OUTPUT_DIRECTORY = ../ OUTPUT_LANGUAGE = English diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.in new file mode 100644 index 0000000..d7bae51 --- /dev/null +++ b/doc/salome/Makefile.in @@ -0,0 +1,44 @@ + +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 30/11/2001 +# $Header$ +# +# source path +top_srcdir=@top_srcdir@ +top_builddir=../.. +srcdir=@srcdir@ +VPATH=.:@srcdir@ + +SUBDIRS= tui + +@COMMENCE@ + +docs: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; \ + cp -f $(srcdir)/PYCALCULATOR_index.html PYCALCULATOR_index.html + +clean: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done + +distclean: clean + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done + +install: + $(MAKE) docs + (cd tui && $(MAKE) install); + (cd gui && $(MAKE) install); + cp -f SUPERV_index.html $(docdir) + +uninstall: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; \ + rm -fr $(docdir)/SUPERV_index.html diff --git a/doc/salome/PYCALCULATOR_index.html b/doc/salome/PYCALCULATOR_index.html new file mode 100644 index 0000000..c621a80 --- /dev/null +++ b/doc/salome/PYCALCULATOR_index.html @@ -0,0 +1,89 @@ + + + + + + + + PyCalculator Module Documentation + + + +
  +
+
                   +   
+ + + + + + + + + +
+ + + +
+ +
+
+
+

PyCalculator MODULE Documentation

+
+
+ + + + + +
+
+ +
+

Application-About.png +     

+
+ +
+ + + + +
+
+
+
+
+ +
+ +

+
+ +
+ +
TUI Documentation
+ +
+ +
+ +

+
+
+
+
+
+
+ + diff --git a/doc/salome/tui/Makefile.in b/doc/salome/tui/Makefile.in new file mode 100644 index 0000000..65af268 --- /dev/null +++ b/doc/salome/tui/Makefile.in @@ -0,0 +1,42 @@ +# Copyright (C) 2003 CEA/DEN, EDF R&D +# +# +# +# File : Makefile.in +# Author : Vasily Rusyaev (Open Cascade NN) +# Module : doc +# $Header: + +top_srcdir=@top_srcdir@ +top_builddir=../../.. +root_srcdir=@ROOT_SRCDIR@ +srcdir=@srcdir@ +VPATH=.:@srcdir@ +doxygen=@DOXYGEN@ + +@COMMENCE@ + +docs: + cp -fr $(srcdir)/PYCALCULATOR ./INPUT; \ + cd INPUT; \ + sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \ + mv -f doxyfile1 doxyfile; \ + $(doxygen) ./doxyfile; \ + cd ..; \ + cp -fr $(srcdir)/PYCALCULATOR/sources/static/*.* ./PYCALCULATOR/ + cp -fr $(srcdir)/PYCALCULATOR/sources/ PYCALCULATOR/ + rm -fr INPUT + +clean: + rm -fr PYCALCULATOR + +distclean: clean + rm -fr INPUT + +install: + $(INSTALL) -d $(docdir); \ + mkdir -p $(docdir)/tui + cp -fr PYCALCULATOR $(docdir)/tui + +uninstall: + rm -fr $(docdir)/tui/PYCALCULATOR diff --git a/doc/salome/tui/PYCALCULATOR/doxyfile b/doc/salome/tui/PYCALCULATOR/doxyfile new file mode 100755 index 0000000..fb3a46e --- /dev/null +++ b/doc/salome/tui/PYCALCULATOR/doxyfile @@ -0,0 +1,200 @@ +# Doxyfile 1.3-rc1 + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "SALOME - PYCALCULATOR - v.2.0.0" +PROJECT_NUMBER = id#1.0 +OUTPUT_DIRECTORY = ../ +OUTPUT_LANGUAGE = English +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = NO +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = YES +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +SHORT_NAMES = NO +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 5 +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ALIASES = +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 25 +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = YES +SHOW_USED_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = log.txt +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = ../../../share/salome/idl/PYCALCULATOR_Gen.idl +FILE_PATTERNS = +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = sources/ +INPUT_FILTER = +FILTER_SOURCE_FILES = YES +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = PYCALCULATOR +HTML_FILE_EXTENSION = .html +HTML_HEADER = sources/myheader.html +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_SCHEMA = +XML_DTD = +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = NO +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DOT_IMAGE_FORMAT = jpg +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1200 +GENERATE_LEGEND = NO +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO +CGI_NAME = search.cgi +CGI_URL = +DOC_URL = +DOC_ABSPATH = +BIN_ABSPATH = /usr/local/bin/ +EXT_DOC_PATHS = diff --git a/doc/salome/tui/PYCALCULATOR/sources/Application-About.png b/doc/salome/tui/PYCALCULATOR/sources/Application-About.png new file mode 100755 index 0000000..7b58330 Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/Application-About.png differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/Application-About1.jpg b/doc/salome/tui/PYCALCULATOR/sources/Application-About1.jpg new file mode 100755 index 0000000..cf7ab8b Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/Application-About1.jpg differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/application.gif b/doc/salome/tui/PYCALCULATOR/sources/application.gif new file mode 100644 index 0000000..0b05d5c Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/application.gif differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/application.jpg b/doc/salome/tui/PYCALCULATOR/sources/application.jpg new file mode 100755 index 0000000..a6979ab Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/application.jpg differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/bg_salome.gif b/doc/salome/tui/PYCALCULATOR/sources/bg_salome.gif new file mode 100755 index 0000000..677b704 Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/bg_salome.gif differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/logocorp.gif b/doc/salome/tui/PYCALCULATOR/sources/logocorp.gif new file mode 100755 index 0000000..7697e08 Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/logocorp.gif differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/myheader.html b/doc/salome/tui/PYCALCULATOR/sources/myheader.html new file mode 100755 index 0000000..83ca543 --- /dev/null +++ b/doc/salome/tui/PYCALCULATOR/sources/myheader.html @@ -0,0 +1,24 @@ + + + + + + Main Page + + + +  +
+ + + + + + +
+
+
+ + + + diff --git a/doc/salome/tui/PYCALCULATOR/sources/occ.gif b/doc/salome/tui/PYCALCULATOR/sources/occ.gif new file mode 100755 index 0000000..ce017c8 Binary files /dev/null and b/doc/salome/tui/PYCALCULATOR/sources/occ.gif differ diff --git a/doc/salome/tui/PYCALCULATOR/sources/static/doxygen.css b/doc/salome/tui/PYCALCULATOR/sources/static/doxygen.css new file mode 100755 index 0000000..0a8e93d --- /dev/null +++ b/doc/salome/tui/PYCALCULATOR/sources/static/doxygen.css @@ -0,0 +1,49 @@ +H1 { text-align: center; } +CAPTION { font-weight: bold } +A.qindex {} +A.qindexRef {} +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code { text-decoration: none; font-weight: normal; color: #4444ee } +A.codeRef { font-weight: normal; color: #4444ee } +A:hover { text-decoration: none; background-color: lightblue } +DL.el { margin-left: -1cm } +DIV.fragment { width: 100%; border: none; background-color: #CCCCCC } +DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: lightblue; font-weight: bold; } +TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; } +TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold } +DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } +BODY { background: url(sources/bg_salome.gif) } +TD.indexkey { + background-color: #CCCCCC; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px +} +TD.indexvalue { + background-color: #CCCCCC; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px +} +span.keyword { color: #008000 } +span.keywordtype { color: #604020 } +span.keywordflow { color: #e08000 } +span.comment { color: #800000 } +span.preprocessor { color: #806020 } +span.stringliteral { color: #002080 } +span.charliteral { color: #008080 } diff --git a/doc/salome/tui/PYCALCULATOR/sources/static/tree.js b/doc/salome/tui/PYCALCULATOR/sources/static/tree.js new file mode 100755 index 0000000..885668a --- /dev/null +++ b/doc/salome/tui/PYCALCULATOR/sources/static/tree.js @@ -0,0 +1,18 @@ +foldersTree = gFld("SALOME v.2.0.0 ", "", "") + insDoc(foldersTree, gLnk("Main Page", "", "main.html")) + +aux1 = insFld(foldersTree, gFld("TUI Reference Guide", "")) + + +/*! Data structures +*/ + insDoc(aux1, gLnk("Data Structures", "", "annotated.html")) + + + insDoc(aux1, gLnk("Class Hierarchy", "", "hierarchy.html")) + + + insDoc(aux1, gLnk("Class methods list", "", "functions.html")) + + insDoc(aux1, gLnk("File List", "", "files.html")) + diff --git a/doc/salome/tui/PYCALCULATOR/sources/static/treeview.js b/doc/salome/tui/PYCALCULATOR/sources/static/treeview.js new file mode 100644 index 0000000..55eb43d --- /dev/null +++ b/doc/salome/tui/PYCALCULATOR/sources/static/treeview.js @@ -0,0 +1,505 @@ +//**************************************************************** +// You are free to copy the "Folder-Tree" script as long as you +// keep this copyright notice: +// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ +// Author: Marcelino Alves Martins (martins@hks.com) December '97. +//**************************************************************** + +//Log of changes: +// 17 Feb 98 - Fix initialization flashing problem with Netscape +// +// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS; +// make the ftien4 a js file +// +// DvH: Dec 2000 - Made some minor changes to support external +// references + +// Definition of class Folder +// ***************************************************************** + +function Folder(folderDescription, tagName, hreference) //constructor +{ + //constant data + this.desc = folderDescription + this.tagName = tagName + this.hreference = hreference + this.id = -1 + this.navObj = 0 + this.iconImg = 0 + this.nodeImg = 0 + this.isLastNode = 0 + + //dynamic data + this.isOpen = true + this.iconSrc = "ftv2folderopen.png" + this.children = new Array + this.nChildren = 0 + + //methods + this.initialize = initializeFolder + this.setState = setStateFolder + this.addChild = addChild + this.createIndex = createEntryIndex + this.hide = hideFolder + this.display = display + this.renderOb = drawFolder + this.totalHeight = totalHeight + this.subEntries = folderSubEntries + this.outputLink = outputFolderLink +} + +function setStateFolder(isOpen) +{ + var subEntries + var totalHeight + var fIt = 0 + var i=0 + + if (isOpen == this.isOpen) + return + + if (browserVersion == 2) + { + totalHeight = 0 + for (i=0; i < this.nChildren; i++) + totalHeight = totalHeight + this.children[i].navObj.clip.height + subEntries = this.subEntries() + if (this.isOpen) + totalHeight = 0 - totalHeight + for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) + indexOfEntries[fIt].navObj.moveBy(0, totalHeight) + } + this.isOpen = isOpen + propagateChangesInState(this) +} + +function propagateChangesInState(folder) +{ + var i=0 + + if (folder.isOpen) + { + if (folder.nodeImg) + if (folder.isLastNode) + folder.nodeImg.src = "ftv2mlastnode.png" + else + folder.nodeImg.src = "ftv2mnode.png" + folder.iconImg.src = "ftv2folderopen.png" + for (i=0; i 0) + auxEv = "" + else + auxEv = "" + + if (level>0) + if (lastNode) //the last 'brother' in the children array + { + this.renderOb(leftSide + auxEv + "") +// leftSide = leftSide + "" + this.isLastNode = 1 + } + else + { + this.renderOb(leftSide + auxEv + "") + leftSide = leftSide + "" + this.isLastNode = 0 + } + else + this.renderOb("") + + if (nc > 0) + { + level = level + 1 + for (i=0 ; i < this.nChildren; i++) + { + if (i == this.nChildren-1) + this.children[i].initialize(level, 1, leftSide) + else + this.children[i].initialize(level, 0, leftSide) + } + } +} + +function drawFolder(leftSide) +{ + if (browserVersion == 2) { + if (!doc.yPos) + doc.yPos=8 + doc.write("") + } + if (browserVersion == 3) + { + doc.write("
") + } + + doc.write("\n") + doc.write("\n\n") + doc.write("\n
") + doc.write(leftSide) + this.outputLink() + doc.write("") + doc.write("") + if (USETEXTLINKS) + { + this.outputLink() + doc.write(this.desc + "") + } + else + doc.write(this.desc) + +/*! + if (this.tagName!="") + { + doc.write(" [external]") + } +*/ + doc.write("
\n") + + if (browserVersion == 2) { + doc.write("") + } + if (browserVersion == 3) { + doc.write("
") + } + + if (browserVersion == 1) { + this.navObj = doc.all["folder"+this.id] + this.iconImg = doc.all["folderIcon"+this.id] + this.nodeImg = doc.all["nodeIcon"+this.id] + } else if (browserVersion == 2) { + this.navObj = doc.layers["folder"+this.id] + this.iconImg = this.navObj.document.images["folderIcon"+this.id] + this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] + doc.yPos=doc.yPos+this.navObj.clip.height + } else if (browserVersion == 3) { + this.navObj = doc.getElementById("folder"+this.id) + this.iconImg = doc.images.namedItem("folderIcon"+this.id) + this.nodeImg = doc.images.namedItem("nodeIcon"+this.id) + } +} + +function outputFolderLink() +{ + if (this.hreference) + { + doc.write(" 0) + doc.write("onClick='javascript:clickOnFolder("+this.id+")'") + doc.write(">") + } + else + doc.write("") +} + +function addChild(childNode) +{ + this.children[this.nChildren] = childNode + this.nChildren++ + return childNode +} + +function folderSubEntries() +{ + var i = 0 + var se = this.nChildren + + for (i=0; i < this.nChildren; i++){ + if (this.children[i].children) //is a folder + se = se + this.children[i].subEntries() + } + + return se +} + + +// Definition of class Item (a document or link inside a Folder) +// ************************************************************* + +function Item(itemDescription, tagName, itemLink) // Constructor +{ + // constant data + this.desc = itemDescription + this.tagName = tagName + this.link = itemLink + this.id = -1 //initialized in initalize() + this.navObj = 0 //initialized in render() + this.iconImg = 0 //initialized in render() + this.iconSrc = "ftv2doc.png" + + // methods + this.initialize = initializeItem + this.createIndex = createEntryIndex + this.hide = hideItem + this.display = display + this.renderOb = drawItem + this.totalHeight = totalHeight +} + +function hideItem() +{ + if (browserVersion == 1 || browserVersion == 3) { + if (this.navObj.style.display == "none") + return + this.navObj.style.display = "none" + } else { + if (this.navObj.visibility == "hidden") + return + this.navObj.visibility = "hidden" + } +} + +function initializeItem(level, lastNode, leftSide) +{ + this.createIndex() + + if (level>0) + if (lastNode) //the last 'brother' in the children array + { + this.renderOb(leftSide + "") + leftSide = leftSide + "" + } + else + { + this.renderOb(leftSide + "") + leftSide = leftSide + "" + } + else + this.renderOb("") +} + +function drawItem(leftSide) +{ + if (browserVersion == 2) + doc.write("") + if (browserVersion == 3) + doc.write("
") + + doc.write("\n\n") + doc.write("\n
") + doc.write(leftSide) + if (this.link!="") + { + doc.write("") + } + doc.write("") + if (this.link!="") + { + doc.write("") + } + doc.write("") + if (USETEXTLINKS && this.link!="") + doc.write("" + this.desc + "") + else + doc.write(this.desc) +/*! + if (this.tagName!="") + { + doc.write(" [external]"); + } +*/ + doc.write("\n
\n") + + if (browserVersion == 2) + doc.write("") + if (browserVersion == 3) + doc.write("
") + + if (browserVersion == 1) { + this.navObj = doc.all["item"+this.id] + this.iconImg = doc.all["itemIcon"+this.id] + } else if (browserVersion == 2) { + this.navObj = doc.layers["item"+this.id] + this.iconImg = this.navObj.document.images["itemIcon"+this.id] + doc.yPos=doc.yPos+this.navObj.clip.height + } else if (browserVersion == 3) { + this.navObj = doc.getElementById("item"+this.id) + this.iconImg = doc.images.namedItem("itemIcon"+this.id) + } +} + + +// Methods common to both objects (pseudo-inheritance) +// ******************************************************** + +function display() +{ + if (browserVersion == 1 || browserVersion == 3) + this.navObj.style.display = "block" + else + this.navObj.visibility = "show" +} + +function createEntryIndex() +{ + this.id = nEntries + indexOfEntries[nEntries] = this + nEntries++ +} + +// total height of subEntries open +function totalHeight() //used with browserVersion == 2 +{ + var h = this.navObj.clip.height + var i = 0 + + if (this.isOpen) //is a folder and _is_ open + for (i=0 ; i < this.nChildren; i++) + h = h + this.children[i].totalHeight() + + return h +} + + +// Events +// ********************************************************* + +function clickOnFolder(folderId) +{ + var clicked = indexOfEntries[folderId] + + if (!clicked.isOpen) + clickOnNode(folderId) + + return + + if (clicked.isSelected) + return +} + +function clickOnNode(folderId) +{ + var clickedFolder = 0 + var state = 0 + + clickedFolder = indexOfEntries[folderId] + state = clickedFolder.isOpen + + clickedFolder.setState(!state) //open<->close +} + +function initializeDocument() +{ + doc = document; + if (doc.all) + browserVersion = 1 //IE4 + else + if (doc.layers) + browserVersion = 2 //NS4 + else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) + browserVersion = 3 //mozilla + else + browserVersion = 0 //other + + foldersTree.initialize(0, 1, "") + foldersTree.display() + + if (browserVersion > 0) + { + if(browserVersion != 3) + doc.write(" ") + + // close the whole tree + clickOnNode(0) + // open the root folder + clickOnNode(0) + } +} + +// Auxiliary Functions for Folder-Treee backward compatibility +// ********************************************************* + +function gFld(description, tagName, hreference) +{ + folder = new Folder(description, tagName, hreference) + return folder +} + +function gLnk(description, tagName, linkData) +{ + fullLink = "" + + if (linkData!="") + { + fullLink = "'"+linkData+"' target=\"basefrm\"" + } + + linkItem = new Item(description, tagName, fullLink) + return linkItem +} + +function insFld(parentFolder, childFolder) +{ + return parentFolder.addChild(childFolder) +} + +function insDoc(parentFolder, document) +{ + parentFolder.addChild(document) +} + +// Global variables +// **************** + +USETEXTLINKS = 1 +indexOfEntries = new Array +nEntries = 0 +doc = document +browserVersion = 0 +selectedFolder=0 diff --git a/resources/PYCALCULATORCatalog.xml b/resources/PYCALCULATORCatalog.xml index 63c22b2..4c65e96 100644 --- a/resources/PYCALCULATORCatalog.xml +++ b/resources/PYCALCULATORCatalog.xml @@ -13,6 +13,7 @@ PYCALCULATOR + PyCalculator SOLVER LD 1.0