casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QPCanvas.qo.h
Go to the documentation of this file.
1 //# QPCanvas.qo.h: Qwt implementation of generic PlotCanvas class.
2 //# Copyright (C) 2008
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id: $
27 #ifndef QPCANVAS_QO_H_
28 #define QPCANVAS_QO_H_
29 
30 #ifdef AIPS_HAS_QWT
31 
32 #include <casaqt/QwtConfig.h>
41 
42 #include <qwt_plot_picker.h>
43 
44 #include <QtGui>
45 
46 #include <vector>
47 
48 namespace casa {
49 
50 //# Forward declarations
51 class QPPlotter;
52 class AxisListener;
53 
54 // Implementation of PlotCanvas for the Qwt plotter. Mainly consists of
55 // wrappers and containers around a QwtPlot object.
56 class QPCanvas : public QFrame, public QPExportCanvas {
57  Q_OBJECT
58 
59  friend class QPAxesCache;
60  friend class QPDrawThread;
61  friend class QPLayeredCanvas;
62  friend class QPPlotItem;
63  friend class QPPlotter;
64 
65 public:
66  // Static //
67 
68  // Keep a z-order variable to increment for subsequent items.
69  static double zOrder;
70 
71  // Convenient access to class name (QPCanvas).
72  static const casacore::String CLASS_NAME;
73 
74  // Convenient access to "origin" names for logging.
75  // <group>
76  static const casacore::String DRAW_NAME;
77 
78  // </group>
79 
80 
81 
82  // Non-Static //
83 
84  // Constructor which takes (optional) parent QPPlotter.
85  QPCanvas(QPPlotter* parent = NULL);
86 
87  // Destructor.
88  ~QPCanvas();
89 
90 
91  // Include overloaded methods.
100  using PlotCanvas::showGrid;
106 
107 
108 
109  // PlotCanvas Methods //
110 
111  // Implements PlotCanvas::size().
112  std::pair<int, int> size() const;
113  virtual void setMinimumSize( int width, int height ){
114  QFrame::setMinimumSize( width, height );
115  }
116 
117  virtual void show(){
118  QFrame::show();
119  }
120 
121  virtual void hide(){
122  QFrame::setVisible( false );
123  }
124 
125  // Implements PlotCanvas::title().
126  casacore::String title() const;
127 
128  // Implements PlotCanvas::setTitle().
129  void setTitle(const casacore::String& title);
130 
131  // Implements PlotCanvas::titleFont().
132  PlotFontPtr titleFont() const;
133 
134  // Implements PlotCanvas::setTitleFont().
135  void setTitleFont(const PlotFont& font);
136 
137  // Implements PlotCanvas::background().
138  PlotAreaFillPtr background() const;
139  PlotAreaFillPtr defaultBackground() const;
140 
141  // Implements PlotCanvas::setBackground().
142  void setBackground(const PlotAreaFill& areaFill);
143 
144  // Implements PlotCanvas::cursor().
145  PlotCursor cursor() const;
146 
147  // Implements PlotCanvas::setCursor().
148  void setCursor(PlotCursor cursor);
149 
150  // Implements PlotCanvas::refresh().
151  // <group>
152  void refresh();
153  void refresh(int drawLayersFlag);
154  // </group>
155 
156  // Implements PlotCanvas::isQWidget().
157  bool isQWidget() const { return true; }
158 
159 
160  // Implements PlotCanvas::shownAxes().
161  // Returns a bit set (really an int) of bits defined by PlotAxis enum or'd together
162  PlotAxisBitset shownAxes() const;
163 
164  // Implements PlotCanvas::showAxes().
165  // Takes a bit set, as an int, of bits defined by PlotAxis enum or'd together
166  void showAxes(PlotAxisBitset axes);
167 
168  // Implements PlotCanvas::axisScale().
169  PlotAxisScale axisScale(PlotAxis axis) const;
170 
171  // Implements PlotCanvas::setAxisScale().
172  void setAxisScale(PlotAxis axis, PlotAxisScale scale, casacore::uInt base=10);
173 
174  // Implements PlotCanvas::setAxisScaleSortDirection().
175  bool setAxisScaleSortDirection(PlotAxis axis, SortDirection direction);
176  std::pair<bool,SortDirection> axisScaleSortDirection(PlotAxis axis) const;
177 
178  // Sets/gets the angle format of the scale for the given axis
179  void setAxisScaleAngleFormat(PlotAxis axis, AngleFormat format);
180  AngleFormat axisScaleAngleFormat(PlotAxis axis) const;
181 
182  // Implements PlotCanvas::axisReferenceValueSet().
183  bool axisReferenceValueSet(PlotAxis axis) const;
184 
185  // Implements PlotCanvas::axisReferenceValueValue().
186  double axisReferenceValue(PlotAxis axis) const;
187 
188  // Implements PlotCanvas::setAxisReferenceValue().
189  void setAxisReferenceValue(PlotAxis axis, bool on, double value = 0);
190 
191  // Implements PlotCanvas::cartesianAxisShown().
192  bool cartesianAxisShown(PlotAxis axis) const;
193 
194  // Implements PlotCanvas::showCartesianAxis().
195  void showCartesianAxis(PlotAxis mirrorAxis, PlotAxis secondaryAxis,
196  bool show = true, bool hideNormalAxis = true);
197 
198  // Implements PlotCanvas::axisLabel().
199  casacore::String axisLabel(PlotAxis axis) const;
200 
201  // Implements PlotCanvas::setAxisLabel().
202  void setAxisLabel(PlotAxis axis, const casacore::String& title);
203 
204  // Implements PlotCanvas::axisFont().
205  PlotFontPtr axisFont(PlotAxis axis) const;
206 
207  // Implements PlotCanvas::setAxisFont().
208  void setAxisFont(PlotAxis axis, const PlotFont& font);
209 
210  // Implements PlotCanvas::colorBarShown().
211  bool colorBarShown(PlotAxis axis = Y_RIGHT) const;
212 
213  // Implements PlotCanvas::showColorBar().
214  void showColorBar(bool show = true, PlotAxis axis = Y_RIGHT);
215 
216 
217  // Implements PlotCanvas::axisRange().
218  prange_t axisRange(PlotAxis axis) const;
219 
220  // Implements PlotCanvas::setAxisRange().
221  void setAxisRange(PlotAxis axis, double from, double to);
222 
223  // Implements PlotCanvas::invertAxis().
224  void invertAxis(PlotAxis axis);
225 
226  // Overrides PlotCanvas::setAxesRanges().
227  void setAxesRanges(PlotAxis xAxis, double xFrom, double xTo,
228  PlotAxis yAxis, double yFrom, double yTo);
229 
230  // Implements PlotCanvas::axesAutoRescale().
231  bool axesAutoRescale() const;
232 
233  // Implements PlotCanvas::setAxesAutoRescale().
234  void setAxesAutoRescale(bool autoRescale = true);
235 
236  // Implements PlotCanvas::rescaleAxes().
237  void rescaleAxes();
238 
239  // Implements PlotCanvas::axesRatioLocked().
240  bool axesRatioLocked() const;
241 
242  // Implements PlotCanvas::setAxesRatioLocked().
243  void setAxesRatioLocked(bool locked = true);
244 
245 
246  // Implements PlotCanvas::cachedAxesStackSizeLimit().
247  int cachedAxesStackSizeLimit() const;
248 
249  // Implements PlotCanvas::setCachedAxesStackSizeLimit().
250  void setCachedAxesStackSizeLimit(int sizeInKilobytes);
251 
252  // Overrides PlotCanvas::cachedAxesStackImageSize().
253  std::pair<int, int> cachedAxesStackImageSize() const;
254 
255  // Overrides PlotCanvas::setCachedAxesStackImageSize().
256  void setCachedAxesStackImageSize(int width, int height);
257 
258 
259  // Implements PlotCanvas::plotItem(). If the given items is NOT an
260  // instance of a QPPlotItem, a copy of the given items is made. The
261  // original item is NOT kept by the canvas, so any subsequent changes to
262  // the original items will not be reflected on the canvas.
263  bool plotItem(PlotItemPtr item, PlotCanvasLayer layer = MAIN);
264 
265  // Implements PlotCanvas::allPlotItems().
266  std::vector<PlotItemPtr> allPlotItems() const;
267 
268  // Implements PlotCanvas::layerPlotItems().
269  std::vector<PlotItemPtr> layerPlotItems(PlotCanvasLayer layer) const;
270 
271  // Overrides PlotCanvas::numPlotItems().
272  unsigned int numPlotItems() const;
273 
274  // Overrides PlotCanvas::numLayerPlotItems().
275  unsigned int numLayerPlotItems(PlotCanvasLayer layer) const;
276 
277  // Implements PlotCanvas::removePlotItems().
278  void removePlotItems(const std::vector<PlotItemPtr>& items);
279 
280  // Overrides PlotCanvas::clearPlotItems().
281  void clearPlotItems();
282 
283  // Overrides PlotCanvas::clearPlots().
284  void clearPlots();
285 
286  // Overrides PlotCanvas::clearLayer().
287  void clearLayer(PlotCanvasLayer layer);
288 
289 
290  // Implements PlotCanvas::holdDrawing().
291  void holdDrawing();
292 
293  // Implements PlotCanvas::releaseDrawing().
294  void releaseDrawing();
295 
296  // Implements PlotCanvas::drawingIsHeld().
297  bool drawingIsHeld() const;
298 
299 
300  // Implements PlotCanvas::setSelectLineShown().
301  void setSelectLineShown(bool shown = true);
302 
303  // Implements PlotCanvas::selectLine().
304  PlotLinePtr selectLine() const;
305 
306  // Implements PlotCanvas::setSelectLine().
307  void setSelectLine(const PlotLine& line);
308 
309 
310  // Implements PlotCanvas::gridShown().
311  bool gridShown(bool* xMajor = NULL, bool* xMinor = NULL,
312  bool* yMajor = NULL, bool* yMinor = NULL) const;
313 
314  // Implements PlotCanvas::showGrid().
315  void showGrid(bool xMajor, bool xMinor, bool yMajor,bool yMinor);
316 
317  // Implements PlotCanvas::gridMajorLine().
318  PlotLinePtr gridMajorLine() const;
319 
320  // Implements PlotCanvas::setGridMajorLine().
321  void setGridMajorLine(const PlotLine& line);
322 
323  // Implements PlotCanvas::gridMinorLine().
324  PlotLinePtr gridMinorLine() const;
325 
326  // Implements PlotCanvas::setGridMinorLine().
327  void setGridMinorLine(const PlotLine& line);
328 
329 
330  // Implements PlotCanvas::legendShown().
331  bool legendShown() const;
332 
333  // Implements PlotCanvas::showLegend().
334  void showLegend(bool on = true, LegendPosition position = EXT_BOTTOM);
335 
336  // Implements PlotCanvas::legendPosition().
337  LegendPosition legendPosition() const;
338 
339  // Implements PlotCanvas::setLegendPosition().
340  void setLegendPosition(LegendPosition position);
341 
342  // Implements PlotCanvas::legendLine().
343  PlotLinePtr legendLine() const;
344 
345  // Implements PlotCanvas::setLegendLine().
346  void setLegendLine(const PlotLine& line);
347 
348  // Implements PlotCanvas::legendFill().
349  PlotAreaFillPtr legendFill() const;
350 
351  // Implements PlotCanvas::setLegendFill().
352  void setLegendFill(const PlotAreaFill& area);
353 
354  // Implements PlotCanvas::legendFont().
355  PlotFontPtr legendFont() const;
356 
357  // Implements PlotCanvas::setLegendFont().
358  void setLegendFont(const PlotFont& font);
359 
360 
361  // Implements PlotCanvas::autoIncrementColors().
362  bool autoIncrementColors() const;
363 
364  // Implements PlotCanvas::setAutoIncrementColors().
365  void setAutoIncrementColors(bool autoInc = true);
366 
367  // Implements PlotCanvas::exportToFile().
368  bool exportToFile(const PlotExportFormat& format);
369 
370  // Implements PlotCanvas::fileChooserDialog().
371  casacore::String fileChooserDialog(const casacore::String& title = "File Chooser",
372  const casacore::String& directory = "");
373 
374  // Implements PlotCanvas::dateFormat().
375  const casacore::String& dateFormat() const;
376 
377  // Implements PlotCanvas::setDateFormat().
378  void setDateFormat(const casacore::String& dateFormat);
379 
380  // Implements PlotCanvas::relativeDateFormat().
381  const casacore::String& relativeDateFormat() const;
382 
383  // Implements PlotCanvas::setRelativeDateFormat().
384  void setRelativeDateFormat(const casacore::String& dateFormat);
385 
386  // Implements PlotCanvas::convertCoordinate().
387  PlotCoordinate convertCoordinate(const PlotCoordinate& coord,
388  PlotCoordinate::System newSystem = PlotCoordinate::WORLD) const;
389 
390  // Implements PlotCanvas::textWidthHeightDescent().
391  std::vector<double> textWidthHeightDescent(const casacore::String& text,
392  PlotFontPtr font) const;
393 
394  // Implements PlotCanvas::implementation().
395  int implementation() const { return Plotter::QWT; }
396 
397  // Implements PlotCanvas::implementationFactory().
398  PlotFactory* implementationFactory() const;
399 
400 
401  // QPCanvas Methods //
402 
403  // Provides access to the underlying QPLayeredCanvas.
404  // <group>
405  QPLayeredCanvas& asQwtPlot();
406  const QPLayeredCanvas& asQwtPlot() const;
407  // </group>
408 
409  // Provides access to the QwtPlotPicker used for selection events.
410  QwtPlotPicker& getSelecter();
411 
412  // Reinstalls the tracker filter (in case another QwtPlotPicker is added to
413  // the QwtPlotCanvas).
414  void reinstallTrackerFilter();
415 
416  // Overrides QWidget::sizeHint() to return an invalid size.
417  QSize sizeHint() const;
418 
419  // Overrides QWidget::minimumSizeHint() to return an invalid size.
420  QSize minimumSizeHint() const;
421 
422  //Overriden to take into account the screen size available to this canvas
423  //based on how many other canvases, etc are being displayed. Without this
424  //method, the draw thread hangs when the size available to the canvas is
425  //less that the minimum size hint.
426  virtual void setMinimumSizeHint( int width, int height );
427 
428  virtual void setCommonAxes( bool commonX, bool commonY );
429  void addAxisListener( AxisListener* listener );
430  void clearAxisListeners();
431 
432  virtual bool isDrawing();
433 protected:
434  // Sets the parent QPPlotter to the given. This MUST be done when a canvas
435  // is added to the plotter so that it can use the plotter's logger if
436  // needed.
437  void setQPPlotter(QPPlotter* parent);
438 
439  // Returns the parent's logger.
440  virtual PlotLoggerPtr logger() const;
441 
442  // See QPPlotter::logObject(). If called before setQPPlotter() is called,
443  // creates a queue that is then posted when setQPPlotter() is called.
444  void logObject(const casacore::String& className, void* address, bool creation,
445  const casacore::String& message = casacore::String());
446 
447  // See QPPlotter::logMethod(). Does NOT queue messages if called before
448  // setQPPlotter() is called.
449  void logMethod(const casacore::String& className, const casacore::String& methodName,
450  bool entering, const casacore::String& message = casacore::String());
451 
452  // Provides access to the cached axes stack.
453  // <group>
454  QPAxesCache& axesCache();
455  const QPAxesCache& axesCache() const;
456  // </group>
457 
458  // For catching Qt press events.
459  void mousePressEvent(QMouseEvent* event);
460 
461  // For catching Qt click and release events.
462  void mouseReleaseEvent(QMouseEvent* event);
463 
464  // For catching Qt double-click events.
465  void mouseDoubleClickEvent(QMouseEvent* event);
466 
467  // For catching Qt key events.
468  void keyReleaseEvent(QKeyEvent* event);
469 
470  // For catching Qt scroll wheel events.
471  void wheelEvent(QWheelEvent* event);
472 
473  // For catching Qt resize events.
474  void resizeEvent(QResizeEvent* event);
475 
476  bool isThreading() const;
477 
478 
479 private:
480  // Parent QPPlotter.
481  QPPlotter* m_parent;
482 
483  // Queued log messages before parent is set.
484  std::vector<PlotLogObject> m_queuedLogs;
485 
486  // Main QwtPlot object.
487  QPLayeredCanvas m_canvas;
488 
489  // Main-layer plot items.
490  std::vector<std::pair<PlotItemPtr, QPPlotItem*> > m_plotItems;
491 
492  // Annotation-layer plot items.
493  std::vector<std::pair<PlotItemPtr, QPPlotItem*> > m_layeredItems;
494 
495  // Scale draws.
496  QPScaleDraw* m_scaleDraws[QwtPlot::axisCnt];
497 
498  // Whether the axes ratio is locked or not.
499  bool m_axesRatioLocked;
500 
501  bool isCommonAxis( PlotAxis axis ) const;
502  bool commonX;
503  bool commonY;
504 
505  // Used for recalculating axes ranges if the ratio is locked.
506  std::vector<double> m_axesRatios;
507 
508  // Cached axes stack.
509  QPAxesCache m_stackCache;
510 
511  // Whether auto-increment colors is turned on or not.
512  bool m_autoIncColors;
513 
514  // Used auto-incremented colors.
515  std::vector<int> m_usedColors;
516 
517  // Picker used for select events.
518  QwtPlotPicker m_picker;
519 
520  // Filter used for mouse move events. Has to initialize after the picker
521  // to be first in the filter.
522  QPMouseFilter m_mouseFilter;
523 
524  // Legend, and properties.
525  // <group>
526  QPLegendHolder* m_legend;
527  QPFont m_legendFont;
528  bool m_legendFontSet;
529  // </group>
530 
531  // Flag for whether we're in mouse dragging mode or not.
532  bool m_inDraggingMode;
533 
534  QList<AxisListener*> axisListeners;
535 
536  /*
537  // For catching single vs. double clicks.
538  // <group>
539  bool m_ignoreNextRelease;
540  QTimer m_timer;
541  QMouseEvent* m_clickEvent;
542  // </group>
543  */
544 
545  // Date formats.
546  // <group>
547  casacore::String m_dateFormat;
548  casacore::String m_relativeDateFormat;
549  // </group>
550 
551 
552  // Converts the given Qt global position to a pixel PlotCoordinate.
553  // <group>
554  PlotCoordinate globalPosToPixelCoord(int x, int y);
555  PlotCoordinate globalPosToPixelCoord(QMouseEvent* event) {
556  return globalPosToPixelCoord(event->globalX(), event->globalY()); }
557  PlotCoordinate globalPosToPixelCoord(QWheelEvent* event) {
558  return globalPosToPixelCoord(event->globalX(), event->globalY()); }
559  // </group>
560 
561 
562  virtual bool print( QPrinter& printer );
563  virtual bool print( QPainter* painter, PlotAreaFillPtr paf, double widthWidth,
564  double widgetHeight, int externalAxisWidth, int externalAxisHeight,
565  int rowIndex, int colIndex, QRect imageRect );
566  virtual bool printRect( QPainter* painter, QRect rect);
567 
568  virtual int canvasWidth() const{
569  return width();
570  }
571  virtual int canvasHeight() const {
572  return height();
573  }
574  virtual const QPalette& palette() const {
575  return asQwtPlot().palette();
576  }
577  virtual QPalette::ColorRole backgroundRole() const{
578  return asQwtPlot().backgroundRole();
579  }
580 
581 
582  QImage grabImageFromCanvas( const PlotExportFormat& format );
583 
584 
585  // Converts between axes bitset flags (1,2,4,8 in PlotAxis and vector indices (0-3).
586  // (Does not deal with bitsets for combinations of axes, only single axis)
587  // <group>
588  static unsigned int axisIndex(PlotAxis a);
589  static PlotAxis axisIndex(unsigned int i);
590  // </group>
591 
592  const QwtScaleDiv* getAxisScaleDiv(int axisId) const;
593  // set time scale to even hh:mm
594  void setTimeScaleDiv(PlotAxis axis, double from, double to);
595 
596  QSize minSizeHint;
597 
598  // default background
599  PlotAreaFillPtr defaultBackground_;
600 
601 
602 private slots:
603  // For when the selecter has selected a region; emit a PlotSelectEvent.
604  // Include Qwt5 and Qwt6 definitions for moc;
605  // signal comes from QwtPlotPicker
606  void regionSelected(const QwtDoubleRect&);
607  void regionSelected2(const QRectF&);
608 
609  // For catching single vs. double clicks.
610  // void timeout();
611 
612  // For catching mouse move events from the filter.
613  void trackerMouseEvent(QMouseEvent* event);
614 
615  void enableAxis( QwtPlot::Axis axis, bool enable );
616 };
617 
618 }
619 
620 #endif
621 
622 #endif /*QPCANVAS_QO_H_*/
casacore::CountedPtr< PlotAreaFill > PlotAreaFillPtr
Definition: PlotOptions.h:364
bool m_inDraggingMode
Whether we&#39;re in dragging mode or not.
Definition: PlotTool.h:478
virtual void showGrid(bool xMajor, bool xMinor, bool yMajor, bool yMinor)=0
Sets whether the grid is shown, for each of the given line groups.
casacore::CountedPtr< PlotLine > PlotLinePtr
Definition: PlotOptions.h:446
virtual void setTitleFont(const PlotFont &font)=0
Set the font of the canvas title to the given.
unsigned int PlotAxisBitset
Set of bit flags to indicate combinations of sides, used (as of this writing) for indicating which ax...
Definition: PlotOptions.h:70
virtual void setAxisRange(PlotAxis axis, double from, double to)=0
Sets the displayed range of the given axis, in world coordinates.
virtual void setGridMinorLine(const PlotLine &line)=0
Sets the line used to draw the minor grid lines.
size_t size() const
void show(const variant &v)
virtual void setSelectLine(const PlotLine &line)=0
set the line for the selection tool
virtual void setAxisFont(PlotAxis axis, const PlotFont &font)=0
Set the font of the axis title to the given.
virtual void setLegendFill(const PlotAreaFill &area)=0
Sets the area fill used for the legend background.
virtual void setSelectLine(PlotLinePtr line)
Sets the selection line to the given.
PlotCursor
Enum for cursors.
Definition: PlotOptions.h:94
PlotAxis
Enum for the four plot axes.
Definition: PlotOptions.h:62
virtual void setAxesRanges(PlotAxis xAxis, double xFrom, double xTo, PlotAxis yAxis, double yFrom, double yTo)
Sets the displayed ranges of the given axes, in world coordinates.
virtual void setLegendFont(const PlotFont &font)=0
Sets the font used for the legend text.
casacore::CountedPtr< PlotFont > PlotFontPtr
Definition: PlotOptions.h:291
casacore::CountedPtr< PlotLogger > PlotLoggerPtr
Definition: PlotLogger.h:534
std::pair< double, double > prange_t
Typedef for range, which is two doubles (min and max).
Definition: PlotOptions.h:41
casacore::CountedPtr< PlotItem > PlotItemPtr
Definition: PlotItem.h:98
virtual void setGridMajorLine(const PlotLine &line)=0
Sets the line used to draw the major grid lines.
virtual void setBackground(const PlotAreaFill &areaFill)=0
Sets the background of the canvas to the given.
SortDirection
Definition: PlotOptions.h:52
AngleFormat
Enum for angle formats.
Definition: PlotOptions.h:87
virtual void showCartesianAxis(PlotAxis mirrorAxis, PlotAxis secondaryAxis, bool show=true, bool hideNormalAxis=true)=0
Show or hide the given Cartesian axis.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual void setLegendLine(const PlotLine &line)=0
Sets the line used to outline the legend.
PlotAxisScale
Enum for possible axis scales.
Definition: PlotOptions.h:78
virtual void showAxes(PlotAxisBitset axes)=0
Shows/Hides axes based on the given bitset, which should be a bitwise-or of PlotAxis values...
PlotCanvasLayer
The canvas is composed of multiple layers, where changing/adding items from one layer will not affect...
Definition: PlotOptions.h:109
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
unsigned int uInt
Definition: aipstype.h:51