From: mkr Date: Wed, 24 May 2006 07:45:47 +0000 (+0000) Subject: Update GUI and TUI documentation for GUI module. X-Git-Tag: V3_2_0rc~18 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=bcb45112884170afb9ecdf200b2b5c5f0d60795a;p=modules%2Fgui.git Update GUI and TUI documentation for GUI module. --- diff --git a/doc/Makefile.in b/doc/Makefile.in index 9bd6e8ef5..d80c790cd 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -37,6 +37,17 @@ docs: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done + +usr_docs: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done + +dev_docs: + @@SETX@; for d in $(SUBDIRS); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done + clean: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ diff --git a/doc/salome/GUI_index.html b/doc/salome/GUI_index.html deleted file mode 100755 index 465e3ea9d..000000000 --- a/doc/salome/GUI_index.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - Gui Module Documentation - - - -
  -
-
                   -   
- - - - - - - - - -
- - - -
- -
-
-
-

GUI MODULE Documentation

-
-
- - - - - -
-
- -
-

Application-About.png -     

-
- -
- - - - -
-
-
-
-
- -
- -
GUI Documentation
- -
- -
- -

-
- -
- -
TUI Documentation
- -
- -
- -

-
-
-
-
-
-
- - diff --git a/doc/salome/GUI_index_v3.1.0.html b/doc/salome/GUI_index_v3.1.0.html deleted file mode 100755 index 465e3ea9d..000000000 --- a/doc/salome/GUI_index_v3.1.0.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - Gui Module Documentation - - - -
  -
-
                   -   
- - - - - - - - - -
- - - -
- -
-
-
-

GUI MODULE Documentation

-
-
- - - - - -
-
- -
-

Application-About.png -     

-
- -
- - - - -
-
-
-
-
- -
- -
GUI Documentation
- -
- -
- -

-
- -
- -
TUI Documentation
- -
- -
- -

