ChartDirector 7.1 (C++ Edition)

QmlChartViewer


QmlChartViewer is a QML/Qt Quick control that inherits ViewPortManager. It is used in QML applications for displaying charts images and to handle mouse interactions. All of the QmlChartViewer methods and signals are accessible using C++, and most of them are also accessible using QML.

QmlChartViewer is released in source code format in the Qt sample programs that comes with ChartDirector. To use QmlChartViewer in your own code, please include "qmlchartviewer.h" and "qmlchartviewer.cpp" in your project.

Properties
MethodInheritedDescription
mouseUsage(Self)Gets and sets the mouse usage mode.
zoomDirection(Self)Gets and sets the zoom direction for mouse zoom in/out actions.
scrollDirection(Self)Gets and sets the scroll direction for mouse zoom in/out actions.
zoomInRatio(Self)Gets and sets the magnification ratio for each zoom in click of the mouse.
zoomOutRatio(Self)Gets and sets the magnification ratio for each zoom out click of the mouse.
mouseWheelZoomRatio(Self)Gets and sets the magnification ratio for each mouse wheel event.
zoomInWidthLimit(Self)Gets and sets the viewport width at maximum zoom in.
zoomInHeightLimit(Self)Gets and sets the viewport height at maximum zoom in.
zoomOutWidthLimit(Self)Gets and sets the viewport width at maximum zoom out.
zoomOutHeightLimit(Self)Gets and sets the viewport height at maximum zoom out.
selectionBorderWidth(Self)Gets and sets the the border width of the zoom selection box.
selectionBorderColor(Self)Gets and sets the the border color of the zoom selection box.
minimumDrag(Self)Gets and sets the the minimum mouse drag distance before it is considered as an intentional drag.
updateInterval(Self)Gets and sets the the minimum gap interval between two viewPortChanged signals in milliseconds.
chartMouseX(Self)Gets the the mouse x-coordinate in the chart pixel coordinate system.
chartMouseY(Self)Gets the the mouse y-coordinate in the chart pixel coordinate system.
plotAreaMouseX(Self)Gets the the mouse x-coordinate on the plot area in the chart pixel coordinate system.
plotAreaMouseY(Self)Gets the the mouse y-coordinate on the plot area in the chart pixel coordinate system.
plotAreaLeft(Self)Gets the the x-coordinate of the left side of the plot area in pixels.
plotAreaTop(Self)Gets the the y-coordinate of the top side of the plot area in pixels.
plotAreaWidth(Self)Gets the the width of the plot area in pixels.
plotAreaHeight(Self)Gets the the height of the plot area in pixels.
viewPortLeft(Self)Gets and sets the the position of the left side of the viewport.
viewPortTop(Self)Gets and sets the the position of the top side of the viewport.
viewPortWidth(Self)Gets and sets the the width of the viewport.
viewPortHeight(Self)Gets and sets the the height of the viewport.
cdmlToolTipPrefix(Self)Gets the the CDML tooltip prefix.
defaultToolTip(Self)Gets the the default tool tip to use when the mouse is over the QmlChartViewer but not over any hot spot.

