1from collections import OrderedDict
2from argparse import Namespace
3
4# Avoid clash with module name
5examples_ = OrderedDict([
6    ('Command-line usage', 'CLIexample.py'),
7    ('Basic Plotting', Namespace(filename='Plotting.py', recommended=True)),
8    ('ImageView', 'ImageView.py'),
9    ('ParameterTree', 'parametertree.py'),
10    ('Crosshair / Mouse interaction', 'crosshair.py'),
11    ('Data Slicing', 'DataSlicing.py'),
12    ('Plot Customization', 'customPlot.py'),
13    ('Timestamps on x axis', 'DateAxisItem.py'),
14    ('Image Analysis', 'imageAnalysis.py'),
15    ('Matrix Display', 'MatrixDisplayExample.py'),
16    ('ViewBox Features', Namespace(filename='ViewBoxFeatures.py', recommended=True)),
17    ('Dock widgets', 'dockarea.py'),
18    ('Console', 'ConsoleWidget.py'),
19    ('Histograms', 'histogram.py'),
20    ('Beeswarm plot', 'beeswarm.py'),
21    ('Symbols', 'Symbols.py'),
22    ('Auto-range', 'PlotAutoRange.py'),
23    ('Remote Plotting', 'RemoteSpeedTest.py'),
24    ('Scrolling plots', 'scrollingPlots.py'),
25    ('HDF5 big data', 'hdf5.py'),
26    ('Demos', OrderedDict([
27        ('Optics', 'optics_demos.py'),
28        ('Special relativity', 'relativity_demo.py'),
29        ('Verlet chain', 'verlet_chain_demo.py'),
30        ('Koch Fractal', 'fractal.py'),
31    ])),
32    ('Colors', OrderedDict([
33        ('Color Maps', 'colorMaps.py'),
34        ('Color Map Linearization', 'colorMapsLinearized.py'),
35        ('Color Gradient Plots', 'ColorGradientPlots.py')
36    ])),
37    ('GraphicsItems', OrderedDict([
38        ('Scatter Plot', 'ScatterPlot.py'),
39        #('PlotItem', 'PlotItem.py'),
40        ('InfiniteLine', 'InfiniteLine.py'),
41        ('IsocurveItem', 'isocurve.py'),
42        ('GraphItem', 'GraphItem.py'),
43        ('ErrorBarItem', 'ErrorBarItem.py'),
44        ('FillBetweenItem', 'FillBetweenItem.py'),
45        ('ImageItem - video', 'ImageItem.py'),
46        ('ImageItem - draw', 'Draw.py'),
47        ('ColorBarItem','ColorBarItem.py'),
48        ('Non-uniform Image', 'NonUniformImage.py'),
49        ('Region-of-Interest', 'ROIExamples.py'),
50        ('Bar Graph', 'BarGraphItem.py'),
51        ('GraphicsLayout', 'GraphicsLayout.py'),
52        ('LegendItem', 'Legend.py'),
53        ('Text Item', 'text.py'),
54        ('Linked Views', 'linkedViews.py'),
55        ('Arrow', 'Arrow.py'),
56        ('ViewBox', 'ViewBoxFeatures.py'),
57        ('Custom Graphics', 'customGraphicsItem.py'),
58        ('Labeled Graph', 'CustomGraphItem.py'),
59        ('PColorMeshItem', 'PColorMeshItem.py'),
60    ])),
61    ('Benchmarks', OrderedDict([
62        ('Video speed test', 'VideoSpeedTest.py'),
63        ('Line Plot update', 'PlotSpeedTest.py'),
64        ('Scatter Plot update', 'ScatterPlotSpeedTest.py'),
65        ('Multiple plots', 'MultiPlotSpeedTest.py'),
66    ])),
67    ('3D Graphics', OrderedDict([
68        ('Volumetric', 'GLVolumeItem.py'),
69        ('Isosurface', 'GLIsosurface.py'),
70        ('Surface Plot', 'GLSurfacePlot.py'),
71        ('Scatter Plot', 'GLScatterPlotItem.py'),
72        ('Shaders', 'GLshaders.py'),
73        ('Line Plot', 'GLLinePlotItem.py'),
74        ('Mesh', 'GLMeshItem.py'),
75        ('Image', 'GLImageItem.py'),
76        ('Text', 'GLTextItem.py'),
77        ('BarGraph', 'GLBarGraphItem.py'),
78        ('Painter', 'GLPainterItem.py'),
79        ('Gradient Legend', 'GLGradientLegendItem.py')
80    ])),
81    ('Widgets', OrderedDict([
82        ('PlotWidget', 'PlotWidget.py'),
83        ('SpinBox', 'SpinBox.py'),
84        ('ConsoleWidget', 'ConsoleWidget.py'),
85        ('Histogram / lookup table', 'HistogramLUT.py'),
86        ('TreeWidget', 'TreeWidget.py'),
87        ('ScatterPlotWidget', 'ScatterPlotWidget.py'),
88        ('DataTreeWidget', 'DataTreeWidget.py'),
89        ('GradientWidget', 'GradientWidget.py'),
90        ('TableWidget', 'TableWidget.py'),
91        ('ColorButton', 'ColorButton.py'),
92        #('CheckTable', '../widgets/CheckTable.py'),
93        #('VerticalLabel', '../widgets/VerticalLabel.py'),
94        ('JoystickButton', 'JoystickButton.py'),
95    ])),
96    ('Flowcharts', 'Flowchart.py'),
97    ('Custom Flowchart Nodes', 'FlowchartCustomNode.py'),
98])
99
100
101# don't care about ordering
102# but actually from Python 3.7, dict is ordered
103others = dict([
104    ('logAxis', 'logAxis.py'),
105    ('PanningPlot', 'PanningPlot.py'),
106    ('MultiplePlotAxes', 'MultiplePlotAxes.py'),
107    ('ROItypes', 'ROItypes.py'),
108    ('ScaleBar', 'ScaleBar.py'),
109    ('ViewBox', 'ViewBox.py'),
110    ('GradientEditor', 'GradientEditor.py'),
111    ('GLViewWidget', 'GLViewWidget.py'),
112    ('DiffTreeWidget', 'DiffTreeWidget.py'),
113    ('MultiPlotWidget', 'MultiPlotWidget.py'),
114    ('RemoteGraphicsView', 'RemoteGraphicsView.py'),
115    ('contextMenu', 'contextMenu.py'),
116    ('designerExample', 'designerExample.py'),
117    ('DateAxisItem_QtDesigner', 'DateAxisItem_QtDesigner.py'),
118    ('GraphicsScene', 'GraphicsScene.py'),
119    ('MouseSelection', 'MouseSelection.py'),
120])
121
122
123# examples that are subsumed into other examples
124trivial = dict([
125    ('SimplePlot', 'SimplePlot.py'),    # Plotting.py
126    ('LogPlotTest', 'LogPlotTest.py'),  # Plotting.py
127    ('ViewLimits', 'ViewLimits.py'),    # ViewBoxFeatures.py
128])
129
130# examples that are not suitable for CI testing
131skiptest = dict([
132    ('ProgressDialog', 'ProgressDialog.py'),    # modal dialog
133])
134