-
-
-
-
-
-
- - diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.in index c41b5206d..c9e589858 100644 --- a/doc/salome/Makefile.in +++ b/doc/salome/Makefile.in @@ -30,6 +30,8 @@ srcdir=@srcdir@ VPATH=.:@srcdir@ SUBDIRS= tui gui +SUBDIRSTUI= tui +SUBDIRSGUI= gui @COMMENCE@ @@ -37,7 +39,16 @@ docs: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done; \ - cp -f $(srcdir)/GUI_index_v3.1.0.html GUI_index_v3.1.0.html + +usr_docs: + @@SETX@; for d in $(SUBDIRSGUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; \ + +dev_docs: + @@SETX@; for d in $(SUBDIRSTUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; \ clean: @@SETX@; for d in $(SUBDIRS); do \ @@ -53,10 +64,8 @@ install: $(MAKE) docs (cd tui && $(MAKE) install); (cd gui && $(MAKE) install); - cp -f GUI_index_v3.1.0.html $(docdir) uninstall: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done; \ - rm -fr $(docdir)/GUI_index_v3.1.0.html diff --git a/doc/salome/gui/GUI/choicepage.png b/doc/salome/gui/GUI/choicepage.png new file mode 100755 index 000000000..16339d9ef Binary files /dev/null and b/doc/salome/gui/GUI/choicepage.png differ diff --git a/doc/salome/gui/GUI/closestudy.png b/doc/salome/gui/GUI/closestudy.png new file mode 100755 index 000000000..fb7abe1dc Binary files /dev/null and b/doc/salome/gui/GUI/closestudy.png differ diff --git a/doc/salome/gui/GUI/cshdat_robohelp.htm b/doc/salome/gui/GUI/cshdat_robohelp.htm new file mode 100755 index 000000000..366ca9f9b --- /dev/null +++ b/doc/salome/gui/GUI/cshdat_robohelp.htm @@ -0,0 +1,258 @@ + + +GUI Module Reference Manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/cshdat_webhelp.htm b/doc/salome/gui/GUI/cshdat_webhelp.htm new file mode 100755 index 000000000..e0927b0bf --- /dev/null +++ b/doc/salome/gui/GUI/cshdat_webhelp.htm @@ -0,0 +1,251 @@ + + +GUI Module Reference Manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/default.css b/doc/salome/gui/GUI/default.css new file mode 100755 index 000000000..de2e5d955 --- /dev/null +++ b/doc/salome/gui/GUI/default.css @@ -0,0 +1,101 @@ +BODY { + background-color:#ffffff; + font-family:"Times New Roman" , serif; } +H1 { + font-weight:bold; + font-size:24.0pt; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +LI.kadov-P { + font-size:12.0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; } +UL { + margin-top:0px; + margin-bottom:0px; } +A:active { } +A:hover { + x-text-underline:Off; + text-decoration:none; } +A:link { + x-text-underline:Off; + text-decoration:none; } +A:visited { + x-text-underline:Off; + text-decoration:none; } +P.TODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +LI.kadov-P-CTODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } diff --git a/doc/salome/gui/GUI/default_ns.css b/doc/salome/gui/GUI/default_ns.css new file mode 100755 index 000000000..3eeb3c496 --- /dev/null +++ b/doc/salome/gui/GUI/default_ns.css @@ -0,0 +1,118 @@ +BODY { + background-color:#ffffff; + font-family:"Times New Roman" , serif; } +H1 { + font-weight:bold; + font-size:24.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:1pt; + margin-bottom:1pt; + font-family:"Times New Roman" , serif; } +LI.kadov-P { + font-size:12.0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +UL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +A:active { } +A:hover { + x-text-underline:Off; + text-decoration:none; } +A:link { + x-text-underline:Off; + text-decoration:none; } +A:visited { + x-text-underline:Off; + text-decoration:none; } +P.TODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +LI.kadov-P-CTODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +ol ol { + margin-top:1px; } +ol ul { + margin-top:1px; } +ul ul { + margin-top:1px; } +ul ol { + margin-top:1px; } diff --git a/doc/salome/gui/GUI/dump_study.htm b/doc/salome/gui/GUI/dump_study.htm new file mode 100755 index 000000000..660565d85 --- /dev/null +++ b/doc/salome/gui/GUI/dump_study.htm @@ -0,0 +1,172 @@ + + + + + +Dump Study + + + + + + + + + + + + + +

Working with Python Scripts

+ +

SALOME Platform can be launched + in the batch mode, without Graphical User Interface, and operated with + the use of Python scripts, which can fulfill most of the necessary tasks, + however, the process of scripting is quite time consuming and rather error-prone. +

+ +

This problem has been resolved by the possibility to automatically generate + a set of Python scripts from data created with SALOME GUI, which greatly + increases the productivity of using SALOME platform in the batch mode. + This mechanism can convert a SALOMEDS Study in one or several Python scripts, + which can be stored and imported later to re-create the content of the + original study. The first script is a SALOMEDS document, which re-creates + the SALOMEDS Study, adds the stored Salome components to the SALOMEDS + and automatically calls Python scripts of the second type containing component + specific Python function calls. This architecture gives great flexibility + in manual modification of the generated scripts because you can modify + only one of the component specific Python scripts without touching others, + thus avoiding expert knowledge of Python API of unused components.

+ +

 

+ +

To Dump a  SALOME + Study in one or several scripts, in the main menu select File + --> Dump study

+ +

The following dialog box allowing to browse for the location and define + the name for a Python file will appear:

+ +

 

+ +

+ +

 

+ + + +

 

+ +

To + confirm your choice click Save.

+ +

 

+ +

Reversibly it is possible to load a saved + Python Script selecting in the main menu File + -> Load Script.

+ +

 

+ +

+ +

 

+ +

To + confirm your choice click Open.

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/ehelp.xml b/doc/salome/gui/GUI/ehelp.xml new file mode 100755 index 000000000..9884c422c --- /dev/null +++ b/doc/salome/gui/GUI/ehelp.xml @@ -0,0 +1,10 @@ + + + + + + + + WebSearch + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/ehlpdhtm.js b/doc/salome/gui/GUI/ehlpdhtm.js new file mode 100755 index 000000000..6cfd2e463 --- /dev/null +++ b/doc/salome/gui/GUI/ehlpdhtm.js @@ -0,0 +1,4239 @@ +// eHelp® Corporation Dynamic HTML JavaScript +// Copyright© 1998-2003 eHelp® Corporation.All rights reserved. +// Version=4.82 + +// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. + +//// Segment Begin -- (JavaScript 1.0) + +/// Section Begin - General and relative topics(JavaScript 1.0) + +//{{HH_SYMBOL_SECTION +var HH_ChmFilename = ""; +var HH_WindowName = ""; +var HH_GlossaryFont = ""; +var HH_Glossary = ""; +var HH_Avenue = ""; +var HH_ActiveX = false; +//}}HH_SYMBOL_SECTION + +//Begin to support previous generic parameters +//Get the information about the browser. +var gstrBsAgent = navigator.userAgent.toLowerCase(); +var gnBsVer = parseInt(navigator.appVersion); + +var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); +var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1); +var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1); +var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; +var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; + +var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); +var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); +var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -1); + +var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); +var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); + +var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); +var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); +var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); +var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); + +var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); +var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); +var gbBsNS7 = false; + +var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); +var gbBsIE5 = false; +var gbBsIE55 = false; + +var gbBsOpera6 = false; +var gbBsOpera7 = false; + +var gbBsKonqueror3 = false; + + + +gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;; +if (gbBsIE) +{ + if (parseInt(navigator.appVersion) >= 4) { + gbBsIE4 = true; + if (gbBsIE4) { + var nPos = gstrBsAgent.indexOf("msie"); + var strIEversion = gstrBsAgent.substring(nPos + 5); + var nVersion = parseFloat(strIEversion); + if (nVersion >= 5) + gbBsIE5 = true; + if (nVersion >= 5.5) + gbBsIE55 = true; + } + } +} +if (gbBsNS6) +{ + var nPos=gstrBsAgent.indexOf("gecko"); + if(nPos!=-1) + { + var nPos2=gstrBsAgent.indexOf("/", nPos); + if(nPos2!=-1) + { + var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1)); + if (nVersion>=20020823) + gbBsNS7=true; + } + } +} +if (gbBsOpera) +{ + var nPos = gstrBsAgent.indexOf("opera"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+6)); + if (nVersion >= 6) + { + gbBsOpera6=true; + if (nVersion >=7) + gbBsOpera7=true; + } + } +} +if (gbBsKonqueror) +{ + var nPos = gstrBsAgent.indexOf("konqueror"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+10)); + if (nVersion >= 3) + { + gbBsKonqueror3=true; + } + } +} + +function insertAdjacentHTML(obj, where, htmlStr) +{ + if (gbBsIE || gbBsOpera7) + { + obj.insertAdjacentHTML(where, htmlStr); + } + else if (gbBsNS6 || gbBsSafari) + { + var r = obj.ownerDocument.createRange(); + r.setStartBefore(obj); + var parsedHTML = r.createContextualFragment(htmlStr); + + switch (where){ + case 'beforeBegin': + obj.parentNode.insertBefore(parsedHTML,obj); + break; + case 'afterBegin': + obj.insertBefore(parsedHTML,obj.firstChild); + break; + case 'beforeEnd': + obj.appendChild(parsedHTML); + break; + case 'afterEnd': + if (obj.nextSibling){ + obj.parentNode.insertBefore(parsedHTML,obj.nextSibling); + } else { + obj.parentNode.appendChild(parsedHTML); + } + break; + } + } +} + +// Utilities functions. +function BsscHasExtJs() +{ + if( gbBsIE3Before || gbBsNS3Before) + return false; + return true; +} + +// Register event handler +var gBsOnLoads = new Array(); // An array holds all the onload event handler. +var gBsOnClicks = new Array(); // An array holds all the onClick event handler. +var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. +var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. +var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. + +var gbOrignalOnMouseDown = null; + +function BsscRegisterOnLoad(funcHandler) +{ + var nLength = gBsOnLoads.length; + gBsOnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnClick(funcHandler) +{ + var nLength = gBsOnClicks.length; + gBsOnClicks[nLength] = funcHandler; +} + +function BsscRegisterOnUnLoad(funcHandler) +{ + var nLength = gBsOnUnLoads.length; + gBsOnUnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOver(funcHandler) +{ + var nLength = gBsOnMouseOvers.length; + gBsOnMouseOvers[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOut(funcHandler) +{ + var nLength = gBsOnMouseOuts.length; + gBsOnMouseOuts[nLength] = funcHandler; +} + +function BsGeneralOnLoad() +{ + if (!gbBsIE4 && !gbBsNS4) + return; + + // Make everything visible in navigator + if (gbBsNS4 && !gbBsNS6) { + // Make some special effects items visible + for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { + document.layers[iLayer].visibility = "show"; + document.layers[iLayer].left = 0; + } + } +} + +// If resize the netscape browser, need to reload it. +function BsReDo() +{ + if (innerWidth != origWidth || innerHeight != origHeight) + location.reload(); +} +// End of the local functions. + +// The following functions are used by the html files. +function BSSCOnLoad() +{ + if( !BsscHasExtJs() ) + return; + for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) + gBsOnLoads[nElement](); +} + +function BSSCOnClick() +{ + if (!BsscHasExtJs()) return; + + for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) + gBsOnClicks[nElement](); +} + +function BSSCOnUnload() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) + gBsOnUnLoads[nElement](); +} + +function BSSCOnMouseOver() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) + gBsOnMouseOvers[nElement](); +} + +function BSSCOnMouseOut() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) + { + gBsOnMouseOuts[nElement](); + } +} +// End of invocation of the event handle functions. + +// Add the GereralOnLoad to the onload array. +if (typeof(BsscRegisterOnLoad) != "undefined") +{ + BsscRegisterOnLoad(BsGeneralOnLoad); +} +if (gbBsNS4&&!gbBsNS6) { + origWidth = innerWidth; + origHeight = innerHeight; + onresize = BsReDo; +} +//End to support previous generic parameters + +//Begin to support previous HHActiveX invoking +function BsHHActivateComponents() +{ + if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) + { + var objBody = getElementsByTag(document,"BODY")[0]; + if( typeof(objBody) == "object" ) + { + insertAdjacentHTML(objBody, "beforeEnd", ''); + if (HHComponentActivator.object) + HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); + } + } +} + +function BsHHActivXOnLoad() +{ + if( gbBsIE4 ) + BsHHActivateComponents(); +} + +if( typeof(BsscRegisterOnLoad) != "undefined" ) +{ + BsscRegisterOnLoad(BsHHActivXOnLoad); +} +//End to support previous HHActiveX invoking + +//Begin to support previous relative topics +//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here +var gbPopupMenuTimeoutExpired = false; +var gbInPopupMenu = false; +var gbPopupMenuTopicList = null; +var gOlddocumentClick = null; + +////////////////////////////////////////////////////////////////////////////////////////// +// +// Popup Menu code +// +////////////////////////////////////////////////////////////////////////////////////////// + +var g_bIsPopupMenuInit = false; +function _WritePopupMenuLayer() +{ + if (!g_bIsPopupMenuInit) + { + if (gbBsNS4&&!gbBsNS6) { +//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... + document.write("
"); + } else{ + document.write(""); + if (!(gbBsNS4&&!gbBsNS6)) { + document.write(""); + } + } + g_bIsPopupMenuInit = true; + } +} + +//Seek for the bsscright frame +function _SeekFrameByName( cRoot, strName ) +{ + if( cRoot == null ) return null; + if( cRoot.frames == null ) return null; + if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; + for (var i=0; i'; + } else { + strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; + } + strMenu += ''; + + if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { + i += 2; + } else { + i += 1; + } + } + strMenu += ""; + + if (gbBsMac) { + // totally hack. because ie5 in mac need something. is one of them. mac is mad. + strMenu +="
"; + } + + var layerPopup = null; + var stylePopup = null; + var nEventX = 0; + var nEventY = 0; + var nWindowWidth = 0; + if (gbBsIE4 || gbBsOpera7) { + + layerPopup = getElement("PopupMenu"); + layerPopup.innerHTML = strMenu; + stylePopup = layerPopup.style; + + _BSPSGetClientSize(); + + // Get the position of the item causing the event (relative to its parent) + nEventX = window.event.clientX; + nEventY = window.event.clientY; + + if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { + nEventY += document.body.scrollTop + 10; + } else { + nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; + } + stylePopup.top = nEventY; + + var nPopupWidth = layerPopup.scrollWidth; + if (gbBsMac) { + nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. + } + if (nEventX + nPopupWidth + 20 > gBsClientWidth) { + if (gBsClientWidth - nPopupWidth < 5) { + stylePopup.left = 5; + } else { + stylePopup.left = gBsClientWidth - nPopupWidth - 5; + } + } else { + stylePopup.left = nEventX + document.body.scrollLeft + 20; + } + + stylePopup.visibility = "visible"; + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + document.onclick = PopupMenu_HandleClick; + + } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + + if (gbBsNS6) + { + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + } + else + { + nEventX = window.event.clientX; + nEventY = window.event.clientY; + } + _BSPSGetClientSize(); + layerPopup.innerHTML = strMenu; + + if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; + } + + if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; + } + } else { + nEventX += 20; + } + layerPopup.style.top = nEventY; + layerPopup.style.left = nEventX; + // set again to avoid the stupid frash in netscape 6. + layerPopup.innerHTML = strMenu; + layerPopup.style.visibility = "visible"; + //window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + window.onclick = PopupMenu_HandleClick; + } + else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + stylePopup = layerPopup.document; + stylePopup.write(strMenu); + stylePopup.close(); + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _BSPSGetClientSize(); + if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; + } + layerPopup.top = nEventY; + + if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; + } + } else { + nEventX += 20; + } + + layerPopup.left = nEventX; + + layerPopup.visibility = "show"; + + window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onmousedown) + gOlddocumentClick = document.onmousedown; + window.onmousedown = PopupMenu_HandleClick; + } + + window.gbInPopupMenu = true; + window.gbPopupMenuTimeoutExpired = false; + setTimeout("PopupMenu_Timeout();", 100); + return false; +} + +function PopupMenu_Timeout() +{ + window.gbPopupMenuTimeoutExpired = true; +} + +function PopupMenu_Over(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupOver"; + return; +} + +function PopupMenu_Out(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupNotOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupNotOver"; + return; +} + +function PopupMenu_HandleClick(e) +{ + if (window.gbPopupMenuTimeoutExpired) { + window.gbInPopupMenu = false; + if (gbBsNS4 && !gbBsNS6) { + window.releaseEvents(Event.MOUSEDOWN); + } + + var layerPopup = null; + if (gbBsNS4&&!gbBsNS6) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + } else { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + } + + if (gOlddocumentClick) + { + if (gbBsNS4 && !gbBsNS6) + document.onmousedown = gOlddocumentClick; + else + document.onclick = gOlddocumentClick; + } + } + return; +} + +function BSSCPopup_ClickMac() +{ + if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7)) + { + var bClickOnAnchor = false; + var el; + if ((window.event != null) && + (window.event.srcElement != null)) + { + el = window.event.srcElement; + while (el != null) + { + if ((el.tagName == "A") || (el.tagName == "AREA")) { + bClickOnAnchor = true; + break; + } + if (el.tagName == "BODY") { + break; + } + el = getParentNode(el); + } + } + if (BSSCPopup_IsPopup()) + { + if (!bClickOnAnchor) { + parent.window.gPopupWindow = null; + self.close(); + } + } + else + { + bClosePopupWindow = true; + if ((bClickOnAnchor) && + (el.href) && + ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) + { + bClosePopupWindow = false; + } + if (bClosePopupWindow) + { + if (window.gPopupWindow != null && !window.gPopupWindow.closed ) + { + window.gPopupWindow.close(); + } + } + } + } +} + +function BsPopupOnClick() +{ + if (!gbBsIE4 && !gbBsOpera7) + return; + + BSSCPopup_ClickMac(); +} + +function _BSSCOnError(message) +{ + if(-1 != message.indexOf("denied") + || -1 != message.indexOf("Object required")) + return true; +} + +//End to support previous relative topics + +/// Section End - General and relative topics (JavaScript 1.0) + +/// Section Begin - Popup (JavaScript 1.0) +//Begin to support previous popup functions + +//variables used to isolate the browser type +var gBsStyVisShow = null; +var gBsStyVisHide = null; +var gBsClientWidth = 640; +var gBsClientHeight = 480; + +// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. +var gBRateH_W = 0.618; // 1.618 Golden cut. +var gBMaxXOfParent = 0.8; +var gBMaxYOfParent = 0.8; +var gBscrollHeight = 16; +var gBscrollWidth = 16; +var gBpermitXDelta = 3; +var gBpermitYDelta = 3; + + +var arrayPopupURL = new Array(); +var arrayAbsPopupURL = new Array(); + +var arrayDirty = new Array(); + +function setAbsPopupURL(nIndex, strURL) +{ + arrayAbsPopupURL[nIndex] = strURL; +} + +function getAbsPopupURL(nIndex) +{ + if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; + else + return arrayAbsPopupURL[nIndex]; +} + +function getPopupURL(nIndex) +{ + if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; + else + return arrayPopupURL[nIndex]; +} + +function getPopupID(nIndex) +{ + return gstrPopupID + nIndex; +} + +function getPopupShadowID(nIndex) +{ + return gstrPopupShadowID + nIndex; +} + +function getPopupTopicID(nIndex) +{ + return gstrPopupTopicID + nIndex; +} + +function getPopupIFrameID(nIndex) +{ + return gstrPopupIFrameID + nIndex; +} + +function getPopupIFrameName(nIndex) +{ + return gstrPopupIFrameName + nIndex; +} + + +function getPopupTopicStyle(nIndex) +{ + return getElement(getPopupTopicID(nIndex)).style; +} + +function getPopupShadowStyle(nIndex) +{ + return getElement(getPopupShadowID(nIndex)).style; +} + +function getPopupIFrame(nIndex) +{ + if (gbBsNS6) + return eval("window.frames['" + getPopupIFrameName(nIndex) + "']"); + else + return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); +} + +function getPopupDivStyle(nIndex) +{ + return getElement(getPopupID(nIndex)).style; +} + +function getPopupIFrameStyle(nIndex) +{ + return getElement(getPopupIFrameID(nIndex)).style; +} + + +function findDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) { + if (arrayPopupURL[i] == strURL) { + return i; + } + } + return -1; +} + +var gnToken = -1; +function takeToken() +{ + gnToken ++; + if (gnToken > 10000) gnToken = 0; + return gnToken; +} + +function IsValidToken(nToken) +{ + return (gnToken == nToken); +} + +function addDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++) { + if (arrayPopupURL[i] == null) { + arrayPopupURL[i] = strURL; + return i; + } + } + arrayPopupURL[i] = strURL; + arrayDirty[i] = true; + return i; +} + +function setDirty() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + arrayDirty[i] = true; +} + +function IsDirty(nIndex) +{ + if (nIndex == -1) + return true; + else + if (arrayDirty.length > nIndex) + return arrayDirty[nIndex]; + else + return true; +} + +function hideAll() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + { + getPopupDivStyle(i).visibility = gBsStyVisHide; + getPopupIFrameStyle(i).visibility = gBsStyVisHide; + } +} + +function getCurrentPopupIFrame() +{ + for (var i = 0; i < arrayPopupURL.length; i ++) + if (getPopupDivStyle(i).visibility == gBsStyVisShow) + return getPopupIFrame(i); + return null; +} + +function setClear(nIndex) +{ + if (nIndex != -1) + arrayDirty[nIndex] = false; +} + +function _BSSCCreatePopupDiv(strURL) +{ + var nIndex = findDiv(strURL); + if (nIndex == -1 ) { + nIndex = addDiv(strURL); + BsPopup_CreateDiv(nIndex); + } + else { + if (IsDirty(nIndex)) { + if("object" == typeof(getPopupIFrame(nIndex).document)) + getPopupIFrame(nIndex).document.location.href = strURL; + } + } + return nIndex; +} + +//Here is the browser type +function _BSPSGetBrowserInfo() +{ + if (gbBsNS4&&!gbBsNS6) + { + gBsStyVisShow = "show"; + gBsStyVisHide = "hide"; + } + else + { + gBsStyVisShow = "visible"; + gBsStyVisHide = "hidden"; + } +} + +_BSPSGetBrowserInfo(); + +//Get client size info +function _BSPSGetClientSize() +{ + if (gbBsNS4||gbBsKonqueror3||gbBsSafari) + { + gBsClientWidth = innerWidth; + gBsClientHeight = innerHeight; + } + else if (gbBsIE4 || gbBsOpera7) + { + gBsClientWidth = document.body.clientWidth; + gBsClientHeight = document.body.clientHeight; + } +} + +var gstrPopupID = 'BSSCPopup'; +var gstrPopupShadowID = 'BSSCPopupShadow'; +var gstrPopupTopicID = 'BSSCPopupTopic'; +var gstrPopupIFrameID = 'BSSCPopupIFrame'; +var gstrPopupIFrameName = 'BSSCPopupIFrameName'; + +var gstrPopupSecondWindowName = 'BSSCPopup'; + +var gPopupWindow = null; +var gnPopupClickX = 0; +var gnPopupClickY = 0; + +var gnPopupScreenClickX = 0; +var gnPopupScreenClickY = 0; + +var gbPopupTimeoutExpired = false; + +function DHTMLPopupSupport() +{ + if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) { + return true; + } + return false; +} + +function BSSCPopup_IsPopup() +{ + if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { + return true; + } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) { + return true; + } else { + return false; + } +} + +// If there is a hyperlink in a popup window, display the hyperlink in +// the original window. (bsscright) +if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) { + document.write(""); +} + +// Local functions. +function BsPopup_CreateDiv(nIndex) +{ + if(!DHTMLPopupSupport()) + return; + // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. + var strPopupDiv = ""; + + var objBody = getElementsByTag(document, "BODY")[0]; + if( typeof(objBody) != "object" ) + return; + + insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv); +} + +function handleLoadNS() +{ + if (this.id) + { + var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length)); + BSSCPopup_PostWork(nIndex); + } +} + +function BSSCPopup_PostWork(nIndex) +{ + getPopupDivStyle(nIndex).visibility = gBsStyVisShow; + getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow; + + setClear(nIndex); + window.gbPopupTimeoutExpired = true; + + BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); + if (gbBsNS6) + getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false); + else + getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; + + if (!gbOrignalOnMouseDown && document.onmousedown) + gbOrignalOnMouseDown = document.onmousedown; + + if (gbBsNS6) + document.addEventListener("mousedown", BSSCPopupParentClicked,false); + else + document.onmousedown = BSSCPopupParentClicked; +} + +function BSSCPopup_Timeout(nIndex, nToken) +{ + if (!IsValidToken(nToken)) return; + + if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") && + (getPopupIFrame(nIndex).document.body != null))) { + BSSCPopup_PostWork(nIndex); + } else { + setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); + } +} + +// VH 08/10/00 +// do not change target to parent if the href is using javascript +function BSSCPopup_ChangeTargettoParent(tagsObject) +{ + var collA = getElementsByTag(tagsObject, "A"); + BSSCPopup_ChangeTargettoParent2(collA); + + var collIMG = getElementsByTag(tagsObject,"IMG"); + BSSCPopup_ChangeTargettoParent2(collIMG); +} + +function BSSCPopup_ChangeTargettoParent2(colls) +{ + if (colls != null) { + for (var j = 0; j < colls.length; j ++ ) + { + var strtemp = colls[j].href; + if (strtemp) + { + strtemp = strtemp.toLowerCase(); + if (strtemp.indexOf("javascript:") == -1) + if (colls[j].target == "") + colls[j].target = "_parent"; + } + } + } +} + +function BSPSPopupTopicWinHelp(strURL) +{ + _BSSCPopup(strURL); + return; +} + +function _BSSCPopup(strURL, width, height) +{ + var cuswidth = 0; + var cusheight = 0; + if ("undefined" != typeof(width) && "undefined" != typeof(height)) { + cuswidth = width; + cusheight= height; + } + + if (DHTMLPopupSupport()) { + var nToken = takeToken(); // take token first. + var nIndex = _BSSCCreatePopupDiv(strURL); + window.gbPopupTimeoutExpired = false; + var ntWidth = gBsClientWidth; + var ntHeight = gBsClientHeight; + _BSPSGetClientSize(); + if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { + setDirty(); + } + + if (IsDirty(nIndex)) { + if (gbBsMac) { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); + } + } + else { + MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); + } + } else { + _BSSCPopup2(strURL, cuswidth, cusheight); + } + return; +} + +if (gbBsIE55) +{ + var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; + var gnBsUnload=0; + window.onbeforeunload = window_BUnload; +} + +function window_BUnload() +{ + gnBsUnload++; + if (gnBsUnload>1) + return; + for (var i = 0; i < arrayPopupURL.length; i ++) + removeThis(document.all(getPopupID(i))); + arrayPopupURL.length = 0; + if (ehlpdhtm_fOldBefureUnload) + ehlpdhtm_fOldBefureUnload(); +} + +function _BSSCPopup2(strURL, width, height) +{ + if (gbBsOpera6&&gbBsMac) + { + var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName); + wmTemp.close(); + setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100); + } + else + _BSSCPopup3(strURL, width, height); +} + +function _BSSCPopup3(strURL, width, height) +{ + if (window.name == gstrPopupSecondWindowName) { + window.location = strURL; + } else { + if (!gbBsMac || !gbBsNS4) { + BSSCHidePopupWindow(); + } + var nX = 0; + var nY = 0; + var nHeight = 300; + var nWidth = 400; + if (width > 0 && height > 0) { + nHeight = height; + nWidth = width; + } + _BSPSGetClientSize(); + + nX = window.gnPopupScreenClickX; + nY = window.gnPopupScreenClickY; + + if (nY + nHeight + 40 > screen.availHeight) { + nY = screen.availHeight - nHeight - 40; + } + if (nX + nWidth + 40 > screen.availWidth) { + nX = screen.availWidth - nWidth - 40; + } + + // Launch a separate window + var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; + if (gbBsNS) { + if (gbBsNS6) { + strParam += ",Height=" + nHeight + ",Width=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + else { + strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + } + else { + strParam += ",height=" + nHeight + ",width=" + nWidth; + strParam += ",left=" + nX + ",top=" + nY; + } + if (gbBsSafari) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + window.gPopupWindow = window.open(strURL, "", strParam); + window.gPopupWindow.name = gstrPopupSecondWindowName; + window.gPopupWindow.moveTo(nX, nY); + widnow.gPopupWindow.document.location.reload(); + } + else + { + var wmTemp=null; + if (gbBsKonqueror3) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + } + if (gbBsOpera&&gbBsMac) + { + wmTemp= window.open(document.location.href, "Temp", strParam); + } + window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); + if (!gbBsIE) + window.gPopupWindow.focus(); + + if (wmTemp) + wmTemp.close(); + } + + if (gbBsNS4) + setEventHandle(); + else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) + setTimeout("setPopupFocus();", 100); + } + return; +} + +function setEventHandle() +{ + window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + window.gPopupWindow.onblur = NonIEPopup_HandleBlur; +} + +function setPopupFocus() +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleBlur(e) +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleClick(e) +{ + // Because navigator will give the event to the handler before the hyperlink, let's + // first route the event to see if we are clicking on a Popup menu in a popup. + document.routeEvent(e); + + // If a popup menu is active then don't do anything with the click + if (window.gPopupWindow.gbInPopupMenu) { + window.gPopupWindow.captureEvents(Event.CLICK); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + return false; + } + + // Close the popup window + if(e.target.href) + { + if(e.target.href.indexOf("javascript:")==-1) + { + if (e.target.target=="") + window.location.href = e.target.href; + else + window.open(e.target.href, e.target.target); + this.close(); + } + } + else + this.close(); + return false; +} + +function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (!window.getPopupIFrame(nIndex).document) { + _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); + return; + } + + if (!IsValidToken(nToken)) return; + + if (gbBsNS6) + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + return; + } + + if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && + (window.getPopupIFrame(nIndex).document.body != null)) { + if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } + else + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + } + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } +} + +function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (window.gbPopupTimeoutExpired) return; + + if (!IsValidToken(nToken)) return; + + getPopupDivStyle(nIndex).visibility = gBsStyVisHide; + getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide; + + // Determine the width and height for the window + _BSPSGetClientSize(); + + var size = new BSSCSize(0, 0); + + if (cuswidth <= 0 || cusheight <= 0) + BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + else { + size.x = cuswidth; + size.y = cusheight; + } + + // Determine the width and height for the window + var nWidth = size.x; + var nHeight = size.y; + + // for small popup size, we should allow any size. + // The popup size should be ok if bigger than 0 + if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. + + getPopupDivStyle(nIndex).width = nWidth; + getPopupDivStyle(nIndex).height = nHeight; + + getPopupShadowStyle(nIndex).width = nWidth; + getPopupShadowStyle(nIndex).height = nHeight; + getPopupTopicStyle(nIndex).width = nWidth; + getPopupTopicStyle(nIndex).height = nHeight; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).width = nWidth + 2; + getPopupShadowStyle(nIndex).height = nHeight + 2; + getPopupTopicStyle(nIndex).width = nWidth + 2; + getPopupTopicStyle(nIndex).height = nHeight + 2; + } + + getPopupIFrameStyle(nIndex).width = nWidth; + getPopupIFrameStyle(nIndex).height = nHeight; + if (gbBsIE55 || gbBsNS6) + { + getPopupIFrameStyle(nIndex).top = 0; + getPopupIFrameStyle(nIndex).left = 0; + } + + var strURL = getPopupURL(nIndex); + if (strURL.indexOf("#") != -1&&gbBsNS6) + getPopupIFrame(nIndex).location.reload(); + else if (strURL.indexOf("#") != -1||gbBsNS6) + getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. + + MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); +} + +function getScrollLeft() +{ + if (document.body.scrollLeft) + return document.body.scrollLeft; + else if (window.pageXOffset) + return window.pageXOffset; + else + return 0; +} + +function getScrollTop() +{ + if (document.body.scrollTop) + return document.body.scrollTop; + else if (window.pageYOffset) + return window.pageYOffset; + else + return 0; +} + + +function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) +{ + if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + return; + } + + // Determine the position of the window + var nClickX = window.gnPopupClickX; + var nClickY = window.gnPopupClickY; + var nTop = 0; + var nLeft = 0; + + var nWidth = parseInt(getPopupDivStyle(nIndex).width); + var nHeight = parseInt(getPopupDivStyle(nIndex).height); + + if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) { + nTop = nClickY + 10; + } else { + nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20; + } + if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) { + nLeft = nClickX; + } else { + nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8; + } + + if (nTop < getScrollTop()) nTop = getScrollTop() + 1; + if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1; + + getPopupDivStyle(nIndex).left = nLeft; + getPopupDivStyle(nIndex).top = nTop; + + // Set the location of the background blocks + getPopupShadowStyle(nIndex).left = 6; + getPopupShadowStyle(nIndex).top = 6; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).left = 4; + getPopupShadowStyle(nIndex).top = 4; + } + + if (gbBsMac&&gbBsIE4) { + // Total hack on the iMac to get the IFrame to position properly + getPopupIFrameStyle(nIndex).pixelLeft = 100; + getPopupIFrameStyle(nIndex).pixelLeft = 0; + // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it + getPopupIFrame(nIndex).window.BSSCOnLoad(); + } + + if (gbBsNS6&&IsDirty(nIndex)) + getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false); + else + BSSCPopup_Timeout(nIndex , nToken ); + return; +} + +function BSSCSize(x, y) +{ + this.x = x; + this.y = y; +} + +function BSSCGetContentSize(thisWindow, size) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4) + return; + + if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) { + size.x = 320; + size.y = 180; + return; + } + + // Resize the width until it is wide enough to handle the content + // The trick is to start wide and determine when the scrollHeight changes + // because then we know a scrollbar is necessary. We can then go back + // to the next widest size (for no scrollbar) + + var ClientRate = gBsClientHeight / gBsClientWidth; + + + var GoldenSize = new BSSCSize(0,0); + GoldenSize.x = gBsClientWidth * gBMaxXOfParent; + GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; + + if (ClientRate > gBRateH_W) { + GoldenSize.y = GoldenSize.x * gBRateH_W; + } + else { + GoldenSize.x = GoldenSize.y / gBRateH_W; + } + + // Try to using parent specified max x. + var x = 0; + var maxgoldx = GoldenSize.x; + var maxx = gBsClientWidth * gBMaxXOfParent; + + // This double resize causes the document to re-render (and we need it to) + if (!gbBsIE5) + thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. + + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + + var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + + if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can + { + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + + miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + maxy = gBsClientHeight * gBMaxYOfParent; + + if (miny > maxy) { // the popup must have a scroll, OK let it be. + miny = maxy; + size.x = maxx; + size.y = maxy; + thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. + } + else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. + size.y = miny; + + // downsize from maxx , now I try to using binary divide. + x = maxx; + deltax = -maxx/2; + //j = 0; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; + thisWindow.document.body.scroll = 'no'; + } + } + else { + if (thisWindow.document.body.scrollWidth > maxgoldx) { + size.x = maxx; + size.y = miny; + thisWindow.document.body.scroll = 'yes'; + } + else { + // downsize from maxgoldx , now I try to using binary divide. + x = maxgoldx; + deltax = -maxgoldx/2; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight ; + thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. + thisWindow.resizeTo(size.x, size.y); + if (thisWindow.document.body.scrollWidth > size.x) + { + size.x = thisWindow.document.body.scrollWidth; + } + if (thisWindow.document.body.scrollHeight > size.y) + { + size.y = thisWindow.document.body.scrollHeight; + } + } + } + thisWindow.resizeTo(size.x, size.y); + thisWindow.resizeTo(size.x, size.y); + return; +} + +function BSSCPopupParentClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; +} + +function isInsideHyperLink(obj) +{ + if (obj&&obj!=getParentNode(obj)) + { + if (obj.tagName=="A"||obj.tagName=="IMG") + return true; + else + return isInsideHyperLink(getParentNode(obj)); + } + else + return false; +} + +function BSSCPopupClicked(e) +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + var popupIFrame = getCurrentPopupIFrame(); + if (popupIFrame == null) { + return true; + } + + if (gbBsIE4 && (!((popupIFrame.window.event != null) && + (popupIFrame.window.event.srcElement != null) && + isInsideHyperLink(popupIFrame.window.event.srcElement)))) { + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } + else if (gbBsNS6 && (!((e != null) && + (e.target!= null) && isInsideHyperLink(e.target)))) + { + document.addEventListener("mousedown", gbOrignalOnMouseDown,false); + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } +} + +//trace the mouse over's position for hotspot +function BSPSPopupOnMouseOver(event) +{ + if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX; + window.gnPopupScreenClickY = event.screenY; + } else if (gbBsSafari) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX + window.screenX; + window.gnPopupScreenClickY = event.screenY + window.screenY; + } else if (gbBsNS4) { + window.gnPopupClickX = event.pageX - window.pageXOffset; + window.gnPopupClickY = event.pageY - window.pageYOffset; + window.gnPopupScreenClickX = event.screenX - window.pageXOffset; + window.gnPopupScreenClickY = event.screenY - window.pageYOffset; + } +} + +function BSSCHidePopupWindow() +{ + if (window.gPopupWindow != null) { + if (gbBsNS4) { + if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { + window.gPopupWindow.close(); + window.gPopupWindow = null; + } + } + } + return; +} + +// Add the PopupOnClick to the onclick array. +if (typeof(BsscRegisterOnClick) != "undefined") +{ + BsscRegisterOnClick(BsPopupOnClick); +} +//End to support previous popup functions + +/// Section End - Popup (JavaScript 1.0) + +/// Section Begin - Embedded Stub (JavaScript 1.0) + +function BSSCCreatePopupDiv() +{ + return; +} + +function WritePopupMenuLayer() +{ + if (BsscHasExtJs()) {_WritePopupMenuLayer();} +} + +function BSSCPopup(strURL, width, height) +{ + var re = new RegExp("'", 'g'); + strURL = strURL.replace(re, "%27"); + + if (BsscHasExtJs()) { + _BSSCPopup(strURL, width, height); + }else{ + //Create a temporary window first to ensure the real popup comes up on top + var wndTemp = null; + if (!gbBsNS3) { + wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); + } + // Create the real popup window + var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); + // Close the temporary + if (!gbBsNS3) { + wndTemp.close(); + } else { + wndPopup.focus(); + } + } +} + +var gbWndTemp = null, gbWndPopupLinks = null; +var gbstrParaTotal = ""; + +function PopupMenu_Invoke() +{ + if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function') + { + if (Number(gsSkinVersion) > 2 && IsFlashSupported()) + { + return wfRelatedTopic(PopupMenu_Invoke.arguments); + } + } + if (BsscHasExtJs()) { + return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); + } + if (gbBsNS3Before || gbBsIE3Before ) { + var argLen = PopupMenu_Invoke.arguments.length; + if (argLen < 5) { + window.document.location.href = PopupMenu_Invoke.arguments[3]; + return false; + } + gbWndTemp = null; + gbWndPopupLinks = null; + gbstrParaTotal = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + var strParaLine = ""; + if (gbBsNS2){ + strParaLine += "" + strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; + strParaLine += ""; + } else { + strParaLine += ""); + if (gbBsNS2) { + gbWndPopupLinks.document.write(""); + } else { + //YJ: IE301,302 and NS3.x works fine + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("script>"); + gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("/script>"); + } + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.write(gbstrParaTotal); + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.close(); + + // Close the temporary + if (!gbBsNS3 && gbWndTemp != null) { + gbWndTemp.close(); + }else { + gbWndPopupLinks.focus(); + } + + return true; + } + return false; +} + +/// Section End - Embedded Stub (JavaScript 1.0) + +//// Segment End -- (JavaScript 1.0) + +//// Segment Begin -- (JavaScript 1.2) +/// Section Begin - kadov DHTM (JavaScript 1.2) + +//Begin to support extended and dropdown text effects. +function kadovIsParagraph(el) +{ + return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; +} + +function kadovInitEachChild(el) +{ + for(var i=0; i "") ) + child.style.setAttribute( "x-on-pageload", "" ); + } + + var href = child.getAttribute("href") + if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) + kadovFilePopupInit(child.id); // Init for Popup + else if( child.className == "dropspot" || child.className == "expandspot" || + child.className == "glossterm" ) + kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text + else if( child.className == "trigger") + kadovInitTrigger(child.id);// Init for Trigger + else + { + kadovInitEffects(child.id);// Init for DHTML effects + CEngine.SetOneTargetInitialState( child.id ); + } + } + + if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) + child.start = "mouseover";// to start a AVI file. fileopen doesn't work + + kadovInitEachChild(child); + } +} + +function kadovRetrieveTextInner(el) +{ + var x = ""; + if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) + return x; + + if( kadovIsParagraph(el) ) + { + var strNewID = " "; + if( el.id != "" ) + strNewID += "id=" + el.id + "_NewSpan "; + x = "" + el.innerHTML + ""; + } + else + { + for(var i=0; i 0 ) + if( (nTagClose - nTagOpen) != nDistance ) + return strRawHTML; + + var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; + return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); +} + +function kadovAdjustObjectTag(strRawHTML, nStartPos) +{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings + + //Is there any DTC? + var strDTCTagOpen = ''; + var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); + if( nDTCTagOpen < 0 ) + return strRawHTML; + var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); + if( nDTCTagClose < nDTCTagOpen) + return strRawHTML; // no Design Time Controls; + + //Is the DTC HTML Help Control? + var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; + var strRTObjTagClose = ''; + var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); + if( nRTObjTagOpen < nDTCTagOpen ) + return strRawHTML; + var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); + if( nRTObjTagClose < nRTObjTagOpen ) + return strRawHTML; // is not a HTML help control + + // Is it a related Topics html help control? + var strRTObjLabel = ''; + } + + // to insert the reconstructed item params into runtime object tag + var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); + return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); +} + +function kadovTextPopupOnLoad( el ) +{ + if( typeof(el) == "string" ) + el = getElement(el); + + var src = el.getAttribute( "x-use-popup" ); + var bNeedMove=true; + if(!src&&el.id) + { + for (var i=0;i"); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + + //work around the bug in HH.exe that highlight the phrases when use Search tab + //this approach is just removing the tag inserted by Microsoft in the runtime + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); + + var strStyle = " style='display:none; position:relative;"; + var newDiv = "
" + strCleanHTML + "
"; + + removeThis(srcDiv); // empty the original DIV tag + var elParentPra = kadovFindParentParagraph(el); + if( elParentPra ) + insertAdjacentHTML(elParentPra, "afterEnd", newDiv ); + } + else if( type == "expanding" ) + { + var inner = kadovRetrieveTextInner(srcDiv); + if( inner == "" ) + inner = srcDiv.innerHTML; + var strAdjust = kadovAdjustObjectTag(inner,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; + var newSpan = ""; + removeThis(srcDiv); // empty the original DIV tag + insertAdjacentHTML(el, "afterEnd", newSpan ); + } + } + } + else + { + srcDiv.style.display = "none"; + } + return 0; +} + +function getElementsByTag(obj,sTagName) +{ + if(obj.getElementsByTagName) + return obj.getElementsByTagName(sTagName); + else if(obj.all) + return obj.all.tags(sTagName); + return null; +} + +function getElement(sID) +{ + if(document.getElementById) + return document.getElementById(sID); + else if(document.all) + return document.all(sID); + return null; +} + +function getParentNode(obj) +{ + if(obj.parentNode) + return obj.parentNode; + else if(obj.parentElement) + return obj.parentElement; + return null; +} + +function getChildNodes(obj) +{ + if(obj.childNodes) + { + var children = new Array(); + for (var i = 0; i < obj.childNodes.length; i++) + { + if (obj.childNodes[i].nodeType == 1) + children[children.length] = obj.childNodes[i]; + } + return children; + } + else if(obj.children) + return obj.children; + return null; +} + +function removeThis(obj) +{ + if(obj.parentNode) + obj.parentNode.removeChild(obj); + else + obj.outerHTML=""; +} + +function kadovTextPopup( el ) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 ) + return; + + var bNeedMove=true; + + if (window.event) + window.event.cancelBubble = true; + + if( typeof(el) == "string" ) + el = getElement(el); + + if (!el||el==window) + return; + + var src = el.getAttribute( "x-use-popup" ); + if(!src&&el.id) + { + for (var i=0;i= 0 && nNext < values.length ) + { + functions[nIdx] = values.substr( nStart, nNext-nStart+1); + nStart = nNext + 1; + nIdx++; + nNext = values.indexOf( "\)", nStart); + } + + for( var i=0; i= 0 ) + { + nPageClick = arrForClickCount[j].indexOf("="); + if( nPageClick > 0 ) + { + nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; + break; + } + } + } + var args = srcargs; + if( j < arrForClickCount.length ) + {// to strip out the "clicks=99" from the arguments string + args = ""; + for( var k = 0; k < arrForClickCount.length; k ++ ) + { + if( k != j ) + { + args += arrForClickCount[k]; + if( k < arrForClickCount.length - 1 ) + args += ","; + } + } + } + bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); + } +} + +function kadovTranslateProp( prop ) +{ + switch( prop ) + { + case "x-on-hover" : return "bsschover"; + case "x-on-pageclick" : return "bsscpageclick"; + case "x-on-pageload" : return "bsscpageload"; + case "x-on-trigger-1" : return "bssctrigger1"; + case "x-on-trigger-2" : return "bssctrigger2"; + } + return null; +} +//End to convert iWrite format to RoboEditor Format for DHTML effects + +//Begin the definition of one entry to DHTML effects +function bsscFXInit( trigger_ID, target_ID, event_type, + action_type, action_setting, event_addional ) +{ + if( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID + return; // we don't support Navigator yet + + if( typeof(event_type) == "string" ) + event_type = event_type.toLowerCase(); + if( typeof(action_type) == "string" ) + action_type = action_type.toLowerCase(); + if( typeof(action_setting) == "string" ) + action_setting = action_setting.toLowerCase(); + + // to get the target element then add it to the target list + var eleTarget = CCSSP.GetObject( target_ID ); + if( (eleTarget != null) && (event_type != null) && (action_type != null) ) + { + CEngine.AddOneTarget( target_ID, eleTarget ); + CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); + } + + // to validate the trigger_ID parameter + if( typeof(trigger_ID) == "string" && trigger_ID != "" ) + CEngine.BuildTriggerObject( trigger_ID, target_ID ); +} +//End the definition of one entry to DHTML effects + +/// Section End - kadov DHTM (JavaScript 1.2) + +/// Section Begin - CCSSP DHTM (JavaScript 1.2) + +//Begin JavaScript libary for cross-platform positioning object. +function CCSSP(){} // constructor of CCSSP class + +CCSSP.GetObject = function( obj ) +{//convert object name string or reference into a valid object reference + if( typeof(obj) == "object" ) + return obj; + else if( typeof(obj) == "string" && obj != "") + { + if( gbBsNS4 ) + return eval("document." + obj); + else + return eval("document.all(\"" + obj + "\")"); + } + else + return null; +} + +CCSSP.MoveObjectTo = function(obj, x, y) +{//positioning an object at a specific pixel coordinate + if( gbBsNS4 ) + obj.moveTo(x,y); + else + { + obj.style.pixelLeft = x; + obj.style.pixelTop = y; + } +} + +CCSSP.MoveObjectBy = function(obj, dx, dy) +{//moveing a object by x and/or y pixel + if( gbBsNS4 ) + obj.moveBy(dx,dy); + else + { + obj.style.pixelLeft += dx; + obj.style.pixelTop += dy; + } +} + +CCSSP.SetObjectBGColor = function(obj, color) +{//set the background color of an object + if( gbBsNS4 ) + obj.bgColor = color; + else + obj.style.backgroundColor = color; +} + +CCSSP.ShowObject = function(obj, bShow) +{// set the object to be visible or invisible + if( gbBsNS4 ) + obj.visibility = (bShow == true) ? 'show' : 'hide'; + else + obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. +} + +CCSSP.GetObjectLeft = function(obj) +{// retrieve the x coordinate of a posionable object + if( gbBsNS4 ) + return obj.left; + else + return obj.style.pixelLeft; +} + +CCSSP.GetObjectTop = function(obj) +{// retrieve the y coordinate of a posionable object + if( gbBsNS4 ) + return obj.top; + else + return obj.style.pixelTop; +} + +CCSSP.GetObjectContainLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageX; + else + { + if( obj == document.body ) + return obj.clientLeft; + else + return obj.offsetLeft; + } +} + +CCSSP.GetObjectWindowLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageX; + else + { + var nOffsetWindowLeft = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); + return nOffsetWindowLeft; + } +} + +CCSSP.GetObjectContainTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageY; + else + { + if( obj == document.body ) + return obj.clientTop; + else + return obj.offsetTop; + } +} + +CCSSP.GetObjectWindowTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageY; + else + { + var nOffsetWindowTop = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowTop += CCSSP.GetObjectContainTop(element); + return nOffsetWindowTop; + } +} + +CCSSP.GetObjectHeight = function(obj) +{// retrieve the height of a posionable object + if( gbBsNS4 ) + return obj.clip.height; + else + return obj.offsetHeight; +} + +CCSSP.GetObjectWidth = function(obj) +{// retrieve the width of a posionable object + if( gbBsNS4 ) + return obj.clip.width; + else + return obj.offsetWidth; +} + +CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) +{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined + if (gbBsNS4 && !gbBsNS6) + return ; + + var oldHandler = ""; + + if (gbBsMac &&gbBsIE4&&!gbBsIE5) + { + if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") + { //search for + + + + + + + + + +

Geometry preferences

+ +

In the Geometry module you can + set preferences for visualisation of geometrical figures which can be + used in later sessions with this module.

+ +

 

+ +

+ +

 

+ +
+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/i_blue.jpg b/doc/salome/gui/GUI/i_blue.jpg new file mode 100755 index 000000000..ed3acfac2 Binary files /dev/null and b/doc/salome/gui/GUI/i_blue.jpg differ diff --git a/doc/salome/gui/GUI/image51.jpg b/doc/salome/gui/GUI/image51.jpg new file mode 100755 index 000000000..05cdf229e Binary files /dev/null and b/doc/salome/gui/GUI/image51.jpg differ diff --git a/doc/salome/gui/GUI/image54.jpg b/doc/salome/gui/GUI/image54.jpg new file mode 100755 index 000000000..a67ac4c7a Binary files /dev/null and b/doc/salome/gui/GUI/image54.jpg differ diff --git a/doc/salome/gui/GUI/image65.gif b/doc/salome/gui/GUI/image65.gif new file mode 100755 index 000000000..fbf6a81b9 Binary files /dev/null and b/doc/salome/gui/GUI/image65.gif differ diff --git a/doc/salome/gui/GUI/image67.gif b/doc/salome/gui/GUI/image67.gif new file mode 100755 index 000000000..4c5d4d67c Binary files /dev/null and b/doc/salome/gui/GUI/image67.gif differ diff --git a/doc/salome/gui/GUI/image68.gif b/doc/salome/gui/GUI/image68.gif new file mode 100755 index 000000000..f8ea563bb Binary files /dev/null and b/doc/salome/gui/GUI/image68.gif differ diff --git a/doc/salome/gui/GUI/image69.gif b/doc/salome/gui/GUI/image69.gif new file mode 100755 index 000000000..f8ea563bb Binary files /dev/null and b/doc/salome/gui/GUI/image69.gif differ diff --git a/doc/salome/gui/GUI/image70.gif b/doc/salome/gui/GUI/image70.gif new file mode 100755 index 000000000..c88c53ed5 Binary files /dev/null and b/doc/salome/gui/GUI/image70.gif differ diff --git a/doc/salome/gui/GUI/image71.gif b/doc/salome/gui/GUI/image71.gif new file mode 100755 index 000000000..26fcc670f Binary files /dev/null and b/doc/salome/gui/GUI/image71.gif differ diff --git a/doc/salome/gui/GUI/image72.gif b/doc/salome/gui/GUI/image72.gif new file mode 100755 index 000000000..77c21bdeb Binary files /dev/null and b/doc/salome/gui/GUI/image72.gif differ diff --git a/doc/salome/gui/GUI/image73.gif b/doc/salome/gui/GUI/image73.gif new file mode 100755 index 000000000..0ebcf97a2 Binary files /dev/null and b/doc/salome/gui/GUI/image73.gif differ diff --git a/doc/salome/gui/GUI/image75.gif b/doc/salome/gui/GUI/image75.gif new file mode 100755 index 000000000..9fdfbdc40 Binary files /dev/null and b/doc/salome/gui/GUI/image75.gif differ diff --git a/doc/salome/gui/GUI/image94.gif b/doc/salome/gui/GUI/image94.gif new file mode 100755 index 000000000..e2d310c5e Binary files /dev/null and b/doc/salome/gui/GUI/image94.gif differ diff --git a/doc/salome/gui/GUI/index.htm b/doc/salome/gui/GUI/index.htm new file mode 100755 index 000000000..774d93c9a --- /dev/null +++ b/doc/salome/gui/GUI/index.htm @@ -0,0 +1,180 @@ + + +GUI Module Reference Manual + + + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/index_csh.htm b/doc/salome/gui/GUI/index_csh.htm new file mode 100755 index 000000000..ba099aa30 --- /dev/null +++ b/doc/salome/gui/GUI/index_csh.htm @@ -0,0 +1,106 @@ + + +GUI Module Reference Manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/index_rhc.htm b/doc/salome/gui/GUI/index_rhc.htm new file mode 100755 index 000000000..6c22f70fc --- /dev/null +++ b/doc/salome/gui/GUI/index_rhc.htm @@ -0,0 +1,106 @@ + + +GUI Module Reference Manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/introduction_to_gui.htm b/doc/salome/gui/GUI/introduction_to_gui.htm new file mode 100755 index 000000000..4c0851e39 --- /dev/null +++ b/doc/salome/gui/GUI/introduction_to_gui.htm @@ -0,0 +1,192 @@ + + + + + +Introduction to GUI + + + + + + + + + + + + + +

Introduction to GUI

+ +

GUI (Graphical User Interface) provides + a common shell for all components, which can be integrated into the SALOME + platform.

+ +

 

+ +

GUI + component in SALOME platform provides:

+ +

 

+ +
    + +
  • Common + desktop environment (SALOME desktop) + for all components

  • + +
  • Component + integration and management: uploading, switching, component menus/toolbars + handling

  • + +
  • Study + management (creation, saving, loading, editing studies)

  • + +
  • Multi-window + management in the framework of one study

  • + +
  • Management + of objects created or imported into the SALOME application (Object + Browser)

  • + +
  • Integrated + Python interpreter

  • + +
  • Output + messages window

  • + +
  • Additional + tools : Catalogue Generator, + Registry tool

  • + +
  • Standard + viewers for data visualization:

  • +
+ +

- + VTK 3d viewer,

+ +

- + OCC 3d viewer,

+ +

- + Gauss Points viewer

+ +

- + Plot 2d viewer,

+ +

- + Supervision viewer.

+ +

 

+ +

Since version 3.0.0 SALOME GUI is based on + SUIT (Salome User Interface Toolkit) that proposes very flexible, powerful + and safe mechanisms of interaction with SALOME tool components (both CORBA + and standalone), resources management, viewers and selection handling, + exception/signals processing, bringing to top multi-desktop dockable-windowed + user interface which improves the usability of SALOME GUI.

+ +

All Graphical User Interfaces of standard + modules have plug-in structure, i.e. each module is placed in a dynamic + library which is loaded on demand. All modules can create their own menu + items, buttons in toolbar, windows etc

+ +

 

+ + + +Related Topics + + + + + + + diff --git a/doc/salome/gui/GUI/intropage.png b/doc/salome/gui/GUI/intropage.png new file mode 100755 index 000000000..5ef0ae401 Binary files /dev/null and b/doc/salome/gui/GUI/intropage.png differ diff --git a/doc/salome/gui/GUI/kernel.log b/doc/salome/gui/GUI/kernel.log new file mode 100755 index 000000000..05ee6265f --- /dev/null +++ b/doc/salome/gui/GUI/kernel.log @@ -0,0 +1,270 @@ +|SourceProjectName:KERNEL.hpr +|DestinationProjectName:index.htm +whhost.js +whmsg.js +whmozemu.js +whproxy.js +whstub.js +whutils.js +whver.js +whform.js +whphost.js +whstart.js +whtopic.js +whframes.js +whlang.js +whskin_info.htm +whskin_blank.htm +whskin_pickup.htm +whskin_homepage.htm +whskin_tw.htm +whnjs.htm +whthost.js +whtdhtml.htm +whihost.js +whibody.htm +whiform.htm +whfhost.js +whfbody.htm +whfform.htm +whghost.js +whgbody.htm +whgdhtml.htm +whgdef.htm +whproj.js +whproj.xml +whproj.htm +whxdata\whtoc.xml +whxdata\whidx.xml +whxdata\whfts.xml +whxdata\whglo.xml +whdata\whtoc.js +whdata\whtoc.htm +whdata\whtdata.js +whdata\whidx.js +whdata\whidx.htm +whdata\whidata.js +whdata\whfts.js +whdata\whfts.htm +whdata\whglo.js +whdata\whglo.htm +whdata\whgdata.js +whdata\whftdata.js +whdata\whfwdata.js +whres.xml +webhelp.jar +webhelp.cab +whgdata\whnvp30.htm +whgdata\whnvp31.htm +whgdata\whnvp32.htm +whgdata\whnvp33.htm +whgdata\whnvt30.htm +whgdata\whnvt31.htm +whgdata\whnvt32.htm +whgdata\whnvt33.htm +whgdata\whnvf30.htm +whgdata\whnvf31.htm +whgdata\whnvf32.htm +whgdata\whnvf33.htm +whgdata\whnvl31.htm +whgdata\whnvl32.htm +whgdata\whnvl33.htm +whgdata\whexpbar.gif +cshdat_webhelp.htm +whcsh_home.htm +whcshdata.htm +cshdat_robohelp.htm +whd_topic.xml +whd_nvp10.htm +whd_nvp20.htm +whd_tabs.htm +whd_dpns.htm +whd_tab0.gif +whd_tab1.gif +whd_tab2.gif +whd_tab3.gif +whd_tab4.gif +whd_tab5.gif +whd_tab6.gif +whd_tab7.gif +whd_tab8.gif +whd_toc1.gif +whd_toc2.gif +whd_toc3.gif +whd_toc4.gif +whd_show0.gif +whd_show1.gif +whd_show2.gif +whd_hide0.gif +whd_hide1.gif +whd_hide2.gif +whd_sync0.gif +whd_sync1.gif +whd_sync2.gif +whd_prev0.gif +whd_prev1.gif +whd_prev2.gif +whd_next0.gif +whd_next1.gif +whd_next2.gif +whd_wbsh0.gif +whd_wbsh1.gif +whd_wbsh2.gif +whidhtml.htm +whfdhtml.htm +index_hha.hhk +index.hhc +index.hhk +dump_study.htm +geom_preferences.htm +introduction_to_gui.htm +kernel\about_salome_pro_architecture.htm +kernel\about_salome_pro_help_system.htm +kernel\creating_a_new_study.htm +kernel\displaying_studies.htm +kernel\editing_studies.htm +kernel\getting_properties_of_the_study.htm +kernel\getting_started2.htm +kernel\introduction.htm +kernel\introduction_to_salome_pro.htm +kernel\navigating_topics.htm +kernel\opening_studies.htm +kernel\readme.html +kernel\running_salome_pro.htm +kernel\salome_pro_desktop.htm +kernel\saving_a_study.htm +kernel\setting_preferences.htm +kernel\using_catalog_generator.htm +kernel\using_left-hand_tabs.htm +kernel\using_object_browser.htm +kernel\using_registry.htm +mesh_preferences.htm +post-pro_preferences.htm +select_color_and_font.htm +setting_preferences.htm +ehelp.xml +robohhre.lng +texture_horiz_ltbluebubbles.jpg +index.glo +default.css +choicepage.png +intropage.png +pics\registry1.png +logo_salome_2005.png +pics\open.jpg +pics\registry3.png +pics\studyproperties.png +pics\registry4.png +pics\cataloggenerator.png +tip1.gif +pics\pref31.png +readmepage.png +pics\save.jpg +pics\pref32.png +pics\pref21.png +image70.gif +image51.jpg +pics\newsticn.jpg +pics\pref33.png +pics\pref22.png +pics\pref11.png +image71.gif +progresspage.png +pics\pref34.png +pics\pref23.png +pics\pref12.png +image94.gif +closestudy.png +image72.gif +pics\copy-paste.jpg +pics\pref24.png +pics\pref13.png +pics\selectfont.png +pics\view2.png +image54.jpg +image73.gif +pics\selectcolor.png +pics\exemple.gif +pics\pref14.png +pics\dumpstudy.png +pics\neo-view2.png +pics\pref37.png +pics\pref15.png +image75.gif +i_blue.jpg +pics\pref38.png +image65.gif +note1.gif +pics\pref39.png +pics\import.png +pics\objectbrowser1.png +pics\objectbrowser2.png +image67.gif +productpage.png +pics\loadscript.png +pics\geomview-alt.png +pics\lockedstudy.png +pics\loadstudy2.png +image68.gif +image69.gif +index.ppf +ehlpdhtm.js +ss_btn_related_topics.gif +default_ns.css +whxdata\whtdata0.xml +whxdata\whftdata0.xml +whxdata\whfwdata0.xml +whxdata\whgdata0.xml +whdata\whtdata0.htm +whdata\whftdata0.htm +whdata\whfwdata0.htm +whdata\whgdata0.htm +whgdata\whlstt0.htm +whgdata\whlstt1.htm +whgdata\whlstt2.htm +whgdata\whlstt3.htm +whgdata\whlstt4.htm +whgdata\whlstt5.htm +whgdata\whlsti0.htm +whgdata\whlstfl0.htm +whgdata\whlstfl1.htm +whgdata\whlstfl2.htm +whgdata\whlstfl3.htm +whgdata\whlstfl4.htm +whgdata\whlstfl5.htm +whgdata\whlstfl6.htm +whgdata\whlstfl7.htm +whgdata\whlstfl8.htm +whgdata\whlstfl9.htm +whgdata\whlstfl10.htm +whgdata\whlstfl11.htm +whgdata\whlstfl12.htm +whgdata\whlstfl13.htm +whgdata\whlstfl14.htm +whgdata\whlstfl15.htm +whgdata\whlstfl16.htm +whgdata\whlstfl17.htm +whgdata\whlstfl18.htm +whgdata\whlstfl19.htm +whgdata\whlstfl20.htm +whgdata\whlstfl21.htm +whgdata\whlstfl22.htm +whgdata\whlstfl23.htm +whgdata\whlstfl24.htm +whgdata\whlstfl25.htm +whgdata\whlstf0.htm +whgdata\whlstf1.htm +whgdata\whlstf2.htm +whgdata\whlstf3.htm +whgdata\whlstf4.htm +whgdata\whlstf5.htm +whgdata\whlstf6.htm +whgdata\whlstf7.htm +whgdata\whlstf8.htm +whgdata\whlstf9.htm +whgdata\whlstf10.htm +whgdata\whlstf11.htm +whgdata\whlstg0.htm +index.htm +index_csh.htm +index_rhc.htm diff --git a/doc/salome/gui/GUI/kernel/about_salome_pro_architecture.htm b/doc/salome/gui/GUI/kernel/about_salome_pro_architecture.htm new file mode 100755 index 000000000..fea72b8b1 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/about_salome_pro_architecture.htm @@ -0,0 +1,243 @@ + + + + + +About SALOME architecture + + + + + + + + + + + + +

 SALOME + architecture

+ +

SALOME + architecture is based on CORBA + technology using distributed system model of applications. This architecture + takes the concept of multitier client/server to its natural conclusion. + The distributed system model exposes all functionality of the application + as objects, each of which can use any of the services provided by other + objects in the system, or even objects in other systems. The architecture + can also blur the distinction between "client" and "server" + because the client components can also create objects that behave in server-like + roles. This architecture provides the ultimate in flexibility.

+ +

The + distributed system architecture achieves its flexibility by encouraging + (or enforcing) the definition of specific component interfaces. The interface + of a component specifies to other components what services are offered + by that component and how they are used. As long as the interface of a + component remains constant, that component's implementation can change + dramatically without affecting other components.

+ +

All + software components (Post-Pro, Geometry, Mesh...) integrated into SALOME + platform  implement + predefined interfaces. Each component provides data for the SALOME study in a form of links (stored in the + Study) to the specific data created and stored in the component. All components + represent CORBA servers and + it allows to run them on different host stations.

+ +

 

+ +

+ +

 

+ +

It is equally possible to create engine-independent + modules. These modules may not use CORBA at all, and can have internal + data structure which can be written in pure C++ (or python). Such modules + are located inside SALOME GUI process and from the point of view of the + end user have no difference with standard components. Such modules not + using the standard tools of SALOME platform are defined on a special separated + level named CAM. CAM component is the basis for new SALOME GUI and contains + all basic functionality for working with modules (loading; saving, closing, + customization of toolbar and menu).

+ +

Another fundamental piece of the SALOME architecture is the use of the + Interface Definition Language (IDL). IDL, which specifies interfaces between + CORBA components, is instrumental in ensuring CORBA's language independence. + Because interfaces described in IDL can be mapped to any programming language, + CORBA applications and components are thus independent of the language(s) + used to implement them.

+ +

Additional + information about CORBA technology is available at www.omg.org +  

+ +

 

+ +

 In SALOME there + is a possibility to run definite components in the so-called batch mode + without GUI provided by GUI component. In this case you can work with + these components with the help of Python commands and scripts.  

+ +

 

+ +

The + architecture of this all-inclusive platform for numerical components  responds + to the following objectives:

+ +

 

+ +
    + +
  • Flexibility :  the + creation and modification of computation schemes must be easy. The developer + must have easy access to all modeling parameters to create domain-specific + tools adapted to new situations or to test new numerical algorithms. SALOME + allows integration and implementation of numerical and physical components + derived from existing code.

  • +
+ +

 

+ +
    + +
  • Productivity :  the + implementation of code is simple for the user and the reuse of components + (within other environments for macro-components) is noticeably facilitated.

  • +
+ +

 

+ +
    + +
  • Performance :  SALOME + is able to more finely simulate phenomena that is more complex in scale + and in physical coupling requirements. SALOME + economically exploits the performance of used machines (massively + parallel processors, PC clusters, etc).

  • +
+ +

 

+ +
    + +
  • Expandability:  on + the one hand, software technologies and physical architectures evolve + rapidly compared to the development time, validation and use of a scientific + application while on the other hand, the development of a database model + adapted to the totality of exchanges between components can be achieved + incrementally. SALOME  is + able to easily follow these developments.

  • +
+ +

 

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/about_salome_pro_help_system.htm b/doc/salome/gui/GUI/kernel/about_salome_pro_help_system.htm new file mode 100755 index 000000000..0159d82c3 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/about_salome_pro_help_system.htm @@ -0,0 +1,116 @@ + + + + + +About SALOME help system + + + + + + + + + + + + +

About SALOME help system

+ +

Welcome + to SALOME help system. This on-line help has been created in the HTML + format with the help of Java applets. It can be launched in any WEB browser + (Internet Explorer, Netscape Navigator and others) and on any platform + (Windows, Macintosh, Linux and UNIX).

+ +

 

+ +

The SALOME reference + manual contains a set of topics which are divided into different chapters + describing the functionality of different modules of the SALOME platform. + This help system contains a wide variety of navigation + components and search + utilities which will help you to get acquainted with all features + of SALOME.

+ +

 

+ +

  +Related Topics + + +

+ + + + diff --git a/doc/salome/gui/GUI/kernel/creating_a_new_study.htm b/doc/salome/gui/GUI/kernel/creating_a_new_study.htm new file mode 100755 index 000000000..e8655a80a --- /dev/null +++ b/doc/salome/gui/GUI/kernel/creating_a_new_study.htm @@ -0,0 +1,183 @@ + + + + + +Creating a new study + + + + + + + + + + + + + +

Creating a new study

+ +

Study is a document within GUI, an abstraction layer between actual + document data (probably, remote data available through CORBA) and data + presentation (in the Object Browser). It contains a tree of Data Object + instances.

+ +

 

+ +

To + create a new study:

+ +

From + the main menu select File > + New or in the + standard toolbar click icon.

+ +

 

+ +

Your study will be created + with default name Study1. In SALOME + you can create several studies.

+ +

 

+ +

In addition to it, you + can create several windows with different activated viewers (VTK, OCC, + Plot2d) for each study.

+ +

 

+ +

To create a new window + for a definite study:

+ +

 

+ +

1.  Make + your study active: maximize it + (if it minimized) or  click + on the top control zone of the study window.

+ +

 

+ +

2.  From + the main menu select Window > New + Window and from the submenu choose the viewer, which will be activated + in a new window.

+ +

 

+ +

The window for your study + will be created with a default name Study1.

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/displaying_studies.htm b/doc/salome/gui/GUI/kernel/displaying_studies.htm new file mode 100755 index 000000000..ce1e0b792 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/displaying_studies.htm @@ -0,0 +1,152 @@ + + + + + +Displaying studies + + + + + + + + + + + + + +

Displaying studies

+ +

Starting from SALOME version 3.0.0. you are able to work in a multi-desktop + environment, which means that you can open as many studies as you need, + place them wherever you wish on the desktop, in brief, work with Salome + Platform like with a normal Windows application.

+ +

Such windows as Object Browser and Python Console are dockable and also + can be placed at any part of the desktop.

+ +

Only one study window in representation area can be active. You can + change their size and move any windows between representation areas. When + an area becomes empty, it is not displayed.

+ +

All windows are placed inside tabs where you can switch between them. + If there are several windows (viewers) in your current study and you want + to display more then one at the same time, you can split representation + area into two parts, in horizontal or vertical direction, to create two + representation areas with windows be placed in them. To do this, right-click + on the tab and select Split Vertically + or Split Horizontally.

+ +

 

+ +

For example, on this screen-shot the active zone has been split horizontally + to be able to work with OCC and VTK viewers simultaneously, the one of + the windows was split again, at this time vertically to see Plot 2d graphs. +

+ +

 

+ +

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/editing_studies.htm b/doc/salome/gui/GUI/kernel/editing_studies.htm new file mode 100755 index 000000000..68d849757 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/editing_studies.htm @@ -0,0 +1,139 @@ + + + + + +Editing studies + + + + + + + + + + + + + +

Editing studies

+ +

SALOME + has Copy/Paste functionality + allowing to edit your study within a definite component:

+ +

 

+ +

To copy/paste a definite + object:

+ +

In the main toolbar + click one of the icons or from the main menu choose Edit > Copy/Paste option.

+ +

The availability of Copy/Paste operations + depends on the module and the nature of an operation or an object, so + if the module does not provide this functionality, it won't be available.

+ +

 

+ +

+Related Topics + + +

+ + + + diff --git a/doc/salome/gui/GUI/kernel/getting_properties_of_the_study.htm b/doc/salome/gui/GUI/kernel/getting_properties_of_the_study.htm new file mode 100755 index 000000000..5f56db430 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/getting_properties_of_the_study.htm @@ -0,0 +1,190 @@ + + + + + +Getting properties of the study + + + + + + + + + + + + + +

Setting study properties

+ +

To view the properties + of the current study:

+ +

 

+ +

From the main menu select + File > Properties option. The + following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

This dialog box gives + complete information about your study.

+ +

 

+ +

To change the name of the study author:

+ +

 

+ +

In this dialog box click + on the Author field and enter + a new name.

+ +

 

+ +

To view the list of changes made with your study:

+ +

 

+ +

In this dialog box click + on the Modifications field and + scroll it down. Each record contains the following information: date and + time of modification of the study, name of the user, who has made these + changes.    

+ +

 

+ +

To lock your study for modifications:

+ +

 

+ +

In the dialog box shown + on the picture above click on the Locked + field and choose Yes item. +

+ +

 

+ +

In this case your study + will be locked for any kind of modifications for all users. Next time + you try to edit it, you will see the following warning message:

+ +

 

+ +

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/getting_started2.htm b/doc/salome/gui/GUI/kernel/getting_started2.htm new file mode 100755 index 000000000..b355d9e35 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/getting_started2.htm @@ -0,0 +1,135 @@ + + + + + +Getting started2 + + + + + + + + + + + + +

Getting started

+ +

When you start the SALOME Platform, the + following initial desktop window appears:

+ +

 

+ +

+ +

In general, the SALOME platform + is destined for performance of different numerical calculations and  visualization + of the resulting data. For that purpose, in the SALOME environment the + following notion is used  - + Study.

+ +

Study represents a working document in + which you can realize all operations connected with the SALOME functionality. +

+ +

SALOME is a multi-study platform. It means + that simultaneously you can work with several studies.      

+ +

 

+ +

To proceed working in SALOME you should create or open a new + study.  

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/introduction.htm b/doc/salome/gui/GUI/kernel/introduction.htm new file mode 100755 index 000000000..8578bf90c --- /dev/null +++ b/doc/salome/gui/GUI/kernel/introduction.htm @@ -0,0 +1,247 @@ + + + + + +Introduction + + + + + + + + + + + + +

+ +

Introduction

+ +

Welcome to SALOME Platform! Modern technological + products (cars, structures, electrical or electronic equipment) are getting + more and more complex every year and must meet increasingly severe requirements + in terms of quality and performance. For example, for structures and their + environment the demands to reduce risks and optimize costs are extremely + high. It requires particularly refined simulations concerning structural + behavior and robustness to ensure high reliability.

+ +

The + numeric modeling of a physical problem, the development of solutions and + their integration into the design process are often handled in very specific + environments. SALOME represents a generic CAD-based application for digital + simulation with "high reactivity to market evolutions and customer + expectations".

+ +

 

+ +

SALOME is a free software + that provides a generic platform for Pre and Post-Processing for numerical + simulation. It is based on an open and flexible architecture made of reusable + components available as free software.

+ +

 

+ + +++ + + + +
+

SALOME is a CAD/CAE integration + platform. It provides reusable components for:

+
    + +
  • 3D + modeling (bottom-up construction, import, healing);

  • + +
  • Visualization;

  • + +
  • Computational + schemas management;

  • + +
  • Post-processing.

  • +
+

SALOME + is tailored for integration of custom components:

+
    + +
  • CAD + interfaces;

  • + +
  • Mesh + generators;

  • + +
  • Finite + Element solvers with specific pre-processors.

  • +
+

The + SALOME platform is available in Open Source.

+

+ +

 

+ +

Salome Platform:

+ +
    + +
  • Supports + interoperability between CAD modeling and computation software (CAD-CAE + link)

  • + +
  • Makes + easier the integration of new components on heterogeneous systems for + numerical computation

  • + +
  • Sets + the priority to multi-physics coupling between computation software

  • + +
  • Provides + a generic user interface, user-friendly and efficient, which helps to + reduce the costs and delays of carrying out the studies

  • + +
  • Reduces + training time to the specific time for learning the software solution + which has been based on this platform

  • + +
  • All + functionalities are accessible through the programmatic integrated Python + console

  • +
+ +

 

+ + +++ + + + +
+

+

What + can you do in SALOME? (Some of SALOME main functions)

+
    + +
  • Define geometrical models + (create/modify geometrical items), import and export them using the BREP, + IGES and STEP formats;

  • + +
  • Define + meshing of these geometrical items, import and export them;

  • + +
  • Handle + physical properties and quantities attached to geometrical items, import + and export them to a reusable format;

  • + +
  • Perform + computations using a solver (optionally provided): read input data, configure + the solver, and write calculation results);

  • + +
  • Visualize + result fields in 3D, 2D and export images of their visualization to an + appropriate format;

  • + +
  • Manage + study schemes: definition, save/restore;

  • + +
  • Manage + computation schemes: definition, execution.

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/introduction_to_salome_pro.htm b/doc/salome/gui/GUI/kernel/introduction_to_salome_pro.htm new file mode 100755 index 000000000..e1f8bfca9 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/introduction_to_salome_pro.htm @@ -0,0 +1,213 @@ + + + + + +Introduction to SALOME + + + + + + + + + + + + + +

