From: jfa Date: Fri, 7 Mar 2008 07:44:13 +0000 (+0000) Subject: Join modifications from BR_Dev_For_4_0 tag V4_1_1. X-Git-Tag: TG_start_ELNO_visualization~9 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=f830c97c748d8f8a6a7eccc8e3a58e19066a1181;p=modules%2Fgui.git Join modifications from BR_Dev_For_4_0 tag V4_1_1. --- diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 000000000..e69de29bb diff --git a/COPYING b/COPYING new file mode 100755 index 000000000..b1e3f5a26 --- /dev/null +++ b/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..e69de29bb diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..62e21b1b5 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,56 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 28/06/2001 +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +if GUI_ENABLE_CORBA + IDLDIR = idl +else !GUI_ENABLE_CORBA + IDLDIR = +endif + +SUBDIRS = $(IDLDIR) adm_local resources src doc bin + +DIST_SUBDIRS = idl adm_local resources src doc bin + +DISTCLEANFILES = a.out aclocal.m4 configure + +salomeinclude_DATA=GUI_version.h + +EXTRA_DIST+= \ + build_configure \ + clean_configure \ + LICENCE + +dist-hook: + rm -rf `find $(distdir) -name CVS` + +usr_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) usr_docs) + +docs:usr_docs + +dev_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs) diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 81a618ac4..000000000 --- a/Makefile.in +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 28/06/2001 -# $Header$ -# - -# source path -top_srcdir=@top_srcdir@ -top_builddir=. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:@top_srcdir@/resources:./bin:@top_srcdir@/idl - - -@COMMENCE@ - -SUBDIRS = src doc adm_local - -RESOURCES_FILES = \ -back.xpm \ -cascade.png \ -close.png \ -default.png \ -dl_delete.png \ -dl_insert.png \ -dl_moveup.png \ -dl_movedown.png \ -forward.xpm \ -help.png \ -home.xpm \ -new.png \ -open.png \ -print.png \ -reset.png \ -save.png \ -select1.png \ -tile.png \ -Tools_en.xml \ -view_back.png \ -view_bottom.png \ -view_camera_dump.png \ -view_fitall.png \ -view_fitarea.png \ -view_front.png \ -view_glpan.png \ -view_left.png \ -view_pan.png \ -view_reset.png \ -view_right.png \ -view_rotate.png \ -view_top.png \ -view_triedre.png \ -view_zoom.png \ -copy.png \ -paste.png \ -plot2d_dump.png \ -plot2d_fitall.png \ -plot2d_fitarea.png \ -plot2d_legend.png \ -plot2d_linear.png \ -plot2d_linear_y.png \ -plot2d_lines.png \ -plot2d_log.png \ -plot2d_log_y.png \ -plot2d_pan.png \ -plot2d_points.png \ -plot2d_settings.png \ -plot2d_splines.png \ -plot2d_zoom.png \ -uc_add.png \ -uc_current.png \ -uc_del.png \ -uc_new.png \ -uc_clear.png \ -channel.cfg \ - -BIN_SCRIPT= VERSION \ -runLightSalome.csh \ -runLightSalome.sh - -# copy header files in common directory -OWN_CONFIG_H=@OWN_CONFIG_H@ - -include_list = include/salome/SALOMEconfig.h \ - include/salome/GUI_version.h - -ifeq ($(OWN_CONFIG_H),yes) - include_list += include/salome/config.h -endif - -ifneq ($(HAVE_SSTREAM),yes) - include_list += include/salome/sstream -endif - -inc: idl $(include_list) - -bin: bin/salome/VERSION - -bin/salome/VERSION : bin/VERSION - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref - -$(RM) $@ - $(LN_S) ../../$< $@ - -# test if SALOMEconfig.h has changed (contents) -salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h - @if ! [ -a $@ ]; then \ - cp -p $< $@; \ - fi; \ - if ! cmp $< $@; then \ - cp -p $< $@; \ - fi; \ - -include/salome/config.h: salome_adm/unix/config.h - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/sstream: salome_adm/unix/sstream - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/GUI_version.h: GUI_version.h - -$(RM) $@ - $(LN_S) ../../$< $@ - -depend: -#depend: depend_idl -#depend_idl: -# (cd idl ; $(MAKE) $@) || exit 1 - -# doc is already build : if you want to had documents, go manually to doc and run 'make doc' -#doc: -# (cd doc && $(MAKE) $@) || exit 1 - -# Install make_commence make_conclude ... for other modules -install-make: - ($(INSTALL) -d $(incmakedir) || exit 1); - (sed 's/^prefix=/#prefix=/' $(top_builddir)/adm_local/unix/make_commence > $(incmakedir)/make_commence || exit 1); - - -install-end: -# finish libtool install -# @$(LT) --mode=finish $(libdir) - -install-include: $(include_list) - $(INSTALL) -d $(includedir) - @for f in X $(include_list); do \ - if test $$f != X; then \ - (cp -p $$f $(includedir) || exit 1); \ - fi; \ - done - -# install script in $(bindir) : -install-bin: $(BIN_SCRIPT) - $(INSTALL) -d $(bindir) - $(INSTALL_PROGRAM) $^ $(bindir) - -uninstall: -#uninstall: uninstall-idl -#uninstall-idl: -# $(RM) $(idldir)/*.idl - -distclean: distclean-other - -distclean-other: - -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old - -$(RM) salome_adm/unix/make_* - -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h salome_adm/unix/config.h - -$(RM) config.cache config.log config.status - -@MODULE@ - -install: install-bin install-include install-make install-end - diff --git a/NEWS b/NEWS new file mode 100644 index 000000000..e69de29bb diff --git a/README b/README new file mode 100644 index 000000000..e69de29bb diff --git a/adm_local/Makefile.am b/adm_local/Makefile.am new file mode 100644 index 000000000..7ae83a6fc --- /dev/null +++ b/adm_local/Makefile.am @@ -0,0 +1,19 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +SUBDIRS = unix diff --git a/adm_local/Makefile.in b/adm_local/Makefile.in deleted file mode 100644 index 23b57e707..000000000 --- a/adm_local/Makefile.in +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:$(srcdir)/adm_local - - -all: resources - -install: - cp -rf @top_srcdir@/adm_local @prefix@ - -bin: - -resources : - cp -rf @top_srcdir@/adm_local $(top_builddir) - -inc: - -lib: - -depend: - -depend_idl: - -install-end: - -install-include: - -install-bin: - -uninstall: - -uninstall-idl: - -distclean: - -clean: - -tests: - -distclean-other: - diff --git a/adm_local/unix/Makefile.am b/adm_local/unix/Makefile.am new file mode 100644 index 000000000..f9243d2f5 --- /dev/null +++ b/adm_local/unix/Makefile.am @@ -0,0 +1,25 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS = config_files + +# this is for LIGHT module compatibility +dist_admlocalunix_DATA=make_conclude.in \ No newline at end of file diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/unix/config_files/Makefile.am new file mode 100644 index 000000000..de8790b70 --- /dev/null +++ b/adm_local/unix/config_files/Makefile.am @@ -0,0 +1,40 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +dist_admlocalm4_DATA=\ +check_disable_Corba.m4 \ +check_GLViewer.m4 \ +check_GUI.m4 \ +check_msg2qm.m4 \ +check_OCCViewer.m4 \ +check_opengl.m4 \ +check_Plot2dViewer.m4 \ +check_PyConsole.m4 \ +check_pyqt.m4 \ +check_qt.m4 \ +check_qwt.m4 \ +check_SalomeObject.m4 \ +check_sip.m4 \ +check_SupervGraphViewer.m4 \ +check_vtk.m4 \ +check_VTKViewer.m4 \ +check_corba_in_GUI.m4 \ +check_QxGraphViewer.m4 \ +README diff --git a/adm_local/unix/config_files/check_GUI.m4 b/adm_local/unix/config_files/check_GUI.m4 index ff090e7b9..e0b0e24ae 100755 --- a/adm_local/unix/config_files/check_GUI.m4 +++ b/adm_local/unix/config_files/check_GUI.m4 @@ -27,14 +27,14 @@ if test "x${SALOME_GUI_DIR}" = "x" ; then # search Salome binaries in PATH variable AC_PATH_PROG(TEMP, $1) if test "x${TEMP}" != "x" ; then - AC_MSG_RESULT(libLightApp.so was found at : ${TEMP}) + AC_MSG_RESULT($1 was found at : ${TEMP}) SALOME_BIN_DIR=`dirname ${TEMP}` SALOME_GUI_DIR=`cd ${SALOME_BIN_DIR}/../..; pwd` fi fi fi -if test -f ${SALOME_GUI_DIR}/lib${LIB_LOCATION_SUFFIX}/salome/$1 ; then +if test -f ${SALOME_GUI_DIR}/bin/salome/$1 ; then SalomeGUI_ok=yes AC_MSG_RESULT(Using SALOME GUI distribution in ${SALOME_GUI_DIR}) @@ -58,6 +58,6 @@ AC_MSG_RESULT(for $2: ${SalomeGUI_ok}) ])dnl AC_DEFUN([CHECK_SALOME_GUI],[ - CHECK_GUI([libLightApp.so], + CHECK_GUI([SUITApp], [SALOME GUI]) -])dnl \ No newline at end of file +])dnl diff --git a/adm_local/unix/config_files/check_QxGraphViewer.m4 b/adm_local/unix/config_files/check_QxGraphViewer.m4 new file mode 100644 index 000000000..1ef9f7314 --- /dev/null +++ b/adm_local/unix/config_files/check_QxGraphViewer.m4 @@ -0,0 +1,25 @@ +# +# Check configure option --disable-qxGraphViewer=[yes|no|DIR] taking into account that +# DISABLE_QXGRAPHVIEWER may be already set during build_configure, +# Set DISABLE_QXGRAPHVIEWER to yes|no +# +# Author : Edawrd AGAPOV (OCC, 2005) +# + +AC_DEFUN([CHECK_QXGRAPHVIEWER],[ + +AC_ARG_WITH(qxGraphViewer, + [ --disable-qxGraphViewer default=no ], + disable_qxGraphViewer="$withval",disable_qxGraphViewer="${DISABLE_QXGRAPHVIEWER}") + +case $disable_qxGraphViewer in + yes) +# AC_MSG_RESULT(************************************************) +# AC_MSG_RESULT(******* DISABLE QxGraphViewer configuration ********) +# AC_MSG_RESULT(************************************************) + DISABLE_QXGRAPHVIEWER="yes" + AC_SUBST(DISABLE_QXGRAPHVIEWER) +esac + + +])dnl diff --git a/adm_local/unix/config_files/check_corba_in_GUI.m4 b/adm_local/unix/config_files/check_corba_in_GUI.m4 index 20be4514f..381bf3b7d 100755 --- a/adm_local/unix/config_files/check_corba_in_GUI.m4 +++ b/adm_local/unix/config_files/check_corba_in_GUI.m4 @@ -4,7 +4,7 @@ #------------------------------------------------------------ AC_DEFUN([CHECK_CORBA_IN_GUI],[ - CHECK_GUI([libSalomeApp.so], + CHECK_GUI([SALOME_Session_Server], [CORBA SALOME GUI]) CORBA_IN_GUI=${SalomeGUI_ok} AC_SUBST(CORBA_IN_GUI) diff --git a/adm_local/unix/config_files/check_opengl.m4 b/adm_local/unix/config_files/check_opengl.m4 index 8a56e0f54..a1eb48ee2 100644 --- a/adm_local/unix/config_files/check_opengl.m4 +++ b/adm_local/unix/config_files/check_opengl.m4 @@ -162,6 +162,40 @@ if test "x${OpenGL_libs_ok}" = "xyes" ; then break fi done + + # workaround a problem with libGL library location + for idir in $dirs; do + if test -r "${idir}/libGLU.la"; then + GLU_LA_PATH="${idir}/libGLU.la" + GL_LA_PATH_TO_CHECK=`cat ${GLU_LA_PATH} | awk '{ for(i=1;i0) print $i } }'` + if test -z ${GL_LA_PATH_TO_CHECK} || test -r ${GL_LA_PATH_TO_CHECK}; then + # nothing to do + break + fi + for jdir in $dirs; do + if test -r "${jdir}/libGL.la"; then + GL_LA_PATH="${jdir}/libGL.la" + # copy the libGLU.la file and set correct libGL.la path in it + NEW_GLU_LA_PATH=${ROOT_BUILDDIR} + NEW_GLU_LA_FILE="${NEW_GLU_LA_PATH}/libGLU.la" + sed -e "s%${GL_LA_PATH_TO_CHECK}%${GL_LA_PATH}%" ${GLU_LA_PATH} > "${NEW_GLU_LA_FILE}" + chmod -f --reference=${GLU_LA_PATH} "${NEW_GLU_LA_FILE}" + # set a new libGLU.la path + GLU_LIB_PATH="-L${NEW_GLU_LA_PATH}" + # create a simbolic link to libGLU.so + for kdir in $dirs; do + if test -r "${kdir}/libGLU.so"; then + cp -fs "${kdir}/libGLU.so" "${NEW_GLU_LA_PATH}/libGLU.so" + break + fi + done + break + fi + done + break + fi + done + LDFLAGS_old="${LDFLAGS}" LDFLAGS="${LDFLAGS} ${OGL_LIBS} ${GLU_LIB_PATH}" AC_CHECK_LIB([GLU], @@ -193,3 +227,4 @@ AC_SUBST(OGL_LIBS) AC_LANG_RESTORE ])dnl + diff --git a/adm_local/unix/config_files/check_pyqt.m4 b/adm_local/unix/config_files/check_pyqt.m4 index 7be124e24..f63479879 100644 --- a/adm_local/unix/config_files/check_pyqt.m4 +++ b/adm_local/unix/config_files/check_pyqt.m4 @@ -49,6 +49,16 @@ if test "x$pyqt_uic_ok" == "xno"; then fi fi fi +if test "x$pyqt_uic_ok" == "xno"; then + dnl try in $PATH + AC_PATH_PROG(PYUIC, pyuic) + if test "x$PYUIC" != x; then + PYQTDIR=$PYUIC + PYQTDIR=`dirname $PYQTDIR` + PYQTDIR=`dirname $PYQTDIR` + pyqt_uic_ok=yes + fi +fi if test "x$pyqt_uic_ok" == "xno"; then dnl try ${SIPDIR} if test "x${SIPDIR}" != "x"; then @@ -106,8 +116,8 @@ if test "x${PYQTDIR}" != "x"; then fi fi if test "x$pyqt_lib_ok" == "xno"; then - dnl try {PYQTDIR}/lib - if test -d {PYQTDIR}/lib; then + dnl try ${PYQTDIR}/lib + if test -d ${PYQTDIR}/lib; then AC_CHECK_FILE(${PYQTDIR}/lib/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no) if test "x$pyqt_lib_ok" == "xyes"; then PYQT_LIBS="-L${PYQTDIR}/lib -lqtcmodule" @@ -120,8 +130,8 @@ if test "x${PYQTDIR}" != "x"; then fi fi if test "x$pyqt_lib_ok" == "xno"; then - dnl try {PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages - if test -d {PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages; then + dnl try ${PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages + if test -d ${PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages; then AC_CHECK_FILE(${PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no) if test "x$pyqt_lib_ok" == "xyes"; then PYQT_LIBS="-L${PYQTDIR}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/site-packages -lqtcmodule" @@ -220,6 +230,17 @@ if test "x$pyqt_sips_ok" == "xno"; then fi fi fi +if test "x$pyqt_sips_ok" == "xno"; then + dnl try ${PYQTDIR}/share/sip/qt + if test "x${PYQTDIR}" != "x"; then + if test -d ${PYQTDIR}/share/sip/qt ; then + AC_CHECK_FILE(${PYQTDIR}/share/sip/qt/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no) + if test "x$pyqt_sips_ok" == "xyes"; then + PYQT_SIPS="${PYQTDIR}/share/sip/qt" + fi + fi + fi +fi if test "x$pyqt_sips_ok" == "xno"; then dnl try ${SIPDIR}/sip if test "x${SIPDIR}" != "x"; then @@ -291,12 +312,16 @@ else CXXFLAGS=$CXXFLAGS_old LIBS=$LIBS_old fi +# get latest Qt version supported +QT_VERS=`grep -e "[[[:space:]]]*Qt_[[[:digit:]_]]\+}" ${PYQT_SIPS}/versions.sip | sed -e "s/\(.*\)[[[:space:]]]*\(Qt_[[[:digit:]_]]\+\)}/\2/g"` +AC_MSG_RESULT(Latest Qt version supported by PyQt is $QT_VERS) AC_SUBST(PYQT_INCLUDES) AC_SUBST(PYQT_LIBS) AC_SUBST(PYQT_SIPS) AC_SUBST(PYUIC) AC_SUBST(PYQT_SIPFLAGS) +AC_SUBST(QT_VERS) AC_LANG_RESTORE diff --git a/adm_local/unix/config_files/check_qt.m4 b/adm_local/unix/config_files/check_qt.m4 index ab5348319..1aea9c3a2 100644 --- a/adm_local/unix/config_files/check_qt.m4 +++ b/adm_local/unix/config_files/check_qt.m4 @@ -48,9 +48,8 @@ else qt_inc_ok=no QTINC="" AC_CHECK_FILE(${QTDIR}/include/qt3/qglobal.h,QTINC="/qt3",QTINC="") - QT_VERS=`grep "QT_VERSION_STR" ${QTDIR}/include${QTINC}/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'` - AC_MSG_RESULT(Qt version is $QT_VERS) - QT_VERS="Qt_"`echo $QT_VERS | sed -e 's%\"%%g' -e 's%\.%_%g'` + QT_VERSION=`grep "QT_VERSION_STR" ${QTDIR}/include${QTINC}/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'` + AC_MSG_RESULT(Qt version is $QT_VERSION) fi if test "x$qt_ok" = "xyes" @@ -169,7 +168,7 @@ AC_SUBST(QT_INCLUDES) AC_SUBST(QT_MT_INCLUDES) AC_SUBST(QT_LIBS) AC_SUBST(QT_MT_LIBS) -AC_SUBST(QT_VERS) +AC_SUBST(QT_VERSION) AC_LANG_RESTORE diff --git a/adm_local/unix/config_files/check_sip.m4 b/adm_local/unix/config_files/check_sip.m4 index 83af9a907..88cbe5951 100644 --- a/adm_local/unix/config_files/check_sip.m4 +++ b/adm_local/unix/config_files/check_sip.m4 @@ -44,11 +44,26 @@ else SIP_VERS=v4_old ;; 4.2*) SIP_VERS=v4_new ;; + 4.3*) + SIP_VERS=v4_new ;; + 4.4*) + SIP_VERS=v4_new ;; + 4.5*) + SIP_VERS=v4_new ;; + 4.6*) + SIP_VERS=v4_new ;; + 4.7*) + SIP_VERS=v4_new ;; *) AC_MSG_RESULT(sip version $version not supported) SIP_VERS=unsupported ;; esac + if test "x$SIPDIR" = "x" ; then + SIPDIR=`dirname $SIP` + SIPDIR=`dirname $SIPDIR` + fi + sip_ok=no dnl Search sip.h file if test "x$SIPDIR" != "x" ; then @@ -163,6 +178,9 @@ AC_SUBST(SIP_INCLUDES) AC_SUBST(SIP_LIBS) AC_SUBST(SIP_VERS) +AM_CONDITIONAL(IS_SIP_V4, [test $SIP_VERS == v4_old || test $SIP_VERS == v4_new]) +AM_CONDITIONAL(IS_SIP_NEW, [test $SIP_VERS == v3_new || test $SIP_VERS == v4_new]) + AC_MSG_RESULT(for sip: $sip_ok) ])dnl diff --git a/adm_local/unix/config_files/check_vtk.m4 b/adm_local/unix/config_files/check_vtk.m4 index a0733ebc3..5e4fc444e 100644 --- a/adm_local/unix/config_files/check_vtk.m4 +++ b/adm_local/unix/config_files/check_vtk.m4 @@ -20,13 +20,34 @@ dnl dnl dnl -AC_DEFUN([CHECK_VTK],[ +dnl +dnl OPTIONS_VTK +dnl ------------------------------------------------------------------------ +dnl Adds the --with-vtk=path and --with-vtk-version configure options +dnl +AC_DEFUN([OPTIONS_VTK], [ + AC_ARG_WITH([vtk], + [AC_HELP_STRING([--with-vtk], [The prefix where VTK is installed (default "" means taking from environment variable)])], + [with_vtk=$withval], [with_vtk=""]) + + AC_ARG_WITH([vtk-version], + [AC_HELP_STRING([--with-vtk-version], [VTK include directory name is vtk-suffix, e.g. vtk-5.0/. What is the suffix? (Default "yes" means taking from environment variable)])], + [vtk_suffix=$withval], [vtk_suffix="yes"]) +]) + +dnl +dnl CHECK_VTK +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([CHECK_VTK], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CXX])dnl AC_REQUIRE([AC_PROG_CPP])dnl AC_REQUIRE([AC_PROG_CXXCPP])dnl AC_REQUIRE([AC_LINKER_OPTIONS])dnl +AC_REQUIRE([OPTIONS_VTK])dnl + AC_CHECKING(for VTK) AC_LANG_SAVE @@ -59,34 +80,80 @@ then LXLIB="" fi -if test "x$x_libraries" = "x/usr/lib" -then - LXLIB="" -fi - -if test "x$x_libraries" = "x/usr/lib" +if test "x$x_libraries" = "x/usr/lib${LIB_LOCATION_SUFFIX}" then LXLIB="" fi LOCAL_INCLUDES="$OGL_INCLUDES" -LOCAL_LIBS="-lvtkCommon -lvtkGraphics -lvtkImaging -lvtkFiltering -lvtkIO -lvtkRendering -lvtkHybrid $OGL_LIBS $LXLIB -lX11 -lXt" +LOCAL_LIBS="-lvtkCommon -lvtkGraphics -lvtkImaging -lvtkFiltering -lvtkIO -lvtkRendering -lvtkHybrid -lvtkParallel -lvtkWidgets $OGL_LIBS $LXLIB -lX11 -lXt" TRY_LINK_LIBS="-lvtkCommon $OGL_LIBS $LXLIB -lX11 -lXt" -if test -z $VTKHOME -then - AC_MSG_WARN(undefined VTKHOME variable which specify where vtk was compiled) - if test -f /usr/include/vtk/vtkPlane.h ; then - AC_MSG_RESULT(trying /usr) - VTKHOME="/usr" - fi +dnl VTK version suffix +if test -z $vtk_suffix ; then + vtk_suffix="yes" +fi +if test "x$vtk_suffix" == "xno" ; then + dnl in case user wrote --with-vtk-version=no, use empty suffix + vtk_suffix="" +fi +if test "x$vtk_suffix" != "xyes" ; then + VTKSUFFIX="$vtk_suffix" +else + dnl in case user wrote --with-vtk-version=yes, get the suffix from env + if test -z $VTKSUFFIX ; then + VTKSUFFIX="-5.0" + fi fi -if test ! -z $VTKHOME -then - LOCAL_INCLUDES="-I$VTKHOME/include/vtk $LOCAL_INCLUDES" - LOCAL_LIBS="-L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk -L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk/python $LOCAL_LIBS" - TRY_LINK_LIBS="-L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk -L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk/python $TRY_LINK_LIBS" +dnl VTK install dir +if test -z $with_vtk ; then + with_vtk="" +fi +if test "x$with_vtk" = "xyes" ; then + dnl in case user wrote --with-vtk=yes + with_vtk="" +fi +if test "x$with_vtk" = "xno" ; then + dnl in case user wrote --with-vtk=no + with_vtk="" + AC_MSG_WARN(Value "no", specified for option --with-vtk, is not supported) +fi + +if test "x$with_vtk" != "x" ; then + VTKHOME="$with_vtk" +else + if test -z $VTKHOME ; then + AC_MSG_WARN(undefined VTKHOME variable which specify where vtk was compiled) + for d in /usr/local /usr ; do + if test -f ${d}/include/vtk${VTKSUFFIX}/vtkPlane.h ; then + AC_MSG_RESULT(trying ${d}) + VTKHOME="${d}" + break + else + if test -f ${d}/include/vtk-5.0/vtkPlane.h ; then + AC_MSG_RESULT(trying ${d}) + VTKHOME="${d}" + VTKSUFFIX="-5.0" + break + else + if test -f ${d}/include/vtk/vtkPlane.h ; then + AC_MSG_RESULT(trying ${d}) + VTKHOME="${d}" + VTKSUFFIX="" + break + fi + fi + fi + done + fi +fi + +LOCAL_INCLUDES="-I$VTKHOME/include/vtk${VTKSUFFIX} $LOCAL_INCLUDES" +LOCAL_LIBS="-L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk${VTKSUFFIX} $LOCAL_LIBS" +TRY_LINK_LIBS="-L$VTKHOME/lib${LIB_LOCATION_SUFFIX} -L$VTKHOME/lib${LIB_LOCATION_SUFFIX}/vtk${VTKSUFFIX} $TRY_LINK_LIBS" +if test "x$VTKHOME" != "x/usr" ; then + LOCAL_LIBS="-L$VTKHOME/lib${LIB_LOCATION_SUFFIX} $LOCAL_LIBS" fi dnl vtk headers @@ -95,34 +162,34 @@ CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES" AC_CHECK_HEADER(vtkPlane.h,vtk_ok="yes",vtk_ok="no") - CPPFLAGS="$CPPFLAGS_old" +CPPFLAGS="$CPPFLAGS_old" - if test "x$vtk_ok" = "xyes" - then +if test "x$vtk_ok" = "xyes" +then VTK_INCLUDES="$LOCAL_INCLUDES" - dnl vtk libraries + dnl vtk libraries AC_MSG_CHECKING(linking VTK library) - LIBS_old="$LIBS" -# LIBS="$LIBS $TRY_LINK_LIBS" - LIBS="$LIBS $LOCAL_LIBS" - CPPFLAGS_old="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $VTK_INCLUDES" + LIBS_old="$LIBS" + LIBS="$LIBS $TRY_LINK_LIBS" + #LIBS="$LIBS $LOCAL_LIBS" + CPPFLAGS_old="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $VTK_INCLUDES" - dnl VTKPY_MODULES="$VTKHOME/python" + dnl VTKPY_MODULES="$VTKHOME/python" AC_CACHE_VAL(salome_cv_lib_vtk,[ - AC_TRY_LINK([#include "vtkPlane.h"], + AC_TRY_LINK([#include "vtkPlane.h" + ], [vtkPlane::New()], [salome_cv_lib_vtk=yes], [salome_cv_lib_vtk=no]) - ]) - vtk_ok="$salome_cv_lib_vtk" - LIBS="$LIBS_old" - CPPFLAGS="$CPPFLAGS_old" - + ]) + vtk_ok="$salome_cv_lib_vtk" + LIBS="$LIBS_old" + CPPFLAGS="$CPPFLAGS_old" fi if test "x$vtk_ok" = "xno" @@ -142,4 +209,4 @@ AC_LANG_RESTORE # Save cache AC_CACHE_SAVE -])dnl \ No newline at end of file +])dnl diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in deleted file mode 100644 index 0a5de34a2..000000000 --- a/adm_local/unix/make_commence.in +++ /dev/null @@ -1,275 +0,0 @@ -# common directories to put headerfiles -inc_builddir=$(top_builddir)/include/salome - -GUI_DISABLE_CORBA=@GUI_DISABLE_CORBA@ -DISABLE_GLVIEWER=@DISABLE_GLVIEWER@ -DISABLE_PYCONSOLE=@DISABLE_PYCONSOLE@ -DISABLE_PLOT2DVIEWER=@DISABLE_PLOT2DVIEWER@ -DISABLE_SUPERVGRAPHVIEWER=@DISABLE_SUPERVGRAPHVIEWER@ -DISABLE_OCCVIEWER=@DISABLE_OCCVIEWER@ -DISABLE_VTKVIEWER=@DISABLE_VTKVIEWER@ -DISABLE_SALOMEOBJECT=@DISABLE_SALOMEOBJECT@ -@SET_MAKE@ -SHELL=/bin/sh - -# header missing - -HAVE_SSTREAM=@HAVE_SSTREAM@ - - -LIBS=@LIBS@ -LIBSFORBIN=@LIBS@ -LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -LDFLAGSFORBIN=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -# add libstdc++ to link c++ library with libtool ! -LDFLAGS+= -lstdc++ -LDFLAGSFORBIN+= -lstdc++ - -CP=@CP@ - -# CPP - -CPP=@CPP@ -CXXCPP=@CXXCPP@ -CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# C - -CC = @CC@ -CFLAGS = @CFLAGS@ -C_DEPEND_FLAG = @C_DEPEND_FLAG@ - -# C++ - -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ - -# BOOST Library - -BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ - -# JAVA - -JAVA_INCLUDES = @JAVA_INCLUDES@ -JAVA_LIBS = @JAVA_LIBS@ -JAVA_LDPATH = @JAVA_LDPATH@ - -# PYTHON - -PYTHON = @PYTHON@ -PYTHONHOME = @PYTHONHOME@ -PYTHON_INCLUDES = @PYTHON_INCLUDES@ -PYTHON_LIBS = @PYTHON_LIBS@ -PYTHON_VERSION = @PYTHON_VERSION@ -PYTHON_SITE = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages -PYTHON_SITE_INSTALL = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome -# QT - -QT_ROOT = @QT_ROOT@ -QT_INCLUDES = @QT_INCLUDES@ -QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT -QT_LIBS = @QT_LIBS@ -QT_MT_LIBS = @QT_MT_LIBS@ -QT_VERS = @QT_VERS@ - -MOC = @MOC@ -UIC = @UIC@ - -# msg2qm -MSG2QM = @MSG2QM@ - -#QWT - -QWT_INCLUDES=@QWT_INCLUDES@ -QWT_LIBS=@QWT_LIBS@ - -# SIP -SIP = @SIP@ -SIP_INCLUDES = @SIP_INCLUDES@ -SIP_LIBS = @SIP_LIBS@ -SIP_VERS = @SIP_VERS@ - -# PYQT -PYQT_SIPS = @PYQT_SIPS@ -PYQT_LIBS = @PYQT_LIBS@ -PYQT_INCLUDES = @PYQT_INCLUDES@ -PYUIC = @PYUIC@ -PYQT_SIPFLAGS = @PYQT_SIPFLAGS@ - -# openGL -OGL_INCLUDES=@OGL_INCLUDES@ -OGL_LIBS=@OGL_LIBS@ - -# VTK -VTK_INCLUDES=@VTK_INCLUDES@ -VTK_LIBS=@VTK_LIBS@ - -# HDF5 - -HDF5_INCLUDES=@HDF5_INCLUDES@ -HDF5_LIBS=@HDF5_LIBS@ -HDF5_MT_LIBS=@HDF5_MT_LIBS@ - -# OpenCasCade - -OCC_INCLUDES=@CAS_CPPFLAGS@ -OCC_CXXFLAGS=@CAS_CXXFLAGS@ - -CAS_KERNEL=@CAS_KERNEL@ -CAS_MATH=@CAS_MATH@ -CAS_OCAF=@CAS_OCAF@ -CAS_OCAFVIS=@CAS_OCAFVIS@ -CAS_TKTopAlgo=@CAS_TKTopAlgo@ -CAS_VIEWER=@CAS_VIEWER@ -CAS_MODELER=@CAS_MODELER@ -CAS_DATAEXCHANGE=@CAS_DATAEXCHANGE@ -CAS_LDPATH=@CAS_LDPATH@ - -# MPICH - -MPICH_INCLUDES=@MPICH_INCLUDES@ -MPICH_LIBS=@MPICH_LIBS@ - -# Swig C++ Python - -SWIG = @SWIG@ -SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# OMNIORB - -OMNIORB_ROOT = @OMNIORB_ROOT@ -OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ -OMNIORB_LIBS = @OMNIORB_LIBS@ -OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ - -OMNIORB_IDL = @OMNIORB_IDL@ -OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ -OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome - -OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ -OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ -OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ - -OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ -OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ -OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ - -# Default ORB - -CORBA_ROOT = @CORBA_ROOT@ -CORBA_INCLUDES = @CORBA_INCLUDES@ -CORBA_LIBS = @CORBA_LIBS@ -CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ - -IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome -IDLPYFLAGS = @IDLPYFLAGS@ - -IDL = @IDL@ - -IDL_CLN_H = @IDL_CLN_H@ -IDL_CLN_CXX = @IDL_CLN_CXX@ -IDL_CLN_OBJ = @IDL_CLN_OBJ@ - -IDL_SRV_H = @IDL_SRV_H@ -IDL_SRV_CXX = @IDL_SRV_CXX@ -IDL_SRV_OBJ = @IDL_SRV_OBJ@ - -CPPFLAGS+= $(CORBA_INCLUDES) -CXXFLAGS+= $(CORBA_CXXFLAGS) - -DOXYGEN = @DOXYGEN@ -DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ -DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ - -## Shared libraries -LT_STATIC_EXEC=@LT_STATIC_EXEC@ -DYNAMIC_DIRS=@DYNAMIC_DIRS@ -LT_LIB=libtool -LT=$(top_builddir)/libtool -LT_COMPILE=$(LT) --mode=compile $(CC) -LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir) -LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS) -LT_RUN=$(LT) --mode=execute -LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM) -LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA) -LT_UNINSTALL=$(LT) --mode=uninstall $(RM) - -INSTALL=@INSTALL@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ -INSTALL_DATA=@INSTALL_DATA@ - -# create a symbolic link (or a copie ?) -LN_S=@LN_S@ - -KERNEL_ROOT_DIR=@KERNEL_ROOT_DIR@ -KERNEL_SITE_DIR=@KERNEL_SITE_DIR@ - -KERNEL_LDFLAGS=@KERNEL_LDFLAGS@ -KERNEL_CXXFLAGS=@KERNEL_CXXFLAGS@ - -## Installation points -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@exec_prefix@/bin/salome -libdir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/salome -# warning : if user give this path in configure we could have salome/salome :-( -includedir=@includedir@/salome -datadir=@datadir@/salome -idldir=${prefix}/idl/salome -sharedpydir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules -incmakedir=${prefix}/salome_adm/unix - -docdir=${prefix}/doc/salome - -# -# begin of package rules -# - -.PHONY: all lib bin inc resources data docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean - -.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm - -all: - $(MAKE) inc - $(MAKE) depend_idl - $(MAKE) depend - $(MAKE) lib - $(MAKE) bin - $(MAKE) resources - -# -# add target to build administrative files -# - -Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in - cd $(top_builddir) ; ./config.status - -LOCAL_MAKE = make_commence make_conclude make_omniorb - -KERNEL_MAKE = make_module depend SALOMEconfig.h F77config.h sstream envScript - -$(top_builddir)/config.status: $(top_srcdir)/configure \ - $(LOCAL_MAKE:%=$(top_srcdir)/adm_local/unix/%.in) \ - $(KERNEL_MAKE:%=$(KERNEL_ROOT_DIR)/salome_adm/unix/%.in) - cd $(top_builddir) ; ./config.status --recheck - -# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-) -ifneq ($(top_srcdir),$(srcdir)) -configure: $(top_srcdir)/configure -endif - -$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4 - cd $(top_srcdir) ; autoconf - -$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base - cd $(top_srcdir) && ./build_configure - - -ACLOCAL_SRC = \ -check_qt.m4 check_vtk.m4 check_qwt.m4 \ -check_sip.m4 check_msg2qm.m4 check_pyqt.m4 \ -check_opengl.m4 - -$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=$(top_srcdir)/adm_local/unix/config_files/%) - cd $(top_srcdir) ; aclocal -I adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am new file mode 100644 index 000000000..16a5054e5 --- /dev/null +++ b/adm_local/unix/make_common_starter.am @@ -0,0 +1,54 @@ +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# + +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +bindir = $(prefix)/bin/@PACKAGE@ +salomescriptdir = $(bindir) + +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ + +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir =$(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: resources/%.po + $(MSG2QM) $< $@ + +EXTRA_DIST=$(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=resources/%.po) + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest + +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; diff --git a/adm_local/unix/make_conclude.in b/adm_local/unix/make_conclude.in index 897154a7a..da7a678e1 100644 --- a/adm_local/unix/make_conclude.in +++ b/adm_local/unix/make_conclude.in @@ -191,11 +191,11 @@ RESOURCES_FILES ?= $(RESOURCES_FILES_ALL) resources: resources-po resources-cp -resources-po: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm) +resources-po: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm) -resources-cp: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%) +resources-cp: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%) -$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%): $(top_builddir)/share/salome/resources/% : % +$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%): $(top_builddir)/share/salome/resources/$(MODULE_NAME)/% : % cp -fr $< $@; # Make installation directories if they don't exist. @@ -255,19 +255,19 @@ $(EXPORT_SHAREDPYSCRIPTS:%=install-%): install-%: % # generic rule to install .qm files : install-qm: resources - $(INSTALL) -d $(datadir)/resources - @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm); do \ + $(INSTALL) -d $(datadir)/resources/$(MODULE_NAME) + @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm); do \ if test $$f != X; then \ - ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1); \ + ($(INSTALL_DATA) $$f $(datadir)/resources/$(MODULE_NAME)/. || exit 1); \ fi; \ done # generic rule to install resources files (png, ini ...): install-res: resources - $(INSTALL) -d $(datadir)/resources - @for f in X $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%); do \ + $(INSTALL) -d $(datadir)/resources/$(MODULE_NAME) + @for f in X $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%); do \ if test $$f != X; then \ - ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1); \ + ($(INSTALL_DATA) $$f $(datadir)/resources/$(MODULE_NAME)/. || exit 1); \ fi; \ done @@ -318,7 +318,7 @@ uninstall: # Uninstall qm files @for f in X $(PO_FILES:%.po=%.qm); do \ if test $$f != X; then \ - $(LT_UNINSTALL) $(datadir)/resources/$$f ; \ + $(LT_UNINSTALL) $(datadir)/resources/$(MODULE_NAME)/$$f ; \ fi; \ done @@ -363,7 +363,7 @@ clean: mostlyclean # distclean: clean #remove qm file ! - -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm) + -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm) #remove include files -$(RM) $(DEST_HEADERS) -$(RM) $(DISTCLEAN) *.bak *.old *.new .dep* @@ -410,7 +410,7 @@ distclean: clean %_wrap.cxx : %.i $(SWIG) $(SWIG_FLAGS) -o $@ $< -$(top_builddir)/share/salome/resources/%.qm: %.po +$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm: %.po $(MSG2QM) $< $@ ; \ #------------------------------------------------------------------------------ diff --git a/adm_local/unix/make_omniorb.in b/adm_local/unix/make_omniorb.in deleted file mode 100644 index b65865eac..000000000 --- a/adm_local/unix/make_omniorb.in +++ /dev/null @@ -1,50 +0,0 @@ -#======================================================================= -# Begin specific part to omniorb -# (include from file adm/unix/make_omniorb generated by -# adm/unix/make_omniorb.in) -#======================================================================= -# -* Makefile *- -# -# - -# Client and server object are the same with omniorb -# There are one header file and one source file generate - -#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ)) - -# dependancies between idl and it's generated files -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -# dependncies between idl files -depend_idl: .depidl - -# we use cpp to generate dependencies between idl files. -# we change cpp output to keep only idl file and transform it to get a suitable rule -.depidl: $(IDL_FILES) - @touch $@ - @for dep in $? dummy; do \ - if [ $$dep != "dummy" ]; then \ - echo Building dependencies for $$dep; \ - basedep=`basename $$dep .idl`; \ - header="$$basedep"$(IDL_CLN_H); \ - sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \ - $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \ - sed `echo "s%$$basedep\\.idl%$$header:%g"` | \ - sed 's% $(srcdir)/% %g' | \ - sed 's% $(top_srcdir)/% %g' | \ - sed 's% $(top_builddir)/% %g' | \ - sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \ - sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \ - echo '' >>$@; \ - fi; \ - done ; - --include .depidl - -#======================================================================= -# End specific part to omniorb -#======================================================================= diff --git a/bin/Makefile.am b/bin/Makefile.am new file mode 100644 index 000000000..a0f5c8488 --- /dev/null +++ b/bin/Makefile.am @@ -0,0 +1,41 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# -* Makefile *- +# +# Author : Guillaume Boulant (CSSI) +# Module : KERNEL +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +# +# =============================================================== +# Files to be installed +# =============================================================== +# + +# These files are data, module or lib files +nodist_salomescript_DATA= VERSION + +EXTRA_DIST+= VERSION.in + +# These files are executable scripts +dist_salomescript_SCRIPTS=\ + runLightSalome.csh \ + runLightSalome.sh diff --git a/bin/runLightSalome.csh b/bin/runLightSalome.csh index 85675de23..3a751e993 100755 --- a/bin/runLightSalome.csh +++ b/bin/runLightSalome.csh @@ -1,9 +1,7 @@ #!/bin/csh -f -if ( ! $?SUITRoot ) setenv SUITRoot ${GUI_ROOT_DIR}/share/salome - # this variable necessary for loading .ini or .xml file -if ( ! $?LightAppConfig ) setenv LightAppConfig ${GUI_ROOT_DIR}/share/salome/resources -if ( ! $?LightAppResources ) setenv LightAppResources ${GUI_ROOT_DIR}/share/salome/resources +if ( ! $?LightAppConfig ) setenv LightAppConfig ${GUI_ROOT_DIR}/share/salome/resources/gui +if ( ! $?LightAppResources ) setenv LightAppResources ${GUI_ROOT_DIR}/share/salome/resources/gui SUITApp LightApp -style salome $* & diff --git a/bin/runLightSalome.sh b/bin/runLightSalome.sh index b2f67d65e..df19ca7ba 100755 --- a/bin/runLightSalome.sh +++ b/bin/runLightSalome.sh @@ -18,15 +18,12 @@ # #!/bin/bash -f -if [ -z "$SUITRoot" ] ; then - export SUITRoot=${GUI_ROOT_DIR}/share/salome -fi # this variable necessary for loading .ini or .xml file if [ -z "$LightAppConfig" ] ; then - export LightAppConfig=${GUI_ROOT_DIR}/share/salome/resources + export LightAppConfig=${GUI_ROOT_DIR}/share/salome/resources/gui fi if [ -z "$LightAppResources" ] ; then - export LightAppResources=${GUI_ROOT_DIR}/share/salome/resources + export LightAppResources=${GUI_ROOT_DIR}/share/salome/resources/gui fi SUITApp LightApp -style salome $* & diff --git a/build_configure b/build_configure index b36fde32a..733a8cea6 100755 --- a/build_configure +++ b/build_configure @@ -1,215 +1,100 @@ #!/bin/bash # -# Tool for updating list of .in file for the SALOME project +# Tool for updating list of .in file for the SALOME project # and regenerating configure script # # Author : Marc Tajchman - CEA # Date : 10/10/2002 # $Header$ # +# 26/10/2006: Mikhail PONIKAROV - OCN +# Reorganization for uage of autotools ORIG_DIR=`pwd` CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` -######################################################################## +# ____________________________________________________________________ # Test if the KERNEL_ROOT_DIR is set correctly if test ! -d "${KERNEL_ROOT_DIR}"; then echo "failed : KERNEL_ROOT_DIR variable is not correct !" exit fi -# Test if the KERNEL_SRC is set correctly - -#if test ! -d "${KERNEL_SRC}"; then -# echo "failed : KERNEL_SRC variable is not correct !" -# exit -#fi -######################################################################## -# find_in - utility function -# -# usage : -# find_in directory filename -# -# Finds files following the *.in pattern, recursively in the -# directory (first argument). -# Results are appended into the file (second argument) -# -# Difference from the standard unix find is that files are tested -# before directories -# - -find_in() -{ - local i - local f=$2 - -# if the first argument is not a directory, returns - - if [ ! -d "$1" ] ; then - return - fi - -# dont look in the CVS directories - - case $1 in - */CVS) return ;; - */adm_local/*) return ;; - *) ;; - esac - -# for each regular file contained in the directory -# test if it's a .in file - - for i in "$1"/* - do - if [ -f "$i" ] ; then - case $i in - *.in) echo " "$i" \\" >> $f;; - *) ;; - esac - fi - done - -# for each subdirectory of the first argument, proceeds recursively - - for i in "$1"/* - do - if [ -d "$i" ] ; then - find_in "$i" "$f" - fi - done -} - - -####################################################################### -# Generate list of .in files (Makefile.in, config.h.in, etc) -# appending it in file configure.in - cd ${CONF_DIR} ABS_CONF_DIR=`pwd` -# -# Common part of the configure.in file -# -chmod u+w configure.in.base -if ! \cp -f configure.in.base configure.in_tmp1 -then - echo - echo "error : can't create files in" ${CONF_DIR} - echo "aborting ..." - chmod u-w configure.in.base - exit -fi -chmod u-w configure.in.base - -if [ -e "${CONF_DIR}/salome_adm" ] ; then - \rm -rf ${CONF_DIR}/salome_adm -fi - -# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files -echo "" >> configure.in_tmp1 -echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/.' >> configure.in_tmp1 - -echo "" >> configure.in_tmp1 -echo "AC_OUTPUT([ \\" >> configure.in_tmp1 - -# -# List of .in files in the adm/unix directory -# These files MUST be on top of AC_OUTPUT list so we -# put them "manually" -# - -echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_omniorb:${ABS_CONF_DIR}/adm_local/unix/make_omniorb.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_commence:${ABS_CONF_DIR}/adm_local/unix/make_commence.in \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_conclude:${ABS_CONF_DIR}/adm_local/unix/make_conclude.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 - -\rm -f configure.in_tmp2 configure.in_tmp3 -touch configure.in_tmp2 -find_in . configure.in_tmp2 -sed -e '/^...salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/^...adm_local.unix.make_omniorb/d' configure.in_tmp3 > configure.in_tmp2 -sed -e '/^...adm_local.unix.make_commence/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -sed -e 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 -#sed '/^.salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -#sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -#sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 - -echo "])" >> configure.in_tmp1 - -# delete the link created for AC_OUTPUT -echo "" >> configure.in_tmp1 -#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 -\mv configure.in_tmp1 configure.in_new -\rm -f configure.in_tmp2 configure.in_tmp3 - - -######################################################################## -# Create new (or replace old) configure.in file -# Print a message if the file is write protected -# - -echo -if test ! -f configure.in -then - echo -n "Creating new file 'configure.in' ... " - if \mv configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo "error, check your file permissions" - fi -else - echo -n "Updating 'configure.in' file ... " - if ! \cp configure.in configure.in_old >& /dev/null - then - echo - echo - echo "Can't backup previous configure.in" - echo -n "Continue (you will not be able to revert) - (Y/N) ? " - read R - case "x$R" in - xn*) exit;; - xN*) exit;; - esac - echo - echo -n " " - fi - if \cp configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo - echo "error, can't update previous configure.in" - fi -fi - -######################################################################## -# Use autoconf to rebuild the configure script -# - -if test -f configure -then - echo -n "Updating 'configure' script ... " -else - echo -n "Creating 'configure' script ... " -fi - -aclocal -I adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files -if autoconf -then - echo "done" -else - echo "failed (check file permissions and/or user quotas ...)" -fi - -cd ${ORIG_DIR} - -echo +mkdir -p salome_adm/unix/config_files +#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files +#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix + +# remove KERNEL deprecated configure files +#for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \ +# check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig \ +# ac_cxx_typename.m4 check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 +#do +# rm salome_adm/unix/config_files/${deprecated} +#done + +# remove KERNEL CVS directories in subdirectory salome_adm +#for deprecated in CVS unix/CVS unix/config_files/CVS +#do +# rm -rf salome_adm/${deprecated} +#done + +cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix + +# ____________________________________________________________________ +# aclocal creates the aclocal.m4 file from the standard macro and the +# custom macro embedded in the directory salome_adm/unix/config_files +# and KERNEL config_files directory. +# output: +# aclocal.m4 +# autom4te.cache (directory) +echo "====================================================== aclocal" + +aclocal -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I adm_local/unix/config_files || exit 1 + +# ____________________________________________________________________ +# libtoolize creates some configuration files (ltmain.sh, +# config.guess and config.sub). It only depends on the libtool +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). +# output: +# salome_adm/unix/config_files/config.guess +# salome_adm/unix/config_files/config.sub +# salome_adm/unix/config_files/ltmain.sh +#echo "====================================================== libtoolize" + +libtoolize --force --copy --automake || exit 1 + +# ____________________________________________________________________ +# make link to KERNEL configuration files to +#ln -sf ${KERNEL_ROOT_DIR}/salome_adm . + +# ____________________________________________________________________ +# autoconf creates the configure script from the file configure.ac (or +# configure.in if configure.ac doesn't exist) +# output: +# configure +echo "====================================================== autoconf" + +autoconf + +# ____________________________________________________________________ +# automake creates some scripts used in building process +# (install-sh, missing, ...). It only depends on the automake +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). This step also +# creates the Makefile.in files from the Makefile.am files. +# output: +# salome_adm/unix/config_files/compile +# salome_adm/unix/config_files/depcomp +# salome_adm/unix/config_files/install-sh +# salome_adm/unix/config_files/missing +# salome_adm/unix/config_files/py-compile +# Makefile.in (from Makefile.am) +echo "====================================================== automake" + +automake --copy --gnu --add-missing diff --git a/clean_configure b/clean_configure new file mode 100755 index 000000000..be0b5427f --- /dev/null +++ b/clean_configure @@ -0,0 +1,15 @@ +#!/bin/sh + +rm -rf autom4te.cache aclocal.m4 configure make_config +find . -name "*~" -print -exec rm {} \; +find . -name "*.pyc" -print -exec rm {} \; +#exit +# ==================== ON SORT AVANT + +find bin -name Makefile.in | xargs rm -f +find doc -name Makefile.in | xargs rm -f +find idl -name Makefile.in | xargs rm -f +find resources -name Makefile.in | xargs rm -f +find salome_adm -name Makefile.in | xargs rm -f +find src -name Makefile.in | xargs rm -f +rm -f Makefile.in diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..a1ec14bbf --- /dev/null +++ b/configure.ac @@ -0,0 +1,665 @@ +# +# Author : Marc Tajchman (CEA) +# Date : 28/06/2001 +# Modified by : Patrick GOLDBRONN (CEA) +# Modified by : Marc Tajchman (CEA) +# Modified by : Mikhail PONIKAROV (OCN) - autotools usage +# +# Created from configure.in.base +# +AC_INIT([Salome2 Project GUI module], [4.1.1], [webmaster.salome@opencascade.com], [salome]) +AC_CONFIG_AUX_DIR(salome_adm/unix/config_files) +AC_CANONICAL_HOST +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE + +XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'` +AC_SUBST(XVERSION) + +# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.) +MODULE_NAME=gui +AC_SUBST(MODULE_NAME) + +echo +echo --------------------------------------------- +echo Initialize source and build root directories +echo --------------------------------------------- +echo + +######################################################################## +# Check --disable-corba-gen and other --disable-* options + +if test "x${enable_corba_gen}" != "xno" ; then + GUI_DISABLE_CORBA="no" +else + GUI_DISABLE_CORBA="yes" +fi + +if test "x${enable_pyConsole}" != "xno" ; then + DISABLE_PYCONSOLE="no" +else + DISABLE_PYCONSOLE="yes" +fi + +if test "x${enable_glViewer}" != "xno" ; then + DISABLE_GLVIEWER="no" +else + DISABLE_GLVIEWER="yes" +fi + +if test "x${enable_plot2dViewer}" != "xno" ; then + DISABLE_PLOT2DVIEWER="no" +else + DISABLE_PLOT2DVIEWER="yes" +fi + +if test "x${enable_supervGraphViewer}" != "xno" ; then + DISABLE_SUPERVGRAPHVIEWER="no" +else + DISABLE_SUPERVGRAPHVIEWER="yes" +fi + +if test "x${enable_occViewer}" != "xno" ; then + DISABLE_OCCVIEWER="no" +else + DISABLE_OCCVIEWER="yes" +fi + +if test "x${enable_vtkViewer}" != "xno" ; then + DISABLE_VTKVIEWER="no" +else + DISABLE_VTKVIEWER="yes" +fi + +if test "x${enable_salomeObject}" != "xno" ; then + DISABLE_SALOMEOBJECT="no" +else + DISABLE_SALOMEOBJECT="yes" +fi + +if test "x${enable_qxGraphViewer}" != "xno" ; then + DISABLE_QXGRAPHVIEWER="no" +else + DISABLE_QXGRAPHVIEWER="yes" +fi + + +dnl +dnl Initialize source and build root directories +dnl + +ROOT_BUILDDIR=`pwd` +ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +cd $ROOT_SRCDIR +ROOT_SRCDIR=`pwd` +cd $ROOT_BUILDDIR + +AC_SUBST(ROOT_SRCDIR) +AC_SUBST(ROOT_BUILDDIR) + +echo +echo Source root directory : $ROOT_SRCDIR +echo Build root directory : $ROOT_BUILDDIR +echo +echo + +if test -z "$AR"; then + AC_CHECK_PROGS(AR,ar xar,:,$PATH) +fi +AC_SUBST(AR) + +dnl Export the AR macro so that it will be placed in the libtool file +dnl correctly. +export AR + +echo +echo --------------------------------------------- +echo testing make +echo --------------------------------------------- +echo + +AC_PROG_MAKE_SET +AC_PROG_INSTALL +dnl +dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! + +echo +echo --------------------------------------------- +echo Coniguring production +echo --------------------------------------------- +echo +AC_ENABLE_DEBUG(yes) +AC_DISABLE_PRODUCTION + +echo --------------------------------------------- +echo testing libtool +echo --------------------------------------------- + +dnl first, we set static to no! +dnl if we want it, use --enable-static +AC_ENABLE_STATIC(no) + +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL + +dnl Fix up the INSTALL macro if it s a relative path. We want the +dnl full-path to the binary instead. +case "$INSTALL" in + *install-sh*) + INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh + ;; +esac + +echo +echo --------------------------------------------- +echo testing C/C++ +echo --------------------------------------------- +echo + +cc_ok=no +dnl inutil car libtool +dnl AC_PROG_CC +AC_PROG_CXX +AC_CXX_WARNINGS +AC_CXX_TEMPLATE_OPTIONS +AC_DEPEND_FLAG +# AC_CC_WARNINGS([ansi]) +cc_ok=yes + +dnl Library libdl : +AC_CHECK_LIB(dl,dlopen) + +dnl add library libm : +AC_CHECK_LIB(m,ceil) + +dnl +dnl Well we use sstream which is not in gcc pre-2.95.3 +dnl We must test if it exists. If not, add it in include ! +dnl + +AC_CXX_HAVE_SSTREAM + +dnl +dnl --------------------------------------------- +dnl testing MPICH +dnl --------------------------------------------- +dnl + +CHECK_MPICH + +echo +echo --------------------------------------------- +echo testing LEX \& YACC +echo --------------------------------------------- +echo + +lex_yacc_ok=no +AC_PROG_YACC +AC_PROG_LEX +lex_yacc_ok=yes + +echo +echo --------------------------------------------- +echo testing python +echo --------------------------------------------- +echo + +CHECK_PYTHON + +dnl echo +dnl echo --------------------------------------------- +dnl echo testing java +dnl echo --------------------------------------------- +dnl echo + +dnl CHECK_JAVA + +echo +echo --------------------------------------------- +echo Testing Disable Corba +echo --------------------------------------------- +echo + +CHECK_DISABLE_CORBA +echo "GUI_DISABLE_CORBA = "$GUI_DISABLE_CORBA + +if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then + +echo +echo --------------------------------------------- +echo testing swig +echo --------------------------------------------- +echo + +AM_PATH_PYTHON(2.3) +CHECK_SWIG +fi + +echo +echo --------------------------------------------- +echo testing threads +echo --------------------------------------------- +echo + +ENABLE_PTHREADS + +if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then +echo +echo --------------------------------------------- +echo testing omniORB +echo --------------------------------------------- +echo + +CHECK_OMNIORB + +dnl echo +dnl echo --------------------------------------------- +dnl echo testing mico +dnl echo --------------------------------------------- +dnl echo + +dnl CHECK_MICO + +echo +echo --------------------------------------------- +echo default ORB : omniORB +echo --------------------------------------------- +echo + +DEFAULT_ORB=omniORB + +echo +echo --------------------------------------------- +echo testing Corba +echo --------------------------------------------- +echo + +CHECK_CORBA + +AC_SUBST_FILE(CORBA) +corba=make_$ORB +CORBA=adm_local/unix/$corba + +fi +echo +echo --------------------------------------------- +echo testing openGL +echo --------------------------------------------- +echo + +CHECK_OPENGL + +echo +echo --------------------------------------------- +echo testing QT +echo --------------------------------------------- +echo + +CHECK_QT + +echo +echo --------------------------------------------- +echo testing msg2qm +echo --------------------------------------------- +echo + +CHECK_MSG2QM + +echo +echo --------------------------------------------- +echo testing VTK +echo --------------------------------------------- +echo + +CHECK_VTK + +echo +echo --------------------------------------------- +echo testing HDF5 +echo --------------------------------------------- +echo + +CHECK_HDF5 + +echo +echo --------------------------------------------- +echo BOOST Library +echo --------------------------------------------- +echo + +CHECK_BOOST + +echo +echo --------------------------------------------- +echo Testing OpenCascade +echo --------------------------------------------- +echo + +CHECK_CAS + +echo +echo --------------------------------------------- +echo Testing sip +echo --------------------------------------------- +echo + +CHECK_SIP + +echo +echo --------------------------------------------- +echo Testing pyqt +echo --------------------------------------------- +echo + +CHECK_PYQT + +echo +echo --------------------------------------------- +echo Testing qwt +echo --------------------------------------------- +echo + +CHECK_QWT + +echo +echo --------------------------------------------- +echo Testing PyConsole +echo --------------------------------------------- +echo + +CHECK_PYCONSOLE +echo "DISABLE_PYCONSOLE = "$DISABLE_PYCONSOLE + +echo +echo --------------------------------------------- +echo Testing GlViewer +echo --------------------------------------------- +echo + +CHECK_GLVIEWER +echo "DISABLE_GLVIEWER = "$DISABLE_GLVIEWER + +echo +echo --------------------------------------------- +echo Testing Plot2dViewer +echo --------------------------------------------- +echo + +CHECK_PLOT2DVIEWER +echo "DISABLE_PLOT2DVIEWER = "$DISABLE_PLOT2DVIEWER + +echo +echo --------------------------------------------- +echo Testing SupervGraphViewer +echo --------------------------------------------- +echo + +CHECK_SUPERVGRAPHVIEWER +echo "DISABLE_SUPERVGRAPHVIEWER = "$DISABLE_SUPERVGRAPHVIEWER + +echo +echo --------------------------------------------- +echo Testing OCCViewer +echo --------------------------------------------- +echo + +CHECK_OCCVIEWER +echo "DISABLE_OCCVIEWER = "$DISABLE_OCCVIEWER + +echo +echo --------------------------------------------- +echo Testing VTKViewer +echo --------------------------------------------- +echo + +CHECK_VTKVIEWER +echo "DISABLE_VTKVIEWER = "$DISABLE_VTKVIEWER + +echo +echo --------------------------------------------- +echo Testing SalomeObject +echo --------------------------------------------- +echo + +CHECK_SALOMEOBJECT +echo "DISABLE_SALOMEOBJECT = "$DISABLE_SALOMEOBJECT + +echo +echo --------------------------------------------- +echo Testing QxGraphViewer +echo --------------------------------------------- +echo + +CHECK_QXGRAPHVIEWER +echo "DISABLE_QXGRAPHVIEWER = "$DISABLE_QXGRAPHVIEWER + +if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then + if test "x${DISABLE_PYCONSOLE}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable PyConsole !" + exit + fi + if test "x${DISABLE_GLVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable GlViewer !" + exit + fi + if test "x${DISABLE_PLOT2DVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable Plot2dViewer !" + exit + fi + if test "x${DISABLE_SUPERVGRAPHVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable SupervGraphViewer !" + exit + fi + if test "x${DISABLE_OCCVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable OCCViewer !" + exit + fi + if test "x${DISABLE_VTKVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable VTKViewer !" + exit + fi + if test "x${DISABLE_SALOMEOBJECT}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable SalomeObject !" + exit + fi + if test "x${DISABLE_QXGRAPHVIEWER}" == "xyes" ; then + echo "failed : for full configuration of GUI module necessary enable QxGraphViewer !" + exit + fi +fi + +echo +echo --------------------------------------------- +echo Testing html generators +echo --------------------------------------------- +echo + +CHECK_HTML_GENERATORS + +echo +echo --------------------------------------------- +echo Testing Kernel +echo --------------------------------------------- +echo +CHECK_KERNEL + +echo +echo --------------------------------------------- +echo Testing CPPUNIT only required for unit testing +echo --------------------------------------------- +echo + +CHECK_CPPUNIT + +echo +echo --------------------------------------------- +echo Testing libxml2 +echo --------------------------------------------- +echo + +CHECK_LIBXML + +echo +echo --------------------------------------------- +echo Summary +echo --------------------------------------------- +echo + +if test "$GUI_DISABLE_CORBA" == "yes"; then + echo "Configure (without Corba)" +else + echo Configure +fi + + +if test "$GUI_DISABLE_CORBA" != "yes"; then +variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok msg2qm_ok vtk_ok hdf5_ok +omniORB_ok boost_ok occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok Kernel_ok" +else +variables="cc_ok lex_yacc_ok python_ok threads_ok OpenGL_ok qt_ok msg2qm_ok vtk_ok hdf5_ok boost_ok +occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok Kernel_ok" +fi + +for var in $variables +do + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var +done + +echo "---Optional:" +variables="cppunit_ok" + +for var in $variables +do + eval toto=\$$var + if test x$toto != "x"; then + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var + fi +done + +if test "$GUI_DISABLE_CORBA" != "yes"; then +echo +echo "Default ORB : $DEFAULT_ORB" +echo +fi + +dnl We don t need to say when we re entering directories if we re using +dnl GNU make becuase make does it for us. +if test "X$GMAKE" = "Xyes"; then + AC_SUBST(SETX) SETX=":" +else + AC_SUBST(SETX) SETX="set -x" +fi + +AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no]) +AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no]) +AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no]) +AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no]) +AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no]) +AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no]) +AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no]) +AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no]) +AM_CONDITIONAL(ENABLE_QXGRAPHVIEWER, [test "$DISABLE_QXGRAPHVIEWER" = no]) + +echo +echo --------------------------------------------- +echo copying resource files, shell scripts, and +echo xml files +echo --------------------------------------------- +echo + + +dnl copy shells and utilities contained in the bin directory +dnl excluding .in files (treated in AC-OUTPUT below) and CVS +dnl directory + +mkdir -p bin/salome +cd bin/salome + +for i in $ROOT_SRCDIR/bin/* +do + local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` + case "$local_bin" in + *.in | *~) ;; + ./bin/CVS | ./bin/salome) ;; + *) $INSTALL $i . ; echo $local_bin ;; + esac +done +cd $ROOT_BUILDDIR + +echo +echo --------------------------------------------- +echo generating Makefiles and configure files +echo --------------------------------------------- +echo + +AC_OUTPUT_COMMANDS([ \ + chmod +x ./bin/*; \ + chmod +x ./bin/salome/*; \ +]) + +# This list is initiated using autoscan and must be updated manually +# when adding a new file .in to manage. When you execute +# autoscan, the Makefile list is generated in the output file configure.scan. +# This could be helpfull to update de configuration. +AC_OUTPUT([ \ + ./salome_adm/unix/SALOMEconfig.h \ + ./adm_local/Makefile \ + ./adm_local/unix/Makefile \ + ./adm_local/unix/config_files/Makefile \ + ./bin/VERSION \ + ./bin/Makefile \ + ./GUI_version.h \ + ./doc/Makefile \ + ./doc/salome/Makefile \ + ./doc/salome/gui/Makefile \ + ./doc/salome/gui/GUI/doxyfile \ + ./doc/salome/tui/Makefile \ + ./doc/salome/tui/GUI/doxyfile \ + ./src/Makefile \ + ./src/CASCatch/Makefile \ + ./src/Qtx/Makefile \ + ./src/Style/Makefile \ + ./src/DDS/Makefile \ + ./src/QDS/Makefile \ + ./src/SUIT/Makefile \ + ./src/STD/Makefile \ + ./src/CAF/Makefile \ + ./src/CAM/Makefile \ + ./src/SUITApp/Makefile \ + ./src/LogWindow/Makefile \ + ./src/ObjBrowser/Makefile \ + ./src/Prs/Makefile \ + ./src/OBJECT/Makefile \ + ./src/GLViewer/Makefile \ + ./src/VTKViewer/Makefile \ + ./src/SVTK/Makefile \ + ./src/OCCViewer/Makefile \ + ./src/SOCC/Makefile \ + ./src/PyInterp/Makefile \ + ./src/PythonConsole/Makefile \ + ./src/Plot2d/Makefile \ + ./src/SPlot2d/Makefile \ + ./src/SUPERVGraph/Makefile \ + ./src/QxGraph/Makefile \ + ./src/LightApp/Makefile \ + ./src/ResExporter/Makefile \ + ./src/RegistryDisplay/Makefile \ + ./src/TOOLSGUI/Makefile \ + ./src/Event/Makefile \ + ./src/Session/Makefile \ + ./src/SalomeApp/Makefile \ + ./src/SalomeApp/Test/Makefile \ + ./src/SALOME_SWIG/Makefile \ + ./src/SALOME_SWIG/supervisionexample.py \ + ./src/SALOME_SWIG/supervisiongeomexample.py \ + ./src/SALOME_PY/Makefile \ + ./src/SALOME_PYQT/Makefile \ + ./src/SALOME_PYQT/SALOME_PYQT_GUI/Makefile \ + ./src/SALOME_PYQT/SALOME_PYQT_GUI/SALOME_PYQT_SipDefs.h \ + ./src/SALOME_PYQT/SalomePyQt/Makefile \ + ./resources/Makefile \ + ./idl/Makefile \ + Makefile +]) diff --git a/configure.in.base b/configure.in.base deleted file mode 100644 index 4b7af75f9..000000000 --- a/configure.in.base +++ /dev/null @@ -1,591 +0,0 @@ -# -# PLEASE DO NOT MODIFY configure.in FILE -# -# ALL CHANGES WILL BE DISCARDED BY THE NEXT -# build_configure COMMAND -# -# CHANGES MUST BE MADE IN configure.in.base FILE -# -# -# Author : Marc Tajchman (CEA) -# Date : 28/06/2001 -# Modified by : Patrick GOLDBRONN (CEA) -# Modified by : Marc Tajchman (CEA) -# -# Created from configure.in.base -# - - -AC_INIT(src) -AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files) -AC_CANONICAL_HOST - -PACKAGE=salome -AC_SUBST(PACKAGE) - -VERSION=3.2.0 -XVERSION=0x030200 -AC_SUBST(VERSION) -AC_SUBST(XVERSION) - -######################################################################## -# Check --disable-corba-gen and other --disable-* options - -GUI_DISABLE_CORBA="no" -DISABLE_PYCONSOLE="no" -DISABLE_GLVIEWER="no" -DISABLE_PLOT2DVIEWER="no" -DISABLE_SUPERVGRAPHVIEWER="no" -DISABLE_OCCVIEWER="no" -DISABLE_VTKVIEWER="no" -DISABLE_SALOMEOBJECT="no" - -for option -do - case $option in - -disable-corba-gen=yes | --disable-corba-gen=yes | -disable-corba-gen | --disable-corba-gen) - GUI_DISABLE_CORBA="yes";; - -disable-pyConsole=yes | --disable-pyConsole=yes | -disable-pyConsole | --disable-pyConsole) - DISABLE_PYCONSOLE="yes";; - -disable-glViewer=yes | --disable-glViewer=yes | -disable-glViewer | --disable-glViewer) - DISABLE_GLVIEWER="yes";; - -disable-plot2dViewer=yes | --disable-plot2dViewer=yes | -disable-plot2dViewer | --disable-plot2dViewer) - DISABLE_PLOT2DVIEWER="yes";; - -disable-supervGraphViewer=yes | --disable-supervGraphViewer=yes | \ - -disable-supervGraphViewer | --disable-supervGraphViewer) - DISABLE_SUPERVGRAPHVIEWER="yes";; - -disable-occViewer=yes | --disable-occViewer=yes | -disable-occViewer | --disable-occViewer) - DISABLE_OCCVIEWER="yes";; - -disable-vtkViewer=yes | --disable-vtkViewer=yes | -disable-vtkViewer | --disable-vtkViewer) - DISABLE_VTKVIEWER="yes";; - -disable-salomeObject=yes | --disable-salomeObject=yes | -disable-salomeObject | --disable-salomeObject) - DISABLE_SALOMEOBJECT="yes";; - esac -done - -dnl -dnl Initialize source and build root directories -dnl - -ROOT_BUILDDIR=`pwd` -ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -cd $ROOT_SRCDIR -ROOT_SRCDIR=`pwd` -cd $ROOT_BUILDDIR - -AC_SUBST(ROOT_SRCDIR) -AC_SUBST(ROOT_BUILDDIR) - -echo -echo Source root directory : $ROOT_SRCDIR -echo Build root directory : $ROOT_BUILDDIR -echo -echo - -if test -z "$AR"; then - AC_CHECK_PROGS(AR,ar xar,:,$PATH) -fi -AC_SUBST(AR) - -dnl Export the AR macro so that it will be placed in the libtool file -dnl correctly. -export AR - -echo -echo --------------------------------------------- -echo testing make -echo --------------------------------------------- -echo - -AC_PROG_MAKE_SET -AC_PROG_INSTALL -dnl -dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! - -AC_ENABLE_DEBUG(yes) -AC_DISABLE_PRODUCTION - -echo --------------------------------------------- -echo testing libtool -echo --------------------------------------------- - -dnl first, we set static to no! -dnl if we want it, use --enable-static -AC_ENABLE_STATIC(no) - -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL - -dnl Fix up the INSTALL macro if it s a relative path. We want the -dnl full-path to the binary instead. -case "$INSTALL" in - *install-sh*) - INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh - ;; -esac - -echo -echo --------------------------------------------- -echo testing C/C++ -echo --------------------------------------------- -echo - -cc_ok=no -dnl inutil car libtool -dnl AC_PROG_CC -AC_PROG_CXX -AC_CXX_WARNINGS -AC_CXX_TEMPLATE_OPTIONS -AC_DEPEND_FLAG -# AC_CC_WARNINGS([ansi]) -cc_ok=yes - -dnl Library libdl : -AC_CHECK_LIB(dl,dlopen) - -dnl add library libm : -AC_CHECK_LIB(m,ceil) - -dnl -dnl Well we use sstream which is not in gcc pre-2.95.3 -dnl We must test if it exists. If not, add it in include ! -dnl - -AC_CXX_HAVE_SSTREAM - -dnl -dnl --------------------------------------------- -dnl testing MPICH -dnl --------------------------------------------- -dnl - -CHECK_MPICH - -echo -echo --------------------------------------------- -echo testing LEX \& YACC -echo --------------------------------------------- -echo - -lex_yacc_ok=no -AC_PROG_YACC -AC_PROG_LEX -lex_yacc_ok=yes - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -dnl echo -dnl echo --------------------------------------------- -dnl echo testing java -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_JAVA - -echo -echo --------------------------------------------- -echo Testing Disable Corba -echo --------------------------------------------- -echo - -CHECK_DISABLE_CORBA -echo "GUI_DISABLE_CORBA = "$GUI_DISABLE_CORBA - -if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then - -echo -echo --------------------------------------------- -echo testing swig -echo --------------------------------------------- -echo - -CHECK_SWIG -fi - -echo -echo --------------------------------------------- -echo testing threads -echo --------------------------------------------- -echo - -ENABLE_PTHREADS - -if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then -echo -echo --------------------------------------------- -echo testing omniORB -echo --------------------------------------------- -echo - -CHECK_OMNIORB - -dnl echo -dnl echo --------------------------------------------- -dnl echo testing mico -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_MICO - -echo -echo --------------------------------------------- -echo default ORB : omniORB -echo --------------------------------------------- -echo - -DEFAULT_ORB=omniORB - -echo -echo --------------------------------------------- -echo testing Corba -echo --------------------------------------------- -echo - -CHECK_CORBA - -AC_SUBST_FILE(CORBA) -corba=make_$ORB -CORBA=adm_local/unix/$corba - -fi -echo -echo --------------------------------------------- -echo testing openGL -echo --------------------------------------------- -echo - -CHECK_OPENGL - -echo -echo --------------------------------------------- -echo testing QT -echo --------------------------------------------- -echo - -CHECK_QT - -echo -echo --------------------------------------------- -echo testing msg2qm -echo --------------------------------------------- -echo - -CHECK_MSG2QM - -echo -echo --------------------------------------------- -echo testing VTK -echo --------------------------------------------- -echo - -CHECK_VTK - -echo -echo --------------------------------------------- -echo testing HDF5 -echo --------------------------------------------- -echo - -CHECK_HDF5 - -echo -echo --------------------------------------------- -echo BOOST Library -echo --------------------------------------------- -echo - -CHECK_BOOST - -echo -echo --------------------------------------------- -echo Testing OpenCascade -echo --------------------------------------------- -echo - -CHECK_CAS - -echo -echo --------------------------------------------- -echo Testing sip -echo --------------------------------------------- -echo - -CHECK_SIP - -echo -echo --------------------------------------------- -echo Testing pyqt -echo --------------------------------------------- -echo - -CHECK_PYQT - -echo -echo --------------------------------------------- -echo Testing qwt -echo --------------------------------------------- -echo - -CHECK_QWT - -echo -echo --------------------------------------------- -echo Testing PyConsole -echo --------------------------------------------- -echo - -CHECK_PYCONSOLE -echo "DISABLE_PYCONSOLE = "$DISABLE_PYCONSOLE - -echo -echo --------------------------------------------- -echo Testing GlViewer -echo --------------------------------------------- -echo - -CHECK_GLVIEWER -echo "DISABLE_GLVIEWER = "$DISABLE_GLVIEWER - -echo -echo --------------------------------------------- -echo Testing Plot2dViewer -echo --------------------------------------------- -echo - -CHECK_PLOT2DVIEWER -echo "DISABLE_PLOT2DVIEWER = "$DISABLE_PLOT2DVIEWER - -echo -echo --------------------------------------------- -echo Testing SupervGraphViewer -echo --------------------------------------------- -echo - -CHECK_SUPERVGRAPHVIEWER -echo "DISABLE_SUPERVGRAPHVIEWER = "$DISABLE_SUPERVGRAPHVIEWER - -echo -echo --------------------------------------------- -echo Testing OCCViewer -echo --------------------------------------------- -echo - -CHECK_OCCVIEWER -echo "DISABLE_OCCVIEWER = "$DISABLE_OCCVIEWER - -echo -echo --------------------------------------------- -echo Testing VTKViewer -echo --------------------------------------------- -echo - -CHECK_VTKVIEWER -echo "DISABLE_VTKVIEWER = "$DISABLE_VTKVIEWER - -echo -echo --------------------------------------------- -echo Testing SalomeObject -echo --------------------------------------------- -echo - -CHECK_SALOMEOBJECT -echo "DISABLE_SALOMEOBJECT = "$DISABLE_SALOMEOBJECT - -if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then - if test "x${DISABLE_PYCONSOLE}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable PyConsole !" - exit - fi - if test "x${DISABLE_GLVIEWER}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable GlViewer !" - exit - fi - if test "x${DISABLE_PLOT2DVIEWER}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable Plot2dViewer !" - exit - fi - if test "x${DISABLE_SUPERVGRAPHVIEWER}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable SupervGraphViewer !" - exit - fi - if test "x${DISABLE_OCCVIEWER}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable OCCViewer !" - exit - fi - if test "x${DISABLE_VTKVIEWER}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable VTKViewer !" - exit - fi - if test "x${DISABLE_SALOMEOBJECT}" == "xyes" ; then - echo "failed : for full configuration of GUI module necessary enable SalomeObject !" - exit - fi -fi - -echo -echo --------------------------------------------- -echo Testing html generators -echo --------------------------------------------- -echo - -CHECK_HTML_GENERATORS - -echo -echo --------------------------------------------- -echo Testing Kernel -echo --------------------------------------------- -echo -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Testing CPPUNIT only required for unit testing -echo --------------------------------------------- -echo - -CHECK_CPPUNIT - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -if test "$GUI_DISABLE_CORBA" == "yes"; then - echo "Configure (without Corba)" -else - echo Configure -fi - - -if test "$GUI_DISABLE_CORBA" != "yes"; then -variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok msg2qm_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok Kernel_ok" -else -variables="cc_ok lex_yacc_ok python_ok threads_ok OpenGL_ok qt_ok msg2qm_ok vtk_ok hdf5_ok boost_ok occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok Kernel_ok" -fi - -for var in $variables -do - printf " %10s : " `echo \$var | sed -e "s,_ok,,"` - eval echo \$$var -done - -echo "---Optional:" -variables="cppunit_ok" - -for var in $variables -do - eval toto=\$$var - if test x$toto != "x"; then - printf " %10s : " `echo \$var | sed -e "s,_ok,,"` - eval echo \$$var - fi -done - -if test "$GUI_DISABLE_CORBA" != "yes"; then -echo -echo "Default ORB : $DEFAULT_ORB" -echo -fi -dnl generals files which could be included in every makefile - -AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence -AC_SUBST_FILE(CONCLUDE) CONCLUDE=adm_local/unix/make_conclude -AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module - -dnl les dependences -AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend - -dnl We don t need to say when we re entering directories if we re using -dnl GNU make becuase make does it for us. -if test "X$GMAKE" = "Xyes"; then - AC_SUBST(SETX) SETX=":" -else - AC_SUBST(SETX) SETX="set -x" -fi - -# make other build directories -if test "$GUI_DISABLE_CORBA" == "yes"; then - dir_variables="salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources idl" -else - dir_variables="salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources" -fi - -for rep in $dir_variables -do -# if test ! -d $rep ; then -# eval mkdir $rep -# fi - $INSTALL -d $rep -done - -echo -echo --------------------------------------------- -echo copying resource files, shell scripts, and -echo xml files -echo --------------------------------------------- -echo - - -dnl copy resources directories - -#for i in `find $ROOT_SRCDIR -name 'resources' -print` -#do -# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -# mkdir -p $local_res_dir -# cd $local_res_dir -# ln -fs $i -# echo $local_res -# cd $ROOT_BUILDDIR -#done - -dnl copy shells and utilities contained in the bin directory -dnl excluding .in files (treated in AC-OUTPUT below) and CVS -dnl directory - -mkdir -p bin/salome -cd bin/salome - -for i in $ROOT_SRCDIR/bin/* -do - local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` - case "$local_bin" in - *.in | *~) ;; - ./bin/CVS | ./bin/salome) ;; - *) $INSTALL $i . ; echo $local_bin ;; - esac -done -cd $ROOT_BUILDDIR - -AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript - -dnl copy xml files to the build tree (lib directory) -dnl pourquoi ???? - -#cd lib -#for i in `find $ROOT_SRCDIR -name "*.xml" -print` -#do -# ln -fs $i -# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -#done -#cd $ROOT_BUILDDIR - - -echo -echo --------------------------------------------- -echo generating Makefiles and configure files -echo --------------------------------------------- -echo - -AC_OUTPUT_COMMANDS([ \ - chmod +x ./bin/* \ -]) - -## do not delete this line diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 000000000..6a2c2428b --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,27 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 30/11/2001 +# $Header$ +# + +SUBDIRS= salome diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 4a62d64a2..000000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS= salome - -@COMMENCE@ - -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; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -install: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done diff --git a/doc/salome/Makefile.am b/doc/salome/Makefile.am new file mode 100644 index 000000000..29f7e1854 --- /dev/null +++ b/doc/salome/Makefile.am @@ -0,0 +1,41 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 30/11/2001 +# $Header$ +# + +SUBDIRS= tui gui +SUBDIRSTUI= tui +SUBDIRSGUI= gui + +usr_docs: + @@SETX@; for d in $(SUBDIRSGUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; + +docs: usr_docs + +dev_docs: + @@SETX@; for d in $(SUBDIRSTUI); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done; diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.in deleted file mode 100644 index 72b2d98ad..000000000 --- a/doc/salome/Makefile.in +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS= tui gui -SUBDIRSTUI= tui -SUBDIRSGUI= gui - -@COMMENCE@ - -usr_docs: - @@SETX@; for d in $(SUBDIRSGUI); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ - -docs: usr_docs - -dev_docs: - @@SETX@; for d in $(SUBDIRSTUI); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ - -clean: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/GUI; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/GUI; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -install: - $(MAKE) docs - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/GUI; then \ - (cd $$d && $(MAKE) $@); \ - fi; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/GUI; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done; \ diff --git a/doc/salome/gui/GUI/closestudy.png b/doc/salome/gui/GUI/closestudy.png deleted file mode 100755 index fb7abe1dc..000000000 Binary files a/doc/salome/gui/GUI/closestudy.png and /dev/null differ diff --git a/doc/salome/gui/GUI/cshdat_robohelp.htm b/doc/salome/gui/GUI/cshdat_robohelp.htm deleted file mode 100755 index 366ca9f9b..000000000 --- a/doc/salome/gui/GUI/cshdat_robohelp.htm +++ /dev/null @@ -1,258 +0,0 @@ - - -GUI Module Reference Manual - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/GUI/cshdat_webhelp.htm b/doc/salome/gui/GUI/cshdat_webhelp.htm deleted file mode 100755 index e0927b0bf..000000000 --- a/doc/salome/gui/GUI/cshdat_webhelp.htm +++ /dev/null @@ -1,251 +0,0 @@ - - -GUI Module Reference Manual - - - - - - - - - - - - - - - - - diff --git a/doc/salome/gui/GUI/default.css b/doc/salome/gui/GUI/default.css deleted file mode 100755 index de2e5d955..000000000 --- a/doc/salome/gui/GUI/default.css +++ /dev/null @@ -1,101 +0,0 @@ -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 deleted file mode 100755 index 3eeb3c496..000000000 --- a/doc/salome/gui/GUI/default_ns.css +++ /dev/null @@ -1,118 +0,0 @@ -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/doxyfile.in b/doc/salome/gui/GUI/doxyfile.in new file mode 100755 index 000000000..dfb7f3614 --- /dev/null +++ b/doc/salome/gui/GUI/doxyfile.in @@ -0,0 +1,44 @@ +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "GUI Module Reference Manual v.@VERSION@" +OUTPUT_DIRECTORY = ./ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +TAB_SIZE = 5 + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES + +#--------------------------------------------------------------------------- +#Input related options +#--------------------------------------------------------------------------- +INPUT = @srcdir@/input +FILE_PATTERNS = *.doc +IMAGE_PATH = @srcdir@/images + +#--------------------------------------------------------------------------- +#HTML related options +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = ./ +HTML_HEADER = @srcdir@/static/header.html +HTML_FOOTER = @srcdir@/static/footer.html +#HTML_STYLESHEET = @srcdir@/static/doxygen.css +TOC_EXPAND = YES +DISABLE_INDEX = NO +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 300 + +#--------------------------------------------------------------------------- +#LaTeX related option +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO + +#--------------------------------------------------------------------------- +#RTF related options +#--------------------------------------------------------------------------- +GENERATE_RTF = NO \ No newline at end of file diff --git a/doc/salome/gui/GUI/dump_study.htm b/doc/salome/gui/GUI/dump_study.htm deleted file mode 100755 index 660565d85..000000000 --- a/doc/salome/gui/GUI/dump_study.htm +++ /dev/null @@ -1,172 +0,0 @@ - - - - - -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:

