aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/doc/extras
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-22 16:44:51 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-22 18:24:16 +0200
commit77faaf1757c2054adf6a13ff1025621bb86a3934 (patch)
treebeced043dde3f9da5927c20112921d4732b2a03e /sources/pyside2/doc/extras
parentd4112e4a6ea25aee831da3cd123f139b5f7229bf (diff)
move everying into sources/pyside2 (dev edition)
in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.
Diffstat (limited to 'sources/pyside2/doc/extras')
-rw-r--r--sources/pyside2/doc/extras/PySide.QtCore.ClassInfo.rst23
-rw-r--r--sources/pyside2/doc/extras/PySide.QtCore.Signal.rst39
-rw-r--r--sources/pyside2/doc/extras/PySide.QtCore.Slot.rst39
-rw-r--r--sources/pyside2/doc/extras/PySide.QtCore.rst5
-rw-r--r--sources/pyside2/doc/extras/PySide.QtGui.rst7
-rw-r--r--sources/pyside2/doc/extras/PySide.QtHelp.rst24
-rw-r--r--sources/pyside2/doc/extras/PySide.QtMultimedia.rst7
-rw-r--r--sources/pyside2/doc/extras/PySide.QtNetwork.rst5
-rw-r--r--sources/pyside2/doc/extras/PySide.QtOpenGL.rst14
-rw-r--r--sources/pyside2/doc/extras/PySide.QtScript.rst21
-rw-r--r--sources/pyside2/doc/extras/PySide.QtScriptTools.rst5
-rw-r--r--sources/pyside2/doc/extras/PySide.QtSql.rst5
-rw-r--r--sources/pyside2/doc/extras/PySide.QtSvg.rst16
-rw-r--r--sources/pyside2/doc/extras/PySide.QtTest.rst7
-rw-r--r--sources/pyside2/doc/extras/PySide.QtUiTools.rst9
-rw-r--r--sources/pyside2/doc/extras/PySide.QtWebKit.rst94
-rw-r--r--sources/pyside2/doc/extras/PySide.QtXml.rst5
-rw-r--r--sources/pyside2/doc/extras/PySide.QtXmlPatterns.rst35
18 files changed, 360 insertions, 0 deletions
diff --git a/sources/pyside2/doc/extras/PySide.QtCore.ClassInfo.rst b/sources/pyside2/doc/extras/PySide.QtCore.ClassInfo.rst
new file mode 100644
index 000000000..d2267be9c
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtCore.ClassInfo.rst
@@ -0,0 +1,23 @@
+.. module:: PySide2.QtCore
+.. _ClassInfo:
+
+ClassInfo
+*********
+
+This class is used to associates extra information to the class, which is available
+using QObject.metaObject(). Qt and PySide doesn't use this information.
+
+The extra information takes the form of a dictionary with key and value in a literal string.
+
+.. note:: This Class is a implementation of Q_CLASSINFO macro.
+
+
+Example
+-------
+
+::
+
+ @ClassInfo(Author='PySide Team', URL='http://www.pyside.org')
+ class MyObject(QObject):
+ ...
+
diff --git a/sources/pyside2/doc/extras/PySide.QtCore.Signal.rst b/sources/pyside2/doc/extras/PySide.QtCore.Signal.rst
new file mode 100644
index 000000000..16c640831
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtCore.Signal.rst
@@ -0,0 +1,39 @@
+.. module:: PySide2.QtCore
+.. _Signal:
+
+Signal
+******
+
+Synopsis
+--------
+
+Functions
+^^^^^^^^^
+
++---------------------------------------------------------------------------------------------+
+|def :meth:`connect<Signal.connect>` (receiver) |
++---------------------------------------------------------------------------------------------+
+|def :meth:`disconnect<Signal.disconnect>` (receiver) |
++---------------------------------------------------------------------------------------------+
+|def :meth:`emit<Signal.disconnect>` (\*args) |
++---------------------------------------------------------------------------------------------+
+
+Detailed Description
+--------------------
+
+ The :class:`~.Signal` class provides a way to declare and connect Qt signals in a pythonic way.
+
+ PySide adopt PyQt's new signal and slot syntax as-is. The PySide implementation is functionally compatible with the PyQt 4.5 one, with the exceptions listed bellow.
+
+.. method:: Signal.connect(receiver[, type=Qt.AutoConnection])
+
+ Create a connection between this signal and a `receiver`, the `receiver` can be a Python callable, a :class:`Slot` or a :class:`Signal`.
+
+.. method:: Signal.disconnect(receiver)
+
+ Disconnect this signal from a `receiver`, the `receiver` can be a Python callable, a :class:`Slot` or a :class:`Signal`.
+
+.. method:: Signal.emit(*args)
+
+ `args` is the arguments to pass to any connected slots, if any.
+
diff --git a/sources/pyside2/doc/extras/PySide.QtCore.Slot.rst b/sources/pyside2/doc/extras/PySide.QtCore.Slot.rst
new file mode 100644
index 000000000..6b93014cf
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtCore.Slot.rst
@@ -0,0 +1,39 @@
+.. module:: PySide2.QtCore
+.. _Slot:
+
+Slot
+****
+
+Detailed Description
+--------------------
+
+ PySide adopt PyQt's new signal and slot syntax as-is. The PySide
+ implementation is functionally compatible with the PyQt 4.5 one, with the
+ exceptions listed bellow.
+
+ PyQt's new signal and slot style utilizes method and decorator names
+ specific to their implementation. These will be generalized according to
+ the table below:
+
+ ======= ====================== =============
+ Module PyQt factory function PySide class
+ ======= ====================== =============
+ QtCore pyqtSignal Signal
+ QtCore pyqtSlot Slot
+ ======= ====================== =============
+
+Q_INVOKABLE
+-----------
+
+ PySide doesn't offer something identical to Q_INVOKABLE macro of Qt, the
+ reason is simple, PySide slots can have return values, so if you need to
+ create a invokable method that returns some value, declare it as a slot,
+ e.g.:
+
+ ::
+
+ class Foo(QObject):
+
+ @Slot(result=int, float)
+ def getFloatReturnInt(self, f):
+ return int(f)
diff --git a/sources/pyside2/doc/extras/PySide.QtCore.rst b/sources/pyside2/doc/extras/PySide.QtCore.rst
new file mode 100644
index 000000000..d3277a418
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtCore.rst
@@ -0,0 +1,5 @@
+All other Qt modules rely on this module. To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtCore
diff --git a/sources/pyside2/doc/extras/PySide.QtGui.rst b/sources/pyside2/doc/extras/PySide.QtGui.rst
new file mode 100644
index 000000000..e16329c38
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtGui.rst
@@ -0,0 +1,7 @@
+To include the definitions of modules classes, use the following directive:
+
+::
+
+ import PySide2.QtGui
+
+.. seealso:: :mod:`PySide2.QtCore`
diff --git a/sources/pyside2/doc/extras/PySide.QtHelp.rst b/sources/pyside2/doc/extras/PySide.QtHelp.rst
new file mode 100644
index 000000000..5e101a795
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtHelp.rst
@@ -0,0 +1,24 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtHelp
+
+License Information
+-------------------
+
+The QtHelp module uses the CLucene indexing library to provide full-text searching capabilities for Qt Assistant and applications that use the features of QtHelp.
+
+Qt Commercial Edition licensees that wish to distribute applications that use these features of the QtHelp module need to be aware of their obligations under the GNU Lesser General Public License (LGPL).
+
+Developers using the Open Source Edition can choose to redistribute the module under the appropriate version of the GNU LGPL; version 2.1 for applications and libraries licensed under the GNU GPL version 2, or version 3 for applications and libraries licensed under the GNU GPL version 3.
+
+Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
+
+Changes are Copyright (C) 2016 The Qt Company Ltd.
+
+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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/sources/pyside2/doc/extras/PySide.QtMultimedia.rst b/sources/pyside2/doc/extras/PySide.QtMultimedia.rst
new file mode 100644
index 000000000..5088db4d0
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtMultimedia.rst
@@ -0,0 +1,7 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtMultimedia
+
+
diff --git a/sources/pyside2/doc/extras/PySide.QtNetwork.rst b/sources/pyside2/doc/extras/PySide.QtNetwork.rst
new file mode 100644
index 000000000..07303b157
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtNetwork.rst
@@ -0,0 +1,5 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtNetwork
diff --git a/sources/pyside2/doc/extras/PySide.QtOpenGL.rst b/sources/pyside2/doc/extras/PySide.QtOpenGL.rst
new file mode 100644
index 000000000..38783d9fd
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtOpenGL.rst
@@ -0,0 +1,14 @@
+OpenGL is a standard API for rendering 3D graphics. OpenGL only deals with 3D rendering and provides little or no support for GUI programming issues. The user interface for an OpenGL application must be created with another toolkit, such as Motif on the X platform, Microsoft Foundation Classes (MFC) under Windows, or Qt on both platforms.
+
+.. note:: OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.
+
+The Qt OpenGL module makes it easy to use OpenGL in Qt applications. It provides an OpenGL widget class that can be used just like any other Qt widget, except that it opens an OpenGL display buffer where you can use the OpenGL API to render the contents.
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtOpenGL
+
+The Qt OpenGL module is implemented as a platform-independent wrapper around the platform-dependent GLX (version 1.3 or later), WGL, or AGL C APIs. Although the basic functionality provided is very similar to Mark Kilgard's GLUT library, applications using the Qt OpenGL module can take advantage of the whole Qt API for non-OpenGL-specific GUI functionality.
+
+The QtOpenGL module is available on Windows, X11 and Mac OS X. Qt for Embedded Linux and OpenGL supports OpenGL ES (OpenGL for Embedded Systems). \ No newline at end of file
diff --git a/sources/pyside2/doc/extras/PySide.QtScript.rst b/sources/pyside2/doc/extras/PySide.QtScript.rst
new file mode 100644
index 000000000..8ce7681ec
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtScript.rst
@@ -0,0 +1,21 @@
+The QtScript module only provides core scripting facilities; the QtScriptTools module provides additional Qt Script-related components that application developers may find useful.
+
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtScript
+
+License Information
+-------------------
+
+Qt Commercial Edition licensees that wish to distribute applications that use the QtScript module need to be aware of their obligations under the GNU Library General Public License (LGPL).
+
+Developers using the Open Source Edition can choose to redistribute the module under the appropriate version of the GNU LGPL.
+QtScript is licensed under the GNU Library General Public License. Individual contributor names and copyright dates can be found inline in the code.
+
+This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
diff --git a/sources/pyside2/doc/extras/PySide.QtScriptTools.rst b/sources/pyside2/doc/extras/PySide.QtScriptTools.rst
new file mode 100644
index 000000000..a54ed914b
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtScriptTools.rst
@@ -0,0 +1,5 @@
+Applications that use the Qt Script Tools classes need to be configured to be built against the QtScriptTools module. To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtScriptTools
diff --git a/sources/pyside2/doc/extras/PySide.QtSql.rst b/sources/pyside2/doc/extras/PySide.QtSql.rst
new file mode 100644
index 000000000..fcdd6ba02
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtSql.rst
@@ -0,0 +1,5 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtSql
diff --git a/sources/pyside2/doc/extras/PySide.QtSvg.rst b/sources/pyside2/doc/extras/PySide.QtSvg.rst
new file mode 100644
index 000000000..d77846550
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtSvg.rst
@@ -0,0 +1,16 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtSvg
+
+License Information
+-------------------
+
+Some code for arc handling in this module is derived from code with the following license:
+
+Copyright 2002 USC/Information Sciences Institute
+
+Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Information Sciences Institute not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Information Sciences Institute makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
+
+INFORMATION SCIENCES INSTITUTE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL INFORMATION SCIENCES INSTITUTE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/sources/pyside2/doc/extras/PySide.QtTest.rst b/sources/pyside2/doc/extras/PySide.QtTest.rst
new file mode 100644
index 000000000..0b89a22d4
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtTest.rst
@@ -0,0 +1,7 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtTest
+
+.. note:: All macros in the C++ version of QtTest were not binded in PySide, this module is useful only for GUI testing and benchmarking, for ordinary unit testing you should use the ``unittest`` Python module.
diff --git a/sources/pyside2/doc/extras/PySide.QtUiTools.rst b/sources/pyside2/doc/extras/PySide.QtUiTools.rst
new file mode 100644
index 000000000..553224527
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtUiTools.rst
@@ -0,0 +1,9 @@
+These forms are processed at run-time to produce dynamically-generated user interfaces. In order to generate a form at run-time, a resource file containing a UI file is needed.
+
+A form loader object, provided by the QUiLoader class, is used to construct the user interface. This user interface can be retrieved from any QIODevice; for example, a QFile object can be used to obtain a form stored in a project's resources. The :meth:`PySide2.QtUiTools.QUiLoader.load` function takes the user interface description contained in the file and constructs the form widget.
+
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide..QtUiTools
diff --git a/sources/pyside2/doc/extras/PySide.QtWebKit.rst b/sources/pyside2/doc/extras/PySide.QtWebKit.rst
new file mode 100644
index 000000000..58f9230a7
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtWebKit.rst
@@ -0,0 +1,94 @@
+QtWebKit provides a Web browser engine that makes it easy to embed content from the World Wide Web into your Qt application. At the same time Web content can be enhanced with native controls.
+
+QtWebKit provides facilities for rendering of HyperText Markup Language (HTML), Extensible HyperText Markup Language (XHTML) and Scalable Vector Graphics (SVG) documents, styled using Cascading Style Sheets (CSS) and scripted with JavaScript.
+
+A bridge between the JavaScript execution environment and the Qt object model makes it possible for custom QObjects to be scripted. Integration with the Qt networking module enables Web pages to be transparently loaded from Web servers, the local file system or even the Qt resource system.
+
+In addition to providing pure rendering features, HTML documents can be made fully editable to the user through the use of the contenteditable attribute on HTML elements.
+
+QtWebKit is based on the Open Source WebKit engine. More information about WebKit itself can be found on the _`WebKit Open Source Project <http://webkit.org/>` Web site.
+
+Including In Your Project
+-------------------------
+
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtWebKit
+
+
+.. note:: Web site icons, also known as "FavIcons", are currently not supported on Windows. We plan to address this in a future release.
+
+Architecture
+------------
+
+The easiest way to render content is through the QWebView class. As a widget it can be embedded into your forms or a graphics view, and it provides convenience functions for downloading and rendering web sites.
+
+::
+
+ view = QWebView(parent)
+ view.load(QUrl("http://qt.nokia.com/"))
+ view.show()
+
+QWebView is used to view Web pages. An instance of QWebView has one QWebPage. QWebPage provides access to the document structure in a page, describing features such as frames, the navigation history, and the undo/redo stack for editable content.
+
+HTML documents can be nested using frames in a frameset. An individual frame in HTML is represented using the QWebFrame class. This class includes the bridge to the JavaScript window object and can be painted using QPainter. Each QWebPage has one QWebFrame object as its main frame, and the main frame may contain many child frames.
+
+Individual elements of an HTML document can be accessed via DOM JavaScript interfaces from within a web page. The equivalent of this API in QtWebKit is represented by QWebElement. QWebElement objects are obtained using QWebFrame's findAllElements() and findFirstElement() functions with CSS selector queries.
+
+Common web browser features, defaults and other settings can be configured through the QWebSettings class. It is possible to provide defaults for all QWebPage instances through the default settings. Individual attributes can be overidden by the page specific settings object.
+
+Netscape Plugin Support
+-----------------------
+
+.. note:: Netscape plugin support is only available on desktop platforms.
+
+Since WebKit supports the Netscape Plugin API, Qt applications can display Web pages that embed common plugins on platforms for which those plugins are available. To enable plugin support, the user must have the appropriate binary files for those plugins installed and the ``QWebSettings.PluginsEnabled`` attribute must be enabled for the application.
+
+The following locations are searched for plugins:
+
+* Linux/Unix (X11)
+ * .mozilla/plugins in the user's home directory
+ * .netscape/plugins in the user's home directory
+ * System locations, such as
+ * /usr/lib/browser/plugins
+ * /usr/local/lib/mozilla/plugins
+ * /usr/lib/firefox/plugins
+ * /usr/lib64/browser-plugins
+ * /usr/lib/browser-plugins
+ * /usr/lib/mozilla/plugins
+ * /usr/local/netscape/plugins
+ * /opt/mozilla/plugins
+ * /opt/mozilla/lib/plugins
+ * /opt/netscape/plugins
+ * /opt/netscape/communicator/plugins
+ * /usr/lib/netscape/plugins
+ * /usr/lib/netscape/plugins-libc5
+ * /usr/lib/netscape/plugins-libc6
+ * /usr/lib64/netscape/plugins
+ * /usr/lib64/mozilla/plugins
+ * Locations specified by environment variables:
+ * $MOZILLA_HOME/plugins
+ * $MOZ_PLUGIN_PATH
+ * $QTWEBKIT_PLUGIN_PATH
+* Windows
+ * The user's Application Data\Mozilla\plugins directory
+ * Standard system locations of plugins for Quicktime, Flash, etc.
+* Mac OS X
+ * Library/Internet Plug-Ins in the user's home directory
+ * The system /Library/Internet Plug-Ins directory
+
+License Information
+-------------------
+
+Qt Commercial Edition licensees that wish to distribute applications that use the QtWebKit module need to be aware of their obligations under the GNU Library General Public License (LGPL).
+
+Developers using the Open Source Edition can choose to redistribute the module under the appropriate version of the GNU LGPL.
+WebKit is licensed under the GNU Library General Public License. Individual contributor names and copyright dates can be found inline in the code.
+
+This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. \ No newline at end of file
diff --git a/sources/pyside2/doc/extras/PySide.QtXml.rst b/sources/pyside2/doc/extras/PySide.QtXml.rst
new file mode 100644
index 000000000..4b48ef21e
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtXml.rst
@@ -0,0 +1,5 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtXml
diff --git a/sources/pyside2/doc/extras/PySide.QtXmlPatterns.rst b/sources/pyside2/doc/extras/PySide.QtXmlPatterns.rst
new file mode 100644
index 000000000..3830efb4d
--- /dev/null
+++ b/sources/pyside2/doc/extras/PySide.QtXmlPatterns.rst
@@ -0,0 +1,35 @@
+To include the definitions of the module's classes, use the following directive:
+
+::
+
+ import PySide2.QtXmlPatterns
+
+Further Reading
+---------------
+
+General overviews of XQuery and XSchema can be found in the XQuery document.
+
+An introduction to the XQuery language can be found in A Short Path to XQuery.
+
+License Information
+-------------------
+
+The XML Schema implementation provided by this module contains the xml.xsd file (located in src/xmlpatterns/schema/schemas) which is licensed under the terms given below. This module is always built with XML Schema support enabled.
+
+W3C© SOFTWARE NOTICE AND LICENSE
+
+This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
+
+* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
+* Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.