Introduction + to SALOME

+ +

 SALOME + platform represents a generic open source platform for pre- and post-processing + in numeric simulations. SALOME + combines several software components, which are built in such a way that + it allows to integrate solvers and existing meshing algorithms along with + the specification of physical properties for a given domain. The originality + of this approach is that the various components must cooperate dynamically + and be configurable.

+ +

 

+ +

+ +

 

+ +

 

+ +

SALOME + platform integrates a number of modules each having its own function:

+ +

 

+ +
    + +
  • KERNEL + –  provides a common + shell for all components, which can be integrated into the SALOME platform.

  • +
+ +

 

+ +
    + +
  • GUI (Graphical + User Interface) provides visual representation: basic widgets, viewers etc. Third party + modules optionally can have GUI, but in any case they always connected + with KERNEL.

  • +
+ +

 

+ +
    + +
  • Geometry :  facilitates + construction and optimization of geometrical models using a wide range + of  CAD + functions.

  • +
+ +

 

+ +
    + +
  • Mesh :  generates + meshes on geometrical models previously created or imported by the GEOM + component.

  • +
+ +

 

+ +
    + +
  • Supervisor :  provides + tools for construction of graphs and execution of calculations.

  • +
+ +

 

+ +
    + +
  • Post-Pro :  Post-processing + module for data visualization

  • +