- -

 

- -

- -

 

- -
    - -
  • Publish - in study - if checked in, the component objects created by Python - commands will be published in the created Study when the script is played, - otherwise the objects will not be published in the Study.

  • - -
  • Save - GUI state - if checked in, the current application layout will - be saved in the Python file.  

  • -
- -

 

- -

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 deleted file mode 100755 index 9884c422c..000000000 --- a/doc/salome/gui/GUI/ehelp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - WebSearch - - \ No newline at end of file diff --git a/doc/salome/gui/GUI/ehlpdhtm.js b/doc/salome/gui/GUI/ehlpdhtm.js deleted file mode 100755 index 6cfd2e463..000000000 --- a/doc/salome/gui/GUI/ehlpdhtm.js +++ /dev/null @@ -1,4239 +0,0 @@ -// 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 deleted file mode 100755 index ed3acfac2..000000000 Binary files a/doc/salome/gui/GUI/i_blue.jpg and /dev/null differ diff --git a/doc/salome/gui/GUI/image54.jpg b/doc/salome/gui/GUI/image54.jpg deleted file mode 100755 index a67ac4c7a..000000000 Binary files a/doc/salome/gui/GUI/image54.jpg and /dev/null differ diff --git a/doc/salome/gui/GUI/image65.gif b/doc/salome/gui/GUI/image65.gif deleted file mode 100755 index fbf6a81b9..000000000 Binary files a/doc/salome/gui/GUI/image65.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image67.gif b/doc/salome/gui/GUI/image67.gif deleted file mode 100755 index 4c5d4d67c..000000000 Binary files a/doc/salome/gui/GUI/image67.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image68.gif b/doc/salome/gui/GUI/image68.gif deleted file mode 100755 index f8ea563bb..000000000 Binary files a/doc/salome/gui/GUI/image68.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image69.gif b/doc/salome/gui/GUI/image69.gif deleted file mode 100755 index f8ea563bb..000000000 Binary files a/doc/salome/gui/GUI/image69.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image70.gif b/doc/salome/gui/GUI/image70.gif deleted file mode 100755 index c88c53ed5..000000000 Binary files a/doc/salome/gui/GUI/image70.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image71.gif b/doc/salome/gui/GUI/image71.gif deleted file mode 100755 index 26fcc670f..000000000 Binary files a/doc/salome/gui/GUI/image71.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image72.gif b/doc/salome/gui/GUI/image72.gif deleted file mode 100755 index 77c21bdeb..000000000 Binary files a/doc/salome/gui/GUI/image72.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image73.gif b/doc/salome/gui/GUI/image73.gif deleted file mode 100755 index 0ebcf97a2..000000000 Binary files a/doc/salome/gui/GUI/image73.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image75.gif b/doc/salome/gui/GUI/image75.gif deleted file mode 100755 index 9fdfbdc40..000000000 Binary files a/doc/salome/gui/GUI/image75.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/image94.gif b/doc/salome/gui/GUI/image94.gif deleted file mode 100755 index e2d310c5e..000000000 Binary files a/doc/salome/gui/GUI/image94.gif and /dev/null differ diff --git a/doc/salome/gui/GUI/images/batchmode.png b/doc/salome/gui/GUI/images/batchmode.png new file mode 100644 index 000000000..c439d7ebb Binary files /dev/null and b/doc/salome/gui/GUI/images/batchmode.png differ diff --git a/doc/salome/gui/GUI/images/cataloggenerator.png b/doc/salome/gui/GUI/images/cataloggenerator.png new file mode 100755 index 000000000..51a0f2786 Binary files /dev/null and b/doc/salome/gui/GUI/images/cataloggenerator.png differ diff --git a/doc/salome/gui/GUI/images/choicepage.png b/doc/salome/gui/GUI/images/choicepage.png new file mode 100644 index 000000000..e3afcc588 Binary files /dev/null and b/doc/salome/gui/GUI/images/choicepage.png differ diff --git a/doc/salome/gui/GUI/images/clipping.png b/doc/salome/gui/GUI/images/clipping.png new file mode 100644 index 000000000..6d738558e Binary files /dev/null and b/doc/salome/gui/GUI/images/clipping.png differ diff --git a/doc/salome/gui/GUI/images/closestudy.png b/doc/salome/gui/GUI/images/closestudy.png new file mode 100755 index 000000000..fb7abe1dc Binary files /dev/null and b/doc/salome/gui/GUI/images/closestudy.png differ diff --git a/doc/salome/gui/GUI/images/copy-paste.jpg b/doc/salome/gui/GUI/images/copy-paste.jpg new file mode 100755 index 000000000..e243122b3 Binary files /dev/null and b/doc/salome/gui/GUI/images/copy-paste.jpg differ diff --git a/doc/salome/gui/GUI/images/dumpstudy.png b/doc/salome/gui/GUI/images/dumpstudy.png new file mode 100755 index 000000000..f899e778c Binary files /dev/null and b/doc/salome/gui/GUI/images/dumpstudy.png differ diff --git a/doc/salome/gui/GUI/images/geomview-alt.png b/doc/salome/gui/GUI/images/geomview-alt.png new file mode 100755 index 000000000..e797b085d Binary files /dev/null and b/doc/salome/gui/GUI/images/geomview-alt.png differ diff --git a/doc/salome/gui/GUI/images/graduatedaxes1.png b/doc/salome/gui/GUI/images/graduatedaxes1.png new file mode 100644 index 000000000..cf021ba42 Binary files /dev/null and b/doc/salome/gui/GUI/images/graduatedaxes1.png differ diff --git a/doc/salome/gui/GUI/images/icon_about.png b/doc/salome/gui/GUI/images/icon_about.png new file mode 100755 index 000000000..0cfa37ae0 Binary files /dev/null and b/doc/salome/gui/GUI/images/icon_about.png differ diff --git a/doc/salome/gui/GUI/images/image100.gif b/doc/salome/gui/GUI/images/image100.gif new file mode 100644 index 000000000..c44d68ffc Binary files /dev/null and b/doc/salome/gui/GUI/images/image100.gif differ diff --git a/doc/salome/gui/GUI/images/image102.gif b/doc/salome/gui/GUI/images/image102.gif new file mode 100644 index 000000000..3507814ba Binary files /dev/null and b/doc/salome/gui/GUI/images/image102.gif differ diff --git a/doc/salome/gui/GUI/images/image103.gif b/doc/salome/gui/GUI/images/image103.gif new file mode 100644 index 000000000..be534c39e Binary files /dev/null and b/doc/salome/gui/GUI/images/image103.gif differ diff --git a/doc/salome/gui/GUI/images/image105.gif b/doc/salome/gui/GUI/images/image105.gif new file mode 100644 index 000000000..4f6173f82 Binary files /dev/null and b/doc/salome/gui/GUI/images/image105.gif differ diff --git a/doc/salome/gui/GUI/images/image106.gif b/doc/salome/gui/GUI/images/image106.gif new file mode 100644 index 000000000..2bbcb4d94 Binary files /dev/null and b/doc/salome/gui/GUI/images/image106.gif differ diff --git a/doc/salome/gui/GUI/images/image108.gif b/doc/salome/gui/GUI/images/image108.gif new file mode 100644 index 000000000..bec69e662 Binary files /dev/null and b/doc/salome/gui/GUI/images/image108.gif differ diff --git a/doc/salome/gui/GUI/images/image109.gif b/doc/salome/gui/GUI/images/image109.gif new file mode 100644 index 000000000..5dbba4646 Binary files /dev/null and b/doc/salome/gui/GUI/images/image109.gif differ diff --git a/doc/salome/gui/GUI/images/image157.gif b/doc/salome/gui/GUI/images/image157.gif new file mode 100644 index 000000000..2f66e05e7 Binary files /dev/null and b/doc/salome/gui/GUI/images/image157.gif differ diff --git a/doc/salome/gui/GUI/images/image54.jpg b/doc/salome/gui/GUI/images/image54.jpg new file mode 100755 index 000000000..a67ac4c7a Binary files /dev/null and b/doc/salome/gui/GUI/images/image54.jpg differ diff --git a/doc/salome/gui/GUI/images/image65.gif b/doc/salome/gui/GUI/images/image65.gif new file mode 100755 index 000000000..fbf6a81b9 Binary files /dev/null and b/doc/salome/gui/GUI/images/image65.gif differ diff --git a/doc/salome/gui/GUI/images/image67.gif b/doc/salome/gui/GUI/images/image67.gif new file mode 100755 index 000000000..4c5d4d67c Binary files /dev/null and b/doc/salome/gui/GUI/images/image67.gif differ diff --git a/doc/salome/gui/GUI/images/image69.gif b/doc/salome/gui/GUI/images/image69.gif new file mode 100755 index 000000000..f8ea563bb Binary files /dev/null and b/doc/salome/gui/GUI/images/image69.gif differ diff --git a/doc/salome/gui/GUI/images/image70.gif b/doc/salome/gui/GUI/images/image70.gif new file mode 100755 index 000000000..c88c53ed5 Binary files /dev/null and b/doc/salome/gui/GUI/images/image70.gif differ diff --git a/doc/salome/gui/GUI/images/image72.gif b/doc/salome/gui/GUI/images/image72.gif new file mode 100755 index 000000000..77c21bdeb Binary files /dev/null and b/doc/salome/gui/GUI/images/image72.gif differ diff --git a/doc/salome/gui/GUI/images/image73.gif b/doc/salome/gui/GUI/images/image73.gif new file mode 100755 index 000000000..0ebcf97a2 Binary files /dev/null and b/doc/salome/gui/GUI/images/image73.gif differ diff --git a/doc/salome/gui/GUI/images/image75.gif b/doc/salome/gui/GUI/images/image75.gif new file mode 100755 index 000000000..9fdfbdc40 Binary files /dev/null and b/doc/salome/gui/GUI/images/image75.gif differ diff --git a/doc/salome/gui/GUI/images/image77.gif b/doc/salome/gui/GUI/images/image77.gif new file mode 100644 index 000000000..ef7a62f32 Binary files /dev/null and b/doc/salome/gui/GUI/images/image77.gif differ diff --git a/doc/salome/gui/GUI/images/image86.gif b/doc/salome/gui/GUI/images/image86.gif new file mode 100644 index 000000000..339733193 Binary files /dev/null and b/doc/salome/gui/GUI/images/image86.gif differ diff --git a/doc/salome/gui/GUI/images/image88.gif b/doc/salome/gui/GUI/images/image88.gif new file mode 100644 index 000000000..9466aa6ce Binary files /dev/null and b/doc/salome/gui/GUI/images/image88.gif differ diff --git a/doc/salome/gui/GUI/images/image89.gif b/doc/salome/gui/GUI/images/image89.gif new file mode 100644 index 000000000..373a6c026 Binary files /dev/null and b/doc/salome/gui/GUI/images/image89.gif differ diff --git a/doc/salome/gui/GUI/images/image91.gif b/doc/salome/gui/GUI/images/image91.gif new file mode 100644 index 000000000..9e93c1c72 Binary files /dev/null and b/doc/salome/gui/GUI/images/image91.gif differ diff --git a/doc/salome/gui/GUI/images/image94.gif b/doc/salome/gui/GUI/images/image94.gif new file mode 100755 index 000000000..e2d310c5e Binary files /dev/null and b/doc/salome/gui/GUI/images/image94.gif differ diff --git a/doc/salome/gui/GUI/images/image95.gif b/doc/salome/gui/GUI/images/image95.gif new file mode 100644 index 000000000..fb293e234 Binary files /dev/null and b/doc/salome/gui/GUI/images/image95.gif differ diff --git a/doc/salome/gui/GUI/images/image96.gif b/doc/salome/gui/GUI/images/image96.gif new file mode 100644 index 000000000..4580d5b5c Binary files /dev/null and b/doc/salome/gui/GUI/images/image96.gif differ diff --git a/doc/salome/gui/GUI/images/image97.gif b/doc/salome/gui/GUI/images/image97.gif new file mode 100644 index 000000000..1d78de1bc Binary files /dev/null and b/doc/salome/gui/GUI/images/image97.gif differ diff --git a/doc/salome/gui/GUI/images/image98.gif b/doc/salome/gui/GUI/images/image98.gif new file mode 100644 index 000000000..6519dbb67 Binary files /dev/null and b/doc/salome/gui/GUI/images/image98.gif differ diff --git a/doc/salome/gui/GUI/images/image99.gif b/doc/salome/gui/GUI/images/image99.gif new file mode 100644 index 000000000..3711be813 Binary files /dev/null and b/doc/salome/gui/GUI/images/image99.gif differ diff --git a/doc/salome/gui/GUI/images/import.png b/doc/salome/gui/GUI/images/import.png new file mode 100755 index 000000000..093c667f2 Binary files /dev/null and b/doc/salome/gui/GUI/images/import.png differ diff --git a/doc/salome/gui/GUI/images/intropage.png b/doc/salome/gui/GUI/images/intropage.png new file mode 100644 index 000000000..226793ca5 Binary files /dev/null and b/doc/salome/gui/GUI/images/intropage.png differ diff --git a/doc/salome/gui/GUI/images/loadscript.png b/doc/salome/gui/GUI/images/loadscript.png new file mode 100755 index 000000000..e681fc745 Binary files /dev/null and b/doc/salome/gui/GUI/images/loadscript.png differ diff --git a/doc/salome/gui/GUI/images/loadstudy2.png b/doc/salome/gui/GUI/images/loadstudy2.png new file mode 100755 index 000000000..595ea0528 Binary files /dev/null and b/doc/salome/gui/GUI/images/loadstudy2.png differ diff --git a/doc/salome/gui/GUI/images/lockedstudy.png b/doc/salome/gui/GUI/images/lockedstudy.png new file mode 100755 index 000000000..9ec7e744b Binary files /dev/null and b/doc/salome/gui/GUI/images/lockedstudy.png differ diff --git a/doc/salome/gui/GUI/images/neo-view2.png b/doc/salome/gui/GUI/images/neo-view2.png new file mode 100755 index 000000000..df1c7fe0f Binary files /dev/null and b/doc/salome/gui/GUI/images/neo-view2.png differ diff --git a/doc/salome/gui/GUI/images/newsticn.jpg b/doc/salome/gui/GUI/images/newsticn.jpg new file mode 100755 index 000000000..94c8ee971 Binary files /dev/null and b/doc/salome/gui/GUI/images/newsticn.jpg differ diff --git a/doc/salome/gui/GUI/images/note1.gif b/doc/salome/gui/GUI/images/note1.gif new file mode 100755 index 000000000..b53e21d0a Binary files /dev/null and b/doc/salome/gui/GUI/images/note1.gif differ diff --git a/doc/salome/gui/GUI/images/objectbrowser1.png b/doc/salome/gui/GUI/images/objectbrowser1.png new file mode 100755 index 000000000..16ab896a2 Binary files /dev/null and b/doc/salome/gui/GUI/images/objectbrowser1.png differ diff --git a/doc/salome/gui/GUI/images/objectbrowser2.png b/doc/salome/gui/GUI/images/objectbrowser2.png new file mode 100755 index 000000000..e010ef2b0 Binary files /dev/null and b/doc/salome/gui/GUI/images/objectbrowser2.png differ diff --git a/doc/salome/gui/GUI/images/open.jpg b/doc/salome/gui/GUI/images/open.jpg new file mode 100755 index 000000000..5829aef52 Binary files /dev/null and b/doc/salome/gui/GUI/images/open.jpg differ diff --git a/doc/salome/gui/GUI/images/plot2d_clone.gif b/doc/salome/gui/GUI/images/plot2d_clone.gif new file mode 100644 index 000000000..f980a5dd2 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_clone.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_legend.gif b/doc/salome/gui/GUI/images/plot2d_legend.gif new file mode 100644 index 000000000..a40211e8a Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_legend.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_lines.gif b/doc/salome/gui/GUI/images/plot2d_lines.gif new file mode 100644 index 000000000..8d1dc2313 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_lines.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_logarithmic_horizontal.gif b/doc/salome/gui/GUI/images/plot2d_logarithmic_horizontal.gif new file mode 100644 index 000000000..3473ad94a Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_logarithmic_horizontal.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_logarithmic_vertical.gif b/doc/salome/gui/GUI/images/plot2d_logarithmic_vertical.gif new file mode 100644 index 000000000..0d3b25ef4 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_logarithmic_vertical.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_points.gif b/doc/salome/gui/GUI/images/plot2d_points.gif new file mode 100644 index 000000000..6700f0078 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_points.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_settings.gif b/doc/salome/gui/GUI/images/plot2d_settings.gif new file mode 100644 index 000000000..87e1105c6 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_settings.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_splines.gif b/doc/salome/gui/GUI/images/plot2d_splines.gif new file mode 100644 index 000000000..1d50b2097 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_splines.gif differ diff --git a/doc/salome/gui/GUI/images/plot2d_view_settings.png b/doc/salome/gui/GUI/images/plot2d_view_settings.png new file mode 100644 index 000000000..d4b4d29c2 Binary files /dev/null and b/doc/salome/gui/GUI/images/plot2d_view_settings.png differ diff --git a/doc/salome/gui/GUI/images/ppref1.png b/doc/salome/gui/GUI/images/ppref1.png new file mode 100755 index 000000000..dd91013ce Binary files /dev/null and b/doc/salome/gui/GUI/images/ppref1.png differ diff --git a/doc/salome/gui/GUI/images/ppref2.png b/doc/salome/gui/GUI/images/ppref2.png new file mode 100755 index 000000000..5a15f0e93 Binary files /dev/null and b/doc/salome/gui/GUI/images/ppref2.png differ diff --git a/doc/salome/gui/GUI/images/ppref3.png b/doc/salome/gui/GUI/images/ppref3.png new file mode 100755 index 000000000..1ecffe395 Binary files /dev/null and b/doc/salome/gui/GUI/images/ppref3.png differ diff --git a/doc/salome/gui/GUI/images/pref11.png b/doc/salome/gui/GUI/images/pref11.png new file mode 100755 index 000000000..26ddbe9b9 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref11.png differ diff --git a/doc/salome/gui/GUI/images/pref12.png b/doc/salome/gui/GUI/images/pref12.png new file mode 100755 index 000000000..8cafab810 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref12.png differ diff --git a/doc/salome/gui/GUI/images/pref13.png b/doc/salome/gui/GUI/images/pref13.png new file mode 100755 index 000000000..4cfe950cf Binary files /dev/null and b/doc/salome/gui/GUI/images/pref13.png differ diff --git a/doc/salome/gui/GUI/images/pref14.png b/doc/salome/gui/GUI/images/pref14.png new file mode 100755 index 000000000..2f8bcfb3c Binary files /dev/null and b/doc/salome/gui/GUI/images/pref14.png differ diff --git a/doc/salome/gui/GUI/images/pref15.png b/doc/salome/gui/GUI/images/pref15.png new file mode 100755 index 000000000..10053fb11 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref15.png differ diff --git a/doc/salome/gui/GUI/images/pref21.png b/doc/salome/gui/GUI/images/pref21.png new file mode 100755 index 000000000..8f7ad1d34 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref21.png differ diff --git a/doc/salome/gui/GUI/images/pref22.png b/doc/salome/gui/GUI/images/pref22.png new file mode 100755 index 000000000..26921dc5a Binary files /dev/null and b/doc/salome/gui/GUI/images/pref22.png differ diff --git a/doc/salome/gui/GUI/images/pref23.png b/doc/salome/gui/GUI/images/pref23.png new file mode 100644 index 000000000..e1a082a14 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref23.png differ diff --git a/doc/salome/gui/GUI/images/pref24.png b/doc/salome/gui/GUI/images/pref24.png new file mode 100755 index 000000000..c539e9b8b Binary files /dev/null and b/doc/salome/gui/GUI/images/pref24.png differ diff --git a/doc/salome/gui/GUI/images/pref31.png b/doc/salome/gui/GUI/images/pref31.png new file mode 100755 index 000000000..e5606d133 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref31.png differ diff --git a/doc/salome/gui/GUI/images/pref33.png b/doc/salome/gui/GUI/images/pref33.png new file mode 100755 index 000000000..bdc9b7643 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref33.png differ diff --git a/doc/salome/gui/GUI/images/pref34.png b/doc/salome/gui/GUI/images/pref34.png new file mode 100755 index 000000000..5072c62b6 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref34.png differ diff --git a/doc/salome/gui/GUI/images/pref37.png b/doc/salome/gui/GUI/images/pref37.png new file mode 100755 index 000000000..1d4d082fe Binary files /dev/null and b/doc/salome/gui/GUI/images/pref37.png differ diff --git a/doc/salome/gui/GUI/images/pref38.png b/doc/salome/gui/GUI/images/pref38.png new file mode 100755 index 000000000..5c8d31ce3 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref38.png differ diff --git a/doc/salome/gui/GUI/images/pref39.png b/doc/salome/gui/GUI/images/pref39.png new file mode 100755 index 000000000..878a52607 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref39.png differ diff --git a/doc/salome/gui/GUI/images/pref40.png b/doc/salome/gui/GUI/images/pref40.png new file mode 100755 index 000000000..e86c1e250 Binary files /dev/null and b/doc/salome/gui/GUI/images/pref40.png differ diff --git a/doc/salome/gui/GUI/images/productpage.png b/doc/salome/gui/GUI/images/productpage.png new file mode 100644 index 000000000..bc05c8bfa Binary files /dev/null and b/doc/salome/gui/GUI/images/productpage.png differ diff --git a/doc/salome/gui/GUI/images/productpage1.png b/doc/salome/gui/GUI/images/productpage1.png new file mode 100644 index 000000000..b66616681 Binary files /dev/null and b/doc/salome/gui/GUI/images/productpage1.png differ diff --git a/doc/salome/gui/GUI/images/productpage2.png b/doc/salome/gui/GUI/images/productpage2.png new file mode 100644 index 000000000..998d286e3 Binary files /dev/null and b/doc/salome/gui/GUI/images/productpage2.png differ diff --git a/doc/salome/gui/GUI/images/progresspage.png b/doc/salome/gui/GUI/images/progresspage.png new file mode 100644 index 000000000..0779fccaf Binary files /dev/null and b/doc/salome/gui/GUI/images/progresspage.png differ diff --git a/doc/salome/gui/GUI/images/progresspage1.png b/doc/salome/gui/GUI/images/progresspage1.png new file mode 100644 index 000000000..efaa4d1ea Binary files /dev/null and b/doc/salome/gui/GUI/images/progresspage1.png differ diff --git a/doc/salome/gui/GUI/images/readmepage.png b/doc/salome/gui/GUI/images/readmepage.png new file mode 100644 index 000000000..b6aee2989 Binary files /dev/null and b/doc/salome/gui/GUI/images/readmepage.png differ diff --git a/doc/salome/gui/GUI/images/registry1.png b/doc/salome/gui/GUI/images/registry1.png new file mode 100755 index 000000000..b8912c6ba Binary files /dev/null and b/doc/salome/gui/GUI/images/registry1.png differ diff --git a/doc/salome/gui/GUI/images/registry3.png b/doc/salome/gui/GUI/images/registry3.png new file mode 100755 index 000000000..f44e2ec3a Binary files /dev/null and b/doc/salome/gui/GUI/images/registry3.png differ diff --git a/doc/salome/gui/GUI/images/registry4.png b/doc/salome/gui/GUI/images/registry4.png new file mode 100755 index 000000000..98a3772b5 Binary files /dev/null and b/doc/salome/gui/GUI/images/registry4.png differ diff --git a/doc/salome/gui/GUI/images/save.jpg b/doc/salome/gui/GUI/images/save.jpg new file mode 100755 index 000000000..90001afb9 Binary files /dev/null and b/doc/salome/gui/GUI/images/save.jpg differ diff --git a/doc/salome/gui/GUI/images/selectcolor.png b/doc/salome/gui/GUI/images/selectcolor.png new file mode 100755 index 000000000..70800b28a Binary files /dev/null and b/doc/salome/gui/GUI/images/selectcolor.png differ diff --git a/doc/salome/gui/GUI/images/selectfont.png b/doc/salome/gui/GUI/images/selectfont.png new file mode 100755 index 000000000..04eff08fd Binary files /dev/null and b/doc/salome/gui/GUI/images/selectfont.png differ diff --git a/doc/salome/gui/GUI/images/set_rotation_point_dialog1.png b/doc/salome/gui/GUI/images/set_rotation_point_dialog1.png new file mode 100644 index 000000000..bdab73b7d Binary files /dev/null and b/doc/salome/gui/GUI/images/set_rotation_point_dialog1.png differ diff --git a/doc/salome/gui/GUI/images/set_rotation_point_dialog2.png b/doc/salome/gui/GUI/images/set_rotation_point_dialog2.png new file mode 100644 index 000000000..7f3696a56 Binary files /dev/null and b/doc/salome/gui/GUI/images/set_rotation_point_dialog2.png differ diff --git a/doc/salome/gui/GUI/images/studyproperties.png b/doc/salome/gui/GUI/images/studyproperties.png new file mode 100755 index 000000000..af88317f1 Binary files /dev/null and b/doc/salome/gui/GUI/images/studyproperties.png differ diff --git a/doc/salome/gui/GUI/images/updaterate.png b/doc/salome/gui/GUI/images/updaterate.png new file mode 100755 index 000000000..4a6c29981 Binary files /dev/null and b/doc/salome/gui/GUI/images/updaterate.png differ diff --git a/doc/salome/gui/GUI/images/urbutton.png b/doc/salome/gui/GUI/images/urbutton.png new file mode 100755 index 000000000..d7c0841e3 Binary files /dev/null and b/doc/salome/gui/GUI/images/urbutton.png differ diff --git a/doc/salome/gui/GUI/images/view2.png b/doc/salome/gui/GUI/images/view2.png new file mode 100755 index 000000000..9d48a09bb Binary files /dev/null and b/doc/salome/gui/GUI/images/view2.png differ diff --git a/doc/salome/gui/GUI/images/view_rotation_point.png b/doc/salome/gui/GUI/images/view_rotation_point.png new file mode 100644 index 000000000..7fe8f8389 Binary files /dev/null and b/doc/salome/gui/GUI/images/view_rotation_point.png differ diff --git a/doc/salome/gui/GUI/index.htm b/doc/salome/gui/GUI/index.htm deleted file mode 100755 index 774d93c9a..000000000 --- a/doc/salome/gui/GUI/index.htm +++ /dev/null @@ -1,180 +0,0 @@ - - -GUI Module Reference Manual - - - - - - - - - - - - - diff --git a/doc/salome/gui/GUI/index_csh.htm b/doc/salome/gui/GUI/index_csh.htm deleted file mode 100755 index ba099aa30..000000000 --- a/doc/salome/gui/GUI/index_csh.htm +++ /dev/null @@ -1,106 +0,0 @@ - - -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 deleted file mode 100755 index 6c22f70fc..000000000 --- a/doc/salome/gui/GUI/index_rhc.htm +++ /dev/null @@ -1,106 +0,0 @@ - - -GUI Module Reference Manual - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/about_salome.doc b/doc/salome/gui/GUI/input/about_salome.doc new file mode 100644 index 000000000..4f132abae --- /dev/null +++ b/doc/salome/gui/GUI/input/about_salome.doc @@ -0,0 +1,12 @@ +/*! + +\page about_salome_page About SALOME + +
    +
  • \subpage intro_to_salome_page
  • +
  • \subpage salome_architecture_page
  • +
  • \subpage installing_salome_page "Installing SALOME"
  • +
  • \subpage running_salome_page
  • +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/creating_new_study.doc b/doc/salome/gui/GUI/input/creating_new_study.doc new file mode 100644 index 000000000..3c4d0e3cc --- /dev/null +++ b/doc/salome/gui/GUI/input/creating_new_study.doc @@ -0,0 +1,36 @@ +/*! + +\page creating_new_study_page 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: + +\par +From the main menu select File > New or in the standard toolbar +click "New document" button. + +\image html newsticn.jpg ""New document" button" + +Your study will be created with default name \b 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 \b active: maximize it (if it minimized) or click on +the top control zone of the study window. +
  2. +
  3. \n From the main menu select Window > New Window and from the submenu +choose the viewer, which will be activated in a new window. +
  4. +
+ +The window for your study will be created with a default name \b Study1. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/displaying_studies.doc b/doc/salome/gui/GUI/input/displaying_studies.doc new file mode 100644 index 000000000..b45a8ed50 --- /dev/null +++ b/doc/salome/gui/GUI/input/displaying_studies.doc @@ -0,0 +1,30 @@ +/*! + +\page displaying_studies_page 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. +\n Such windows as Object Browser and Python Console are dockable and +also can be placed at any part of the desktop. +\n 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. +\n 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. + +\image html neo-view2.png + +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/editing_studies.doc b/doc/salome/gui/GUI/input/editing_studies.doc new file mode 100644 index 000000000..cafc03eed --- /dev/null +++ b/doc/salome/gui/GUI/input/editing_studies.doc @@ -0,0 +1,19 @@ +/*! + +\page editing_studies_page Editing studies + +\b SALOME has \b Copy/Paste functionality allowing to edit your study +within a definite component: + +To copy/paste a definite object: +\par +In the main toolbar click "Copy"/"Paste" button or from the main menu +choose Edit > Copy/Paste option. + +\image html copy-paste.jpg ""Copy" and "Paste" buttons" + +\n The availability of \b 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. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/geometry_preferences.doc b/doc/salome/gui/GUI/input/geometry_preferences.doc new file mode 100644 index 000000000..651ef2e7e --- /dev/null +++ b/doc/salome/gui/GUI/input/geometry_preferences.doc @@ -0,0 +1,47 @@ +/*! + +\page geometry_preferences_page Geometry preferences + +In the \b Geometry module you can set preferences for visualisation of +geometrical figures which can be used in later sessions with this +module. + +\image html pref15.png + +\par +For all color definitions click on the respective line to access to +the \ref select_color_and_font_page "Select Color" dialog box. + +
    +
  • General
  • +
      +
    • Default Display Mode - allows to choose between wireframe +or shading.
    • +
    • Default Shading Color - allows to select default shading +color.
    • +
    • Default Wireframe Color - allows to select default +wireframe color (to be applied to any lines not being free boundaries +or isolated lines).
    • +
    • Color of free boundaries - allows to select default color for free boundaries.
    • +
    • Color of edges, vectors and wires - allows to select +default color for edges, vectors and wires (isolated lines).
    • +
    • Color of points - allows to select default color for +vertices.
    • +
    • Color of isolines - allows to select default color for +isolines.
    • +
    • Step Value for Spin Boxes - allows to define the increment +of values set in spin boxes.
    • +
    +
+ +
    +
  • Marker of Points
  • +
      +
    • Type - allows to select the symbol for representation of +points (cross, asterisk, etc.).
    • +
    • Size - allows to define the size of the marker from 1 +(smallest) to 7 (largest).
    • +
    +
+ +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/getting_started.doc b/doc/salome/gui/GUI/input/getting_started.doc new file mode 100644 index 000000000..a06873543 --- /dev/null +++ b/doc/salome/gui/GUI/input/getting_started.doc @@ -0,0 +1,20 @@ +/*! + +\page getting_started_page Getting started + +When you start the SALOME Platform, the following initial desktop window appears: + +\image html view2.png + +    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 - \b 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. + +\note To proceed working in SALOME you should create or open a new study. + +*/ \ No newline at end of file diff --git a/doc/salome/gui/GUI/input/gui_module_chapter.doc b/doc/salome/gui/GUI/input/gui_module_chapter.doc new file mode 100644 index 000000000..3d4f43ce0 --- /dev/null +++ b/doc/salome/gui/GUI/input/gui_module_chapter.doc @@ -0,0 +1,39 @@ +/*! + +\page gui_module_page GUI module + +
    +
  • \subpage introduction_to_gui_page
  • +
  • \subpage getting_started_page
  • +
  • \subpage salome_desktop_page
  • +
  • \subpage study_management_page
  • +
      +
    • \ref creating_new_study_page
    • +
    • \ref opening_studies_page
    • +
    • \ref saving_and_closing_studies_page
    • +
    • \ref editing_studies_page
    • +
    • \ref displaying_studies_page
    • +
    • \ref working_with_python_scripts_page
    • +
    • \ref setting_study_properties_page
    • +
    +
  • \subpage using_object_browser_page
  • +
  • \subpage using_registry_tool_page
  • +
  • \subpage using_catalog_generator_page "Using Catalog Generator"
  • +
  • \subpage viewers_page
  • +
      +
    • \ref occ_3d_viewer_page
    • +
    • \ref vtk_3d_viewer_page
    • +
    • \ref plot2d_viewer_page
    • +
    +
  • \subpage setting_preferences_page
  • +
      +
    • \ref setting_preferences_subpage
    • +
    • \ref select_color_and_font_page
    • +
    • \ref salome_preferences_page
    • +
    • \ref geometry_preferences_page
    • +
    • \ref mesh_preferences_page
    • +
    • \ref postpro_preferences_page
    • +
    +
+ +*/ diff --git a/doc/salome/gui/GUI/input/index.doc b/doc/salome/gui/GUI/input/index.doc new file mode 100644 index 000000000..1f340a405 --- /dev/null +++ b/doc/salome/gui/GUI/input/index.doc @@ -0,0 +1,51 @@ +/*! + +\mainpage GUI Module Reference Documentation + +
    +
  • \subpage introduction_page
  • +
  • \subpage about_salome_page
  • +
      +
    • \ref intro_to_salome_page
    • +
    • \ref salome_architecture_page
    • +
    • \ref installing_salome_page
    • +
    • \ref running_salome_page
    • +
    +
  • \subpage gui_module_page "GUI module"
  • +
      +
    • \ref introduction_to_gui_page
    • +
    • \ref getting_started_page
    • +
    • \ref salome_desktop_page
    • +
    • \ref study_management_page
    • +
        +
      • \ref creating_new_study_page
      • +
      • \ref opening_studies_page
      • +
      • \ref saving_and_closing_studies_page
      • +
      • \ref editing_studies_page
      • +
      • \ref displaying_studies_page
      • +
      • \ref working_with_python_scripts_page
      • +
      • \ref setting_study_properties_page
      • +
      +
    +
  • \ref using_object_browser_page
  • +
  • \ref using_registry_tool_page
  • +
  • \ref using_catalog_generator_page "Using Catalog Generator"
  • +
  • \ref viewers_page
  • +
      +
    • \ref occ_3d_viewer_page
    • +
    • \ref vtk_3d_viewer_page
    • +
    • \ref plot2d_viewer_page
    • +
    +
  • \ref setting_preferences_page
  • +
      +
    • \ref setting_preferences_subpage
    • +
    • \ref select_color_and_font_page
    • +
    • \ref salome_preferences_page
    • +
    • \ref geometry_preferences_page
    • +
    • \ref mesh_preferences_page
    • +
    • \ref postpro_preferences_page
    • +
    +
+ + +*/ diff --git a/doc/salome/gui/GUI/input/installing_salome.doc b/doc/salome/gui/GUI/input/installing_salome.doc new file mode 100644 index 000000000..e0f26afe6 --- /dev/null +++ b/doc/salome/gui/GUI/input/installing_salome.doc @@ -0,0 +1,961 @@ +/*! + +\page installing_salome_page SALOME Installation Wizard Help + +
+
    +
  • \ref installing_products "Installing products with the Installation Wizard" +
      +
    • \ref gui_mode_install "GUI mode" +
    • \ref batch_mode_install "Batch mode" +
    • \ref environment_files "Environment files" +
    +
  • \ref notes_on_check "Notes on check products version procedure" +
  • \ref pick_up_env "Pick up the environment" +
  • \ref modifying_xml "Modifying XML configuration file" +
  • \ref installation_scripts "Implementing installation scripts for the new products" +
  • \ref finish_buttons "Customizing Readme page buttons" +
+
+\anchor installing_products +

Installing products with the Installation Wizard

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

[ python ] \b runInstall [options] + +Without options this script will launch the SALOME Installation +Wizard in the default mode (GUI). \n The default installation settings +can be overridden by using command line options. Each option has a +short and a long notation: + +-g / --gui +\par +Runs the Installation Wizard in the GUI mode (this is the default +mode). + +-b / --batch +\par +Runs the Installation Wizard in the terminal mode. + +-f FILE / --file=FILE +\par +The XML configuration file to be used by the Installation Wizard. If +this option is not used then the installation script tries to define +the \e Linux version and use the corresponding XML file if it exists. For +examle, for Linux Mandrake 10.1 the config_Mandrake_10.1.xml file +will be used by default. If no appropriate file is found, the file +config.xml will be used. This file refers to the basic target platform +which is Linux Mandrake 10.1 for SALOME 3.0 and newer. If config.xml +file is not found either, a warning message box is shown (in GUI mode) +or printed to the console (in batch mode) and the Installation Wizard +quits. + +-d DIR / --target=DIR +\par +The target directory SALOME platform is to be installed to. +If used, this option overrides the default target directory, given in +the configuration XML file (usually ${HOME}/salome_\, +see \ref modifying_xml "here" for more details). + +-t DIR / --tmp=DIR +\par +The directory, which should be used for temporary files. If given, +this option overrides the default temporary directory, given in the +configuration xml file (usually \b /tmp, see \ref modifying_xml "here" +for more information). + +-a / --all-from-sources +\par +Forces all the products to be installed from sources (including all +SALOME modules). If this option is used, all default installation +modes for all products are ignored. +\n This option is helpful when the user wants to install SALOME on the +platform which is not officially supported. In this case, the user can +try to run the SALOME Installation Wizard with the \b -a option in order +to build all the products from sources. +\n Note, that this is a time-consuming operation which can take +more than 24 hours depending on the computer. + +-h / --help +\par +Prints help information on the Installation Wizard's use. + +-v / --version +\par +Prints version information (\b Note: this is the Installation Wizard's +version number, not the number of SALOME platform version). + +The installation procedure supports different \em Linux platforms and +installs various installation 3d-party prerequisite products which are +required by SALOME platform. As it was mentioned above, the basic +target platform for SALOME 3.0 and newer is Linux Mandrake 10.1. +Use of configuration XML files gives a flexible way to modify the list +of products to be installed by the Installation Wizard without +changing the program source code. Just create your own XML +configuration file and implement installation scripts for the +prerequisite products you need and then use this XML file with the +Installation Wizard. This can be done, for example, for some Linux +platform which is not supported directly by the Installation +Wizard. See \ref modifying_xml "Modifying XML configuration file" and +\ref installation_scripts "Implementing installation scripts for the new products" +sections for more information. + +
+\anchor gui_mode_install +

GUI mode

+ +The Installation Wizard GUI has been developed using +Trolltech's Qt 3.0.5 toolkit. After launching the Installation +Wizard in the GUI mode the wizard window is shown to the user. This +wizard guides the user through several subsequent pages. To navigate +between the pages use \em "Next" and \em "Back" buttons in the lower +part of the wizard window. The \em "Cancel" button closes the wizard +window and quits the installation procedure after the user's +confirmation. The \em "Help" button opens an additional window to show +help information. + +The first \em "Introduction" page is shown in \ref figure_1 "Figure 1". +Skip this page by clicking \em "Next": + +\anchor figure_1 +\image html intropage.png +\n
Figure 1: "Introduction" page
+ +In the second page you are proposed to enter the target directory +where the SALOME platform should be installed to. You can also click +"Browse..." and choose the destination folder using the standard +browse directory dialog box. +\n If the directory you want to install products to does not exist you +are prompted to confirm directory creation. If you type a wrong +directory path, or if you do not have write permissions +for the directory you use, the corresponding message box is shown. + +You can also change the temporary directory (which is used to store +temporary files required for the installation). +\n In the bottom part of the window the total disk space required for +the installation and for the temporary files is displayed (see below +for more details). + +In the GUI mode the Installation Wizard provides two different options +to install the SALOME platform: \b basic (default option) and +\b advanced. In the \b basic mode the user should enter the target +installation directory and temporary folder. All other installation +options are taken from the XML configuration file (see \ref figure_2 "Figure 2"): + +\anchor figure_2 +\image html productpage1.png +\n
Figure 2: "Installation settings"
+ +In addition, you have a choice to use "Install all products from +sources" check box. If this option is turned on, all the products will +be installed from the sources (using their own build procedures). This +check box corresponds to the --all-from-sources (-a) option of +the \b runInstall script (see \ref installing_products "here"). + +\Note Installation of all products from sources is a long-time +operation. + +To switch to the \b advanced option, click "More..." (see +\ref figure_3 "Figure 3" ). + +In the advanced mode you have a possibility to select products to be +installed. Each product can have several options of installation: you +have a possibility to use the native product (provided with Linux +distribution and installed in the system folders), install already +precompiled binaries, build the product from sources or not install it +at all. Available options and default option are taken from the XML +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. +\n Note, that some products may require some other pre-requisite +products to be installed (or these prerequisite products should be +already available 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 \b PyQt it is necessary to have +gcc, Python, Qt and \b Sip installed. Therefore all these +products will also be turned on when you check on \b PyQt. This +feature can be switched off by clicking the "Automatic +dependencies" checkbox. Turn on this checkbox if you want all +prerequisite products to be automatically checked when you select some +product to be installed. Turn off this checkbox if you want to disable +this feature. + +\anchor figure_3 +\image html productpage.png +\n
Figure 3: "Installation settings" page in the 'advanced' mode
+ +If you want to use native products (like \b gcc, \b tcl, etc.), select "use +native" option. +\n Special button in the right part of the page - "Unselect All" - +allows to reset quickly all products to the "not install" state. +

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

+In addition, when some SALOME sources are selected, one more check box +becomes available: "Build SALOME sources". If this option is +turned on, the selected SALOME modules will be built and installed +from sources. + +\note If this check box is turned on, the corresponding SALOME +module binaries package installation is disabled, because of SALOME +module sources and binaries packages conflict (see \ref figure_4 "Figure 4" below). + +\anchor figure_4 +\image html productpage2.png +\n
Figure 4: "Build SALOME sources" check box +usage
+ +The box at the right side of the page displays the information about +currently highlighted product: name, version and short description, +required disk space, disk space required for temporary files, list of +prerequisites (this information is provided in the XML file) and +current user choice. +

+The "Disk space required:" field displays how much disk space +on the hard drive is required for installation of selected products. + +\note 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 the selected products. You can change the temporary +directory - just type a path to the folder you want to use or click on +the corresponding "Browse..." button. + +\note Actually, temporary files are not stored directly in the +directory entered by the user. The Installation Wizard creates an +additional folder in this directory 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. If +there is not enough disk space on your hard drive you will see a +corresponding error message box. + +\note You are strongly recommended not to use directory names +containing spaces. Otherwise you can experience +some troubles with the installation. + +To proceed further click "Next". At this moment the program will make +some tests to check installation settings: if there is enough disk +space on the hard drive, check for native products installation, +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 proceed to the next page: + +\anchor figure_5 +\image html choicepage.png +\n
Figure 5: "Check your choice" page
+ +This page summarizes the installation options you've made on the +previous pages. You can check again your choice and change it if +necessary by getting back to the previous page. +\n When you are sure that everything is OK, click "Next" to +follow to the \ref figure_6 "next page". + +\anchor figure_6 +\image html progresspage1.png +\n
Figure 6: "Installation progress" page
+ +To start installation of the selected products click "Start". It +launches the shell installation script and you will be able to see the +output of the script in the dialog topmost frame. If any errors occur +during the installation progress the corresponding messages will be +printed to the log window in bold red font. + +It is possible to break the installation at any time by clicking +"Stop". Then you can get back to the previous pages if you wish to +change installation settings or restart installation by pressing again +"Start" button. + +\note In the current implementation it is not possible to resume +the stopped installation process; it will be re-started from the very +beginning. + +\anchor figure_7 +\image html progresspage.png +\n
Figure 7: "Installation progress" page: installation in progress
+ +The "Installation Status" frame window shows you the progress of +installation. \c "Waiting" status means that installation of this product +has not been started yet. The product currently being installed is +marked as \c "Processing". All installed products have \c "Completed" +status. + +You can abort installation and close the installation procedure using +\em "Cancel" button. + +\note This button sends the signal "SIGTERM" to the shell +script. The script tries 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 (all selected products have been installed +successfully) you can go back to the previous pages to start a new +installation or click \em "Next" to go the Readme page: + +\anchor figure_8 +\image html readmepage.png +\n
Figure 8: "Finish installation" page
+ +In this page you can read important information about the Instalation +Wizard itself and some tips: how to run and test SALOME or how to +build SALOME from the sources. This is the contents 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 or read the Release +Notes file by clicking on the corresponding buttons in the lower part +of the page (see \ref modifying_xml "here" and \ref finish_buttons +"here" for more information about customizing these buttons). + +
+\anchor batch_mode_install +

Batch mode

+ +To launch the Installation Wizard in the batch mode use -\b b (--\b batch) +parameter. +\n In this mode the GUI wizard is not shown but all the installation +status is displayed directly in the console. In the batch mode the +user does not have a possibility to change installation settings which +are given in the configuration file, except target and temporary +directories which can be overridden by the corresponding command line +options. +\n The only exception is --\b all-from-sources (-\b a) option which enables +special installation mode in which all the products (including SALOME +modules) are installed from sources, ignoring the default mode defined +in the XML configuration file (see \ref installing_products "here" for details). + +\anchor figure_9 +\image html batchmode.png +\n
Figure 9: Batch mode
+ +
+\anchor environment_files +

Environment files

+ +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 collects the +environment, see \ref pick_up_env "here". These files are: \b +salome.csh + \b salome.sh in the KERNEL module sources +and KERNEL module binaries root directories and +\b env_products.csh + \b env_products.sh and \b env_build.csh + +\b env_build.sh in the target installation directory. + +\note there is some difference between these files: \b env_build.* +files are optimized to be used for building SALOME modules from +sources (see \b README file provided with the installation procedure +on the CD). The \b env_products.* (and \b salome.*) files are +optimized for SALOME launching. The behavior is defined by the +environment variable \b ENV_FOR_LAUNCH which is set to \b 0 in +env_build.* files and to \b 1 in env_products.* (salome.*) files. + +
+
+\anchor notes_on_check +

Notes on check products version procedure

+ +Unfortunately there is no exact algorithm to identify the product +version under Linux platform. The information in this section gives an +idea how the version is checked for the native/preinstalled products +(this information refers to the base platform Linux Mandrake +10.1; and the same algorithms are used for other platforms). + +The general rule for all products is that the path to the binaries +should be set via the \b PATH environment variable, path to the libraries +should be set via the \b LD_LIBRARY_PATH variable and the python modules +should be available via the \b PYTHONPATH variable. + +\note the information given in this section refers to the prerequisite +products for SALOME version 3.2.4. + +
    +
  • gcc 3.4.1 +\n\n Version number is checked by gcc -dumpversion command. The \b gcc +executable should be in the \b PATH environment variable. Version should +be equal to "3.4.1". It is recommended to use native gcc on Mandrake +10.1.

    +
  • +
  • tcl/tk 8.4.5 +\n\n Version number for \b tcl/tk can be found in tclConfig.sh and +tkConfig.sh files (\b TCL_VERSION and \b TK_VERSION variables +correspondingly). Version number should be equal to "8.4" (release +number is not checked). Set the \b TCLHOME environment variable to the +root directory of tcl/tk installation. It is recommended to use native +tcl/tk on Mandrake 10.1.

    +
  • +
  • boost 1.31.0 +\n\n Version number is defined by \b version.hpp file which is part of +the boost distribution. This file defines the \b BOOST_VERSION macro +which should be equal to "103100". In addition the existence of boost +libraries is checked. Set the \b BOOSTDIR environment variable if you +have a preinstalled version of boost.

    +
  • +
  • Python 2.3.4 +\n\n Version number is checked by \b python -\b V command. The \b python +executable should be in the \b PATH environment variable. Version +number should be equal to "2.3.4". It is recommended to use native +Python on Mandrake 10.1. Set the \b PYTHONHOME environment variable if +you have a preinstalled version of Python.

    +
  • +
  • Swig 1.3.24 +\n\n Version number is checked by \b swig -\b version command. The \b swig +executable should be in the \b PATH environment variable. Version number +should be equal to "1.3.24". +

    +
  • +
  • Qt 3.3.3 +\n\n Version number is defined by \b qglobal.h file which is part of the +Qt distribution. This file defines \b QT_VERSION_STR macro which should be equal to "3.3.3". It is recommended to use native Qt on Mandrake 10.1. +\n Set the \b QTDIR environment variable if you have a preinstalled version of qt.

    +
  • +
  • msg2qm +\n\n \b msg2qm is a Qt tool which is used to convert text *.po files +to *.qm resource files. Unfortunately this tool is not included to the +Linux distribution and provided only in Qt sources package. This is +the reason why this tool is supplied with the SALOME Installation +Wizard. There is no way to check the version number of msg2qm tool. Just set +\b MSG2QM_ROOT environment variable if you have a preinstalled version +of msg2qm tool.

    +
  • +
  • Open CASCADE 6.1.2a2 +\n\n Version number is defined by \b Standard_Version.hxx file which +is part of the Open CASCADE distribution. This file defines \b +OCC_VERSION_MAJOR, \b OCC_VERSION_MINOR and \b OCC_VERSION_MAINTENANCE +macros which should refer to version 6.1.2. \n Set the CASROOT +environment variable if you have a preinstalled version of Open +CASCADE.

    +
  • +
  • qwt 4.2.0/0.4.2 +\n\n Version number is defined by \b qwt_global.h file which is part of +the qwt distribution. This file defines \b QWT_VERSION_STR macro which should be equal to "4.2.0". +\n Set the \b QWTHOME environment variable if you have a preinstalled version of qwt.

    +
  • +
  • hdf 5-1.6.4 +\n\n Version number is defined by \b libhdf5.settings file which is +part of the \b hdf5 distribution. Version should be equal to 1.6.4. +\n Set the \b HDF5HOME environment variable if you have a preinstalled +version of hdf5.

    +
  • +
  • med 2.2.3 +\n\n Unfortunately there is no formal way to check med version +number. We check existence of libmed.so.1.0.2 library on the +computer. If you have any problem with a preinstalled version of med, +please, reinstall it. +\n Set the \b MED2HOME environment variable if you have a preinstalled +version of med.

    +
  • +
  • Vtk 4.2.6 +\n\n Unfortunately there is no formal way to check VTK version +number. We just check the existence of \b libvtkCommon.so library on +the computer and hope that it is of version we need. If you have any +problem with a preinstalled version of Vtk, please, reinstall it. +\n Set the \b VTKHOME environment variable if you have a preinstalled +version of Vtk.

    +
  • +
  • OmniORB 4.0.5, OmniORBpy 2.5, OmniNotify 2.1 +\n\n We just check existence of some omniORB libraries and executable +on the computer, like \b libomniORB4.so.0.5, \b _omnipymodule.so.2.4, +\b libCOSNotify4.so.0.1 and \b notifd. \n Set the \b OMNIORBDIR +environment variable if you have a preinstalled version of omniORB +products.

    +
  • +
  • sip 4.1 +\n\n Version number is checked by \b sip -\b V command. The \b sip +executable should be in the \b PATH environment variable. Version number should be equal to "4.1". +\n Set the \b SIPDIR environment variable to the directory where you +have sip executable preinstalled.

    +
  • +
  • PyQt 3.13 +\n\n Version number is defined by \b pyqtconfig.py Python module file +which is part of the \b PyQt distribution. Version should be equal to "3.13". +\n Set the \b PYQTDIR environment variable if you have a preinstalled +version of PyQt.

    +
  • +
  • netgen 4.5 +\n\n Unfortunarely we can't find anything about netgen version. We +just check if \b NETGENROOT environment variable is set. \n Set the\b +NETGENROOT environment variable if you have a preinstalled version of +netgen mesher.
    +\note netgen 4.5 provided with the SALOME installation Wizard has been patched to improve its performance. +
  • +
  • Numeric 23.7 +\n\n Version number is checked by python -c 'import Numeric; print +Numeric.__version__' command. The \b python executable should be +in the \b PATH environment variable and \b Numeric module should be +available for the Python (for example it should be in the \b PYTHONPATH environment variable). Version number should be equal to "23.7". If you have any problem with a preinstalled version of Numeric 23.7, please, reinstall it. +\n Add the directory where you have a preinstalled version of Numeric +package to the the \b PYTHONHOME environment variable.

    +
  • +
  • graphviz 2.2.1 +\n\n Version number is checked by \b dot -\b V command. The dot +executable should be in the \b PATH environment variable. Version +number should be equal to "2.2.1". \n Add \b graphviz bin directory to +the the \b PATH environment variable.

    +
  • +
  • doxygen 1.4.6 +\n\n Version number is checked by \b doxygen --\b version command. The +\b doxygen executable should be in the \b PATH environment +variable. Version number should be equal to "1.4.6".

    +
  • +
  • \b SALOME module \b sources (3.2.4). +\n\n For each SALOME module sources package (KERNEL, GUI, GEOM, +etc...) the root directory contains file configure.in (configure.ac) +which defines version information.\n Set the \b \_SRC_DIR environment variable for each SALOME \b +MODULE sources package installed (where \b MODULE is KERNEL, GUI, +GEOM, ...).

    +
  • +
  • \b SALOME module \b binaries (3.2.4) +\n\n For each SALOME module binaries package (KERNEL, GUI, GEOM, +etc...) the \b bin/salome directory contains file \b VERSION which +defines version information.\n Set \_ROOT_DIR environment +variable for each SALOME \b MODULE binaries package installed (where +\b MODULE is KERNEL, GUI, GEOM, ...).

    +
  • +
+ +If you have native products installed to directories different from +default ones (not \b /usr/bin, \b /usr/lib...), it is recommended to follow +the above mentioned instructions. Or you should properly set \b PATH and +\b LD_LIBRARY_PATH variables \em before starting the Installation +Wizard. Otherwise the installation script will fail to find +preinstalled/native products. + +\note for some native products (e.g. gcc, Python) the rules of version +checking are not so strict as described above. Only major and minor +version numbers should coincide with the prerequisite. Newer version +of the product can also be used. If some native product has version +number larger than that required by the installation procedure, the +user will be prompted by the warning message like this: "You have +newer version of gcc installed on your computer than that is required +(3.4.1). Continue?". You can click "\em Yes" 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 helpful only +if you plan to build all products from sources. + +
+
+\anchor pick_up_env +

Pick up the environment

+ +Please, read the following information carefully . This section +describes how the installation procedure generates the environment +scripts for the SALOME platform being installed. +

+After installing each product shell the script creates a special +environment file for the product in its installation folder. The name +of the file is generated from the name of product by the following +scheme: \b env_.sh (for example \b env_Vtk.sh for the +Vtk). This file includes all necessary environment settings. At the +final step of the installation the script picks up all the settings +files and generates two common environment files from them: \b salome.sh +and \b salome.csh for \b bash and \b csh shells correspondingly. Such approach +helps to save time when reinstalling products and you may not bother +about setting all environment variables manually to build/launch +SALOME. What you simply need is to source one of these environment +files. +

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

+In any case you may edit \b salome.* files after the installation +procedure finishes, if you want. + +\note As it was mentioned \ref environment_files "above" there are +other environment files which are generated by the installation +procedure: \b env_products.csh + \b env_products.sh and \b env_build.csh + +\b env_build.sh. These files can be found in the target installation root +directory. + +
+
+\anchor modifying_xml +

Modifying XML configuration file

+ +You can create your own XML 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 which Installation Wizard looks for if no +command line arguments are given, is \b config.xml. +\n This section describes the structure of the configuration file. +\n Optional sections/tags are in brackets. + +\code + + [ ] + [ caption= ] + [ copyright= ] + [ license= ] + [ os= ] + /> + ] + [ ] + [ tempdir= ] + /> + ] + [