Methods
MethodInheritedDescription
setChart(Self)Sets a BaseChart object for display.
getChart(Self)Gets the BaseChart pointer provided by the previous QmlChartViewer.setChart method call.
setImageMap(Self)Sets the image map that defines the hot spots on the chart image.
getImageMapHandler(Self)Gets the ImageMapHandler object for the current image map.
getHotSpot(Self)Gets the attributes of the current hot spot. This method is invokable from QML.
setDefaultToolTip(Self)Sets the default tool tip to use when the mouse is over the QmlChartViewer but not over any hot spot.
setCDMLToolTipPrefix(Self)Sets the CDML tooltip prefix.
getChartMouseX(Self)Gets the mouse x-coordinate in the chart pixel coordinate system.
getChartMouseY(Self)Gets the mouse y-coordinate in the chart pixel coordinate system.
getPlotAreaMouseX(Self)Gets the mouse x-coordinate on the plot area in the chart pixel coordinate system.
getPlotAreaMouseY(Self)Gets the mouse y-coordinate on the plot area in the chart pixel coordinate system.
setPlotAreaMouseMargin(Self)Sets all margins (left, right, top, and bottom) of the plot area mouse event region to the same value.
setPlotAreaMouseMargin2(Self)Sets the margins of the plot area mouse event region.
removeDynamicLayer(Self)Calls BaseChart.removeDynamicLayer when the specified event occurs.
updateDisplay(Self)Updates the display.
setMouseUsage(Self)Sets the mouse usage mode.
getMouseUsage(Self)Gets the mouse usage mode.
setZoomDirection(Self)Sets the zoom direction for mouse zoom in/out actions.
getZoomDirection(Self)Gets the zoom direction for mouse zoom in/out actions.
setScrollDirection(Self)Sets the scroll direction for mouse scroll actions.
getScrollDirection(Self)Gets the scroll direction for mouse scroll actions.
setZoomInRatio(Self)Sets the magnification ratio for each zoom in click of the mouse.
getZoomInRatio(Self)Gets the magnification ratio for each zoom in click of the mouse.
setZoomOutRatio(Self)Sets the magnification ratio for each zoom out click of the mouse.
getZoomOutRatio(Self)Gets the magnification ratio for each zoom out click of the mouse.
setMouseWheelZoomRatio(Self)Sets the magnification ratio for each mouse wheel event.
getMouseWheelZoomRatio(Self)Gets the magnification ratio for each mouse wheel event.
setSelectionBorderWidth(Self)Sets the border width of the zoom selection box.
getSelectionBorderWidth(Self)Gets the border width of the zoom selection box.
setSelectionBorderColor(Self)Sets the border color of the zoom selection box as a QColor value.
getSelectionBorderColor(Self)Gets the border color of the zoom selection box.
setMinimumDrag(Self)Sets the minimum mouse drag distance before it is considered as an intentional drag.
getMinimumDrag(Self)Gets the minimum mouse drag distance before it is considered as an intentional drag.
setUpdateInterval(Self)Sets the minimum gap interval between two viewPortChanged signals in milliseconds.
getUpdateInterval(Self)Gets the minimum gap interval between two viewPortChanged signals in milliseconds.
updateViewPort(Self)Triggers the viewPortChanged signal.
needUpdateChart(Self)Determines if the current viewPortChanged signal requires chart update.
needUpdateImageMap(Self)Determines if the current viewPortChanged signal requires image map update.
setDPI(Self)Sets the DPI (scale factor) of the chart on the screen.
getDPI(Self)Gets the DPI (scale factor) of the chart on the screen.
isMouseOnPlotArea(Self)Checks if the mouse cursor is on the extended plot area.
isMouseDragging(Self)Checks if the mouse is dragging on the plot area.
isInMouseMoveEvent(Self)Checks if the current code is executing in a QmlChartViewer.mouseMoveChart signal or QmlChartViewer.mouseMovePlotArea signal handler.
isInViewPortChangedEvent(Self)Checks if the current code is executing in a ViewPortChanged event.
setChartMetricsViewPortManagerSets the chart metrics to the ViewPortManager so it knows the positions of the necessary chart objects for supporting viewports.
getPlotAreaLeftViewPortManagerGets the x-coordinate of the left side of the plot area in pixels.
getPlotAreaTopViewPortManagerGets the y-coordinate of the top side of the plot area in pixels.
getPlotAreaWidthViewPortManagerGets the width of the plot area in pixels.
getPlotAreaHeightViewPortManagerGets the height of the plot area in pixels.
inPlotAreaViewPortManagerDetermines if a given point is within the plot area.
setViewPortLeftViewPortManagerSets the position of the left side of the viewport.
getViewPortLeftViewPortManagerGets the position of the left side of the viewport.
setViewPortTopViewPortManagerSets the position of the top side of the viewport.
getViewPortTopViewPortManagerGets the position of the top side of the viewport.
setViewPortWidthViewPortManagerSets the width of the viewport.
getViewPortWidthViewPortManagerGets the width of the viewport.
setViewPortHeightViewPortManagerSets the height of the viewport.
getViewPortHeightViewPortManagerGets the height of the viewport.
setKeepAspectRatioViewPortManagerKeeps the current viewport aspect ratio.
getZoomXYRatioViewPortManagerGets the enforced aspect ratio of the viewport.
validateViewPortViewPortManagerEnsures the viewport left, top, width and height are within valid ranges and adjusts them if necessary.
setZoomInWidthLimitViewPortManagerSets the viewport width at maximum zoom in.
getZoomInWidthLimitViewPortManagerGets the viewport width at maximum zoom in for mouse zoom in actions.
setZoomOutWidthLimitViewPortManagerSets the viewport width at maximum zoom out.
getZoomOutWidthLimitViewPortManagerGets the viewport width at maximum zoom out for mouse zoom out actions.
setZoomInHeightLimitViewPortManagerSets the viewport height at maximum zoom in.
getZoomInHeightLimitViewPortManagerGets the viewport height at maximum zoom in for mouse zoom in actions.
setZoomOutHeightLimitViewPortManagerSets the viewport height at maximum zoom out.
getZoomOutHeightLimitViewPortManagerGets the viewport height at maximum zoom out for mouse zoom out actions.
canZoomInViewPortManagerChecks if it is possible to zoom in further at a certain direction without violating zoom in limits.
canZoomOutViewPortManagerChecks if it is possible to zoom out further at a certain direction without violating zoom out limits.
zoomAtViewPortManagerZooms at a certain point.
zoomAroundViewPortManagerZooms around a certain point.
zoomToViewPortManagerZooms to the selected rectangular region.
startDragViewPortManagerTakes a snapshot of the viewport to prepare for dragging. This method must be called before calling ViewPortManager.dragTo.
dragToViewPortManagerScrolls the viewport to reflect dragging of the underlying rectangular surface.
setFullRangeViewPortManagerDefines the full range of a viewport data scale.
updateFullRangeHViewPortManagerUpdates the full range of a horizontal viewport data scale.
updateFullRangeVViewPortManagerUpdates the full range of a vertical viewport data scale.
getValueAtViewPortViewPortManagerConverts a viewport coordinate to a value of the specified data scale.
getViewPortAtValueViewPortManagerConverts a value of the specified data scale to a viewport coordinate.
syncLinearAxisWithViewPortViewPortManagerSynchronizes a linear Axis with the part of the data scale in viewport.
syncLogAxisWithViewPortViewPortManagerSynchronizes a logarithmic Axis with the part of the data scale in viewport.
syncDateAxisWithViewPortViewPortManagerSynchronizes a date/time Axis with the part of the data scale in viewport.

Signals
MethodInheritedDescription
clicked(Self)This signal will be emitted when a mouse button is clicked.
mousePressed(Self)This signal will be emitted when a mouse button is pressed.
mouseReleased(Self)This signal will be emitted when a mouse button is released.
mouseMove(Self)This signal will be emitted when the mouse moves over the control.
mouseWheel(Self)This signal will be emitted when the mouse wheel is rotated.
mouseMoveChart(Self)This signal will be emitted when the mouse moves over the control. Unlike the mouseMove signal, QmlChartViewer may delay a mouseMoveChart signal and combine multiple signals into one signal to improve GUI responsiveness.
mouseLeaveChart(Self)This signal will be emitted when the mouse leaves the control.
mouseMovePlotArea(Self)This signal will be emitted when the mouse moves over the extended plot area.
mouseLeavePlotArea(Self)This signal will be emitted when the mouse leaves the extended plot area.
viewPortChanged(Self)This signal will be emitted when the viewport is changed through mouse actions, or when QmlChartViewer.updateViewPort is called.