+ +

 

+ +
    + +
  • MED : Module allowing to work with MED + files.

  • +
+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/navigating_topics.htm b/doc/salome/gui/GUI/kernel/navigating_topics.htm new file mode 100755 index 000000000..c98791e2a --- /dev/null +++ b/doc/salome/gui/GUI/kernel/navigating_topics.htm @@ -0,0 +1,172 @@ + + + + + +Navigating topics + + + + + + + + + + + + +

Navigating topics

+ +

Topics in the SALOME + Help system include + a variety of navigation components including:

+ +

 

+ +
    + +
  • Related Topics buttons: When you click + a Related Topics button, a pop-up menu opens that displays a list of topics + you can go to. The topics are relevant to what you are currently reading + in the right-hand pane or they cross-reference related information that + you can go to. Click a topic from the pop-up and it opens in the right-hand + pane.

  • +
+ +

 

+ +
    + +
  • Drop-down hotspots: Many topics include + drop-down hotspots. This is clickable text (text links) that displays + more information below the hotspot. You only need to click the hotspots + you want to read. To close the text, click the hotspot again.

  • +
+ +

 

+ +
    + +
  • Expanding hotspots: Some topics include + expanding hotspots. This kind of hotspot is a text link that displays + information immediately following the text. You only have to click the + hotspots you want more information about. To close the text, click the + hotspot again.

  • +
+ +

 

+ +
    + +
  • Text-only popups: This kind of link + is text that displays a pop-up window when clicked. The popup window displays + brief information about a term or concept relevant to the topic you're + currently reading. When you finish viewing the information, you click + inside the pop-up window to close it.

  • +
+ +

 

+ +
    + +
  • Popups: When you click some links, the + destination topic opens in a popup inside the same window that's open. + It's like having two windows in one, only the focus is on the information + in the popup. When you finish reading the information in the popup, you + can close it from view or navigate to any of its links.

  • +
+ +

      

+ +

+Related Topics + + +

+ + + + diff --git a/doc/salome/gui/GUI/kernel/opening_studies.htm b/doc/salome/gui/GUI/kernel/opening_studies.htm new file mode 100755 index 000000000..454f55f61 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/opening_studies.htm @@ -0,0 +1,195 @@ + + + + + +Opening studies + + + + + + + + + + + + + +

Opening studies

+ +

In SALOME all studies are stored in a special + format *.hdf.

+ +

 

+ +

To open an existing + study:

+ +

 

+ +

In + the main toolbar click or + from the main menu select File + > Open option. + From a standard Search File dialog box choose the required *.hdf file + and click Open + button.

+ +

 

+ +

 

+ +

To + load an unloaded study (see also): +

+ +

 

+ +

From the main menu select + File > Connect option. In the + following dialog box select one of the studies, which has been previously + created and unloaded and click Ok + button:

+ +

 

+ +

+ +

 

+ +

After opening an existing study, you will see its structure + in the Object Browser. It will + contain the objects created with the help of different components during + the previous study session. If you right-click on one of the objects and + from the associated pop-up menu choose Open + With option, which will automatically + launch the component corresponding to this object.

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/readme.html b/doc/salome/gui/GUI/kernel/readme.html new file mode 100755 index 000000000..903530336 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/readme.html @@ -0,0 +1,1323 @@ + + + + + +Installation Wizard + + + + + + + + + + + + +

Installing SALOME

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

Installing products with the Installation Wizard

+ +

The Installation Wizard can be launched in two modes: gui and batch. +
+The root directory of the Installation Wizard contains python script runInstall. To run the Installation + Wizard just type runInstall in terminal window:

+ +

[ python ] runInstall [ -g | -b ] [ -f + <xml-file> ] [ -t <target-dir> ] [ -tmp <tmp-dir> ] +

+ +

 

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

-g

+

Runs the Installation Wizard in the GUI mode (default option). In this + case only <xml-file> key + is taken into account. Other parameters are ignored.  

+

-b

+

Runs the Installation Wizard in command-line mode.

+

-f <xml-file>

+

The configuration file to be used by the Installation Wizard.  + If this parameter is missed then the script tries to define the Linux + version and uses corresponding xml file. For examle, for the Linux + Mandrake 10.1 config_Mandrake10_1.xml  file is supposed + to be used by default. If the appropriate file is not found, config.xml + is used by default.  This file refers to the basic target platform + which is Mandrake 10.1 for SALOME 3.0 and higher. If config.xml file is + also not found the warning message box is shown and Installation Wizard + quits.

+

 -t <target-dir>

+

The target directory, SALOME platform to be installed to. If used, overloads + default target directory, given in the configuration xml file (usually + /salome, see here).

+

-tmp <tmp-dir>

+

The directory, which is used to contain temporary files.  If used, + overloads default temporary directory, given in the configuration xml + file (usually /tmp, see here).

+

-h

+

Prints this help information.

+ +

   +      

+ +

So, to run the Installation Wizard in the GUI mode, just type runInstall. +

+ +

 

+ +

The installation procedure can support some different Linux platforms + and various number of products. As it was mentioned above the basic target + platform for SALOME 3.0.0 and higher is Linux Mandrake 10.1.
 

+ +

The using of configuration xml files gives flexible way to modify the + list of products to be installed by the Installation Wizard without changing + program's source code. Just create your own configuration file and implement + installation scripts for products you want to be provided by Wizard. See + modifying XML configuration file and implementing + installation scripts for the new products for more information.

+ +

 

+ +

The Installation Wizard was built with using + of the Trolltech's Qt  + 3.0.5 library. The program contains several pages. To navigate + between pages use "Next" and "Back" + buttons in the lower part of the wizard window. "Cancel" + button closes dialog window and quits the installation procedure. To invoke + this help information click "Help" button.

+ +

 

+ +

Skip the first "Introduction" page by pressing "Next" + button:

+ +

 

+ +

+ +

 

+ +

Figure 1: "Introduction" + page

+ +

 

+ +

In the second page you are proposed to enter the target directory where + all selected products should be installed to. You can also press the "Browse..." + button and choose the folder for installation using standard Qt's + browse directory dialog box.
+If the directory you want to install products to does not exist you will + be prompted to confirm the directory creation. If you type a wrong directory + path, or if you have no permission for the directory you use, the corresponding + message box will appear.

+ +

The Installation Wizard has two modes of the installation: basic (default) + and advanced. In the basic mode it is necessary just to enter the target + directory. If you want to use the advanced mode, click the "More..." + button.

+ +

 

+ +

In the advanced mode you have the possibility to select products to + be installed (see Fig.2 ). Each product can + have several options of installation: you have a possibility to use native + products, install already precompiled binaries, build product from the + sources or not install it at all. Possible options and default choice + are provided by the configuration file. You can mark the products you + want to install by clicking the corresponding radio buttons in the list + view in the left part of the page. Note that some products can be installed + only together with other products (or these prerequisite products should + be already installed on your computer). The installation procedure has + a special feature to automatically mark these products in the list view. + For example, in order to install PyQt it is necessary to + have gcc, Python, Qt and Sip + installed. Therefore all these products will be marked when you check + PyQt. This feature can be switched off by clicking the "Auto + set prerequisites products" checkbox.
 

+ +

Special button in the right part of the page - "Unselect All" + - allows to quickly reset all products to the "not install" + state.
+If you want to use native products (like gcc, + tcl, etc.), select the "use + native" option.

+ +

 

+ +

There are also two checkboxes on this page: "SALOME sources" + and "SALOME binaries". These three-state checkboxes allow + quick selecting/unselecting SALOME packages for the installation.

+ +

 

+ +

The box in the right part of the page displays the information about + currently highlighted product: name, version, short description (if provided + in XML file), required disk space, disk space required for temporary files, + list of prerequisites and current user choice.  

+ + + +

+ +

 

+ +

Figure 2: "Installation + settings" page in the advanced mode

+ +

 

+ +

The "Total disk space required:" field displays how + much disk space on the hard drive is required for installation of selected + products.

+ +

 

+ +  + +

Please, take into account + that the displayed amount of required disk space is approximate and may + differ when you install products on your hard drive.

+ +

 

+ +

The installation procedure uses a special directory to store temporary + files. The "Space for temporary files:" field shows the + information about required disk space on the hard drive for extracting + and compiling of the selected products. You can change the default directory + - just type path to the folder you want to use or click on the corresponding + "Browse..." button.

+ +

 

+ +

In fact, temporary files + are not stored in the directory entered by user. The Installation Wizard + creates in this directory an additional folder named something like INSTALLWORKXXXXX where XXXXX is a unique number. + This allows to launch several Installation Wizards simultaneously. This + temporary directory is removed automatically when the installation finishes.

+ +

 

+ +

The installation procedure also checks the available disk space in the + selected directories according to the products selected. If there is not + enough disk space on your hard drive you will see the corresponding error + message box.

+ +

 

+ +

Unfortunately, the configure + procedure has a very annoying bug under Linux platform. The directory + should be obligatory entered without spaces. For example, the configure + procedure for gcc won't work if you pass the following parameter: + --prefix="/New Folder 1". Therefore you are strongly + recommended not to use directory names containing spaces.

+ +

 

+ +

To proceed further click the "Next" button. At this + moment the program will make some tests to check installation settings: + whether there is enough disk space on the hard drive, whether native products + are preinstalled, and the dependencies (prerequisites) for each product + you have selected to be installed. If any test fails you will see the + corresponding warning message box. Otherwise the wizard will follow to + the next page:

+ +

 

+ +


+

+ +

 

+ +

Figure 3: "Check + your choice" page

+ +

 

+ +

This page summarizes the installation settings you've made on the previous + pages. You can check again your choice to change it if necessary.

+ +  + +

When you are sure that everything is OK, press the "Next" + button to follow to the next page.

+ +

 

+ + + +

 

+ +

 

+ +

Figure 4: "Installation + progress" page

+ +

 

+ +

To start installation of the selected products click "Start" + button. It launches the shell installation script and you will be able + to see the output of the script in the dialog's topmost  frame. + In case of any installation problems (for example, you have accidentally + removed the temporary directory) the script will ask you: "Would + you like to continue : (Y,N) ?". You can answer this question + by typing [Y] or [N] in the middle text edit control frame.

+ +

 

+ +

press [Enter] when you finish + typing data.

+ +

 

+ +

The "Installation Status" frame window shows you the + progress of installation. It contains a list of all selected products + with brief descriptions. "Waiting" + description means that installation of this product have not started yet. + Currently the product being installed is marked as "Processing". All installed products have + "Completed" description.

+ +

You can abort installation and close the installation procedure using + the "Cancel" button. It sends the signal "SIGTERM" + to the shell script. The script has a signal handler and will try to clear + all temporary files. The process of removing temporary files can take + some time, so the installation wizard will wait 3 seconds before closing. +

+ +

At the end of installation (when all selected products have been installed + successfully) you can go back to the previous pages to start a new installation + or click the "Next" button to go the Readme page:

+ +


+

+ +

 

+ +

Figure 5: "Finish + installation" page

+ +

 

+ +

In this page you can read some important information about the Instalation + Wizard itself and some hints: how to run and test SALOME or how to build + SALOME from the sources. This is the content of the README file which + you can find in the root directory of the Installation Wizard.
+You can also launch SALOME Desktop from this page by clicking the "Launch + SALOME" button.

+ +

 

+ +

During the process of installation the script + creates some environment files to simplify the procedure of launching + SALOME. These shell scripts set all necessary environment variables for + all products you have installed. To learn how installation scripts collect + the environment, see  here.

+ +

 

+ +

These files are: salome.csh + salome.sh in the KERNEL + module sources and KERNEL + module binaries root directories and env_products.csh + + env_products.sh in the target directory.

+ +  + +

salome.(c)sh and env_products.(c)sh + files are slightly different: env_products.* files are optimized to + be used for the building of SALOME modules from the sources (see README file provided with the installation + procedure on the CD). The salome.* files are optimized for the SALOME + launching. This difference is defined by the environment variable ENV_FOR_LAUNCH which is set + to 0 in env_products.* files and to 1 in salome.* files.

+ + +
+ + +

Notes on check products + version procedure

+ +

Unfortunately under Linux platform there is no exact algorithm to identify + the product's version. The table below gives an idea how the version is + checked for the preinstalled products for the Linux Mandrake 10.1 platform. +

+ +

 

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

Product

+

Algorithm of checking

+

Preliminary steps before launching
+the installation procedure

+

Notes

gcc 3.4.1ver=`gcc + -dumpversion` +

-

