diff --git a/license.txt b/LICENSE.txt similarity index 100% rename from license.txt rename to LICENSE.txt diff --git a/README b/README.txt similarity index 100% rename from README rename to README.txt diff --git a/documentation/Makefile b/doc/Makefile similarity index 100% rename from documentation/Makefile rename to doc/Makefile diff --git a/documentation/listmissing.py b/doc/listmissing.py similarity index 100% rename from documentation/listmissing.py rename to doc/listmissing.py diff --git a/documentation/make.bat b/doc/make.bat similarity index 100% rename from documentation/make.bat rename to doc/make.bat diff --git a/documentation/source/3dgraphics.rst b/doc/source/3dgraphics.rst similarity index 100% rename from documentation/source/3dgraphics.rst rename to doc/source/3dgraphics.rst diff --git a/documentation/source/3dgraphics/glaxisitem.rst b/doc/source/3dgraphics/glaxisitem.rst similarity index 100% rename from documentation/source/3dgraphics/glaxisitem.rst rename to doc/source/3dgraphics/glaxisitem.rst diff --git a/documentation/source/3dgraphics/glgraphicsitem.rst b/doc/source/3dgraphics/glgraphicsitem.rst similarity index 100% rename from documentation/source/3dgraphics/glgraphicsitem.rst rename to doc/source/3dgraphics/glgraphicsitem.rst diff --git a/documentation/source/3dgraphics/glgriditem.rst b/doc/source/3dgraphics/glgriditem.rst similarity index 100% rename from documentation/source/3dgraphics/glgriditem.rst rename to doc/source/3dgraphics/glgriditem.rst diff --git a/documentation/source/3dgraphics/glimageitem.rst b/doc/source/3dgraphics/glimageitem.rst similarity index 100% rename from documentation/source/3dgraphics/glimageitem.rst rename to doc/source/3dgraphics/glimageitem.rst diff --git a/documentation/source/3dgraphics/glmeshitem.rst b/doc/source/3dgraphics/glmeshitem.rst similarity index 100% rename from documentation/source/3dgraphics/glmeshitem.rst rename to doc/source/3dgraphics/glmeshitem.rst diff --git a/documentation/source/3dgraphics/glscatterplotitem.rst b/doc/source/3dgraphics/glscatterplotitem.rst similarity index 100% rename from documentation/source/3dgraphics/glscatterplotitem.rst rename to doc/source/3dgraphics/glscatterplotitem.rst diff --git a/documentation/source/3dgraphics/glsurfaceplotitem.rst b/doc/source/3dgraphics/glsurfaceplotitem.rst similarity index 100% rename from documentation/source/3dgraphics/glsurfaceplotitem.rst rename to doc/source/3dgraphics/glsurfaceplotitem.rst diff --git a/documentation/source/3dgraphics/glviewwidget.rst b/doc/source/3dgraphics/glviewwidget.rst similarity index 100% rename from documentation/source/3dgraphics/glviewwidget.rst rename to doc/source/3dgraphics/glviewwidget.rst diff --git a/documentation/source/3dgraphics/glvolumeitem.rst b/doc/source/3dgraphics/glvolumeitem.rst similarity index 100% rename from documentation/source/3dgraphics/glvolumeitem.rst rename to doc/source/3dgraphics/glvolumeitem.rst diff --git a/documentation/source/3dgraphics/index.rst b/doc/source/3dgraphics/index.rst similarity index 100% rename from documentation/source/3dgraphics/index.rst rename to doc/source/3dgraphics/index.rst diff --git a/documentation/source/3dgraphics/meshdata.rst b/doc/source/3dgraphics/meshdata.rst similarity index 100% rename from documentation/source/3dgraphics/meshdata.rst rename to doc/source/3dgraphics/meshdata.rst diff --git a/documentation/source/apireference.rst b/doc/source/apireference.rst similarity index 100% rename from documentation/source/apireference.rst rename to doc/source/apireference.rst diff --git a/documentation/source/conf.py b/doc/source/conf.py similarity index 100% rename from documentation/source/conf.py rename to doc/source/conf.py diff --git a/documentation/source/functions.rst b/doc/source/functions.rst similarity index 100% rename from documentation/source/functions.rst rename to doc/source/functions.rst diff --git a/documentation/source/graphicsItems/arrowitem.rst b/doc/source/graphicsItems/arrowitem.rst similarity index 100% rename from documentation/source/graphicsItems/arrowitem.rst rename to doc/source/graphicsItems/arrowitem.rst diff --git a/documentation/source/graphicsItems/axisitem.rst b/doc/source/graphicsItems/axisitem.rst similarity index 100% rename from documentation/source/graphicsItems/axisitem.rst rename to doc/source/graphicsItems/axisitem.rst diff --git a/documentation/source/graphicsItems/buttonitem.rst b/doc/source/graphicsItems/buttonitem.rst similarity index 100% rename from documentation/source/graphicsItems/buttonitem.rst rename to doc/source/graphicsItems/buttonitem.rst diff --git a/documentation/source/graphicsItems/curvearrow.rst b/doc/source/graphicsItems/curvearrow.rst similarity index 100% rename from documentation/source/graphicsItems/curvearrow.rst rename to doc/source/graphicsItems/curvearrow.rst diff --git a/documentation/source/graphicsItems/curvepoint.rst b/doc/source/graphicsItems/curvepoint.rst similarity index 100% rename from documentation/source/graphicsItems/curvepoint.rst rename to doc/source/graphicsItems/curvepoint.rst diff --git a/documentation/source/graphicsItems/fillbetweenitem.rst b/doc/source/graphicsItems/fillbetweenitem.rst similarity index 100% rename from documentation/source/graphicsItems/fillbetweenitem.rst rename to doc/source/graphicsItems/fillbetweenitem.rst diff --git a/documentation/source/graphicsItems/gradienteditoritem.rst b/doc/source/graphicsItems/gradienteditoritem.rst similarity index 100% rename from documentation/source/graphicsItems/gradienteditoritem.rst rename to doc/source/graphicsItems/gradienteditoritem.rst diff --git a/documentation/source/graphicsItems/gradientlegend.rst b/doc/source/graphicsItems/gradientlegend.rst similarity index 100% rename from documentation/source/graphicsItems/gradientlegend.rst rename to doc/source/graphicsItems/gradientlegend.rst diff --git a/documentation/source/graphicsItems/graphicsitem.rst b/doc/source/graphicsItems/graphicsitem.rst similarity index 100% rename from documentation/source/graphicsItems/graphicsitem.rst rename to doc/source/graphicsItems/graphicsitem.rst diff --git a/documentation/source/graphicsItems/graphicslayout.rst b/doc/source/graphicsItems/graphicslayout.rst similarity index 100% rename from documentation/source/graphicsItems/graphicslayout.rst rename to doc/source/graphicsItems/graphicslayout.rst diff --git a/documentation/source/graphicsItems/graphicsobject.rst b/doc/source/graphicsItems/graphicsobject.rst similarity index 100% rename from documentation/source/graphicsItems/graphicsobject.rst rename to doc/source/graphicsItems/graphicsobject.rst diff --git a/documentation/source/graphicsItems/graphicswidget.rst b/doc/source/graphicsItems/graphicswidget.rst similarity index 100% rename from documentation/source/graphicsItems/graphicswidget.rst rename to doc/source/graphicsItems/graphicswidget.rst diff --git a/documentation/source/graphicsItems/graphicswidgetanchor.rst b/doc/source/graphicsItems/graphicswidgetanchor.rst similarity index 100% rename from documentation/source/graphicsItems/graphicswidgetanchor.rst rename to doc/source/graphicsItems/graphicswidgetanchor.rst diff --git a/documentation/source/graphicsItems/griditem.rst b/doc/source/graphicsItems/griditem.rst similarity index 100% rename from documentation/source/graphicsItems/griditem.rst rename to doc/source/graphicsItems/griditem.rst diff --git a/documentation/source/graphicsItems/histogramlutitem.rst b/doc/source/graphicsItems/histogramlutitem.rst similarity index 100% rename from documentation/source/graphicsItems/histogramlutitem.rst rename to doc/source/graphicsItems/histogramlutitem.rst diff --git a/documentation/source/graphicsItems/imageitem.rst b/doc/source/graphicsItems/imageitem.rst similarity index 100% rename from documentation/source/graphicsItems/imageitem.rst rename to doc/source/graphicsItems/imageitem.rst diff --git a/documentation/source/graphicsItems/index.rst b/doc/source/graphicsItems/index.rst similarity index 100% rename from documentation/source/graphicsItems/index.rst rename to doc/source/graphicsItems/index.rst diff --git a/documentation/source/graphicsItems/infiniteline.rst b/doc/source/graphicsItems/infiniteline.rst similarity index 100% rename from documentation/source/graphicsItems/infiniteline.rst rename to doc/source/graphicsItems/infiniteline.rst diff --git a/documentation/source/graphicsItems/isocurveitem.rst b/doc/source/graphicsItems/isocurveitem.rst similarity index 100% rename from documentation/source/graphicsItems/isocurveitem.rst rename to doc/source/graphicsItems/isocurveitem.rst diff --git a/documentation/source/graphicsItems/labelitem.rst b/doc/source/graphicsItems/labelitem.rst similarity index 100% rename from documentation/source/graphicsItems/labelitem.rst rename to doc/source/graphicsItems/labelitem.rst diff --git a/documentation/source/graphicsItems/legenditem.rst b/doc/source/graphicsItems/legenditem.rst similarity index 100% rename from documentation/source/graphicsItems/legenditem.rst rename to doc/source/graphicsItems/legenditem.rst diff --git a/documentation/source/graphicsItems/linearregionitem.rst b/doc/source/graphicsItems/linearregionitem.rst similarity index 100% rename from documentation/source/graphicsItems/linearregionitem.rst rename to doc/source/graphicsItems/linearregionitem.rst diff --git a/documentation/source/graphicsItems/make b/doc/source/graphicsItems/make similarity index 100% rename from documentation/source/graphicsItems/make rename to doc/source/graphicsItems/make diff --git a/documentation/source/graphicsItems/plotcurveitem.rst b/doc/source/graphicsItems/plotcurveitem.rst similarity index 100% rename from documentation/source/graphicsItems/plotcurveitem.rst rename to doc/source/graphicsItems/plotcurveitem.rst diff --git a/documentation/source/graphicsItems/plotdataitem.rst b/doc/source/graphicsItems/plotdataitem.rst similarity index 100% rename from documentation/source/graphicsItems/plotdataitem.rst rename to doc/source/graphicsItems/plotdataitem.rst diff --git a/documentation/source/graphicsItems/plotitem.rst b/doc/source/graphicsItems/plotitem.rst similarity index 100% rename from documentation/source/graphicsItems/plotitem.rst rename to doc/source/graphicsItems/plotitem.rst diff --git a/documentation/source/graphicsItems/roi.rst b/doc/source/graphicsItems/roi.rst similarity index 100% rename from documentation/source/graphicsItems/roi.rst rename to doc/source/graphicsItems/roi.rst diff --git a/documentation/source/graphicsItems/scalebar.rst b/doc/source/graphicsItems/scalebar.rst similarity index 100% rename from documentation/source/graphicsItems/scalebar.rst rename to doc/source/graphicsItems/scalebar.rst diff --git a/documentation/source/graphicsItems/scatterplotitem.rst b/doc/source/graphicsItems/scatterplotitem.rst similarity index 100% rename from documentation/source/graphicsItems/scatterplotitem.rst rename to doc/source/graphicsItems/scatterplotitem.rst diff --git a/documentation/source/graphicsItems/textitem.rst b/doc/source/graphicsItems/textitem.rst similarity index 100% rename from documentation/source/graphicsItems/textitem.rst rename to doc/source/graphicsItems/textitem.rst diff --git a/documentation/source/graphicsItems/uigraphicsitem.rst b/doc/source/graphicsItems/uigraphicsitem.rst similarity index 100% rename from documentation/source/graphicsItems/uigraphicsitem.rst rename to doc/source/graphicsItems/uigraphicsitem.rst diff --git a/documentation/source/graphicsItems/viewbox.rst b/doc/source/graphicsItems/viewbox.rst similarity index 100% rename from documentation/source/graphicsItems/viewbox.rst rename to doc/source/graphicsItems/viewbox.rst diff --git a/documentation/source/graphicsItems/vtickgroup.rst b/doc/source/graphicsItems/vtickgroup.rst similarity index 100% rename from documentation/source/graphicsItems/vtickgroup.rst rename to doc/source/graphicsItems/vtickgroup.rst diff --git a/documentation/source/graphicsscene/graphicsscene.rst b/doc/source/graphicsscene/graphicsscene.rst similarity index 100% rename from documentation/source/graphicsscene/graphicsscene.rst rename to doc/source/graphicsscene/graphicsscene.rst diff --git a/documentation/source/graphicsscene/hoverevent.rst b/doc/source/graphicsscene/hoverevent.rst similarity index 100% rename from documentation/source/graphicsscene/hoverevent.rst rename to doc/source/graphicsscene/hoverevent.rst diff --git a/documentation/source/graphicsscene/index.rst b/doc/source/graphicsscene/index.rst similarity index 100% rename from documentation/source/graphicsscene/index.rst rename to doc/source/graphicsscene/index.rst diff --git a/documentation/source/graphicsscene/mouseclickevent.rst b/doc/source/graphicsscene/mouseclickevent.rst similarity index 100% rename from documentation/source/graphicsscene/mouseclickevent.rst rename to doc/source/graphicsscene/mouseclickevent.rst diff --git a/documentation/source/graphicsscene/mousedragevent.rst b/doc/source/graphicsscene/mousedragevent.rst similarity index 100% rename from documentation/source/graphicsscene/mousedragevent.rst rename to doc/source/graphicsscene/mousedragevent.rst diff --git a/documentation/source/graphicswindow.rst b/doc/source/graphicswindow.rst similarity index 100% rename from documentation/source/graphicswindow.rst rename to doc/source/graphicswindow.rst diff --git a/documentation/source/how_to_use.rst b/doc/source/how_to_use.rst similarity index 100% rename from documentation/source/how_to_use.rst rename to doc/source/how_to_use.rst diff --git a/documentation/source/images.rst b/doc/source/images.rst similarity index 100% rename from documentation/source/images.rst rename to doc/source/images.rst diff --git a/documentation/source/images/plottingClasses.png b/doc/source/images/plottingClasses.png similarity index 100% rename from documentation/source/images/plottingClasses.png rename to doc/source/images/plottingClasses.png diff --git a/documentation/source/images/plottingClasses.svg b/doc/source/images/plottingClasses.svg similarity index 100% rename from documentation/source/images/plottingClasses.svg rename to doc/source/images/plottingClasses.svg diff --git a/documentation/source/index.rst b/doc/source/index.rst similarity index 100% rename from documentation/source/index.rst rename to doc/source/index.rst diff --git a/documentation/source/installation.rst b/doc/source/installation.rst similarity index 100% rename from documentation/source/installation.rst rename to doc/source/installation.rst diff --git a/documentation/source/internals.rst b/doc/source/internals.rst similarity index 100% rename from documentation/source/internals.rst rename to doc/source/internals.rst diff --git a/documentation/source/introduction.rst b/doc/source/introduction.rst similarity index 100% rename from documentation/source/introduction.rst rename to doc/source/introduction.rst diff --git a/documentation/source/mouse_interaction.rst b/doc/source/mouse_interaction.rst similarity index 100% rename from documentation/source/mouse_interaction.rst rename to doc/source/mouse_interaction.rst diff --git a/documentation/source/parametertree/apiref.rst b/doc/source/parametertree/apiref.rst similarity index 100% rename from documentation/source/parametertree/apiref.rst rename to doc/source/parametertree/apiref.rst diff --git a/documentation/source/parametertree/index.rst b/doc/source/parametertree/index.rst similarity index 100% rename from documentation/source/parametertree/index.rst rename to doc/source/parametertree/index.rst diff --git a/documentation/source/parametertree/parameter.rst b/doc/source/parametertree/parameter.rst similarity index 100% rename from documentation/source/parametertree/parameter.rst rename to doc/source/parametertree/parameter.rst diff --git a/documentation/source/parametertree/parameteritem.rst b/doc/source/parametertree/parameteritem.rst similarity index 100% rename from documentation/source/parametertree/parameteritem.rst rename to doc/source/parametertree/parameteritem.rst diff --git a/documentation/source/parametertree/parametertree.rst b/doc/source/parametertree/parametertree.rst similarity index 100% rename from documentation/source/parametertree/parametertree.rst rename to doc/source/parametertree/parametertree.rst diff --git a/documentation/source/parametertree/parametertypes.rst b/doc/source/parametertree/parametertypes.rst similarity index 100% rename from documentation/source/parametertree/parametertypes.rst rename to doc/source/parametertree/parametertypes.rst diff --git a/documentation/source/plotting.rst b/doc/source/plotting.rst similarity index 100% rename from documentation/source/plotting.rst rename to doc/source/plotting.rst diff --git a/documentation/source/prototyping.rst b/doc/source/prototyping.rst similarity index 100% rename from documentation/source/prototyping.rst rename to doc/source/prototyping.rst diff --git a/documentation/source/region_of_interest.rst b/doc/source/region_of_interest.rst similarity index 100% rename from documentation/source/region_of_interest.rst rename to doc/source/region_of_interest.rst diff --git a/documentation/source/style.rst b/doc/source/style.rst similarity index 100% rename from documentation/source/style.rst rename to doc/source/style.rst diff --git a/documentation/source/widgets/busycursor.rst b/doc/source/widgets/busycursor.rst similarity index 100% rename from documentation/source/widgets/busycursor.rst rename to doc/source/widgets/busycursor.rst diff --git a/documentation/source/widgets/checktable.rst b/doc/source/widgets/checktable.rst similarity index 100% rename from documentation/source/widgets/checktable.rst rename to doc/source/widgets/checktable.rst diff --git a/documentation/source/widgets/colorbutton.rst b/doc/source/widgets/colorbutton.rst similarity index 100% rename from documentation/source/widgets/colorbutton.rst rename to doc/source/widgets/colorbutton.rst diff --git a/documentation/source/widgets/combobox.rst b/doc/source/widgets/combobox.rst similarity index 100% rename from documentation/source/widgets/combobox.rst rename to doc/source/widgets/combobox.rst diff --git a/documentation/source/widgets/datatreewidget.rst b/doc/source/widgets/datatreewidget.rst similarity index 100% rename from documentation/source/widgets/datatreewidget.rst rename to doc/source/widgets/datatreewidget.rst diff --git a/documentation/source/widgets/dockarea.rst b/doc/source/widgets/dockarea.rst similarity index 100% rename from documentation/source/widgets/dockarea.rst rename to doc/source/widgets/dockarea.rst diff --git a/documentation/source/widgets/feedbackbutton.rst b/doc/source/widgets/feedbackbutton.rst similarity index 100% rename from documentation/source/widgets/feedbackbutton.rst rename to doc/source/widgets/feedbackbutton.rst diff --git a/documentation/source/widgets/filedialog.rst b/doc/source/widgets/filedialog.rst similarity index 100% rename from documentation/source/widgets/filedialog.rst rename to doc/source/widgets/filedialog.rst diff --git a/documentation/source/widgets/gradientwidget.rst b/doc/source/widgets/gradientwidget.rst similarity index 100% rename from documentation/source/widgets/gradientwidget.rst rename to doc/source/widgets/gradientwidget.rst diff --git a/documentation/source/widgets/graphicslayoutwidget.rst b/doc/source/widgets/graphicslayoutwidget.rst similarity index 100% rename from documentation/source/widgets/graphicslayoutwidget.rst rename to doc/source/widgets/graphicslayoutwidget.rst diff --git a/documentation/source/widgets/graphicsview.rst b/doc/source/widgets/graphicsview.rst similarity index 100% rename from documentation/source/widgets/graphicsview.rst rename to doc/source/widgets/graphicsview.rst diff --git a/documentation/source/widgets/histogramlutwidget.rst b/doc/source/widgets/histogramlutwidget.rst similarity index 100% rename from documentation/source/widgets/histogramlutwidget.rst rename to doc/source/widgets/histogramlutwidget.rst diff --git a/documentation/source/widgets/imageview.rst b/doc/source/widgets/imageview.rst similarity index 100% rename from documentation/source/widgets/imageview.rst rename to doc/source/widgets/imageview.rst diff --git a/documentation/source/widgets/index.rst b/doc/source/widgets/index.rst similarity index 100% rename from documentation/source/widgets/index.rst rename to doc/source/widgets/index.rst diff --git a/documentation/source/widgets/joystickbutton.rst b/doc/source/widgets/joystickbutton.rst similarity index 100% rename from documentation/source/widgets/joystickbutton.rst rename to doc/source/widgets/joystickbutton.rst diff --git a/documentation/source/widgets/layoutwidget.rst b/doc/source/widgets/layoutwidget.rst similarity index 100% rename from documentation/source/widgets/layoutwidget.rst rename to doc/source/widgets/layoutwidget.rst diff --git a/documentation/source/widgets/make b/doc/source/widgets/make similarity index 100% rename from documentation/source/widgets/make rename to doc/source/widgets/make diff --git a/documentation/source/widgets/matplotlibwidget.rst b/doc/source/widgets/matplotlibwidget.rst similarity index 100% rename from documentation/source/widgets/matplotlibwidget.rst rename to doc/source/widgets/matplotlibwidget.rst diff --git a/documentation/source/widgets/multiplotwidget.rst b/doc/source/widgets/multiplotwidget.rst similarity index 100% rename from documentation/source/widgets/multiplotwidget.rst rename to doc/source/widgets/multiplotwidget.rst diff --git a/documentation/source/widgets/parametertree.rst b/doc/source/widgets/parametertree.rst similarity index 100% rename from documentation/source/widgets/parametertree.rst rename to doc/source/widgets/parametertree.rst diff --git a/documentation/source/widgets/pathbutton.rst b/doc/source/widgets/pathbutton.rst similarity index 100% rename from documentation/source/widgets/pathbutton.rst rename to doc/source/widgets/pathbutton.rst diff --git a/documentation/source/widgets/plotwidget.rst b/doc/source/widgets/plotwidget.rst similarity index 100% rename from documentation/source/widgets/plotwidget.rst rename to doc/source/widgets/plotwidget.rst diff --git a/documentation/source/widgets/progressdialog.rst b/doc/source/widgets/progressdialog.rst similarity index 100% rename from documentation/source/widgets/progressdialog.rst rename to doc/source/widgets/progressdialog.rst diff --git a/documentation/source/widgets/rawimagewidget.rst b/doc/source/widgets/rawimagewidget.rst similarity index 100% rename from documentation/source/widgets/rawimagewidget.rst rename to doc/source/widgets/rawimagewidget.rst diff --git a/documentation/source/widgets/remotegraphicsview.rst b/doc/source/widgets/remotegraphicsview.rst similarity index 100% rename from documentation/source/widgets/remotegraphicsview.rst rename to doc/source/widgets/remotegraphicsview.rst diff --git a/documentation/source/widgets/spinbox.rst b/doc/source/widgets/spinbox.rst similarity index 100% rename from documentation/source/widgets/spinbox.rst rename to doc/source/widgets/spinbox.rst diff --git a/documentation/source/widgets/tablewidget.rst b/doc/source/widgets/tablewidget.rst similarity index 100% rename from documentation/source/widgets/tablewidget.rst rename to doc/source/widgets/tablewidget.rst diff --git a/documentation/source/widgets/treewidget.rst b/doc/source/widgets/treewidget.rst similarity index 100% rename from documentation/source/widgets/treewidget.rst rename to doc/source/widgets/treewidget.rst diff --git a/documentation/source/widgets/valuelabel.rst b/doc/source/widgets/valuelabel.rst similarity index 100% rename from documentation/source/widgets/valuelabel.rst rename to doc/source/widgets/valuelabel.rst diff --git a/documentation/source/widgets/verticallabel.rst b/doc/source/widgets/verticallabel.rst similarity index 100% rename from documentation/source/widgets/verticallabel.rst rename to doc/source/widgets/verticallabel.rst diff --git a/examples/__main__.py b/examples/__main__.py index 6f4bf138..1dbe7b9a 100644 --- a/examples/__main__.py +++ b/examples/__main__.py @@ -126,6 +126,9 @@ class ExampleLoader(QtGui.QMainWindow): extra.append('pyqt') elif self.ui.pysideCheck.isChecked(): extra.append('pyside') + + if self.ui.forceGraphicsCheck.isChecked(): + extra.append(str(self.ui.forceGraphicsCombo.currentText())) if fn is None: return @@ -163,22 +166,26 @@ def buildFileList(examples, files=None): buildFileList(val, files) return files -def testFile(name, f, exe, lib): +def testFile(name, f, exe, lib, graphicsSystem): global path fn = os.path.join(path,f) #print "starting process: ", fn - + os.chdir(path) sys.stdout.write(name) sys.stdout.flush() + import1 = "import %s" % lib if lib != '' else '' + import2 = os.path.splitext(os.path.split(fn)[1])[0] + graphicsSystem = '' if graphicsSystem is None else "pg.QtGui.QApplication.setGraphicsSystem('%s')" % graphicsSystem code = """ try: + %s + import pyqtgraph as pg %s import %s import sys print("test complete") sys.stdout.flush() - import pyqtgraph as pg import time while True: ## run a little event loop pg.QtGui.QApplication.processEvents() @@ -187,7 +194,7 @@ except: print("test failed") raise -""" % ("import %s" % lib if lib != '' else "", os.path.splitext(os.path.split(fn)[1])[0]) +""" % (import1, import2, graphicsSystem) #print code process = subprocess.Popen(['exec %s -i' % (exe)], shell=True, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE) process.stdin.write(code.encode('UTF-8')) diff --git a/examples/exampleLoaderTemplate.ui b/examples/exampleLoaderTemplate.ui index 1453240c..cd5ce921 100644 --- a/examples/exampleLoaderTemplate.ui +++ b/examples/exampleLoaderTemplate.ui @@ -57,6 +57,36 @@ + + + + + + Force Graphics System: + + + + + + + + native + + + + + raster + + + + + opengl + + + + + + diff --git a/examples/exampleLoaderTemplate_pyqt.py b/examples/exampleLoaderTemplate_pyqt.py index 26e55a44..f359cc32 100644 --- a/examples/exampleLoaderTemplate_pyqt.py +++ b/examples/exampleLoaderTemplate_pyqt.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file './examples/exampleLoaderTemplate.ui' # -# Created: Fri Oct 26 07:53:55 2012 +# Created: Mon Dec 24 00:33:38 2012 # by: PyQt4 UI code generator 4.9.1 # # WARNING! All changes made in this file will be lost! @@ -44,6 +44,18 @@ class Ui_Form(object): self.pysideCheck.setObjectName(_fromUtf8("pysideCheck")) self.horizontalLayout.addWidget(self.pysideCheck) self.verticalLayout.addLayout(self.horizontalLayout) + self.horizontalLayout_2 = QtGui.QHBoxLayout() + self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) + self.forceGraphicsCheck = QtGui.QCheckBox(self.layoutWidget) + self.forceGraphicsCheck.setObjectName(_fromUtf8("forceGraphicsCheck")) + self.horizontalLayout_2.addWidget(self.forceGraphicsCheck) + self.forceGraphicsCombo = QtGui.QComboBox(self.layoutWidget) + self.forceGraphicsCombo.setObjectName(_fromUtf8("forceGraphicsCombo")) + self.forceGraphicsCombo.addItem(_fromUtf8("")) + self.forceGraphicsCombo.addItem(_fromUtf8("")) + self.forceGraphicsCombo.addItem(_fromUtf8("")) + self.horizontalLayout_2.addWidget(self.forceGraphicsCombo) + self.verticalLayout.addLayout(self.horizontalLayout_2) self.loadBtn = QtGui.QPushButton(self.layoutWidget) self.loadBtn.setObjectName(_fromUtf8("loadBtn")) self.verticalLayout.addWidget(self.loadBtn) @@ -62,5 +74,9 @@ class Ui_Form(object): Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.pyqtCheck.setText(QtGui.QApplication.translate("Form", "Force PyQt", None, QtGui.QApplication.UnicodeUTF8)) self.pysideCheck.setText(QtGui.QApplication.translate("Form", "Force PySide", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCheck.setText(QtGui.QApplication.translate("Form", "Force Graphics System:", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(0, QtGui.QApplication.translate("Form", "native", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(1, QtGui.QApplication.translate("Form", "raster", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(2, QtGui.QApplication.translate("Form", "opengl", None, QtGui.QApplication.UnicodeUTF8)) self.loadBtn.setText(QtGui.QApplication.translate("Form", "Load Example", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/examples/exampleLoaderTemplate_pyside.py b/examples/exampleLoaderTemplate_pyside.py index a81f7299..113c1654 100644 --- a/examples/exampleLoaderTemplate_pyside.py +++ b/examples/exampleLoaderTemplate_pyside.py @@ -2,8 +2,8 @@ # Form implementation generated from reading ui file './examples/exampleLoaderTemplate.ui' # -# Created: Fri Oct 26 07:53:57 2012 -# by: pyside-uic 0.2.13 running on PySide 1.1.0 +# Created: Mon Dec 24 00:33:39 2012 +# by: pyside-uic 0.2.13 running on PySide 1.1.2 # # WARNING! All changes made in this file will be lost! @@ -39,6 +39,18 @@ class Ui_Form(object): self.pysideCheck.setObjectName("pysideCheck") self.horizontalLayout.addWidget(self.pysideCheck) self.verticalLayout.addLayout(self.horizontalLayout) + self.horizontalLayout_2 = QtGui.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.forceGraphicsCheck = QtGui.QCheckBox(self.layoutWidget) + self.forceGraphicsCheck.setObjectName("forceGraphicsCheck") + self.horizontalLayout_2.addWidget(self.forceGraphicsCheck) + self.forceGraphicsCombo = QtGui.QComboBox(self.layoutWidget) + self.forceGraphicsCombo.setObjectName("forceGraphicsCombo") + self.forceGraphicsCombo.addItem("") + self.forceGraphicsCombo.addItem("") + self.forceGraphicsCombo.addItem("") + self.horizontalLayout_2.addWidget(self.forceGraphicsCombo) + self.verticalLayout.addLayout(self.horizontalLayout_2) self.loadBtn = QtGui.QPushButton(self.layoutWidget) self.loadBtn.setObjectName("loadBtn") self.verticalLayout.addWidget(self.loadBtn) @@ -57,5 +69,9 @@ class Ui_Form(object): Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.pyqtCheck.setText(QtGui.QApplication.translate("Form", "Force PyQt", None, QtGui.QApplication.UnicodeUTF8)) self.pysideCheck.setText(QtGui.QApplication.translate("Form", "Force PySide", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCheck.setText(QtGui.QApplication.translate("Form", "Force Graphics System:", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(0, QtGui.QApplication.translate("Form", "native", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(1, QtGui.QApplication.translate("Form", "raster", None, QtGui.QApplication.UnicodeUTF8)) + self.forceGraphicsCombo.setItemText(2, QtGui.QApplication.translate("Form", "opengl", None, QtGui.QApplication.UnicodeUTF8)) self.loadBtn.setText(QtGui.QApplication.translate("Form", "Load Example", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/examples/initExample.py b/examples/initExample.py index 1b38363b..908f5fb0 100644 --- a/examples/initExample.py +++ b/examples/initExample.py @@ -3,6 +3,14 @@ import sys, os sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) if 'pyside' in sys.argv: ## should force example to use PySide instead of PyQt - import PySide + from PySide import QtGui elif 'pyqt' in sys.argv: - import PyQt4 + from PyQt4 import QtGui +else: + from pyqtgraph.Qt import QtGui + +for gs in ['raster', 'native', 'opengl']: + if gs in sys.argv: + QtGui.QApplication.setGraphicsSystem(gs) + break + diff --git a/exporters/SVGExporter.py b/exporters/SVGExporter.py deleted file mode 100644 index 2d040282..00000000 --- a/exporters/SVGExporter.py +++ /dev/null @@ -1,71 +0,0 @@ -from .Exporter import Exporter -from pyqtgraph.parametertree import Parameter -from pyqtgraph.Qt import QtGui, QtCore, QtSvg -import re - -__all__ = ['SVGExporter'] - -class SVGExporter(Exporter): - Name = "Scalable Vector Graphics (SVG)" - def __init__(self, item): - Exporter.__init__(self, item) - tr = self.getTargetRect() - self.params = Parameter(name='params', type='group', children=[ - {'name': 'width', 'type': 'float', 'value': tr.width(), 'limits': (0, None)}, - {'name': 'height', 'type': 'float', 'value': tr.height(), 'limits': (0, None)}, - ]) - self.params.param('width').sigValueChanged.connect(self.widthChanged) - self.params.param('height').sigValueChanged.connect(self.heightChanged) - - def widthChanged(self): - sr = self.getSourceRect() - ar = sr.height() / sr.width() - self.params.param('height').setValue(self.params['width'] * ar, blockSignal=self.heightChanged) - - def heightChanged(self): - sr = self.getSourceRect() - ar = sr.width() / sr.height() - self.params.param('width').setValue(self.params['height'] * ar, blockSignal=self.widthChanged) - - def parameters(self): - return self.params - - def export(self, fileName=None): - if fileName is None: - self.fileSaveDialog(filter="Scalable Vector Graphics (*.svg)") - return - self.svg = QtSvg.QSvgGenerator() - self.svg.setFileName(fileName) - dpi = QtGui.QDesktopWidget().physicalDpiX() - ## not really sure why this works, but it seems to be important: - self.svg.setSize(QtCore.QSize(self.params['width']*dpi/90., self.params['height']*dpi/90.)) - self.svg.setResolution(dpi) - #self.svg.setViewBox() - targetRect = QtCore.QRect(0, 0, self.params['width'], self.params['height']) - sourceRect = self.getSourceRect() - - painter = QtGui.QPainter(self.svg) - try: - self.setExportMode(True) - self.render(painter, QtCore.QRectF(targetRect), sourceRect) - finally: - self.setExportMode(False) - painter.end() - - ## Workaround to set pen widths correctly - data = open(fileName).readlines() - for i in range(len(data)): - line = data[i] - m = re.match(r'( + +pyqtgraph SVG export +Generated with Qt and pyqtgraph + + +""" + node.toprettyxml(indent=' ') + "\n\n" + + if toBytes: + return bytes(xml) + else: + with open(fileName, 'w') as fh: + fh.write(xml) + + def generateItemSvg(self, item): + if isinstance(item, QtGui.QGraphicsScene): + xmlStr = "" + childs = [i for i in item.items() if i.parentItem() is None] + else: + tr = QtGui.QTransform() + tr.translate(item.pos().x(), item.pos().y()) + tr = tr * item.transform() + if not item.isVisible() or int(item.flags() & item.ItemHasNoContents) > 0: + m = (tr.m11(), tr.m12(), tr.m21(), tr.m22(), tr.m31(), tr.m32()) + #print item, m + xmlStr = '' % m + else: + arr = QtCore.QByteArray() + buf = QtCore.QBuffer(arr) + svg = QtSvg.QSvgGenerator() + svg.setOutputDevice(buf) + dpi = QtGui.QDesktopWidget().physicalDpiX() + ### not really sure why this works, but it seems to be important: + #self.svg.setSize(QtCore.QSize(self.params['width']*dpi/90., self.params['height']*dpi/90.)) + svg.setResolution(dpi) + + p = QtGui.QPainter() + p.begin(svg) + if hasattr(item, 'setExportMode'): + item.setExportMode(True, {'painter': p}) + try: + #tr = QtGui.QTransform() + #tr.translate(item.pos().x(), item.pos().y()) + #p.setTransform(tr * item.transform()) + p.setTransform(tr) + item.paint(p, QtGui.QStyleOptionGraphicsItem(), None) + finally: + p.end() + if hasattr(item, 'setExportMode'): + item.setExportMode(False) + + xmlStr = str(arr) + childs = item.childItems() + + doc = xml.parseString(xmlStr) + try: + groups = doc.getElementsByTagName('g') + if len(groups) == 1: + g1 = g2 = groups[0] + else: + g1,g2 = groups[:2] + except: + print doc.toxml() + raise + g1.setAttribute('id', item.__class__.__name__) + + ## Check for item visibility + visible = True + if not isinstance(item, QtGui.QGraphicsScene): + parent = item + while visible and parent is not None: + visible = parent.isVisible() + parent = parent.parentItem() + + if not visible: + style = g1.getAttribute('style').strip() + if len(style)>0 and not style.endswith(';'): + style += ';' + style += 'display:none;' + g1.setAttribute('style', style) + + childs.sort(key=lambda c: c.zValue()) + for ch in childs: + cg = self.generateItemSvg(ch) + g2.appendChild(cg) + + return g1 + + + + ### To check: + ### do all items really generate this double-group structure? + ### are both groups necessary? + ### How do we implement clipping? (can we clip to an object that is visible?) + + + + + + + diff --git a/exporters/__init__.py b/pyqtgraph/exporters/__init__.py similarity index 100% rename from exporters/__init__.py rename to pyqtgraph/exporters/__init__.py diff --git a/flowchart/Flowchart.py b/pyqtgraph/flowchart/Flowchart.py similarity index 100% rename from flowchart/Flowchart.py rename to pyqtgraph/flowchart/Flowchart.py diff --git a/flowchart/FlowchartCtrlTemplate.ui b/pyqtgraph/flowchart/FlowchartCtrlTemplate.ui similarity index 100% rename from flowchart/FlowchartCtrlTemplate.ui rename to pyqtgraph/flowchart/FlowchartCtrlTemplate.ui diff --git a/flowchart/FlowchartCtrlTemplate_pyqt.py b/pyqtgraph/flowchart/FlowchartCtrlTemplate_pyqt.py similarity index 100% rename from flowchart/FlowchartCtrlTemplate_pyqt.py rename to pyqtgraph/flowchart/FlowchartCtrlTemplate_pyqt.py diff --git a/flowchart/FlowchartCtrlTemplate_pyside.py b/pyqtgraph/flowchart/FlowchartCtrlTemplate_pyside.py similarity index 100% rename from flowchart/FlowchartCtrlTemplate_pyside.py rename to pyqtgraph/flowchart/FlowchartCtrlTemplate_pyside.py diff --git a/flowchart/FlowchartGraphicsView.py b/pyqtgraph/flowchart/FlowchartGraphicsView.py similarity index 100% rename from flowchart/FlowchartGraphicsView.py rename to pyqtgraph/flowchart/FlowchartGraphicsView.py diff --git a/flowchart/FlowchartTemplate.ui b/pyqtgraph/flowchart/FlowchartTemplate.ui similarity index 100% rename from flowchart/FlowchartTemplate.ui rename to pyqtgraph/flowchart/FlowchartTemplate.ui diff --git a/flowchart/FlowchartTemplate_pyqt.py b/pyqtgraph/flowchart/FlowchartTemplate_pyqt.py similarity index 100% rename from flowchart/FlowchartTemplate_pyqt.py rename to pyqtgraph/flowchart/FlowchartTemplate_pyqt.py diff --git a/flowchart/FlowchartTemplate_pyside.py b/pyqtgraph/flowchart/FlowchartTemplate_pyside.py similarity index 100% rename from flowchart/FlowchartTemplate_pyside.py rename to pyqtgraph/flowchart/FlowchartTemplate_pyside.py diff --git a/flowchart/Node.py b/pyqtgraph/flowchart/Node.py similarity index 100% rename from flowchart/Node.py rename to pyqtgraph/flowchart/Node.py diff --git a/flowchart/Terminal.py b/pyqtgraph/flowchart/Terminal.py similarity index 100% rename from flowchart/Terminal.py rename to pyqtgraph/flowchart/Terminal.py diff --git a/flowchart/__init__.py b/pyqtgraph/flowchart/__init__.py similarity index 100% rename from flowchart/__init__.py rename to pyqtgraph/flowchart/__init__.py diff --git a/flowchart/eq.py b/pyqtgraph/flowchart/eq.py similarity index 100% rename from flowchart/eq.py rename to pyqtgraph/flowchart/eq.py diff --git a/flowchart/library/Data.py b/pyqtgraph/flowchart/library/Data.py similarity index 100% rename from flowchart/library/Data.py rename to pyqtgraph/flowchart/library/Data.py diff --git a/flowchart/library/Display.py b/pyqtgraph/flowchart/library/Display.py similarity index 100% rename from flowchart/library/Display.py rename to pyqtgraph/flowchart/library/Display.py diff --git a/flowchart/library/Filters.py b/pyqtgraph/flowchart/library/Filters.py similarity index 100% rename from flowchart/library/Filters.py rename to pyqtgraph/flowchart/library/Filters.py diff --git a/flowchart/library/Operators.py b/pyqtgraph/flowchart/library/Operators.py similarity index 100% rename from flowchart/library/Operators.py rename to pyqtgraph/flowchart/library/Operators.py diff --git a/flowchart/library/__init__.py b/pyqtgraph/flowchart/library/__init__.py similarity index 100% rename from flowchart/library/__init__.py rename to pyqtgraph/flowchart/library/__init__.py diff --git a/flowchart/library/common.py b/pyqtgraph/flowchart/library/common.py similarity index 100% rename from flowchart/library/common.py rename to pyqtgraph/flowchart/library/common.py diff --git a/flowchart/library/functions.py b/pyqtgraph/flowchart/library/functions.py similarity index 100% rename from flowchart/library/functions.py rename to pyqtgraph/flowchart/library/functions.py diff --git a/frozenSupport.py b/pyqtgraph/frozenSupport.py similarity index 100% rename from frozenSupport.py rename to pyqtgraph/frozenSupport.py diff --git a/functions.py b/pyqtgraph/functions.py similarity index 100% rename from functions.py rename to pyqtgraph/functions.py diff --git a/graphicsItems/ArrowItem.py b/pyqtgraph/graphicsItems/ArrowItem.py similarity index 100% rename from graphicsItems/ArrowItem.py rename to pyqtgraph/graphicsItems/ArrowItem.py diff --git a/graphicsItems/AxisItem.py b/pyqtgraph/graphicsItems/AxisItem.py similarity index 100% rename from graphicsItems/AxisItem.py rename to pyqtgraph/graphicsItems/AxisItem.py diff --git a/graphicsItems/ButtonItem.py b/pyqtgraph/graphicsItems/ButtonItem.py similarity index 100% rename from graphicsItems/ButtonItem.py rename to pyqtgraph/graphicsItems/ButtonItem.py diff --git a/graphicsItems/CurvePoint.py b/pyqtgraph/graphicsItems/CurvePoint.py similarity index 100% rename from graphicsItems/CurvePoint.py rename to pyqtgraph/graphicsItems/CurvePoint.py diff --git a/graphicsItems/FillBetweenItem.py b/pyqtgraph/graphicsItems/FillBetweenItem.py similarity index 100% rename from graphicsItems/FillBetweenItem.py rename to pyqtgraph/graphicsItems/FillBetweenItem.py diff --git a/graphicsItems/GradientEditorItem.py b/pyqtgraph/graphicsItems/GradientEditorItem.py similarity index 100% rename from graphicsItems/GradientEditorItem.py rename to pyqtgraph/graphicsItems/GradientEditorItem.py diff --git a/graphicsItems/GradientLegend.py b/pyqtgraph/graphicsItems/GradientLegend.py similarity index 100% rename from graphicsItems/GradientLegend.py rename to pyqtgraph/graphicsItems/GradientLegend.py diff --git a/graphicsItems/GraphicsItem.py b/pyqtgraph/graphicsItems/GraphicsItem.py similarity index 95% rename from graphicsItems/GraphicsItem.py rename to pyqtgraph/graphicsItems/GraphicsItem.py index 43b8148c..6a0825dd 100644 --- a/graphicsItems/GraphicsItem.py +++ b/pyqtgraph/graphicsItems/GraphicsItem.py @@ -28,10 +28,13 @@ class GraphicsItem(object): self._viewWidget = None self._viewBox = None self._connectedView = None + self._exportOpts = False ## If False, not currently exporting. Otherwise, contains dict of export options. if register: GraphicsScene.registerObject(self) ## workaround for pyqt bug in graphicsscene.items() - + + + def getViewWidget(self): """ Return the view widget for this item. If the scene has multiple views, only the first view is returned. @@ -82,6 +85,9 @@ class GraphicsItem(object): Return the transform that converts local item coordinates to device coordinates (usually pixels). Extends deviceTransform to automatically determine the viewportTransform. """ + if self._exportOpts is not False and 'painter' in self._exportOpts: ## currently exporting; device transform may be different. + return self._exportOpts['painter'].deviceTransform() + if viewportTransform is None: view = self.getViewWidget() if view is None: @@ -476,4 +482,18 @@ class GraphicsItem(object): return tree + def setExportMode(self, export, opts=None): + """ + This method is called by exporters to inform items that they are being drawn for export + with a specific set of options. Items access these via self._exportOptions. + When exporting is complete, _exportOptions is set to False. + """ + if opts is None: + opts = {} + if export: + self._exportOpts = opts + #if 'antialias' not in opts: + #self._exportOpts['antialias'] = True + else: + self._exportOpts = False \ No newline at end of file diff --git a/graphicsItems/GraphicsLayout.py b/pyqtgraph/graphicsItems/GraphicsLayout.py similarity index 100% rename from graphicsItems/GraphicsLayout.py rename to pyqtgraph/graphicsItems/GraphicsLayout.py diff --git a/graphicsItems/GraphicsObject.py b/pyqtgraph/graphicsItems/GraphicsObject.py similarity index 100% rename from graphicsItems/GraphicsObject.py rename to pyqtgraph/graphicsItems/GraphicsObject.py diff --git a/graphicsItems/GraphicsWidget.py b/pyqtgraph/graphicsItems/GraphicsWidget.py similarity index 100% rename from graphicsItems/GraphicsWidget.py rename to pyqtgraph/graphicsItems/GraphicsWidget.py diff --git a/graphicsItems/GraphicsWidgetAnchor.py b/pyqtgraph/graphicsItems/GraphicsWidgetAnchor.py similarity index 100% rename from graphicsItems/GraphicsWidgetAnchor.py rename to pyqtgraph/graphicsItems/GraphicsWidgetAnchor.py diff --git a/graphicsItems/GridItem.py b/pyqtgraph/graphicsItems/GridItem.py similarity index 100% rename from graphicsItems/GridItem.py rename to pyqtgraph/graphicsItems/GridItem.py diff --git a/graphicsItems/HistogramLUTItem.py b/pyqtgraph/graphicsItems/HistogramLUTItem.py similarity index 100% rename from graphicsItems/HistogramLUTItem.py rename to pyqtgraph/graphicsItems/HistogramLUTItem.py diff --git a/graphicsItems/ImageItem.py b/pyqtgraph/graphicsItems/ImageItem.py similarity index 100% rename from graphicsItems/ImageItem.py rename to pyqtgraph/graphicsItems/ImageItem.py diff --git a/graphicsItems/InfiniteLine.py b/pyqtgraph/graphicsItems/InfiniteLine.py similarity index 100% rename from graphicsItems/InfiniteLine.py rename to pyqtgraph/graphicsItems/InfiniteLine.py diff --git a/graphicsItems/IsocurveItem.py b/pyqtgraph/graphicsItems/IsocurveItem.py similarity index 100% rename from graphicsItems/IsocurveItem.py rename to pyqtgraph/graphicsItems/IsocurveItem.py diff --git a/graphicsItems/ItemGroup.py b/pyqtgraph/graphicsItems/ItemGroup.py similarity index 100% rename from graphicsItems/ItemGroup.py rename to pyqtgraph/graphicsItems/ItemGroup.py diff --git a/graphicsItems/LabelItem.py b/pyqtgraph/graphicsItems/LabelItem.py similarity index 100% rename from graphicsItems/LabelItem.py rename to pyqtgraph/graphicsItems/LabelItem.py diff --git a/graphicsItems/LegendItem.py b/pyqtgraph/graphicsItems/LegendItem.py similarity index 100% rename from graphicsItems/LegendItem.py rename to pyqtgraph/graphicsItems/LegendItem.py diff --git a/graphicsItems/LinearRegionItem.py b/pyqtgraph/graphicsItems/LinearRegionItem.py similarity index 100% rename from graphicsItems/LinearRegionItem.py rename to pyqtgraph/graphicsItems/LinearRegionItem.py diff --git a/graphicsItems/MultiPlotItem.py b/pyqtgraph/graphicsItems/MultiPlotItem.py similarity index 100% rename from graphicsItems/MultiPlotItem.py rename to pyqtgraph/graphicsItems/MultiPlotItem.py diff --git a/graphicsItems/PlotCurveItem.py b/pyqtgraph/graphicsItems/PlotCurveItem.py similarity index 97% rename from graphicsItems/PlotCurveItem.py rename to pyqtgraph/graphicsItems/PlotCurveItem.py index c49ce30b..5314b0f2 100644 --- a/graphicsItems/PlotCurveItem.py +++ b/pyqtgraph/graphicsItems/PlotCurveItem.py @@ -52,7 +52,6 @@ class PlotCurveItem(GraphicsObject): self.clear() self.path = None self.fillPath = None - self.exportOpts = False ## this is disastrous for performance. @@ -404,8 +403,8 @@ class PlotCurveItem(GraphicsObject): path = self.path prof.mark('generate path') - if self.exportOpts is not False: - aa = self.exportOpts['antialias'] + if self._exportOpts is not False: + aa = self._exportOpts.get('antialias', True) else: aa = self.opts['antialias'] @@ -441,7 +440,7 @@ class PlotCurveItem(GraphicsObject): - if sp is not None: + if sp is not None and sp.style() != QtCore.Qt.NoPen: p.setPen(sp) p.drawPath(path) p.setPen(cp) @@ -487,13 +486,6 @@ class PlotCurveItem(GraphicsObject): ev.accept() self.sigClicked.emit(self) - def setExportMode(self, export, opts): - if export: - self.exportOpts = opts - if 'antialias' not in opts: - self.exportOpts['antialias'] = True - else: - self.exportOpts = False class ROIPlotItem(PlotCurveItem): """Plot curve that monitors an ROI and image for changes to automatically replot.""" diff --git a/graphicsItems/PlotDataItem.py b/pyqtgraph/graphicsItems/PlotDataItem.py similarity index 99% rename from graphicsItems/PlotDataItem.py rename to pyqtgraph/graphicsItems/PlotDataItem.py index f3db53ba..714210c4 100644 --- a/graphicsItems/PlotDataItem.py +++ b/pyqtgraph/graphicsItems/PlotDataItem.py @@ -523,7 +523,9 @@ class PlotDataItem(GraphicsObject): def dataType(obj): if hasattr(obj, '__len__') and len(obj) == 0: return 'empty' - if isSequence(obj): + if isinstance(obj, dict): + return 'dictOfLists' + elif isSequence(obj): first = obj[0] if (hasattr(obj, 'implements') and obj.implements('MetaArray')): @@ -542,12 +544,10 @@ def dataType(obj): return 'listOfDicts' else: return 'listOfValues' - elif isinstance(obj, dict): - return 'dictOfLists' def isSequence(obj): - return isinstance(obj, list) or isinstance(obj, np.ndarray) or (hasattr(obj, 'implements') and obj.implements('MetaArray')) + return hasattr(obj, '__iter__') or isinstance(obj, np.ndarray) or (hasattr(obj, 'implements') and obj.implements('MetaArray')) diff --git a/graphicsItems/PlotItem/PlotItem.py b/pyqtgraph/graphicsItems/PlotItem/PlotItem.py similarity index 99% rename from graphicsItems/PlotItem/PlotItem.py rename to pyqtgraph/graphicsItems/PlotItem/PlotItem.py index 42ae1830..6c2e1a6f 100644 --- a/graphicsItems/PlotItem/PlotItem.py +++ b/pyqtgraph/graphicsItems/PlotItem/PlotItem.py @@ -1107,7 +1107,7 @@ class PlotItem(GraphicsWidget): self.updateButtons() def updateButtons(self): - if self.mouseHovering and not self.buttonsHidden and not all(self.vb.autoRangeEnabled()): + if self._exportOpts is False and self.mouseHovering and not self.buttonsHidden and not all(self.vb.autoRangeEnabled()): self.autoBtn.show() else: self.autoBtn.hide() @@ -1151,9 +1151,11 @@ class PlotItem(GraphicsWidget): return c - def setExportMode(self, export, opts): - if export: - self.autoBtn.hide() - else: - self.autoBtn.show() + def setExportMode(self, export, opts=None): + GraphicsWidget.setExportMode(self, export, opts) + self.updateButtons() + #if export: + #self.autoBtn.hide() + #else: + #self.autoBtn.show() diff --git a/graphicsItems/PlotItem/__init__.py b/pyqtgraph/graphicsItems/PlotItem/__init__.py similarity index 100% rename from graphicsItems/PlotItem/__init__.py rename to pyqtgraph/graphicsItems/PlotItem/__init__.py diff --git a/graphicsItems/PlotItem/plotConfigTemplate.ui b/pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate.ui similarity index 100% rename from graphicsItems/PlotItem/plotConfigTemplate.ui rename to pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate.ui diff --git a/graphicsItems/PlotItem/plotConfigTemplate_pyqt.py b/pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate_pyqt.py similarity index 100% rename from graphicsItems/PlotItem/plotConfigTemplate_pyqt.py rename to pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate_pyqt.py diff --git a/graphicsItems/PlotItem/plotConfigTemplate_pyside.py b/pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate_pyside.py similarity index 100% rename from graphicsItems/PlotItem/plotConfigTemplate_pyside.py rename to pyqtgraph/graphicsItems/PlotItem/plotConfigTemplate_pyside.py diff --git a/graphicsItems/ROI.py b/pyqtgraph/graphicsItems/ROI.py similarity index 100% rename from graphicsItems/ROI.py rename to pyqtgraph/graphicsItems/ROI.py diff --git a/graphicsItems/ScaleBar.py b/pyqtgraph/graphicsItems/ScaleBar.py similarity index 100% rename from graphicsItems/ScaleBar.py rename to pyqtgraph/graphicsItems/ScaleBar.py diff --git a/graphicsItems/ScatterPlotItem.py b/pyqtgraph/graphicsItems/ScatterPlotItem.py similarity index 97% rename from graphicsItems/ScatterPlotItem.py rename to pyqtgraph/graphicsItems/ScatterPlotItem.py index 2528d35b..2e41cb7c 100644 --- a/graphicsItems/ScatterPlotItem.py +++ b/pyqtgraph/graphicsItems/ScatterPlotItem.py @@ -239,7 +239,6 @@ class ScatterPlotItem(GraphicsObject): 'useCache': True, ## If useCache is False, symbols are re-drawn on every paint. 'antialias': pg.getConfigOption('antialias'), } - self.exportOpts = False self.setPen(200,200,200, update=False) self.setBrush(100,100,150, update=False) @@ -546,7 +545,7 @@ class ScatterPlotItem(GraphicsObject): if invalidate: self.invalidate() - def getSpotOpts(self, recs): + def getSpotOpts(self, recs, scale=1.0): if recs.ndim == 0: rec = recs symbol = rec['symbol'] @@ -561,11 +560,12 @@ class ScatterPlotItem(GraphicsObject): brush = rec['brush'] if brush is None: brush = self.opts['brush'] - return (symbol, size, fn.mkPen(pen), fn.mkBrush(brush)) + return (symbol, size*scale, fn.mkPen(pen), fn.mkBrush(brush)) else: recs = recs.copy() recs['symbol'][np.equal(recs['symbol'], None)] = self.opts['symbol'] recs['size'][np.equal(recs['size'], -1)] = self.opts['size'] + recs['size'] *= scale recs['pen'][np.equal(recs['pen'], None)] = fn.mkPen(self.opts['pen']) recs['brush'][np.equal(recs['brush'], None)] = fn.mkBrush(self.opts['brush']) return recs @@ -675,18 +675,20 @@ class ScatterPlotItem(GraphicsObject): rect = QtCore.QRectF(y, x, h, w) self.fragments.append(QtGui.QPainter.PixmapFragment.create(pos, rect)) - def setExportMode(self, export, opts): - if export: - self.exportOpts = opts - if 'antialias' not in opts: - self.exportOpts['antialias'] = True - else: - self.exportOpts = False - + def setExportMode(self, *args, **kwds): + GraphicsObject.setExportMode(self, *args, **kwds) + self.invalidate() def paint(self, p, *args): #p.setPen(fn.mkPen('r')) #p.drawRect(self.boundingRect()) + if self._exportOpts is not False: + aa = self._exportOpts.get('antialias', True) + scale = self._exportOpts.get('resolutionScale', 1.0) ## exporting to image; pixel resolution may have changed + else: + aa = self.opts['antialias'] + scale = 1.0 + if self.opts['pxMode'] is True: atlas = self.fragmentAtlas.getAtlas() #arr = fn.imageToArray(atlas.toImage(), copy=True) @@ -701,13 +703,9 @@ class ScatterPlotItem(GraphicsObject): p.resetTransform() - if not USE_PYSIDE and self.opts['useCache'] and self.exportOpts is False: + if not USE_PYSIDE and self.opts['useCache'] and self._exportOpts is False: p.drawPixmapFragments(self.fragments, atlas) else: - if self.exportOpts is not False: - aa = self.exportOpts['antialias'] - else: - aa = self.opts['antialias'] p.setRenderHint(p.Antialiasing, aa) for i in range(len(self.data)): @@ -715,23 +713,20 @@ class ScatterPlotItem(GraphicsObject): frag = self.fragments[i] p.resetTransform() p.translate(frag.x, frag.y) - drawSymbol(p, *self.getSpotOpts(rec)) + drawSymbol(p, *self.getSpotOpts(rec, scale)) else: if self.picture is None: self.picture = QtGui.QPicture() p2 = QtGui.QPainter(self.picture) for rec in self.data: - + if scale != 1.0: + rec = rec.copy() + rec['size'] *= scale p2.resetTransform() p2.translate(rec['x'], rec['y']) - drawSymbol(p2, *self.getSpotOpts(rec)) + drawSymbol(p2, *self.getSpotOpts(rec, scale)) p2.end() - if self.exportOpts is not False: - aa = self.exportOpts['antialias'] - else: - aa = self.opts['antialias'] - p.setRenderHint(p.Antialiasing, aa) self.picture.play(p) diff --git a/graphicsItems/TextItem.py b/pyqtgraph/graphicsItems/TextItem.py similarity index 66% rename from graphicsItems/TextItem.py rename to pyqtgraph/graphicsItems/TextItem.py index a85e919d..b5666f6e 100644 --- a/graphicsItems/TextItem.py +++ b/pyqtgraph/graphicsItems/TextItem.py @@ -27,25 +27,27 @@ class TextItem(UIGraphicsItem): #*angle* Angle in degrees to rotate text (note that the rotation assigned in this item's #transformation will be ignored) - + self.anchor = pg.Point(anchor) + #self.angle = 0 UIGraphicsItem.__init__(self) self.textItem = QtGui.QGraphicsTextItem() + self.textItem.setParentItem(self) self.lastTransform = None self._bounds = QtCore.QRectF() if html is None: self.setText(text, color) else: self.setHtml(html) - self.anchor = pg.Point(anchor) self.fill = pg.mkBrush(fill) self.border = pg.mkPen(border) - self.angle = angle - #self.setFlag(self.ItemIgnoresTransformations) ## This is required to keep the text unscaled inside the viewport + self.rotate(angle) + self.setFlag(self.ItemIgnoresTransformations) ## This is required to keep the text unscaled inside the viewport def setText(self, text, color=(200,200,200)): color = pg.mkColor(color) self.textItem.setDefaultTextColor(color) self.textItem.setPlainText(text) + self.updateText() #html = '%s' % (color, text) #self.setHtml(html) @@ -70,38 +72,41 @@ class TextItem(UIGraphicsItem): self.textItem.setFont(*args) self.updateText() - def updateText(self): - self.viewRangeChanged() - - #def getImage(self): - #if self.img is None: - #br = self.textItem.boundingRect() - #img = QtGui.QImage(int(br.width()), int(br.height()), QtGui.QImage.Format_ARGB32) - #p = QtGui.QPainter(img) - #self.textItem.paint(p, QtGui.QStyleOptionGraphicsItem(), None) - #p.end() - #self.img = img - #return self.img + #def setAngle(self, angle): + #self.angle = angle + #self.updateText() - def textBoundingRect(self): - ## return the bounds of the text box in device coordinates - pos = self.mapToDevice(QtCore.QPointF(0,0)) - if pos is None: - return None - tbr = self.textItem.boundingRect() - return QtCore.QRectF(pos.x() - tbr.width()*self.anchor.x(), pos.y() - tbr.height()*self.anchor.y(), tbr.width(), tbr.height()) + + def updateText(self): + + ## Needed to maintain font size when rendering to image with increased resolution + self.textItem.resetTransform() + #self.textItem.rotate(self.angle) + if self._exportOpts is not False and 'resolutionScale' in self._exportOpts: + s = self._exportOpts['resolutionScale'] + self.textItem.scale(s, s) + + #br = self.textItem.mapRectToParent(self.textItem.boundingRect()) + self.textItem.setPos(0,0) + br = self.textItem.boundingRect() + apos = self.textItem.mapToParent(pg.Point(br.width()*self.anchor.x(), br.height()*self.anchor.y())) + #print br, apos + self.textItem.setPos(-apos.x(), -apos.y()) + + #def textBoundingRect(self): + ### return the bounds of the text box in device coordinates + #pos = self.mapToDevice(QtCore.QPointF(0,0)) + #if pos is None: + #return None + #tbr = self.textItem.boundingRect() + #return QtCore.QRectF(pos.x() - tbr.width()*self.anchor.x(), pos.y() - tbr.height()*self.anchor.y(), tbr.width(), tbr.height()) def viewRangeChanged(self): - br = self.textBoundingRect() - if br is None: - return - self.prepareGeometryChange() - self._bounds = fn.invertQTransform(self.deviceTransform()).mapRect(br) - #print self._bounds + self.updateText() def boundingRect(self): - return self._bounds + return self.textItem.mapToParent(self.textItem.boundingRect()).boundingRect() def paint(self, p, *args): tr = p.transform() @@ -110,23 +115,9 @@ class TextItem(UIGraphicsItem): self.viewRangeChanged() self.lastTransform = tr - - tbr = self.textBoundingRect() - - #p.setPen(pg.mkPen('r')) - #p.drawRect(self.boundingRect()) - p.setPen(self.border) p.setBrush(self.fill) + p.setRenderHint(p.Antialiasing, True) + p.drawPolygon(self.textItem.mapToParent(self.textItem.boundingRect())) - - #p.fillRect(tbr) - p.resetTransform() - #p.drawRect(tbr) - - - p.translate(tbr.left(), tbr.top()) - p.rotate(self.angle) - p.drawRect(QtCore.QRectF(0, 0, tbr.width(), tbr.height())) - self.textItem.paint(p, QtGui.QStyleOptionGraphicsItem(), None) \ No newline at end of file diff --git a/graphicsItems/UIGraphicsItem.py b/pyqtgraph/graphicsItems/UIGraphicsItem.py similarity index 100% rename from graphicsItems/UIGraphicsItem.py rename to pyqtgraph/graphicsItems/UIGraphicsItem.py diff --git a/graphicsItems/VTickGroup.py b/pyqtgraph/graphicsItems/VTickGroup.py similarity index 100% rename from graphicsItems/VTickGroup.py rename to pyqtgraph/graphicsItems/VTickGroup.py diff --git a/graphicsItems/ViewBox/ViewBox.py b/pyqtgraph/graphicsItems/ViewBox/ViewBox.py similarity index 100% rename from graphicsItems/ViewBox/ViewBox.py rename to pyqtgraph/graphicsItems/ViewBox/ViewBox.py diff --git a/graphicsItems/ViewBox/ViewBoxMenu.py b/pyqtgraph/graphicsItems/ViewBox/ViewBoxMenu.py similarity index 100% rename from graphicsItems/ViewBox/ViewBoxMenu.py rename to pyqtgraph/graphicsItems/ViewBox/ViewBoxMenu.py diff --git a/graphicsItems/ViewBox/__init__.py b/pyqtgraph/graphicsItems/ViewBox/__init__.py similarity index 100% rename from graphicsItems/ViewBox/__init__.py rename to pyqtgraph/graphicsItems/ViewBox/__init__.py diff --git a/graphicsItems/ViewBox/axisCtrlTemplate.ui b/pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate.ui similarity index 100% rename from graphicsItems/ViewBox/axisCtrlTemplate.ui rename to pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate.ui diff --git a/graphicsItems/ViewBox/axisCtrlTemplate_pyqt.py b/pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate_pyqt.py similarity index 100% rename from graphicsItems/ViewBox/axisCtrlTemplate_pyqt.py rename to pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate_pyqt.py diff --git a/graphicsItems/ViewBox/axisCtrlTemplate_pyside.py b/pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate_pyside.py similarity index 100% rename from graphicsItems/ViewBox/axisCtrlTemplate_pyside.py rename to pyqtgraph/graphicsItems/ViewBox/axisCtrlTemplate_pyside.py diff --git a/graphicsItems/__init__.py b/pyqtgraph/graphicsItems/__init__.py similarity index 100% rename from graphicsItems/__init__.py rename to pyqtgraph/graphicsItems/__init__.py diff --git a/graphicsWindows.py b/pyqtgraph/graphicsWindows.py similarity index 100% rename from graphicsWindows.py rename to pyqtgraph/graphicsWindows.py diff --git a/imageview/ImageView.py b/pyqtgraph/imageview/ImageView.py similarity index 100% rename from imageview/ImageView.py rename to pyqtgraph/imageview/ImageView.py diff --git a/imageview/ImageViewTemplate.ui b/pyqtgraph/imageview/ImageViewTemplate.ui similarity index 100% rename from imageview/ImageViewTemplate.ui rename to pyqtgraph/imageview/ImageViewTemplate.ui diff --git a/imageview/ImageViewTemplate_pyqt.py b/pyqtgraph/imageview/ImageViewTemplate_pyqt.py similarity index 100% rename from imageview/ImageViewTemplate_pyqt.py rename to pyqtgraph/imageview/ImageViewTemplate_pyqt.py diff --git a/imageview/ImageViewTemplate_pyside.py b/pyqtgraph/imageview/ImageViewTemplate_pyside.py similarity index 100% rename from imageview/ImageViewTemplate_pyside.py rename to pyqtgraph/imageview/ImageViewTemplate_pyside.py diff --git a/imageview/__init__.py b/pyqtgraph/imageview/__init__.py similarity index 100% rename from imageview/__init__.py rename to pyqtgraph/imageview/__init__.py diff --git a/metaarray/MetaArray.py b/pyqtgraph/metaarray/MetaArray.py similarity index 100% rename from metaarray/MetaArray.py rename to pyqtgraph/metaarray/MetaArray.py diff --git a/metaarray/__init__.py b/pyqtgraph/metaarray/__init__.py similarity index 100% rename from metaarray/__init__.py rename to pyqtgraph/metaarray/__init__.py diff --git a/metaarray/license.txt b/pyqtgraph/metaarray/license.txt similarity index 100% rename from metaarray/license.txt rename to pyqtgraph/metaarray/license.txt diff --git a/metaarray/readMeta.m b/pyqtgraph/metaarray/readMeta.m similarity index 100% rename from metaarray/readMeta.m rename to pyqtgraph/metaarray/readMeta.m diff --git a/multiprocess/__init__.py b/pyqtgraph/multiprocess/__init__.py similarity index 100% rename from multiprocess/__init__.py rename to pyqtgraph/multiprocess/__init__.py diff --git a/multiprocess/bootstrap.py b/pyqtgraph/multiprocess/bootstrap.py similarity index 100% rename from multiprocess/bootstrap.py rename to pyqtgraph/multiprocess/bootstrap.py diff --git a/multiprocess/parallelizer.py b/pyqtgraph/multiprocess/parallelizer.py similarity index 100% rename from multiprocess/parallelizer.py rename to pyqtgraph/multiprocess/parallelizer.py diff --git a/multiprocess/processes.py b/pyqtgraph/multiprocess/processes.py similarity index 100% rename from multiprocess/processes.py rename to pyqtgraph/multiprocess/processes.py diff --git a/multiprocess/remoteproxy.py b/pyqtgraph/multiprocess/remoteproxy.py similarity index 100% rename from multiprocess/remoteproxy.py rename to pyqtgraph/multiprocess/remoteproxy.py diff --git a/numpy_fix.py b/pyqtgraph/numpy_fix.py similarity index 100% rename from numpy_fix.py rename to pyqtgraph/numpy_fix.py diff --git a/opengl/GLGraphicsItem.py b/pyqtgraph/opengl/GLGraphicsItem.py similarity index 100% rename from opengl/GLGraphicsItem.py rename to pyqtgraph/opengl/GLGraphicsItem.py diff --git a/opengl/GLViewWidget.py b/pyqtgraph/opengl/GLViewWidget.py similarity index 100% rename from opengl/GLViewWidget.py rename to pyqtgraph/opengl/GLViewWidget.py diff --git a/opengl/MeshData.py b/pyqtgraph/opengl/MeshData.py similarity index 100% rename from opengl/MeshData.py rename to pyqtgraph/opengl/MeshData.py diff --git a/opengl/__init__.py b/pyqtgraph/opengl/__init__.py similarity index 100% rename from opengl/__init__.py rename to pyqtgraph/opengl/__init__.py diff --git a/opengl/glInfo.py b/pyqtgraph/opengl/glInfo.py similarity index 100% rename from opengl/glInfo.py rename to pyqtgraph/opengl/glInfo.py diff --git a/opengl/items/GLAxisItem.py b/pyqtgraph/opengl/items/GLAxisItem.py similarity index 100% rename from opengl/items/GLAxisItem.py rename to pyqtgraph/opengl/items/GLAxisItem.py diff --git a/opengl/items/GLBoxItem.py b/pyqtgraph/opengl/items/GLBoxItem.py similarity index 100% rename from opengl/items/GLBoxItem.py rename to pyqtgraph/opengl/items/GLBoxItem.py diff --git a/opengl/items/GLGridItem.py b/pyqtgraph/opengl/items/GLGridItem.py similarity index 100% rename from opengl/items/GLGridItem.py rename to pyqtgraph/opengl/items/GLGridItem.py diff --git a/opengl/items/GLImageItem.py b/pyqtgraph/opengl/items/GLImageItem.py similarity index 100% rename from opengl/items/GLImageItem.py rename to pyqtgraph/opengl/items/GLImageItem.py diff --git a/opengl/items/GLMeshItem.py b/pyqtgraph/opengl/items/GLMeshItem.py similarity index 100% rename from opengl/items/GLMeshItem.py rename to pyqtgraph/opengl/items/GLMeshItem.py diff --git a/opengl/items/GLScatterPlotItem.py b/pyqtgraph/opengl/items/GLScatterPlotItem.py similarity index 100% rename from opengl/items/GLScatterPlotItem.py rename to pyqtgraph/opengl/items/GLScatterPlotItem.py diff --git a/opengl/items/GLSurfacePlotItem.py b/pyqtgraph/opengl/items/GLSurfacePlotItem.py similarity index 100% rename from opengl/items/GLSurfacePlotItem.py rename to pyqtgraph/opengl/items/GLSurfacePlotItem.py diff --git a/opengl/items/GLVolumeItem.py b/pyqtgraph/opengl/items/GLVolumeItem.py similarity index 100% rename from opengl/items/GLVolumeItem.py rename to pyqtgraph/opengl/items/GLVolumeItem.py diff --git a/opengl/items/__init__.py b/pyqtgraph/opengl/items/__init__.py similarity index 100% rename from opengl/items/__init__.py rename to pyqtgraph/opengl/items/__init__.py diff --git a/opengl/shaders.py b/pyqtgraph/opengl/shaders.py similarity index 100% rename from opengl/shaders.py rename to pyqtgraph/opengl/shaders.py diff --git a/parametertree/Parameter.py b/pyqtgraph/parametertree/Parameter.py similarity index 100% rename from parametertree/Parameter.py rename to pyqtgraph/parametertree/Parameter.py diff --git a/parametertree/ParameterItem.py b/pyqtgraph/parametertree/ParameterItem.py similarity index 100% rename from parametertree/ParameterItem.py rename to pyqtgraph/parametertree/ParameterItem.py diff --git a/parametertree/ParameterTree.py b/pyqtgraph/parametertree/ParameterTree.py similarity index 100% rename from parametertree/ParameterTree.py rename to pyqtgraph/parametertree/ParameterTree.py diff --git a/parametertree/__init__.py b/pyqtgraph/parametertree/__init__.py similarity index 100% rename from parametertree/__init__.py rename to pyqtgraph/parametertree/__init__.py diff --git a/parametertree/parameterTypes.py b/pyqtgraph/parametertree/parameterTypes.py similarity index 100% rename from parametertree/parameterTypes.py rename to pyqtgraph/parametertree/parameterTypes.py diff --git a/pgcollections.py b/pyqtgraph/pgcollections.py similarity index 100% rename from pgcollections.py rename to pyqtgraph/pgcollections.py diff --git a/pixmaps/__init__.py b/pyqtgraph/pixmaps/__init__.py similarity index 100% rename from pixmaps/__init__.py rename to pyqtgraph/pixmaps/__init__.py diff --git a/pixmaps/auto.png b/pyqtgraph/pixmaps/auto.png similarity index 100% rename from pixmaps/auto.png rename to pyqtgraph/pixmaps/auto.png diff --git a/pixmaps/compile.py b/pyqtgraph/pixmaps/compile.py similarity index 100% rename from pixmaps/compile.py rename to pyqtgraph/pixmaps/compile.py diff --git a/pixmaps/ctrl.png b/pyqtgraph/pixmaps/ctrl.png similarity index 100% rename from pixmaps/ctrl.png rename to pyqtgraph/pixmaps/ctrl.png diff --git a/pixmaps/default.png b/pyqtgraph/pixmaps/default.png similarity index 100% rename from pixmaps/default.png rename to pyqtgraph/pixmaps/default.png diff --git a/pixmaps/icons.svg b/pyqtgraph/pixmaps/icons.svg similarity index 100% rename from pixmaps/icons.svg rename to pyqtgraph/pixmaps/icons.svg diff --git a/pixmaps/lock.png b/pyqtgraph/pixmaps/lock.png similarity index 100% rename from pixmaps/lock.png rename to pyqtgraph/pixmaps/lock.png diff --git a/pixmaps/pixmapData_2.py b/pyqtgraph/pixmaps/pixmapData_2.py similarity index 100% rename from pixmaps/pixmapData_2.py rename to pyqtgraph/pixmaps/pixmapData_2.py diff --git a/pixmaps/pixmapData_3.py b/pyqtgraph/pixmaps/pixmapData_3.py similarity index 100% rename from pixmaps/pixmapData_3.py rename to pyqtgraph/pixmaps/pixmapData_3.py diff --git a/ptime.py b/pyqtgraph/ptime.py similarity index 100% rename from ptime.py rename to pyqtgraph/ptime.py diff --git a/python2_3.py b/pyqtgraph/python2_3.py similarity index 100% rename from python2_3.py rename to pyqtgraph/python2_3.py diff --git a/rebuildUi.py b/pyqtgraph/rebuildUi.py similarity index 100% rename from rebuildUi.py rename to pyqtgraph/rebuildUi.py diff --git a/reload.py b/pyqtgraph/reload.py similarity index 100% rename from reload.py rename to pyqtgraph/reload.py diff --git a/units.py b/pyqtgraph/units.py similarity index 100% rename from units.py rename to pyqtgraph/units.py diff --git a/widgets/BusyCursor.py b/pyqtgraph/widgets/BusyCursor.py similarity index 100% rename from widgets/BusyCursor.py rename to pyqtgraph/widgets/BusyCursor.py diff --git a/widgets/CheckTable.py b/pyqtgraph/widgets/CheckTable.py similarity index 100% rename from widgets/CheckTable.py rename to pyqtgraph/widgets/CheckTable.py diff --git a/widgets/ColorButton.py b/pyqtgraph/widgets/ColorButton.py similarity index 100% rename from widgets/ColorButton.py rename to pyqtgraph/widgets/ColorButton.py diff --git a/widgets/ComboBox.py b/pyqtgraph/widgets/ComboBox.py similarity index 100% rename from widgets/ComboBox.py rename to pyqtgraph/widgets/ComboBox.py diff --git a/widgets/DataTreeWidget.py b/pyqtgraph/widgets/DataTreeWidget.py similarity index 100% rename from widgets/DataTreeWidget.py rename to pyqtgraph/widgets/DataTreeWidget.py diff --git a/widgets/FeedbackButton.py b/pyqtgraph/widgets/FeedbackButton.py similarity index 100% rename from widgets/FeedbackButton.py rename to pyqtgraph/widgets/FeedbackButton.py diff --git a/widgets/FileDialog.py b/pyqtgraph/widgets/FileDialog.py similarity index 100% rename from widgets/FileDialog.py rename to pyqtgraph/widgets/FileDialog.py diff --git a/widgets/GradientWidget.py b/pyqtgraph/widgets/GradientWidget.py similarity index 100% rename from widgets/GradientWidget.py rename to pyqtgraph/widgets/GradientWidget.py diff --git a/widgets/GraphicsLayoutWidget.py b/pyqtgraph/widgets/GraphicsLayoutWidget.py similarity index 100% rename from widgets/GraphicsLayoutWidget.py rename to pyqtgraph/widgets/GraphicsLayoutWidget.py diff --git a/widgets/GraphicsView.py b/pyqtgraph/widgets/GraphicsView.py similarity index 100% rename from widgets/GraphicsView.py rename to pyqtgraph/widgets/GraphicsView.py diff --git a/widgets/HistogramLUTWidget.py b/pyqtgraph/widgets/HistogramLUTWidget.py similarity index 100% rename from widgets/HistogramLUTWidget.py rename to pyqtgraph/widgets/HistogramLUTWidget.py diff --git a/widgets/JoystickButton.py b/pyqtgraph/widgets/JoystickButton.py similarity index 100% rename from widgets/JoystickButton.py rename to pyqtgraph/widgets/JoystickButton.py diff --git a/widgets/LayoutWidget.py b/pyqtgraph/widgets/LayoutWidget.py similarity index 100% rename from widgets/LayoutWidget.py rename to pyqtgraph/widgets/LayoutWidget.py diff --git a/widgets/MatplotlibWidget.py b/pyqtgraph/widgets/MatplotlibWidget.py similarity index 100% rename from widgets/MatplotlibWidget.py rename to pyqtgraph/widgets/MatplotlibWidget.py diff --git a/widgets/MultiPlotWidget.py b/pyqtgraph/widgets/MultiPlotWidget.py similarity index 100% rename from widgets/MultiPlotWidget.py rename to pyqtgraph/widgets/MultiPlotWidget.py diff --git a/widgets/PathButton.py b/pyqtgraph/widgets/PathButton.py similarity index 100% rename from widgets/PathButton.py rename to pyqtgraph/widgets/PathButton.py diff --git a/widgets/PlotWidget.py b/pyqtgraph/widgets/PlotWidget.py similarity index 100% rename from widgets/PlotWidget.py rename to pyqtgraph/widgets/PlotWidget.py diff --git a/widgets/ProgressDialog.py b/pyqtgraph/widgets/ProgressDialog.py similarity index 100% rename from widgets/ProgressDialog.py rename to pyqtgraph/widgets/ProgressDialog.py diff --git a/widgets/RawImageWidget.py b/pyqtgraph/widgets/RawImageWidget.py similarity index 100% rename from widgets/RawImageWidget.py rename to pyqtgraph/widgets/RawImageWidget.py diff --git a/widgets/RemoteGraphicsView.py b/pyqtgraph/widgets/RemoteGraphicsView.py similarity index 100% rename from widgets/RemoteGraphicsView.py rename to pyqtgraph/widgets/RemoteGraphicsView.py diff --git a/widgets/SpinBox.py b/pyqtgraph/widgets/SpinBox.py similarity index 100% rename from widgets/SpinBox.py rename to pyqtgraph/widgets/SpinBox.py diff --git a/widgets/TableWidget.py b/pyqtgraph/widgets/TableWidget.py similarity index 100% rename from widgets/TableWidget.py rename to pyqtgraph/widgets/TableWidget.py diff --git a/widgets/TreeWidget.py b/pyqtgraph/widgets/TreeWidget.py similarity index 100% rename from widgets/TreeWidget.py rename to pyqtgraph/widgets/TreeWidget.py diff --git a/widgets/ValueLabel.py b/pyqtgraph/widgets/ValueLabel.py similarity index 100% rename from widgets/ValueLabel.py rename to pyqtgraph/widgets/ValueLabel.py diff --git a/widgets/VerticalLabel.py b/pyqtgraph/widgets/VerticalLabel.py similarity index 100% rename from widgets/VerticalLabel.py rename to pyqtgraph/widgets/VerticalLabel.py diff --git a/widgets/__init__.py b/pyqtgraph/widgets/__init__.py similarity index 100% rename from widgets/__init__.py rename to pyqtgraph/widgets/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/svg.py b/tests/svg.py new file mode 100644 index 00000000..dc9657bb --- /dev/null +++ b/tests/svg.py @@ -0,0 +1,29 @@ +""" +SVG export test +""" +import test +import pyqtgraph as pg +app = pg.mkQApp() + +class SVGTest(test.TestCase): + def test_plotscene(self): + p = pg.plot([1,5,2,3,4,6,1,2,4,2,3,5,3]) + p.setXRange(0,5) + ex = pg.exporters.SVGExporter.SVGExporter(p.scene()) + ex.export(fileName='test.svg') + + #def test_simple(self): + #rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) + ##rect.rotate(30) + #grp = pg.ItemGroup() + #grp.setParentItem(rect) + #grp.translate(200,0) + #grp.rotate(30) + #el = pg.QtGui.QGraphicsEllipseItem(10, 0, 100, 50) + #el.setParentItem(grp) + #ex = pg.exporters.SVGExporter.SVGExporter(rect) + #ex.export(fileName='test.svg') + + +if __name__ == '__main__': + test.unittest.main() \ No newline at end of file diff --git a/tests/test.py b/tests/test.py new file mode 100644 index 00000000..f24a7d42 --- /dev/null +++ b/tests/test.py @@ -0,0 +1,8 @@ +import unittest +import os, sys +## make sure this instance of pyqtgraph gets imported first +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + +## all tests should be defined with this class so we have the option to tweak it later. +class TestCase(unittest.TestCase): + pass \ No newline at end of file