00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkQtChartGridLayer.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00020 00023 00024 #ifndef _vtkQtChartGridLayer_h 00025 #define _vtkQtChartGridLayer_h 00026 00027 #include "vtkQtChartExport.h" 00028 #include "vtkQtChartLayer.h" 00029 00030 class vtkQtChartAxis; 00031 00032 00037 class VTKQTCHART_EXPORT vtkQtChartGridLayer : public vtkQtChartLayer 00038 { 00039 Q_OBJECT 00040 00041 public: 00042 enum {Type = vtkQtChart_GridLayerType}; 00043 00044 public: 00045 vtkQtChartGridLayer(); 00046 virtual ~vtkQtChartGridLayer(); 00047 00048 virtual void setChartArea(vtkQtChartArea *area); 00049 00050 virtual void layoutChart(const QRectF &area); 00051 00052 virtual QRectF boundingRect() const; 00053 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, 00054 QWidget *widget=0); 00055 00056 public slots: 00060 void setXOffset(float xOffset); 00061 00065 void setYOffset(float yOffset); 00066 00067 private slots: 00069 void handleGridChange(); 00070 00071 private: 00076 void drawAxisGrid(QPainter *painter, vtkQtChartAxis *axis); 00077 00078 private: 00079 vtkQtChartAxis *Axis[4]; 00080 QSizeF *Bounds; 00081 00082 private: 00083 vtkQtChartGridLayer(const vtkQtChartGridLayer &); 00084 vtkQtChartGridLayer &operator=(const vtkQtChartGridLayer &); 00085 }; 00086 00087 #endif