ver + should be 3.4.1.
+It is recommended to use native gcc on Mandrake 10.1.
tcl 8.4.51) + check if TCLHOME variable is set
+2)
existence of tclsh8.4
+3)
existence of wish8.4
+4)
existence of libtcl8.4.so
+5)
existence of libtk8.4.so
set TCLHOME + if you have a preinstalled version of tcl.
+add a directory where libraries can be found to the LD_LIBRARY_PATH
Unfortunately there is no strict + way to check the tcl version number.
+It is recommended to use native tcl/tk on Mandrake 10.1.
boost 1.31.01) check if BOOSTDIR variable is set.
+2)
ver=`egrep 'BOOST_VERSION + [0-9]+' ${BOOSTDIR}/boost/version.hpp | sed 's/.*BOOST_VERSION \([0-9]\+\)/\1/g'`
set BOOSTDIR if + you have a preinstalled version of boostwe use file version.hpp in the boost distribution to get + the version information.
+ver
should be equal to 103100.
Open CASCADE 5.2.31) + check if CASROOT variable is set
+2)
ver_major=`grep "!define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx + | awk '{print $3}'`
+3)
ver_minor=`grep "!define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx + | awk '{print $3}'`
+4)
ver="$ver_major.$ver_minor"
+5)
Check the existence of libStdPlugin.so in OpenCASCADE distribution,
set CASROOT + if you have a preinstalled version of Open CASCADECASCADE's Standard_Version.hxx file + provides the version information.
+ver
should be equal to 5.2.
+
+Unfortunately it is impossible to define the release version number. Instead + we check if libStdPlugin.so library exists: it is introduced in OpenCASCADE + since version 5.2.2.
Python 2.3.41) + PYTHONHOME variable should be + set
+2)
isPython=`which python`
+3)
ver=`python -V`
set PYTHONHOME + to root Python distribution folder;
+add the directory where python can be found to the PATH + variable
Python should exist and ver + should be equal to 2.3.4
+It is recommended to use native Python on Mandrake 10.1.
Swig 1.3.24ver=`swig + -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`add the directory where swig binary + can be found to the PATH variableSwig should exist and ver + should be equal to 1.3.24.
Qt 3.3.31) + QTDIR variable should be set.
+2) ver
=`grep "QT_VERSION_STR" ${QTDIR}/include/qglobal.h + | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`
set QTDIR + if you have a preinstalled version of qtQt's qglobal.h file provides version + information: ver should be equal + to 3.0.5.
+It is recommended to use native Qt on Mandrake 10.1.
msg2qm (Qt 3.3.3 compatible)MSG2QM_ROOT + variable should be set.set  MSG2QM_ROOT + if you have preinstalled version of msg2qm toolmsg2qm is a Qt tool used to convert + text *.po files to *.qm resource files. Unfortunately this tool is not + included in the Qt distribution and is provided only in its sources package. + We distribute this tool with the Installation Wizard.
+In addition there is no way to check the version number of msg2qm tool.
Qwt 4.2.0/0.4.21) + QWTHOME variable should be set.
+2)
check if libqwt.so.4.2.0 exists
set  QWTHOME + if you have a preinstalled version of qwtUnfortunately there is no strict + way to check the qwt version number.
+We try to find libqwt.so.4.2.0 in the ${QWTHOME}/lib + folder. 
Hdf 5-1.6.31) + HDF5HOME variable should be set.
+2)
existence of libhdf5.so.0.0.0
+3)
existence of libhdf5.settings
+4)
ver=`grep "HDF5 + Version:" ${HDF5HOME}/lib/libhdf5.settings | awk '{print $3}'`
set HDF5HOME + if you have a preinstalled version of hdfWe try to find libhdf5.so.0.0.0 and + libhdf5.settings in ${HDF5HOME}/lib + folder.
+File libhdf5.settings contains the following version information:
+HDF5 Version: 1.6.3
Med 2.2.21) + MED2HOME variable should be set.
+2)
existence of libmed.so.1.0.1
set MED2HOME + if you have a preinstalled version of medUnfortunately there is no strict + way to check the med version number.
+We try to find libmed.so.1.0.1 in ${MED2HOME}/lib + folder.
+If you have a problem with the preinstalled version of med, please, reinstall + it.
Vtk 4.2.61) + VTKHOME variable should be set.
+2)
existence of libvtkCommon.so
set VTKHOME + if you have a preinstalled version of vtkUnfortunately there is no strict + way to check the VTK version number.
+We try to find libvtkCommon.so in ${VTKHOME}/lib/vtk + folder.
+If you have a problem with the preinstalled version of vtk, please, reinstall + it.
Netgen 4.3NETGENROOT variable + should be set. set NETGENROOT if + you have a preinstalled version of Netgen.Unfortunately we can't find anything about netgen version.
+We just check if the NETGENROOT + environment varible is set.
OmniORB 4.0.5,
+OmniORBpy 2.5,
+OmniNotify 2.1
1) + OMNIORBDIR variable should be set.
+2)
existence of libomniORB4.so.0.5
+3)
existence of _omnipymodule.so.2.4
+4)
existence of libCOSNotify4.so.0.1
+5)
existence of notifd
set OMNIORBDIR + if you have a preinstalled version of omniWe try to find several omni libraries + and binaries in the ${OMNIORBDIR}/lib + and ${OMNIORBDIR}/bin directories.
Numeric 23.7ver=`python + -c 'import Numeric; print Numeric.__version__' 2>/dev/null`add the directory where you + have the preinstalled version of Numeric package to your PYTHONHOME + variableIf you have problem with the preinstalled + version of Numeric 23.7, please, reinstall it.
Sip 4.11) + SIPDIR variable should be set.
+2) ver
=`${SIPDIR}/sip -V | awk '{print $1}'`
set SIPDIR + to the directory where you have sip preinstalledver + should be equal to 4.1.
PyQt 3.131) + PYQTDIR variable should be set.
+2)
existence of qt.so library
set PYQTDIR + to the directory where you have PyQt preinstalledUnfortunately we can't exactly check + the PyQt version number.
+We just try to find qt.so in ${PYQTDIR}. +
HappyDoc 2.11) + existence of happydoc
+2)
ver=`happydoc | grep + "HappyDoc version 2.1"`
add the directory where you have + HappyDoc installed to your PATH + variable.We try to find happydoc in ${PATH}.
+ver
should not be empty.
+
+Note:
this product is not obligatory for SALOME compilation.
Doxygen 1.3.71) + existence of doxygen
+2)
existence of doxytag
+3)
existence of doxywizard
+4)
ver=`doxygen --version`
add the directory where you have + doxygen binaries preinstalled to the  PATH + variable.doxygen, doxytag, doxywizard binaries + should exist; ver should be equal + to 1.3.7.
+
+If you have problem with the preinstalled version of doxygen, please, reinstall + it.
+
+It is recommended to use native doxygen on Mandrake 10.1.
Graphviz 2.2.11) + existence of dot binary.
+2)
ver=`dot -V 2>&1 + | awk '{print $3}'`
add the graphviz bin directory to + the PATH environment variableWe try to find dot program in the + ${PATH}.
+ver
should be equal to 2.2.1.
MODULE + binaries
+(where MODULE = KERNEL, GUI, GEOM, + ...)
1) + MODULE_ROOT_DIR variable should be set
+2)
existence of VERSION file
+3) ver
=`cat ${MODULE_ROOT_DIR}/bin/salome/VERSION + | awk -F: '{print $NF}' | tr -d '[:space:]'`
set MODULE_ROOT_DIR + if you have preinstalled binaries of MODULE + version 3.0.0.MODULE + binaries should exist and ver + should be equal to 3.0.0.
MODULE + sources
+(where MODULE = KERNEL, GUI, GEOM, + ...)
1) + existence of MODULE_SRC_DIR
+2)
existence of VERSION file
+3) ver
=`cat ${MODULE_SRC_DIR}/bin/VERSION + | awk -F: '{print $NF}' | tr -d '[:space:]'`
set MODULE_SRC_DIR + if you have preinstalled sources of MODULE + version 3.0.0.MODULE + sources should exist and ver should be equal to 3.0.0.
+
+

 

+ +

 

+ +

For native products the installation + procedure sets proper environment variables itself, and you do not need + to set such variables like, e.g. TCLHOME or PYTHONHOME. +
+If you have native products installed to directories different from default + ones (not /usr/bin, /usr/lib...), it is recommended to follow + the above description. Or you should properly set PATH + and LD_LIBRARY_PATH variables + before starting the Installation Wizard. + Otherwise the installation script will fail to find the preinstalled products.

+ +

 

+ +

 

+ +

For some native products (e.g. gcc, Python) the + rules of version checking are not so strict as described in the table. + Only major and minor version numbers should coincide with the prerequisite. + Release number can be larger. This is done to give a possibility to use + native products for newer versions of Linux. If some native product has + a version number larger than the one required by the installation procedure, + the user will be prompted by the warning message like this: "You + have a newer version of gcc installed on your computer than that is required + (3.4.1). Continue?". You can press the "Yes" + button to proceed with the installation but in this case you should be + aware of what you are doing. SALOME binaries (including other products) + are compiled with the predefined prerequisites and most likely can not + be run successfully if these products are not found. This can be only + helpful if you intend to build all products from the sources.

+ +

 

+ + +
+ + +

Pick up the environment

+ +

Please, read carefully the following information. This section describes + how the installation procedure collects the environment.

+ +

After installing each product the shell script creates a special environment + file for each product in its target folder . The name of the file is generated + from the name of the product according to the following scheme: env_<product_name>.sh. + This file includes all necessary product settings. For example for Vtk + the file is env_Vtk.sh. Environment files allow to pick up all + environment settings which are necessary to build and launch SALOME. When + installing SALOME sources and/or binaries, the installation procedure + picks up all the settings files and generates two scripts: salome.sh + and salome.csh for sh and csh correspondingly. Such approach helps + to save time when reinstalling products and you may not care about setting + all environment variables manually to build/launch SALOME. What you need + is just to use one of these scripts.

+ +

This also concerns those products which are not currently installed. + For example, you install some SALOME binaries to the directory where you + have previously installed other products.  The installation procedure + still tries to collect the environment files from the target directory + if it finds necessary products there. If some product are not found in + the target directory the corresponding section of salome.sh/salome.csh + files will be skipped.
+For native products (like gcc, tcl, etc...) the installation + procedure tries to find them first using PATH / LD_LIBRARY_PATH + variables and then in the system default directories (/usr/bin, /usr/lib + etc., depending on the product).

+ +

In any case you may edit salome.* files after the installation + procedure finishes, as you want.
 

+ +

Note: as it was mentioned above + there are two more environment files which are generated by the installation + procedure: env_products.csh and env_products.sh. These files can be found + in the target installation root directory.

+ +

 

+ + +
+ + +

Modifying XML configuration + file

+ +

You can create your own configuration file. The Installation Wizard + can then take it as a command line argument to provide a list of products + you want to install with it. The list of products and some other settings + for the Installation Wizard are provided in the XML file. The default + file the Installation Wizard looks for if no command line arguments are + given, is config.xml. This section describes the structure of the + configuration file.
+XML tags are in bold blue, optional sections/tags are in brackets.

+ +

<document>
+   
[
<config [ version=<install_wizard_version> ]
+              [ + caption=<install_wizard_caption> ]

+              [ + copyright=<install_wizard_copyright>  ]

+              [ + license=<install_wizard_license_info> ]

+              [ + os=<target_platform> ]

+      />

+    ]

+   
[
<path   [ targetdir=<target_directory> ] +
+              [ + tempdir=<temp_directory>     ]

+      />

+    ]

+    [
<product  name=<product_name>
+                + version=<product_version>

+              [ context=<product_context>         + ]
+              [ description=<product_description> + ]
+                + install=<installation_mode>

+                + supported=<supported_installation_modes>

+                + disable=<disable_flag>
+              [ pickupenv=<pickup_env_flag>       + ]

+                + dependancies=<list_of_prerequisites>
 
+                + installdiskspace=<install_disk_space>

+                + temporarydiskspace=<tmp_disk_space>

+                + script=<installation_script_name>

+      />
+
+    ]

+    [
<product ...
+      />
+
+    ]

+    .
.. +
+</document>

+ +

<config> section

+ +This is an optional section - it contains general + information the Installation Wizard itself. + +
    + +
  • version: Installation + Wizard version number;
  • + +
  • caption: Installation Wizard main window title + - if this string contains the '%1' text - the title will contain a version + number in this place (see above);
  • + +
  • copyright: Installation + Wizard copyright information (appears on the first page of the program);
  • + +
  • license: Installation + Wizard license information (appears on the first page of the program);
  • + +
  • os: Contains directory + name (relative from ./Products/BINARIES) where the Installation Wizard + should search precompiled binaries packages. If this tag is skipped, binaries + are implied to be in the ./Products/BINARIES directory.
  • +
+ +

<path> section

+ +This is an optional section - it contains default directories. + +
    + +
  • targetdir: Starting target + directory - path to the directory where products should be installed;
  • + +
  • tempdir: Starting temp + directory - path to the directory for the temporary files.
  • +
+ +

<product> section

+ +This section describes the products that are to be installed with the Installation + Wizard. Products appear in the products tree and are installed in the + order they are described in the configuration file. It is recommended + to insert native products at the top of the list before all other products. + + +
    + +
  • name: Name of the product;
  • + +
  • version: Version of the + product;
  • + +
  • description: Description + of the product (optional);
  • + +
  • context: Context of the + product (optional); the possible values are 'salome sources', 'salome + binaries' and 'prerequisite';
  • + +
  • supported: Supported modes + of installation, should contain one or more of the following options, + separated by a comma: install sources, install binaries, + use native. The Installation script should contain corresponding + functions for each of supported installation modes;
  • + +
  • install: Default (starting) + installation mode;
  • + +
  • disable: If this flag + has 'true' value, the corresponding product will not appear in the list + of products tree and will not be installed;
  • + +
  • pickupenv: This flag points that the pickup + environment procedure should be performed for this module. If this flag + is equal to true,  salome.sh and salome.csh files will  + be created in the product's installation directory. Usually this option + is set to true for SALOME KERNEL module sources and the binaries package. + This is an optional key, the default value is false.
  • + +
  • dependancies: list of + prerequisite products, which are necessary to build this product, separated + by a comma;
  • + +
  • installdiskspace: Total + amount of space (integer, in Kbytes), which the product occupies on the + hard drive after the installation;
  • + +
  • temporarydiskspace: Disk + space (integer, in Kbytes) for the temporary files, which are necessary + to build the product from the sources;
  • + +
  • script: Installation script + name. This script is in charge of installation of the product. It is called + when necessary from the main program. See the next + section for more information.
  • +
+ +  + +

If you add new products + to be installed with the Installation Wizard, you should also provide + the installation script for this product. See the next section for more + details.

+ + +
+ + +

Implementing installation + scripts for the new products

+ +

When you want some product to be installed with the Installation Wizard, + you should add its description in the configuration + file and create a bash installation script, following the rules described + in this section.
+There are some obligatory functions to be provided in this installation + script. These functions are automatically called by the master installation + script or/and its GUI shell when it is necessary.
+File common.sh contains some service functions which can be used + in your installation script, like make_env(), make_dir(), + try_existing(), sort_path(), find_in_path(), etc. +

+ +
    + +
  • check_version():  This function allows + to check the version of the product already installed on the computer. + It should try to find the product (native or preinstalled in the target + directory) and check it version. This helps to avoid unnecessary reinstallation. + This is internal function and is not called
  • + +
  • try_native(): This function is called when + the 'use native' installation mode is selected by the user. The + function should try to find the native version of the product and define + the possibility of it usage. It should create the environment for the + product in the temporary directory (see also the description of print_env() + function). If you do not provide the native mode installation, you can + omit this function.
  • + +
  • install_source(): This + function is called when the 'install sources' installation mode + is selected by the user. The function is responsible for the building + of the product from the sources package. It should create the environment + for the product in the temporary directory (see also the description of + print_env() function). If you do not provide the sources mode installation, + you can omit this function
  • + +
  • install_binary(): This + function is called when the 'install binaries' installation mode + is selected by the user. The function is responsible for the extracting + the product from the binaries package. Should create environment for the + product in the temporary directory (see also the description of print_env() + function). If you do not provide the binaries mode installation, you can + omit this function.
  • + +
  • try_preinstalled(): This + function is called when the 'not install' installation mode is + selected by the user. In this case the script should inspect the target + directory to try to find the already preinstalled product, pick up and + check the environment from there. See here + for more details.
  • + +
  • print_env(): This function + is in charge of the environment script creation. It should create a file + with the name env_<product_name>.sh in the temporary + directory and then copy it into the product installation directory. The + file should contain all necessary environment variables settings for the + product. It will be collected during the 'pick-up-environment' procedure.
  • + +
  • pickup_env(): This procedure corresponds to + the pickupenv tag of the configuration xml file (see previous section). + Should call the make_env procedure to perform the pick-up environment + procedure for the product.
  • +
+ +The calling signature of the product installation + script is the following:
+<product_script_name> <function_name> <temp_folder> <products_directory> + <target_directory> <dependancies> <product_name>
+ + +

where
+<product_script_name>
- installation script name (described in + configuration xml file);
+<function_name>
- name of the function, corresponding to the + selected installation mode: try_native, install_source, install_binary + or try_preinstalled;
+<temp_folder>
- temporary files directory;
+<products_directory>
- directory where the sources/binaries package + can be found. You should provide the sources package in the <Install_Wizard_root_directory>/Products/SOURCES + directory and binaries package in the <InstallWizard_root_directory>/Products/BINARIES/<os_version>, + where <os_version> is target platform description, which appears + in the corresponding section of the configuration + xml file.
+<target_directory>
- root target directory where the product + should be installed to;
+<dependancies>
- single-quoted list of prerequisite products, + separated by space;
+<product_name>
- product name itself.

+ +

 

+ +

med-2.2.2.sh install_binary /tmp/work ./Products/BINARIES/Mandrake10.1 + /usr/salome 'gcc Hdf' med

+ +

Copy the created script into the <Install_Wizard_root_directory>/config_files + sub-directory where all installation scripts are stored. Installation + Wizard will automatically search and call your script during the installation + procedure.

+ + +
+ + +  + +
  + + + + + diff --git a/doc/salome/gui/GUI/kernel/running_salome_pro.htm b/doc/salome/gui/GUI/kernel/running_salome_pro.htm new file mode 100755 index 000000000..3f0738ab4 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/running_salome_pro.htm @@ -0,0 +1,298 @@ + + + + + +Running SALOME + + + + + + + + + + + + + +

Running SALOME

+ +

To launch SALOME:

+ +

 

+ +

1. Install the SALOME package into a definite + directory (ex. SALOME) on your + hard disk. It is preferable if you use the special installation procedure + allowing to install the  SALOME + platform and all corresponding applications.

+ +

 

+ +

2. + The installation shell script will create a special file: env.csh + (CShell file) in your SALOME directory. + This file contains all environment variables necessary for launching SALOME + platform with other application products provided with SALOME installation + package. You have a possibility to add one of them into your profile if + you enter in the command console the following:

+ +

 

+ +

source + env.csh

+ +

 

+ +

During + the installation procedure you have a possibility to set your profile + automatically.  

+ +

 

+ +

 

+ +

3. Launch SALOME platform, using the following + Python script located in the SALOME/KERNEL/bin/salome + directory:

+ +

 

+ +
    + +
  • runSalome.py + [command line options]

  • +
+ +

 

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

Options

+

Description

+

--help or + -h   

+

print this help

+

 

+

--gui or + -g   

+

launch with GUI

+

 --terminal or + -t      

+

launch without GUI in batch mode

+

--logger or + -l   

+

redirection of log messages into a definite file

+

--xterm or + -x

+

the servers open an xterm window and log messages are displayed in this + window

+

--modules=module1,module2,... + or -m=module1,module2,...

+

list of SALOME modules which will be loaded into the module catalogue

+

--containers=cpp,python,superv

+

or -c=cpp,python,superv

+

launch of cpp, python and supervision containers

+

--portkill or + -p

+

kill SALOME launched with the current port

+

--killall or + -k    

+

kill SALOME

+ +

 

+ +

+ If the runSalome.py + script + is launched without prompting any options, they will be taken by default + from the xml file salome.launch, + which has been automatically created in your home directory: HOME/.salome/. + If you are constantly launching SALOME with some specific options which + are different from the defaults, you can edit this file according to your + requirements. So the next time you run SALOME, you won't have to enter + these numerous command console options.    

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/salome_pro_desktop.htm b/doc/salome/gui/GUI/kernel/salome_pro_desktop.htm new file mode 100755 index 000000000..8548692f1 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/salome_pro_desktop.htm @@ -0,0 +1,231 @@ + + + + + +SALOME desktop + + + + + + + + + + + + + +

SALOME Desktop

+ +

The main SALOME Desktop + consists of the following sections and toolbars:

+ +

 

+ +

+ +

 

+ +

Basic parts of the SALOME Desktop:

+ +

 

+ +
    + +
  • Main menu - This is a set of context-sensitive + menus, which will be updated according the functionality of the loaded + component. In general,  these + menus contain all functional options of SALOME platform.

  • + +
  • Standard Toolbar - This toolbar contains + icons allowing creating/saving studies, correcting mistakes, copying/pasting + objects

  • + +
  • Components Toolbar - This toolbar is + destined for uploading components in SALOME platform

  • + +
  • Module Toolbar - This toolbar contains + icons specific to the loaded module.

  • + +
  • Viewer Toolbar - This is a set of tools + destined for visualization of the presentations in the viewer.

  • +
+ +

 

+ +

All toolbars in the SALOME + Platform are context-sensitive. Loading of a definite component (Geometry, + Post-Pro, Mesh etc.) will automatically add some additional toolbars specific + to this component. To display/hide a definite toolbar, in the main menu + choose View > Toolbars, and + from this submenu check or uncheck the toolbar, you would like to display/hide. +

+ +

By default all toolbars are located on + the top of the SALOME desktop. But you can relocate toolbars by dragging + with the mouse and dropping it in any place of the window.

+ +

 

+ +

Parts of  the + study window:

+ +

 

+ +
    + +
  • Object + Browser - Management of objects created or imported into SALOME + application

  • + +
  • Viewer + - This window is destined for visualization of presentations.

  • + +
  • Python + console - Window for Python interpreter. This window functions + like a standard document: the pop-up menu invoked by right-click in this + window gives access to Copy/Paste/SelectAll/ClearAll + options.

  • +
+ +

 

+ +

Object Browser, Python Console, MenuBar, + etc are, in fact, separate dockable windows.  Dockable + windows can be placed in special areas, on the borders of desktop like + toolbars. You can change the size and the position of dockable windows, + hide them or even place outside desktop. SALOME saves in the same file + all positions and sizes of dockable windows. It means that the difference + in settings of the same windows (for example Python console) is possible + between different modules (the same window can have different size and + position when other module is activated). Also each module can indicate + which common windows are necessary for working, and only they will be + displayed when this module is active.

+ +

 

+ +

Starting + from the version 3.0.0 Salome uses a Multi-Desktop Approach. Multi-desktop Approach means that now there + is separate Desktop for each document (Study)  and + all windows connected to a Study (viewers, dockable windows etc) are placed + in one container. It is very comfortable, because you can't mix up windows + from different studies. This approach positively differs from the classic + multi document interface in case if many windows are used, i.e. when one + document contains a lot of viewers, dialogs, etc. Each desktop also has + its own menu and toolbar.

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/saving_a_study.htm b/doc/salome/gui/GUI/kernel/saving_a_study.htm new file mode 100755 index 000000000..2c5d449f0 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/saving_a_study.htm @@ -0,0 +1,273 @@ + + + + + +Saving a study + + + + + + + + + + + + + +

Saving and closing studies

+ +

In SALOME + a study can be saved in HDF + binary (by default) or ASCII files + (see also: Setting ASCII save + option).

+ +

 

+ +

You can also specify  two + options of saving your study:

+ +

 

+ +
    + +
  • In one HDF file: + in this case all components used during + this study session will write their data into one common HDF file.

  • + +
  • In multiple files (see + also: Setting Multifile save option) + : in this case SALOME will create one base HDF file which will + store the main information about the saved study and several other special + files with particular extensions storing the data written by each component + which has been used during this study session. Opening of this study requires + that ALL saved files should be + stored in the SAME directory. +  If you + would like to copy your saved study in another directory or machine, you + should copy all stored files. Otherwise, if you try to open this study, + some data will be lost and it will lead to invalid functioning of the + SALOME platform.    

  • +
+ +

 

+ +

Saving a study you also + save its layout, i.e. all positions and sizes of dockable windows. It + means that the difference in settings of the same windows (for example + Python console) is possible between different modules (the same window + can have different size and position when other module is activated). + Also each module can indicate which common windows are necessary for working, + and only they will be displayed when this module is active.

+ +

 

+ +

To save an existing + study :

+ +

 

+ +

In + the main toolbar click or + from the main menu select File + > Save option. + Your study will be automatically updated.

+ +

 

+ +

If your study hasn't been + previously saved, this option will call the standard Search File dialog + box where you can enter the name for your study and save it.

+ +

 

+ +

To save a study with + a new name:

+ +

 

+ +

From the main menu select + File > Save as option. In the + standard Search File dialog box enter a new name for your study and click + Save button.

+ +

 

+ +

To save the current + layout of the GUI:

+ +

 

+ +

From the main menu select File + > Save GUI State. The GUI state is published in Object Browser + in the folder GUI states and can be at any time Restored, + Renamed or Deleted. +  This operation + saves and allows to restore almost all GUI settings: names, position, + zooming and panning of viewers  and + all displayed objects (in Post-Pro module only).  

+ +

 

+ +

To close a study:

+ +

 

+ +

In + the main toolbar click or  from + the main menu select File > + Close option + or click on the cross in the upper right corner of the study window.

+ +

 

+ +

If your study hasn't been + previously saved, this option will call the following dialog box with + several options:

+ +

 

+ +

+ +

 

+ +

Unload + option allows to unload your current study from the SALOME Desktop. + In the same working session you can  reload + it again (see: Opening studies). But + if you quit the SALOME application, all changes in the unloaded study + will be lost.

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/setting_preferences.htm b/doc/salome/gui/GUI/kernel/setting_preferences.htm new file mode 100755 index 000000000..94213495a --- /dev/null +++ b/doc/salome/gui/GUI/kernel/setting_preferences.htm @@ -0,0 +1,378 @@ + + + + + +Setting preferences + + + + + + + + + + + + + +

SALOME preferences

+ +

To begin setting preferences + for your study, select Preferences in + the main menu, the following dialog box will appear:

+ +

 

+ +

 

+ +

If you've just started + your study and haven't yet loaded other modules, you'll be able to change + only those settings, which refer to the whole GUI SALOME session. These + settings will be valid for the whole study session.

+ +

 

+ +

General + Preferences

+ +

 

+ +
    + +
  • Study Properties

  • +
+ +
    + +
      + +
    • MultiFile Save - if checked in, your study will be saved + in several HDF files (one file for the data created by each component + used during the study session).

    • + +
    • ASCII Save - if checked in, your study will be saved in + ASCII format file (or files).

    • + +
    • Store positions + of windows -  if checked in, + positions of windows will be saved in a special file at the end of the + current session and then restored for a new session.

    • + +
    • Store/restore last + GUI state - if checked in, all GUI + settings are saved with the rest of the data whenever you save the study. + When the study is reopened, the GUI state is restored.

    • +
    + +
  • External browser

  • + +
      + +
    • Application this option allows you to set an external + browser (IE, Netscape) which will be used for viewing SALOME reference + manuals. By default, Mozilla is used. Press the button to browse for the application you + need in the data tree of your computer.

    • + +
    • Parameters

    • +
    +
+ +
    + +
  • Python console properties + - here you can quickly set the parameters + (style, size, face) of the font used in your Python console. For detailed + settings in Select Font dialog box press the button.

  • +
+ +

 

+ +

Viewers + Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • OCC + and VTK 3D Viewers

  • +
+ +
    + +
      + +
    • Trihedron size + - this submenu allows to set the size + of coordinate axes displayed in the viewer.

    • + +
    • Background + Color - this submenu allows to select + background color. Click on the colored line to access to the Select Color + dialog box.

    • +
    +
+ +
    + +
      + +
    •  Number + of isolines along U (or V) - this submenu allows to specify the number + of isolines along the axes of coordinates.

    • + +
    • Relative + size - if checked in, trihedron axes + scale to fit the size of the area displayed in 3D Viewer.  

    • +
    +
+ +

 

+ +
    + +
  • Plot2d + Viewer

  • + +
      + +
    • Legend + Position - this submenu allows to set + the default position of the legend, it can be located to the left, to + the right, on top or on bottom of the graph.  

    • + +
    • Curve + Type - this allows to set the representation + of graphs in your presentations. You can see only Points, + points connected with Lines or + points connected with smooth Splines.   

    • + +
    • Marker + Size - this submenu allows you to set + the size of markers in your graphs

    • + +
    • Horizontal + & Vertical Axis Scale - + this submenu allows you to set the + scale for vertical and horizontal axes. It can be either Linear + or Logarithmic

    • + +
    • Background + Color - this submenu allows to select + the background color. Click on the colored line to access to the Select Color + dialog box.

    • +
    +
+ +

 

+ +
    + +
  • Graph + Supervisor

  • + +
  • Background + Color - this submenu allows to select + background color. Click on the colored line to access to the Select Color + dialog box.

  • + +
  • Title + Color - this submenu allows to select + title color. Click on the colored line to access to the Select + Color dialog box.

  • +
+ +

 

+ +

Directories Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Quick Directory List + - this section allows to create and + manage a custom quick directory list. To add a directory in the list, + press the button, + then the button and browse the data tree for the + directory you need.
    + The and buttons help you to sort the + directories in the list.
    + To remove the selected directory from the list, press the button.

  • +
+ +

 

+ +

Object + Browser Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Object + browser settings

  • + +
      + +
    • Auto + size for the first column - this checkbox + enables automatic resizing for the first column.  

    • + +
    • Auto + size for other columns - this checkbox + enables automatic resizing for the other columns.

    • +
    +
+ +

 

+ +
    + +
  • Default + columns - these checkboxes allow to + display or hide Value, Entry, + IOR and Reference entry columns in the Object Browser.

  • +
+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/using_catalog_generator.htm b/doc/salome/gui/GUI/kernel/using_catalog_generator.htm new file mode 100755 index 000000000..41e50d318 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/using_catalog_generator.htm @@ -0,0 +1,233 @@ + + + + + +Using Catalog Generator + + + + + + + + + + + + + +

Using Catalog Generator + (for advanced users)

+ +

   SALOME + platform is an open platform for integration of your custom components, + which can used in the same way as typical modules provided in the standard + installed package. The Catalog Generator + tool serves for implementation of the interface of your custom + component. It allows to generate from IDL description of your component + interface its xml description.  The + component xml description allows SALOME application to know about the + component and its services and provides the possibility to call the component + services, for example, inside Supervisor module.

+ +

If you have a look at runSalome, runSalomeWithPort + scripts running SALOME application, which are stored in build/bin directory + you will see that SALOME_ModuleCatalog_Server is started with two xml + files as its input parameters: CatalogModuleGeneral.xml + and CatalogModulePersonnel.xml. + These two files store the descriptions of interfaces and services of all + components, provided with typical SALOME package. To add a new component + into SALOME platform you should either update one of these existing xml + files with generated xml description of your component or create a new + one.

+ +

 

+ +

To open the Catalog Generator:

+ +

 

+ +

From the main menu choose Tools + > Catalog Generator, the following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

 

+ +

In + this dialog box you can specify:

+ +

 

+ +
    + +
  • Name + and location of the IDL file describing the interface of your component + (Click the Browse button to find + it using the data tree).

  • + +
  • Name + and location of an existing XML file, which will be updated with the interface + of you component or name and desired location of a new XML file, which + will be generated (Click the Browse + button to find it using the data tree).

  • + +
  • Name + of the author,

  • + +
  • Name + of the component,

  • + +
  • Name + of the user

  • + +
  • Version,

  • + +
  • Capability + of multi study support

  • + +
  • Type + of the component,

  • + +
  • Icon + of your component (Click the Browse + button to find it using the data tree).

  • +
+ +

 

+ +

If you have chosen to create a new xml file containing the + description of your component, don't forget to specify it as input parameter + for SALOME_ModuleCatalog_Server in the file, you are using as a running + script of SALOME platform (in runSalomeWithPort, for example).

+ +

 

+ +

 When + launching SALOME next time you will see your module alongside other components.

+ +

 

+ +

You can use the Catalog + Generator tool, if you would like to test + the functionality of your new component. After implementation of your + component interface, launch SUPERVISION module where you can try using + the services of your new component. (see also: Adding factory nodes)

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/using_left-hand_tabs.htm b/doc/salome/gui/GUI/kernel/using_left-hand_tabs.htm new file mode 100755 index 000000000..cb43d0047 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/using_left-hand_tabs.htm @@ -0,0 +1,149 @@ + + + + + +Using left-hand tabs + + + + + + + + + + + + +

Using left-hand tabs

+ +

SALOME Help system includes + the following left-hand tabs:

+ +

 

+ +
    + +
  • Contents: The Contents tab displays + books and pages that represent the categories of information in the online + Help system. When you click a closed book, it opens to display its content + (sub-books and pages). When you click an open book, it closes. When you + click pages, you select topics to view in the right-hand pane of the HTML + Help viewer.

  • +
+ +

 

+ +
    + +
  • Search: The Search tab enables you to + search for words in the Help system and locate topics containing those + words. Full-text searching looks through every word in the online Help + to find matches. When the search is completed, a list of topics is displayed + so you can select a specific topic to view.

  • +
+ +

 

+ +
    + +
  • Glossary: The Glossary tab displays + a glossary providing a list of words, short phrases, and their definitions + related to SALOME. When you select a term from the list, its corresponding + definition is displayed in the lower pane.

  • +
+ +

     

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/using_object_browser.htm b/doc/salome/gui/GUI/kernel/using_object_browser.htm new file mode 100755 index 000000000..24f4e911b --- /dev/null +++ b/doc/salome/gui/GUI/kernel/using_object_browser.htm @@ -0,0 +1,203 @@ + + + + + +Using Object Browser + + + + + + + + + + + + + +

Using Object Browser

+ +

The Object + Browser in SALOME is destined for displaying the structure of the + current study in a tree-like form. It contains:

+ +

 

+ +
    + +
  • components, loaded + during the current session

  • + +
  • objects created with + the help of different components  (The + objects created with the help of a definite component are located in the + folder having the name of this component.)

  • + +
  • references to different + objects (they are highlighted in red).

  • +
+ +

 

+ +

+ +

 

+ +

The Object Browser is + destined to getting quick access to different objects created during SALOME + session. All pop-up menus associated with the objects displayed in the + Object Browser are context-sensitive. So it depends on a definite currently + loaded SALOME component what options you will see in the pop-up menu, + if you right-click on a definite object in the Object Browser.

+ +

 

+ +

The Object Browser may contain supplementary + attributes of the objects displayed in additional columns. By default, + these columns are not displayed -  displaying/hiding + these columns is possible through setting + study preferences or right-clicking on the attributes bar and toggling + the necessary attributes.

+ +

 

+ +

+ +

 

+ +
    + +
  • Entry +  - Identification + index of the object in the structure of the study

  • + +
  • IOR + -  Interoperable + Object Reference

  • + +
  • Reference + entry  - +  Identification + index of the references to the objects

  • +
+ +
    + +
  • Value +  -  Displays + the value of the first object attribute

  • +
+ +

 

+ +

Entry, IOR and Reference + entry  attributes + are displayed for debugging purposes only.

+ +

              

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/kernel/using_registry.htm b/doc/salome/gui/GUI/kernel/using_registry.htm new file mode 100755 index 000000000..ab5ec1fd3 --- /dev/null +++ b/doc/salome/gui/GUI/kernel/using_registry.htm @@ -0,0 +1,207 @@ + + + + + +Using Registry tool + + + + + + + + + + + + + +

Using Registry tool

+ +

Registry + tool is in the SALOME platform is destined for providing information about + the processes (components), which have ever been launched in the current + study session.  

+ +

 

+ +

To view the Registry:

+ +

 

+ +

From the main menu choose + Tools > Registry display, the + following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

Running + tab of this dialog box displays a list of the currently started processes + (components) with supplementary information on each of them divided into + columns:

+ +

 

+ +

- Component: + name of the started component

+ +

- PID: + process identification number

+ +

- User + Name: name of the user launching the component

+ +

- Machine: + name of the machine, on which the process has been started

+ +

- begins: + date and time of the starting of the component

+ +

- hello: + date and time of the last call to the component

+ +

 

+ +

History + tab displays a list of all processes, which have ever been launched within + this study session. It contains the same supplementary information on + each of the processes (components).

+ +

 

+ +

Refresh + button allows to refresh the current list of processes (components).

+ +

 

+ +

Interval + button allows to set an interval for refreshment of the current list of + processes (components).

+ +

 

+ +

+ +

 

+ +

To display complete information on a definite process (component):

+ +

 

+ +

Double-click on this + process (component). The following window will appear:

+ +

 

+ +

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/logo_salome_2005.png b/doc/salome/gui/GUI/logo_salome_2005.png new file mode 100755 index 000000000..da63e7d2f Binary files /dev/null and b/doc/salome/gui/GUI/logo_salome_2005.png differ diff --git a/doc/salome/gui/GUI/mesh_preferences.htm b/doc/salome/gui/GUI/mesh_preferences.htm new file mode 100755 index 000000000..024d1a50f --- /dev/null +++ b/doc/salome/gui/GUI/mesh_preferences.htm @@ -0,0 +1,309 @@ + + + + + +MESH preferences + + + + + + + + + + + + + +

Mesh preferences

+ +

In the Mesh module you can set mesh preferences, which can be used in + later sessions with this module.

+ +

 

+ +

General Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Update

  • + +
      + +
    •  If you toggle + Automatic Update checkbox, the model + in your viewer automatically updated whenever you make changes in it.

    • +
    + +
  • Quality Controls.

  • + +
  • If you toggle Display entity, both faces and edges + of an object will be displayed in the viewer by default . +

  • + +
  • If you toggle Use precision checkbox, you can display + numbers in Quality Control diagrams + at the necessary level of precision.

  • + +
  • Precision + - can be defined by the + Number of digits after point + in the corresponding field. By default, numbers in Quality Control diagrams are presented as integers. +

  • + +
  • Display + mode - allows to set Wireframe, Shading, + Nodes or Shrink presentation mode as default.

  • +
+ +
    + +
  • Mesh + export

  • + +
  • If you toggle Automatically create groups for MED export + checkbox, this operation will be carried out automatically.

  • +
+ +

 

+ +

 

+ +

Mesh Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Nodes +

  • + +
  • Color + -  allows + to select the color of nodes. Click on the colored line to access to the + Select + Color dialog box.

  • + +
  • Size + - allows to define the size of nodes.

  • + +
  • Elements

  • + +
  • Fill +  - + allows to select the color of surface of elements (seen in Shading mode). + Click on the colored line to access to the Select Color dialog box.

  • + +
  • Outline + - allows to select the color of borders of elements. Click on the colored + line to access to the Select + Color dialog box.

  • + +
  • Back + Face - allows to select the color of interior surface of elements. + Click on the colored line to access to the Select Color dialog box.

  • + +
  • Width + - allows to define the width of lines (edges and borders of elements).

  • + +
  • Shrink + coef. - allows to define relative space + of elements compared to gaps between them in shrink mode

  • +
+ +

 

+ +

Selection Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Selection - performed + with mouse-indexing (preselection) and left-clicking on an object, whose + appearance changes as defined in the Preferences.

  • + +
  • Object + Color -  allows + to select the color of mesh (edges and borders of meshes) of the selected + entity. Click on the colored line to access to the Select + Color dialog box.

  • + +
  • Element + color - allows to select the color + of surface of selected elements (seen in Shading mode). Click + on the colored line to access to the Select + Color dialog box.

  • + +
  • Width + - allows to define the width of selected edges.

  • + +
  • Preselection - performed with mouse-indexing on an object, + whose appearance changes as defined in the Preferences.

  • + +
  • Highlight + Color -  allows + to select the color of mesh (edges and borders of meshes) of the entity + . Click on the colored line to access to the Select + Color dialog box.

  • + +
  • Width + - allows to define the width of preselected edges.

  • + +
  • Precision + - in this menu you can set the value of precision used for Nodes and Elements.

  • +
+ +

 

+ +

Scalar Bar Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Font - in + this menu you can set type, face and color for the font of + Title and Labels.

  • + +
  • Colors & + Labels - in this menu you can set the + number of colors and the number + of labels in use.

  • + +
  • Orientation - here you can choose between vertical and + horizontal orientation of the Scalar Bar.

  • + +
  • Origin + & Size Vertical & Horizontal - allows + to define placement (X and + Y) and lookout (Width and Height) + of Scalar Bars

  • + +
  • X: + abscissa of the point of origin (from + the left side)

  • + +
  • Y: + ordinate of the origin of the bar (from + the bottom)

  • +
+ + + + diff --git a/doc/salome/gui/GUI/note1.gif b/doc/salome/gui/GUI/note1.gif new file mode 100755 index 000000000..b53e21d0a Binary files /dev/null and b/doc/salome/gui/GUI/note1.gif differ diff --git a/doc/salome/gui/GUI/pics/cataloggenerator.png b/doc/salome/gui/GUI/pics/cataloggenerator.png new file mode 100755 index 000000000..51a0f2786 Binary files /dev/null and b/doc/salome/gui/GUI/pics/cataloggenerator.png differ diff --git a/doc/salome/gui/GUI/pics/copy-paste.jpg b/doc/salome/gui/GUI/pics/copy-paste.jpg new file mode 100755 index 000000000..e243122b3 Binary files /dev/null and b/doc/salome/gui/GUI/pics/copy-paste.jpg differ diff --git a/doc/salome/gui/GUI/pics/dumpstudy.png b/doc/salome/gui/GUI/pics/dumpstudy.png new file mode 100755 index 000000000..f899e778c Binary files /dev/null and b/doc/salome/gui/GUI/pics/dumpstudy.png differ diff --git a/doc/salome/gui/GUI/pics/exemple.gif b/doc/salome/gui/GUI/pics/exemple.gif new file mode 100755 index 000000000..6350d1737 Binary files /dev/null and b/doc/salome/gui/GUI/pics/exemple.gif differ diff --git a/doc/salome/gui/GUI/pics/geomview-alt.png b/doc/salome/gui/GUI/pics/geomview-alt.png new file mode 100755 index 000000000..e797b085d Binary files /dev/null and b/doc/salome/gui/GUI/pics/geomview-alt.png differ diff --git a/doc/salome/gui/GUI/pics/import.png b/doc/salome/gui/GUI/pics/import.png new file mode 100755 index 000000000..093c667f2 Binary files /dev/null and b/doc/salome/gui/GUI/pics/import.png differ diff --git a/doc/salome/gui/GUI/pics/loadscript.png b/doc/salome/gui/GUI/pics/loadscript.png new file mode 100755 index 000000000..e681fc745 Binary files /dev/null and b/doc/salome/gui/GUI/pics/loadscript.png differ diff --git a/doc/salome/gui/GUI/pics/loadstudy2.png b/doc/salome/gui/GUI/pics/loadstudy2.png new file mode 100755 index 000000000..595ea0528 Binary files /dev/null and b/doc/salome/gui/GUI/pics/loadstudy2.png differ diff --git a/doc/salome/gui/GUI/pics/lockedstudy.png b/doc/salome/gui/GUI/pics/lockedstudy.png new file mode 100755 index 000000000..9ec7e744b Binary files /dev/null and b/doc/salome/gui/GUI/pics/lockedstudy.png differ diff --git a/doc/salome/gui/GUI/pics/neo-view2.png b/doc/salome/gui/GUI/pics/neo-view2.png new file mode 100755 index 000000000..df1c7fe0f Binary files /dev/null and b/doc/salome/gui/GUI/pics/neo-view2.png differ diff --git a/doc/salome/gui/GUI/pics/newsticn.jpg b/doc/salome/gui/GUI/pics/newsticn.jpg new file mode 100755 index 000000000..94c8ee971 Binary files /dev/null and b/doc/salome/gui/GUI/pics/newsticn.jpg differ diff --git a/doc/salome/gui/GUI/pics/objectbrowser1.png b/doc/salome/gui/GUI/pics/objectbrowser1.png new file mode 100755 index 000000000..16ab896a2 Binary files /dev/null and b/doc/salome/gui/GUI/pics/objectbrowser1.png differ diff --git a/doc/salome/gui/GUI/pics/objectbrowser2.png b/doc/salome/gui/GUI/pics/objectbrowser2.png new file mode 100755 index 000000000..e010ef2b0 Binary files /dev/null and b/doc/salome/gui/GUI/pics/objectbrowser2.png differ diff --git a/doc/salome/gui/GUI/pics/open.jpg b/doc/salome/gui/GUI/pics/open.jpg new file mode 100755 index 000000000..5829aef52 Binary files /dev/null and b/doc/salome/gui/GUI/pics/open.jpg differ diff --git a/doc/salome/gui/GUI/pics/pref11.png b/doc/salome/gui/GUI/pics/pref11.png new file mode 100755 index 000000000..26ddbe9b9 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref11.png differ diff --git a/doc/salome/gui/GUI/pics/pref12.png b/doc/salome/gui/GUI/pics/pref12.png new file mode 100755 index 000000000..8cafab810 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref12.png differ diff --git a/doc/salome/gui/GUI/pics/pref13.png b/doc/salome/gui/GUI/pics/pref13.png new file mode 100755 index 000000000..4cfe950cf Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref13.png differ diff --git a/doc/salome/gui/GUI/pics/pref14.png b/doc/salome/gui/GUI/pics/pref14.png new file mode 100755 index 000000000..2f8bcfb3c Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref14.png differ diff --git a/doc/salome/gui/GUI/pics/pref15.png b/doc/salome/gui/GUI/pics/pref15.png new file mode 100755 index 000000000..101fec3d3 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref15.png differ diff --git a/doc/salome/gui/GUI/pics/pref21.png b/doc/salome/gui/GUI/pics/pref21.png new file mode 100755 index 000000000..a487dbafa Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref21.png differ diff --git a/doc/salome/gui/GUI/pics/pref22.png b/doc/salome/gui/GUI/pics/pref22.png new file mode 100755 index 000000000..26921dc5a Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref22.png differ diff --git a/doc/salome/gui/GUI/pics/pref23.png b/doc/salome/gui/GUI/pics/pref23.png new file mode 100755 index 000000000..bbd45259b Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref23.png differ diff --git a/doc/salome/gui/GUI/pics/pref24.png b/doc/salome/gui/GUI/pics/pref24.png new file mode 100755 index 000000000..55a0ed5ef Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref24.png differ diff --git a/doc/salome/gui/GUI/pics/pref31.png b/doc/salome/gui/GUI/pics/pref31.png new file mode 100755 index 000000000..e5606d133 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref31.png differ diff --git a/doc/salome/gui/GUI/pics/pref32.png b/doc/salome/gui/GUI/pics/pref32.png new file mode 100755 index 000000000..63daf463f Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref32.png differ diff --git a/doc/salome/gui/GUI/pics/pref33.png b/doc/salome/gui/GUI/pics/pref33.png new file mode 100755 index 000000000..74ea331b4 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref33.png differ diff --git a/doc/salome/gui/GUI/pics/pref34.png b/doc/salome/gui/GUI/pics/pref34.png new file mode 100755 index 000000000..5072c62b6 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref34.png differ diff --git a/doc/salome/gui/GUI/pics/pref37.png b/doc/salome/gui/GUI/pics/pref37.png new file mode 100755 index 000000000..1d4d082fe Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref37.png differ diff --git a/doc/salome/gui/GUI/pics/pref38.png b/doc/salome/gui/GUI/pics/pref38.png new file mode 100755 index 000000000..5c8d31ce3 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref38.png differ diff --git a/doc/salome/gui/GUI/pics/pref39.png b/doc/salome/gui/GUI/pics/pref39.png new file mode 100755 index 000000000..878a52607 Binary files /dev/null and b/doc/salome/gui/GUI/pics/pref39.png differ diff --git a/doc/salome/gui/GUI/pics/registry1.png b/doc/salome/gui/GUI/pics/registry1.png new file mode 100755 index 000000000..b8912c6ba Binary files /dev/null and b/doc/salome/gui/GUI/pics/registry1.png differ diff --git a/doc/salome/gui/GUI/pics/registry3.png b/doc/salome/gui/GUI/pics/registry3.png new file mode 100755 index 000000000..f44e2ec3a Binary files /dev/null and b/doc/salome/gui/GUI/pics/registry3.png differ diff --git a/doc/salome/gui/GUI/pics/registry4.png b/doc/salome/gui/GUI/pics/registry4.png new file mode 100755 index 000000000..98a3772b5 Binary files /dev/null and b/doc/salome/gui/GUI/pics/registry4.png differ diff --git a/doc/salome/gui/GUI/pics/save.jpg b/doc/salome/gui/GUI/pics/save.jpg new file mode 100755 index 000000000..90001afb9 Binary files /dev/null and b/doc/salome/gui/GUI/pics/save.jpg differ diff --git a/doc/salome/gui/GUI/pics/selectcolor.png b/doc/salome/gui/GUI/pics/selectcolor.png new file mode 100755 index 000000000..70800b28a Binary files /dev/null and b/doc/salome/gui/GUI/pics/selectcolor.png differ diff --git a/doc/salome/gui/GUI/pics/selectfont.png b/doc/salome/gui/GUI/pics/selectfont.png new file mode 100755 index 000000000..04eff08fd Binary files /dev/null and b/doc/salome/gui/GUI/pics/selectfont.png differ diff --git a/doc/salome/gui/GUI/pics/studyproperties.png b/doc/salome/gui/GUI/pics/studyproperties.png new file mode 100755 index 000000000..af88317f1 Binary files /dev/null and b/doc/salome/gui/GUI/pics/studyproperties.png differ diff --git a/doc/salome/gui/GUI/pics/view2.png b/doc/salome/gui/GUI/pics/view2.png new file mode 100755 index 000000000..9d48a09bb Binary files /dev/null and b/doc/salome/gui/GUI/pics/view2.png differ diff --git a/doc/salome/gui/GUI/post-pro_preferences.htm b/doc/salome/gui/GUI/post-pro_preferences.htm new file mode 100755 index 000000000..801ff8756 --- /dev/null +++ b/doc/salome/gui/GUI/post-pro_preferences.htm @@ -0,0 +1,677 @@ + + + + + +Post-Pro Preferences + + + + + + + + + + + + + +

Post-Pro Preferences

+ +

In the Post-Pro module you can set preferences, default settings, which + can be used in later sessions with this module.

+ +

 

+ +

Scalar Bar Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Scalar Range

  • + +
      + +
    • Scalar + Mode - this feature allows refining the value to be inspected:

    • + +
    • Modulus: + value of a scalar or modulus of a vector.

    • + +
    • Component + N: Nth component of a vector, a tensor + or a matrix..

    • + +
    • Logarithmic + Scaling - this checkbox toggles logarithmic scaling.

    • + +
    • Ranges + to Use - you can use either Field Range or Imposed Range. .

    • +
    +
+ +
    + +
  • Min and Max for + Imposed Range - in this menu  you + can set the limits for your Imposed Range, if you have chosen to use it.

  • + +
  • Font - in + this menu you can set type, face and color for the font of + Title and Labels.

  • + +
  • Colors & + Labels - in this menu you can set the + number of colors and the number + of labels in the Scalar bar.

  • + +
  • Orientation - here you can choose between vertical and + horizontal orientation of the Scalar + Bar.

  • + +
  • Origin + & Size Vertical & Horizontal - allows + to define placement (X and + Y) and lookout (Width and Height) + of Scalar Bars

  • + +
  • X: + abscissa of the point of origin (from + the left side)

  • + +
  • Y: + ordinate of the origin of the bar (from + the bottom)

  • + +
  • Scalar + bars default position

  • + +
  • Arrange + Scalar Bars - this option prevents + superposition of scalar bars during visualisation of several fields in + the same window. If checked, a separate scalar bar is displayed for each + presentation.

  • +
+ +

 

+ +

Sweep, MED Import Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Sweeping preferences

  • + +
      + +
    • Time step - in this menu you can set + the time of representation of + one step.

    • + +
    • Number of cycles - in this menu you + can define the number of times this animation will be repeated.

    • + +
    • Number of steps - in this menu you can + define the number of steps, which will compose the whole animation.

    • +
    +
+ +

 

+ +
    + +
  • MED files import  

  • + +
  • Use + Build Progress - when this option is + checked you can choose all other import MED options at the moment of loading + of each file using Build Progress + menu, otherwise the loading will be done according to the Preferences without addressing to the user.

  • + +
  • Full + MED Loading - when this option is checked, + the MED file is fully loaded in the study, and no additional access to + the MED file is needed during the session. Reversibly, when unchecked, + the MED file is loaded on demand. This is the default behaviour in SALOME + and recommended for big files to optimize memory usage.

  • + +
  • Build + at once - when this option is checked, you can't perform any operations + until the MED file is fully loaded and processed.

  • + +
  • Build + fields -  when + this option is checked, the + fields are built automatically at loading.

  • + +
  • Build + min/max - when this option is checked, + minimum and maximum values of the time stamps are found at loading.

  • + +
  • Build + groups - when this option + is checked, the groups and families are built automatically at loading. +

  • + +
  • Close + dialog at finish - when this option + is checked, the dialog box is closed after loading of the selected MED + file. When unchecked, it allows loading other MED files.

  • +
+ +

 

+ +

Representation Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Representation properties + - these checkboxes allow to choose + the default representation type for each field presentation.

  • + +
  • Use + Shading - when this option + is checked, the objects will be displayed with shading.

  • +
+ +

 

+ +

 

+ +

Gauss Points Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Primitive - this + menu allows user to choose the graphic primitive to use to present the + results at Gauss points in the viewer. +

  • + +
      + +
    • Primitive type + - provides choice between Point + sprites, Open GL points and Geometrical Spheres.

    • + +
    • Maximum + Size (Clamp) - defines + the maximum size of sprite points ranging from 1 to 512. By default the + value is set to 256 pixels.

    • + +
    • Main Texture - +  path + to the Main Texture (16x16 pixels) + which defines the shape of the point sprite used for rendering.

    • + +
    • Alpha Channel Texture (16*16) - path + to the Alpha Channel Texture which + defines the transparency of the point sprite.

    • + +
    • Alpha Channel Threshold + - defines the level of transparency + ranging from 0 to 1.

    • + +
    • Geometrical Sphere + Resolution - defines the number of + faces of Geometry Spheres.

    • + +
    • Notify when number + of faces exceeds - limitation of the + number of faces; the user will + be warned if it exceeds the given value.

    • +
    +
+ +

 

+ +
    + +
  • Size - in this menu + you can define

  • +
+ +
    + +
  • Range value for min + and max size - these two parameters + will be respectively multiplied by a reference length (average size of + cells of the mesh) to define the range for minimum and maximum size of + a point during rendering (at magnification = 100%). Default values are:

  • + +
      + +
        + +
      • Rainbow + scale: min = 10%, max + = 33%

      • + +
          + +
        • Min size + is associated to the smallest real value (including negative values).

        • + +
        • Max size + is associated to the largest real value.

        • +
        + +
      • Bicolor + scale: min = 0 (not editable), + max = 33%

      • + +
          + +
        • Null size + is associated to the 0 scalar value.

        • + +
        • Max size + is associated to the largest absolute value.

        • +
        +
      +
    +
+ +

Both values are dynamically updated by the + system according to the selected scalar bar. In the case of a Bicolor + scale, the minimum value is set to 0 in the dialog and the control is + disabled.

+ +
    + +
  • Magnification + (%) corresponds to the change of size of results at Gauss point + primitives in 2D space. Acceptable values range from 0 to N; 100% means + no magnification, 50% means half of its size, 200% mean twice its size + and so forth. By default this value is set to 100%.

  • + +
  • +/- + Ratio corresponds to the number by which the magnification will + be respectively multiplied or divided at edition, ranging from 0.01 to + 10. By default this value is set to 2.

  • +
+ +

 

+ +
    + +
  • Geometry

  • + +
  • Size + of points (%) defines a value that will be multiplied by a reference + length (representative of the average size of cells of the mesh) to define + the size of points during rendering (at magnification = 100%). Default + values 10%.

  • + +
  • Background + Color -  allows + to select the color of points used for presentations. Click on the colored + line to access to the Select + Color dialog box.

  • +
+ +

 

+ +
    + +
  • Gauss Points Scalar + Bar

  • + +
  • Active + Bar - this option allows to choose + Local or Global Bar + as active.

  • + +
  • Display + Global Bar - this option allows to + visualize or to hide the Global Bar.

  • + +
  • Scalar + Bar Mode - this option allows to choose + between Bicolor and + Rainbow Scalar Bar Mode.

  • + +
  • Spacing + - allows to define Spacing from 0.01 + to 1.

  • +
+ +

 

+ +

Inside and + Outside Cursor Preferences allow to + set Primitives, Size and + Magnification for the respective zones. +  

+ +

 

+ +

Picking Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Cursor + - allows to adjust the Size of the cursor used for Picking (ranging from + 0.1 to 1), the Height of the pyramids (ranging from 0 to 10) and the Selection + cursor color.

  • + +
  • Tolerance + - defines at which distance of the cursor from the point it becomes selected + (ranges from 0.001 to 10).

  • + +
  • Information window + - allows to define the Transparency + (from 0% = opaque to 100% = transparent) and Position + of the window, which can be:

  • + +
  • Centred + below the point, or

  • + +
  • located at Top-left + corner of the 3D view

  • + +
  • Movement + of the Camera can also be define by + the user.

  • + +
  • Zoom + at first selected point - This value is used to define the focal + distance at the first selected point (at the end of the movement of the + camera). This value is a ratio that will be multiplied by the current + zoom value.

  • + +
  • Number + of steps between two positions - defines + the smoothness of camera movement at selection by the number of iterations. + If set to 1 the camera is zoomed and centered at the point momentarily. + Greater numbers mean very slow camera movement.   

  • + +
  • Display + parent mesh element - allows to visualize + or hide the patent mesh element of the selected gauss point.

  • +
+ +

 

+ +

Navigation Preferences

+ +

 

+ +

+ +

 

+ +

 

+ +
    + +
  • Mouse

  • +
+ +
    + +
  • Mouse Behaviour - this option allows to choose one of the modes + of work with mouse in Gauss Viewer.

  • + +
  • Salome Standard Controls + - allows to manipulate objects in the + viewer with the mouse and locked Ctrl button: increase or decrease the + zoom ratio with the left mouse button, translate object in any direction + with the central mouse button or rotate it with the right mouse button. +

  • + +
  • Keyboard Free - allows to manipulate objects in the viewer + with the mouse without locking Ctrl button. In + this case the operations are assigned to the buttons differently: rotation + is made with the left button, translation with the right and zoom with + both pressed in the same time.   

  • +
+ +

 

+ +
    + +
  • Keyboard

  • +
+ +
    + +
  • [+]/[-] Speed Increment + - defines the number of units by which + the speed increases or respectively decreases after pressing [+] or [-] + keyboard buttons.

  • +
+ +

 

+ +
    + +
  • Spacemouse - + a mouse-like manipulator device specially designed for working with 3D + presentations, objects, etc. You can reassign the actions listed below + to any of its buttons.

  • +
+ +
    + +
  • Decrease Speed Increment + - decreases by 1 the speed increment + used for the keyboard (same as [-] key).

  • + +
  • Increase Speed Increment + - increase by 1 the speed increment + used for the keyboard (same as [+] key).

  • + +
  • Decrease Gauss Points + Magnification - divides the current + magnification by the magnification ratio.

  • + +
  • Increase Gauss Points + Magnification - multiplies the current + magnification by the magnification ratio.

  • + +
  • Dominant / combined + switch - toggles button to switch to + dominant or combined movements.

  • +
+ +

 

+ +

 

+ +

Recorder Preferences

+ +

 

+ +

+ +

 

+ +
    + +
  • Settings

  • +
+ +
    + +
  • Mode - allows + to choose from two recording + regimes:

  • + +
  • Recording all displayed + frames - records exactly at the FPS + rate specified by the user.  

  • + +
  • Recording at a given + FPS - records only when the contents + of the viewer change (some activity is performed).  In + the AVI file non-recorded images are substituted with the copies of the + latest recorded image, which produces files with lower quality but requires + less system resources.  

  • + +
  • FPS - allows + to define the FPS (frames per second) rate for the clip. Set greater value + for better quality.  

  • + +
  • Quality - allows + to set the quality of the clip in the interval between 0 and 100. +

  • + +
  • Progressive - allows to record a progressive API file. +

  • +
+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/productpage.png b/doc/salome/gui/GUI/productpage.png new file mode 100755 index 000000000..f714b5bcb Binary files /dev/null and b/doc/salome/gui/GUI/productpage.png differ diff --git a/doc/salome/gui/GUI/progresspage.png b/doc/salome/gui/GUI/progresspage.png new file mode 100755 index 000000000..c2cb0c031 Binary files /dev/null and b/doc/salome/gui/GUI/progresspage.png differ diff --git a/doc/salome/gui/GUI/readmepage.png b/doc/salome/gui/GUI/readmepage.png new file mode 100755 index 000000000..cf248f597 Binary files /dev/null and b/doc/salome/gui/GUI/readmepage.png differ diff --git a/doc/salome/gui/GUI/robohhre.lng b/doc/salome/gui/GUI/robohhre.lng new file mode 100755 index 000000000..297538b0b --- /dev/null +++ b/doc/salome/gui/GUI/robohhre.lng @@ -0,0 +1,101 @@ +[GlossaryTab] +TabCaption=&Glossary +TermCaption=&Term +DefinitionCaption=&Definition For: + +[BrowseSequence] +PreCaption=Previous +PreTooltip=Previous Topic +NextCaption=Next +NextTooltip=Next Topic +BlockTooltip=Select Block + +[Common] +Contents=Contents +Index=Index +Search=Search +Glossary=Glossary +Logo/Author=Powered By +Show=Show +Hide=Hide +SyncToc=SyncToc +Prev=<< +Next=>> +Disabled Prev=<< +Disabled Next=>> +Seperate = | + +[WebHelp] +Cancel=Cancel +CantOpenURLorFile=Can't open URL or file +CompletingContents=Completing Contents... +Display=Display +Term=Term: +Definition=Definition: +Done=Done +Find=Find +IndexInputPrompt=Type in the keyword to find: +RelateTopicListPrompt=Click a topic, then click Display. +LoadingData=Loading data, please wait... +LoadingContents=Loading contents, please wait... +LoadingContentsData=Loading, click here to cancel... +LoadingFTS=Reading Search Data... +LoadingIndex=Loading Index... +LoadingTOCItem=Loading Table of Contents: +Searching=Searching... +FtsInputPrompt=Type in the word(s) to search for: +TopicsFound=Topics Found +BrowserLimitedMessage=Your browser does not support frames. We recommend that you update your browser to a version that supports frames. +SuggestViewNoFrameMessage=To view the Help system without frames click on this +SuggestViewNoFrameMsg2=hyperlink. +TopicsNotFound=No Topics Found. +CantSearch=Cannot search for that phrase. +JS_alert_appletNotLoad = Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited. +JS_alert_colorlimitation=WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors. +Blank_topic_text=This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink. +JS_alert_ProjectLoadingFail=Could not load correctly, please click Refresh. +JS_alert_cantLoadProject=Can't load project: +JS_alert_ErrorInLoading=Error in Loading navigation component. Please regenerate WebHelp. +IndexBtnText=Go +FtsBtnText=Go +ToolBarSearchBtnText=Go +InTopicSearchBtnText=Go +SearchLabel=Search +SearchPrompt=- Search - +PreTooltip=Previous Topic +NextTooltip=Next Topic +WebSearch=WebSearch +SyncTocTooltip=Sync TOC +Book=Book +Page=Page +Remote_Page=Remote Page +Show_Navigation_Component=Show Navigation Component +Hide_Navigation_Component=Hide Navigation Component +nls_edit_label=Type in your question: +nls_button_go_hint=Go Search +nls_button_go_text=Go +nls_body_instruction=Enter your question in the text box above, then click GO. +nls_body_empty=Sorry, we were unable to find a good answer for your question. +IndexSelectTopicTitle=Select a Topic +IndexSelectTopicLabel=Select a topic, then click Display +IndexSelectTopicError=Please select a topic. +IndexAlphabetBookmarks=ABCDEFGHIJKLMNOPQRSTUVWXYZ +MergeError1=The merged Help system +MergeError2=is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system. +PoweredBy=Powered by +GeneratedBy=Generated by +Author=Author +About=About +Print=Print + +[PrintedDoc] +TableOfContents=Table Of Contents +TitlePage=Title Page +ChapterFileNamePrefix=Chapter_ +TitlePageFileName=Chapter__Title_Page.doc +CrossReferencePrefix=See +GlossaryHeadingStyleName=Glossary Heading +GlossaryTermStyleName=Glossary Term +GlossaryDefinitionStyleName=Glossary Definition +TitlePageTitleStyleName=Title Page Title +TocPageTitleStyleName=Table of Contents Page Title diff --git a/doc/salome/gui/GUI/select_color_and_font.htm b/doc/salome/gui/GUI/select_color_and_font.htm new file mode 100755 index 000000000..33ad83d45 --- /dev/null +++ b/doc/salome/gui/GUI/select_color_and_font.htm @@ -0,0 +1,129 @@ + + + + + +Select Color and Font + + + + + + + + + + + + +

Select Color and Font

+ +

Select Color and Select + Font menus are used in many Preferences.

+ +

Select color

+ +

+ +

 

+ +

This menu  allows + to choose from either predefined Basic + Colors grouped in the upper left corner of the window or Custom Colors, which you can define + yourselves. To define a Custom Color, click on one of the Custom Color + cells, select the color you need in the field of colors or by typing in + its numeric parameters in the lower right corner of the window, then click + Add to Custom Colors button. The + chosen color will be added to Custom + Colors table.  

+ +

Select Font

+ +

+ +

 

+ +

This menu provides a wide choice of Fonts, + Font Styles and Sizes. Characters can be underlined or struck out. + It is possible to preview them in the Sample window. + Script dialog-box + gives the possibility to use not only Latin and Latin Extended but also + Cyrillic, Greek, Arabic, Runic and many other subsets.  

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/setting_preferences.htm b/doc/salome/gui/GUI/setting_preferences.htm new file mode 100755 index 000000000..bf28eb87e --- /dev/null +++ b/doc/salome/gui/GUI/setting_preferences.htm @@ -0,0 +1,147 @@ + + + + + +Setting Preferences + + + + + + + + + + + + + +

Setting Preferences

+ +

In SALOME you can set preferences + for each module in the common editor of preferences. SALOME preferences + refer to the whole GUI SALOME session, other preferences are module-specific + and are accessible only after you load a respective module.

+ +

When you change settings (click OK + or Apply button) each module receives + the notification about what preferences are changed. You can also click + Defaults button to restore default + preferences or Close button to + quit the menu without any changes.

+ +

Import button allows to load + a user file containing preferences from your home directory through a + standard Import dialog box.

+ +

 

+ +

+ +

 

+ +

This file has no extension and by default starts with .SalomeApprc. + followed by Salome version number. There exists one file for each Salome + version in use.

+ +

The preferences, set during the current study session, are automatically + saved in this file at the end of the session. Next time you launch SALOME + application, these preferences will be restored.

+ +

 

+ +

The preferences you set + will be default preferences for all new + objects, but they are not retroactive and do not automatically apply to + the existing objects.

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GUI/ss_btn_related_topics.gif b/doc/salome/gui/GUI/ss_btn_related_topics.gif new file mode 100755 index 000000000..5158bc468 Binary files /dev/null and b/doc/salome/gui/GUI/ss_btn_related_topics.gif differ diff --git a/doc/salome/gui/GUI/texture_horiz_ltbluebubbles.jpg b/doc/salome/gui/GUI/texture_horiz_ltbluebubbles.jpg new file mode 100755 index 000000000..a10d494a5 Binary files /dev/null and b/doc/salome/gui/GUI/texture_horiz_ltbluebubbles.jpg differ diff --git a/doc/salome/gui/GUI/tip1.gif b/doc/salome/gui/GUI/tip1.gif new file mode 100755 index 000000000..bb74c875c Binary files /dev/null and b/doc/salome/gui/GUI/tip1.gif differ diff --git a/doc/salome/gui/GUI/webhelp.cab b/doc/salome/gui/GUI/webhelp.cab new file mode 100755 index 000000000..b942f642f Binary files /dev/null and b/doc/salome/gui/GUI/webhelp.cab differ diff --git a/doc/salome/gui/GUI/webhelp.jar b/doc/salome/gui/GUI/webhelp.jar new file mode 100755 index 000000000..53b266636 Binary files /dev/null and b/doc/salome/gui/GUI/webhelp.jar differ diff --git a/doc/salome/gui/GUI/whcsh_home.htm b/doc/salome/gui/GUI/whcsh_home.htm new file mode 100755 index 000000000..5a486ba28 --- /dev/null +++ b/doc/salome/gui/GUI/whcsh_home.htm @@ -0,0 +1,600 @@ + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whcshdata.htm b/doc/salome/gui/GUI/whcshdata.htm new file mode 100755 index 000000000..2832d87e0 --- /dev/null +++ b/doc/salome/gui/GUI/whcshdata.htm @@ -0,0 +1,87 @@ + + +GUI Module Reference Manual + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whd_dpns.htm b/doc/salome/gui/GUI/whd_dpns.htm new file mode 100755 index 000000000..1bca23603 --- /dev/null +++ b/doc/salome/gui/GUI/whd_dpns.htm @@ -0,0 +1,43 @@ + + +Navigator Pane + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whd_hide0.gif b/doc/salome/gui/GUI/whd_hide0.gif new file mode 100755 index 000000000..97ea0bb6d Binary files /dev/null and b/doc/salome/gui/GUI/whd_hide0.gif differ diff --git a/doc/salome/gui/GUI/whd_hide1.gif b/doc/salome/gui/GUI/whd_hide1.gif new file mode 100755 index 000000000..97ea0bb6d Binary files /dev/null and b/doc/salome/gui/GUI/whd_hide1.gif differ diff --git a/doc/salome/gui/GUI/whd_hide2.gif b/doc/salome/gui/GUI/whd_hide2.gif new file mode 100755 index 000000000..97ea0bb6d Binary files /dev/null and b/doc/salome/gui/GUI/whd_hide2.gif differ diff --git a/doc/salome/gui/GUI/whd_next0.gif b/doc/salome/gui/GUI/whd_next0.gif new file mode 100755 index 000000000..d92dda522 Binary files /dev/null and b/doc/salome/gui/GUI/whd_next0.gif differ diff --git a/doc/salome/gui/GUI/whd_next1.gif b/doc/salome/gui/GUI/whd_next1.gif new file mode 100755 index 000000000..d92dda522 Binary files /dev/null and b/doc/salome/gui/GUI/whd_next1.gif differ diff --git a/doc/salome/gui/GUI/whd_next2.gif b/doc/salome/gui/GUI/whd_next2.gif new file mode 100755 index 000000000..d92dda522 Binary files /dev/null and b/doc/salome/gui/GUI/whd_next2.gif differ diff --git a/doc/salome/gui/GUI/whd_nvp10.htm b/doc/salome/gui/GUI/whd_nvp10.htm new file mode 100755 index 000000000..30f060c3b --- /dev/null +++ b/doc/salome/gui/GUI/whd_nvp10.htm @@ -0,0 +1,15 @@ + + +Navigation Pane + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whd_nvp20.htm b/doc/salome/gui/GUI/whd_nvp20.htm new file mode 100755 index 000000000..c5754bc41 --- /dev/null +++ b/doc/salome/gui/GUI/whd_nvp20.htm @@ -0,0 +1,334 @@ + + +navigation pane + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whd_prev0.gif b/doc/salome/gui/GUI/whd_prev0.gif new file mode 100755 index 000000000..518561a0d Binary files /dev/null and b/doc/salome/gui/GUI/whd_prev0.gif differ diff --git a/doc/salome/gui/GUI/whd_prev1.gif b/doc/salome/gui/GUI/whd_prev1.gif new file mode 100755 index 000000000..518561a0d Binary files /dev/null and b/doc/salome/gui/GUI/whd_prev1.gif differ diff --git a/doc/salome/gui/GUI/whd_prev2.gif b/doc/salome/gui/GUI/whd_prev2.gif new file mode 100755 index 000000000..518561a0d Binary files /dev/null and b/doc/salome/gui/GUI/whd_prev2.gif differ diff --git a/doc/salome/gui/GUI/whd_show0.gif b/doc/salome/gui/GUI/whd_show0.gif new file mode 100755 index 000000000..60e8e6897 Binary files /dev/null and b/doc/salome/gui/GUI/whd_show0.gif differ diff --git a/doc/salome/gui/GUI/whd_show1.gif b/doc/salome/gui/GUI/whd_show1.gif new file mode 100755 index 000000000..60e8e6897 Binary files /dev/null and b/doc/salome/gui/GUI/whd_show1.gif differ diff --git a/doc/salome/gui/GUI/whd_show2.gif b/doc/salome/gui/GUI/whd_show2.gif new file mode 100755 index 000000000..60e8e6897 Binary files /dev/null and b/doc/salome/gui/GUI/whd_show2.gif differ diff --git a/doc/salome/gui/GUI/whd_sync0.gif b/doc/salome/gui/GUI/whd_sync0.gif new file mode 100755 index 000000000..1a9785ce6 Binary files /dev/null and b/doc/salome/gui/GUI/whd_sync0.gif differ diff --git a/doc/salome/gui/GUI/whd_sync1.gif b/doc/salome/gui/GUI/whd_sync1.gif new file mode 100755 index 000000000..1a9785ce6 Binary files /dev/null and b/doc/salome/gui/GUI/whd_sync1.gif differ diff --git a/doc/salome/gui/GUI/whd_sync2.gif b/doc/salome/gui/GUI/whd_sync2.gif new file mode 100755 index 000000000..1a9785ce6 Binary files /dev/null and b/doc/salome/gui/GUI/whd_sync2.gif differ diff --git a/doc/salome/gui/GUI/whd_tab0.gif b/doc/salome/gui/GUI/whd_tab0.gif new file mode 100755 index 000000000..955c42f47 Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab0.gif differ diff --git a/doc/salome/gui/GUI/whd_tab1.gif b/doc/salome/gui/GUI/whd_tab1.gif new file mode 100755 index 000000000..b3ec41d6d Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab1.gif differ diff --git a/doc/salome/gui/GUI/whd_tab2.gif b/doc/salome/gui/GUI/whd_tab2.gif new file mode 100755 index 000000000..08fb0ce4f Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab2.gif differ diff --git a/doc/salome/gui/GUI/whd_tab3.gif b/doc/salome/gui/GUI/whd_tab3.gif new file mode 100755 index 000000000..1819c8e8f Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab3.gif differ diff --git a/doc/salome/gui/GUI/whd_tab4.gif b/doc/salome/gui/GUI/whd_tab4.gif new file mode 100755 index 000000000..1a6fc4f4a Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab4.gif differ diff --git a/doc/salome/gui/GUI/whd_tab5.gif b/doc/salome/gui/GUI/whd_tab5.gif new file mode 100755 index 000000000..934019260 Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab5.gif differ diff --git a/doc/salome/gui/GUI/whd_tab6.gif b/doc/salome/gui/GUI/whd_tab6.gif new file mode 100755 index 000000000..fe312d238 Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab6.gif differ diff --git a/doc/salome/gui/GUI/whd_tab7.gif b/doc/salome/gui/GUI/whd_tab7.gif new file mode 100755 index 000000000..3b95ae24e Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab7.gif differ diff --git a/doc/salome/gui/GUI/whd_tab8.gif b/doc/salome/gui/GUI/whd_tab8.gif new file mode 100755 index 000000000..c80acc8d5 Binary files /dev/null and b/doc/salome/gui/GUI/whd_tab8.gif differ diff --git a/doc/salome/gui/GUI/whd_tabs.htm b/doc/salome/gui/GUI/whd_tabs.htm new file mode 100755 index 000000000..1568f573d --- /dev/null +++ b/doc/salome/gui/GUI/whd_tabs.htm @@ -0,0 +1,533 @@ + + +WebHelp Tabs Frame in Navigation Pane + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whd_toc1.gif b/doc/salome/gui/GUI/whd_toc1.gif new file mode 100755 index 000000000..11017258c Binary files /dev/null and b/doc/salome/gui/GUI/whd_toc1.gif differ diff --git a/doc/salome/gui/GUI/whd_toc2.gif b/doc/salome/gui/GUI/whd_toc2.gif new file mode 100755 index 000000000..975e5f6f4 Binary files /dev/null and b/doc/salome/gui/GUI/whd_toc2.gif differ diff --git a/doc/salome/gui/GUI/whd_toc3.gif b/doc/salome/gui/GUI/whd_toc3.gif new file mode 100755 index 000000000..4b8122f0f Binary files /dev/null and b/doc/salome/gui/GUI/whd_toc3.gif differ diff --git a/doc/salome/gui/GUI/whd_toc4.gif b/doc/salome/gui/GUI/whd_toc4.gif new file mode 100755 index 000000000..3f9a03686 Binary files /dev/null and b/doc/salome/gui/GUI/whd_toc4.gif differ diff --git a/doc/salome/gui/GUI/whd_topic.xml b/doc/salome/gui/GUI/whd_topic.xml new file mode 100755 index 000000000..a1b0320fb --- /dev/null +++ b/doc/salome/gui/GUI/whd_topic.xml @@ -0,0 +1,85 @@ + + + + + + + + + + +"]]> + + + + +"]]> + + + + +"; +OutputInTopicNavBarDataWebSearch.form();]]> + + + + + + + + + + +"]]> + + + diff --git a/doc/salome/gui/GUI/whd_wbsh0.gif b/doc/salome/gui/GUI/whd_wbsh0.gif new file mode 100755 index 000000000..383688e7c Binary files /dev/null and b/doc/salome/gui/GUI/whd_wbsh0.gif differ diff --git a/doc/salome/gui/GUI/whd_wbsh1.gif b/doc/salome/gui/GUI/whd_wbsh1.gif new file mode 100755 index 000000000..383688e7c Binary files /dev/null and b/doc/salome/gui/GUI/whd_wbsh1.gif differ diff --git a/doc/salome/gui/GUI/whd_wbsh2.gif b/doc/salome/gui/GUI/whd_wbsh2.gif new file mode 100755 index 000000000..383688e7c Binary files /dev/null and b/doc/salome/gui/GUI/whd_wbsh2.gif differ diff --git a/doc/salome/gui/GUI/whdata/whftdata.js b/doc/salome/gui/GUI/whdata/whftdata.js new file mode 100755 index 000000000..071ae6fc7 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whftdata.js @@ -0,0 +1,25 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE(sTopicTitle, sTopicURL) +{ + var len = gTEA.length; + gTEA[len] = new topicEntry(sTopicTitle, sTopicURL); +} + +function topicEntry(sTopicTitle, sTopicURL) +{ + this.sTopicTitle = sTopicTitle; + this.sTopicURL = sTopicURL; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsTData) + { + parent.putFtsTData(gTEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whftdata0.htm b/doc/salome/gui/GUI/whdata/whftdata0.htm new file mode 100755 index 000000000..ec80b7254 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whftdata0.htm @@ -0,0 +1,45 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whdata/whfts.htm b/doc/salome/gui/GUI/whdata/whfts.htm new file mode 100755 index 000000000..7a1060e4a --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whfts.htm @@ -0,0 +1,18 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whfts.js b/doc/salome/gui/GUI/whdata/whfts.js new file mode 100755 index 000000000..2b6678690 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whfts.js @@ -0,0 +1,40 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +var gaFileTopicMapping = new Array(); + +function fileMapping(sStartKey, sEndKey, sFileName) +{ + this.sStartKey = sStartKey; + this.sEndKey = sEndKey; + this.sFileName = sFileName; + this.aFtsKeys = null; +} + +function fileTopicMapping(nIdBegin, nIdEnd, sFileName) +{ + this.nBegin = nIdBegin; + this.nEnd = nIdEnd; + this.sFileName = sFileName; + this.aTopics = null; +} + + +function iWM(sStartKey, sEndKey, sFileName) +{ + gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.ftsReady) + { + parent.ftsReady(gaFileMapping, gaFileTopicMapping); + } +} + +function iTM(nIdBegin, nIdEnd, sFileName) +{ + gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GUI/whdata/whfwdata.js b/doc/salome/gui/GUI/whdata/whfwdata.js new file mode 100755 index 000000000..e9e8bc6c1 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whfwdata.js @@ -0,0 +1,37 @@ +// WebHelp 5.10.001 +var gWEA = new Array(); +function aWE() +{ + var len = gWEA.length; + gWEA[len] = new ftsEntry(aWE.arguments); +} + +function ftsEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 1) + { + this.sItemName = fn_arguments[0]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (nLen > 1) + { + this.aTopics = new Array(); + for (var i = 0; i < nLen - 1; i ++ ) + { + this.aTopics[i] = fn_arguments[i + 1]; + } + } + } +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsWData) + { + parent.putFtsWData(gWEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whfwdata0.htm b/doc/salome/gui/GUI/whdata/whfwdata0.htm new file mode 100755 index 000000000..312f1a04e --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whfwdata0.htm @@ -0,0 +1,1331 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whdata/whgdata.js b/doc/salome/gui/GUI/whdata/whgdata.js new file mode 100755 index 000000000..77e0107f3 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whgdata.js @@ -0,0 +1,26 @@ +// WebHelp 5.10.001 +var gIEA = new Array(); +function aGE(sName, sDef) +{ + var len = gIEA.length; + gIEA[len] = new gloEntry(sName, sDef); +} + +function gloEntry(sName, sDef) +{ + this.sName = sName; + this.sDef = sDef; + this.nNKOff = 0; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whgdata0.htm b/doc/salome/gui/GUI/whdata/whgdata0.htm new file mode 100755 index 000000000..9d256b1a8 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whgdata0.htm @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whdata/whglo.htm b/doc/salome/gui/GUI/whdata/whglo.htm new file mode 100755 index 000000000..dc5a67786 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whglo.htm @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whglo.js b/doc/salome/gui/GUI/whdata/whglo.js new file mode 100755 index 000000000..e0519afcb --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whglo.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GUI/whdata/whidata.js b/doc/salome/gui/GUI/whdata/whidata.js new file mode 100755 index 000000000..9f0eb15ed --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whidata.js @@ -0,0 +1,89 @@ +// WebHelp 5.10.001 +// const strings +var gIEA = new Array(); +function aIE() +{ + var len = gIEA.length; + gIEA[len] = new indexEntry(aIE.arguments); +} + +function topic(sName, sURL) +{ + this.sName = sName; + this.sURL = sURL; +} + +function indexEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 3) + { + this.nType = fn_arguments[0]; + this.nPKOff = 0; + this.nNKOff = fn_arguments[1]; + this.sName = fn_arguments[2]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (Math.floor(nLen / 2) * 2 == nLen) + { + this.sTarget = fn_arguments[3]; + if (nLen > 5) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 5)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]); + } + } + + } + else + { + if (nLen > 4) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 4)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]); + } + } + } + } +} + +function getIndexTopicMappingList(nItemIndex) +{ + var sTopics = ""; + if (gIEA.length > nItemIndex) + { + if (gIEA[nItemIndex].aTopics) + { + var i = 0; + var nLen = gIEA[nItemIndex].aTopics.length; + for (i = 0; i < nLen; i ++) + { + sTopics += "," + gIEA[nItemIndex].aTopics[i]; + } + } + } + return sTopics; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + for (var i = 0; i < gIEA.length; i ++ ) + { + if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length) + { + + gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff; + } + } + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whidx.htm b/doc/salome/gui/GUI/whdata/whidx.htm new file mode 100755 index 000000000..0a0deedd0 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whidx.htm @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whidx.js b/doc/salome/gui/GUI/whdata/whidx.js new file mode 100755 index 000000000..e0519afcb --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whidx.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GUI/whdata/whtdata.js b/doc/salome/gui/GUI/whdata/whtdata.js new file mode 100755 index 000000000..d5428a7de --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whtdata.js @@ -0,0 +1,64 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE() +{ + gTEA[gTEA.length] = new tocEntry(aTE.arguments); +} + +function tocEntry(fn_arguments) +{ + if (fn_arguments.length < 3) + { + alert ("data format wrong!!!"); + return; + } + + this.nType = fn_arguments[0]; + this.nContents = fn_arguments[1]; + this.sItemName = fn_arguments[2]; + + if (this.nType == 1 || this.nType == 2 || this.nType == 16) + { + if (fn_arguments.length > 3) + { + this.sItemURL = fn_arguments[3]; + if (fn_arguments.length > 4) + { + this.sTarget = fn_arguments[4]; + if (fn_arguments.length > 5) + this.sIconRef = fn_arguments[5]; + } + } + } + if (this.nType == 4 || this.nType == 8) + { + if (fn_arguments.length > 3) + { + this.sRefURL = fn_arguments[3]; + if (this.nType == 4) + { + if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) + this.sRefURL+="/"; + } + if (fn_arguments.length > 4) + { + this.sItemURL = fn_arguments[4]; + if (fn_arguments.length > 5) + { + this.sTarget = fn_arguments[5]; + if (fn_arguments.length > 6) + this.sIconRef = fn_arguments[6]; + } + } + } + } +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.putData) { + parent.putData(gTEA); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whtdata0.htm b/doc/salome/gui/GUI/whdata/whtdata0.htm new file mode 100755 index 000000000..a037edb04 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whtdata0.htm @@ -0,0 +1,47 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whdata/whtoc.htm b/doc/salome/gui/GUI/whdata/whtoc.htm new file mode 100755 index 000000000..54e0cbf26 --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whtoc.htm @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whdata/whtoc.js b/doc/salome/gui/GUI/whdata/whtoc.js new file mode 100755 index 000000000..163d8cc9f --- /dev/null +++ b/doc/salome/gui/GUI/whdata/whtoc.js @@ -0,0 +1,31 @@ +// WebHelp 5.10.001 +// const strings +var gaProj = new Array(); +var gsRoot = ""; + +function setRoot(sRoot) +{ + gsRoot = sRoot +} + +function aPE(sProjPath, sRootPath) +{ + gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath); +} + +function tocProjEntry(sProjPath, sRootPath) +{ + if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) + sProjPath+="/"; + this.sPPath = sProjPath; + this.sRPath = sRootPath; +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) { + parent.projReady(gsRoot, gaProj); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GUI/whfbody.htm b/doc/salome/gui/GUI/whfbody.htm new file mode 100755 index 000000000..5666e1b55 --- /dev/null +++ b/doc/salome/gui/GUI/whfbody.htm @@ -0,0 +1,37 @@ + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GUI/whfdhtml.htm b/doc/salome/gui/GUI/whfdhtml.htm new file mode 100755 index 000000000..37429607b --- /dev/null +++ b/doc/salome/gui/GUI/whfdhtml.htm @@ -0,0 +1,30 @@ + + +Search Frame + + + + + + + + + diff --git a/doc/salome/gui/GUI/whfform.htm b/doc/salome/gui/GUI/whfform.htm new file mode 100755 index 000000000..87d754ec4 --- /dev/null +++ b/doc/salome/gui/GUI/whfform.htm @@ -0,0 +1,136 @@ + + +Search Form + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GUI/whfhost.js b/doc/salome/gui/GUI/whfhost.js new file mode 100755 index 000000000..167acc459 --- /dev/null +++ b/doc/salome/gui/GUI/whfhost.js @@ -0,0 +1,945 @@ +// WebHelp 5.10.003 +var gsSK2=null; +var gsSK=null; +var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7"; +var gnCLF=0; +var gsHelpCannotSearch="Cannot search for that phrase."; +var gsNoTopics="No Topics Found."; +var gsLoadingDivID="LoadingDiv"; +var gsLoadingMsg="Loading data, please wait..."; +var gsSearchMsg="Searching..."; +var gsResultDivID="ResultDiv"; +var gaaFCD=new Array(); +var gaaFTCD=new Array(); +var goCF=null; +var goCTF=null; +var gaTI=null; +var gnCurrentOp=0; +var gbNot=false; +var gbReady=false; +var gnLoadFts=1; +var gnCacheLimits=5; +var gaCCD=new Array(); +var gbXML=false; +var gaData=new Array(); +var gsBgColor="#ffffff"; +var gsBgImage=""; +var gsMargin="0pt"; +var gsIndent="0pt"; +var gsCheckKey=null; +var gnIndexNum=0; +var gaFtsContentsCon=null; +var gaTopicCheckInfo=null; +var gnTopicCheck=0; +var goFont=null; +var goErrFont=null; +var goHoverFont=null; +var gsABgColor="#cccccc"; +var gbWhFHost=false; +var gbFirst=false; + +function setBackground(sBgImage) +{ + gsBgImage=sBgImage; +} + +function setBackgroundcolor(sBgColor) +{ + gsBgColor=sBgColor; +} + +function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) +{ + var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); + if(sType=="Normal") + goFont=vFont; + else if(sType=="Error") + goErrFont=vFont; + else if(sType=="Hover") + goHoverFont=vFont; +} + +function setActiveBgColor(sBgColor) +{ + gsABgColor=sBgColor; +} + +function setMargin(sMargin) +{ + gsMargin=sMargin; +} + +function setIndent(sIndent) +{ + gsIndent=sIndent; +} + +function updateCache(oCF) +{ + var len=gaCCD.length; + if(len0&&sURL) + { + var topic=new Object(); + topic.sTopicTitle=name; + topic.sTopicURL=sURL; + aTopics[aTopics.length]=topic; + } + } + oChild=oChild.nextSibling; + } + putFtsTData(aTopics); + } + } + else if(gnLoadFts==2) + { + var node=xmlDoc.lastChild; + if(node) + { + var oChild=node.firstChild; + var aFtsContents=new Array(); + while(oChild) + { + if(oChild.nodeName=="key") + { + var name=oChild.getAttribute("name"); + if(name&&name.length>0) + { + var item=new Object(); + item.sItemName=name; + aFtsContents[aFtsContents.length]=item; + var oChildChild=oChild.firstChild; + while(oChildChild) + { + if(oChildChild.nodeName=="#text") + { + var sIDs=oChildChild.nodeValue; + if(sIDs) + { + var nBPos=0; + do + { + var nPos=sIDs.indexOf(",",nBPos); + var sID=null; + if(nPos!=-1) + sID=sIDs.substring(nBPos,nPos); + else + sID=sIDs.substring(nBPos); + + if(sID) + { + var id=parseInt(sID); + if(!isNaN(id)) + { + if(!item.aTopics) + item.aTopics=new Array(); + item.aTopics[item.aTopics.length]=id; + } + } + nBPos=nPos+1; + }while(nBPos!=0&&nBPos0) + { + document.body.background=gsBgImage; + } + if(gsBgColor&&gsBgColor.length>0) + { + document.body.bgColor=gsBgColor; + } + writeResultDiv(); + loadFts(); + var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null) + SendMessage(oMsg); +} + +function writeResultDiv() +{ + var sHTML="
"; + document.body.insertAdjacentHTML("beforeEnd",sHTML); +} + +function loadFts() +{ + if(!gbReady) + { + var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); + if(SendMessage(oResMsg)&&oResMsg.oParam) + { + gbReady=true; + var oProj=oResMsg.oParam; + var aProj=oProj.aProj; + gbXML=oProj.bXML; + if(aProj.length>0) + { + var sLangId=aProj[0].sLangId; + for(var i=0;i=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){ + gnCurrentOp=0; + gbNot=false; + }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){ + gnCurrentOp=1; + gbNot=false; + }else if((sCW=="not")|| + ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){ + gbNot=!gbNot; + }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){ + var sCurrentStem=GetStem(sCW); + gsCW=sCurrentStem; + ftsFindKeyword(); + return; + } + findOneKey(); + } + else{ + displayTopics(); + checkAgain(); + } +} + +function checkAgain() +{ + gsCheckKey = ""; + gnIndexNum = 0; + gsSK=gsSK2; + gsSK2=null; + if(gsSK!=null) + setTimeout("findFTSKey();",1); +} + +function displayTopics() +{ + var sHTML=""; + var sLine=""; + for(var i=0;i"+_textToHtml(gaTI[i].sTopicTitle)+""; + if(i>>4<<4==i) + { + sHTML+=sLine; + sLine=""; + } + } + if(sLine.length>0) + sHTML+=sLine; + + if(sHTML.length==0) + sHTML="

"+gsNoTopics+"

" + else + sHTML="
"+sHTML+"
"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function displayMsg(sErrorMsg) +{ + var sHTML="

"+sErrorMsg+"

"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function ftsFindKeyword() +{ + var sKey=gsCW; + var bNeedLoad=false; + var aFtsContentsCon=null; + var s=0; + if(sKey==null) return; + if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0) + { + aFtsContentsCon=new Array(); + gnCheck=0; + gsCheckKey=sKey; + gnTopicCheck=0; + gaTopicCheckInfo=null; + } + else{ + s=gnIndexNum; + aFtsContentsCon=gaFtsContentsCon; + } + for(var i=gnCheck;i=aTI.length) + { + aLS=gaTI; + aSS=aTI; + } + else + { + aLS=aTI; + aSS=gaTI; + } + var s=0; + for(var i=0;i=0) + { + var nM; + var bFound=false; + do{ + nM=(nB+nE)>>1; + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) + nE=nM-1; + else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + nB=nM+1; + else + { + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + insertItemIntoArray(aTI,nM,oTI); + else + { + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + insertItemIntoArray(aTI,nM+1,oTI); + else + insertItemIntoArray(aTI,nM,oTI); + } + } + else + aTI[0]=oTI; +} + +function mergeTopics(aTI1,aTI2) +{ + var i1=0; + var i2=0; + var len1=aTI1.length; + var len2=aTI2.length; + var aTopicNew=new Array(); + var i=0; + while(i1>1; + if(compare(keys[nM].sItemName,sKey)>0) + nE=nM-1; + else if(compare(keys[nM].sItemName,sKey)<0) + nB=nM+1; + else{ + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + { + if(keys[nM].aTopics) + { + for(var i=0;i>1; + if(aFTCD[nM].nBegin>nTopicId) + nE=nM-1; + else if(aFTCD[nM].nEnd