copasi API  0.1
copasi/barChart/qwt3dPlot.h
Go to the documentation of this file.
00001 // Begin CVS Header
00002 //   $Source: /fs/turing/cvs/copasi_dev/copasi/barChart/qwt3dPlot.h,v $
00003 //   $Revision: 1.5 $
00004 //   $Name: Build-33 $
00005 //   $Author: shoops $
00006 //   $Date: 2010/07/16 18:54:05 $
00007 // End CVS Header
00008 
00009 // Copyright (C) 2010 by Pedro Mendes, Virginia Tech Intellectual
00010 // Properties, Inc., University of Heidelberg, and The University
00011 // of Manchester.
00012 // All rights reserved.
00013 
00014 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
00015 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
00016 // and The University of Manchester.
00017 // All rights reserved.
00018 
00019 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
00020 // Properties, Inc. and EML Research, gGmbH.
00021 // All rights reserved.
00022 
00023 #ifndef PLOT3D_H
00024 #define PLOT3D_H
00025 
00026 // #include <qlayout.h>
00027 // #include <qslider.h>
00028 // #include <qmenubar.h>
00029 // #include <qcursor.h>
00030 
00031 #include <QString>
00032 #include <qwt3d_surfaceplot.h>
00033 
00034 #include "copasi/barChart/qwt3dBaseWidget.h"
00035 #include "copasi/barChart/qwt3dBars.h"
00036 
00037 // #include <QContextMenuEvent>
00038 // #include <QMessagebox>
00039 // #include <QRegexp>
00040 
00041 // #include "copasi/barChart/qwt3dScale.h"
00042 // #include "copasi/barChart/qwt3dColor.h"
00043 // #include "copasi/UI/CopasiFileDialog.h"
00044 // #include "copasi/UI/qtUtilities.h"
00045 
00046 class QGridLayout;
00047 
00048 class Plot3d : public BaseWidget
00049 {
00050   Q_OBJECT
00051 
00052 public:
00053 
00054   struct Data
00055   {
00056     int columns;
00057     int rows;
00058     double faktor;
00059     double columnAxeLength;
00060     double rowAxeLength;
00061     int maxItems;
00062     double valueZone;
00063     double maxValue;
00064     double minValue;
00065   };
00066 
00067   Data mData;
00068 
00069   Plot3d(QWidget* parent = 0, const char* name = 0);
00070   virtual ~Plot3d();
00071   Qwt3D::SurfacePlot* mpPlot;
00072   Bar *mpBar;
00073   QGridLayout *mpGrid;
00074   QString mTitle;
00075   double** data;
00076   const std::vector<std::string> *mpColumnScale;
00077   const std::vector<std::string> *mpRowScale;
00078   bool mColorLegend;
00079   void setScale(const std::vector<std::string> *columnsDescript, const std::vector<std::string> *rowsDescript);
00080   void setColors(std::vector<QColor> mColors, double min, double max);
00081   void setData(double** data, int columns, int rows, double valueZone);
00082   virtual void sliderMoved(int column, int row);
00083   void setData();
00084   void setAxes();
00085   void setZoom();
00086   void plotData();
00087   void setLegend();
00088   void setSlider();
00089   void setPlotTitle();
00090   void emptyPlot();
00091   void resizeCoordSys();
00092   int getColSliderPos();
00093   int getRowSliderPos();
00094 
00095 public slots:
00096   void saveDataToFile();
00097   void showLegend();
00098   void hotKeysMessage();
00099 
00100 private:
00101   void contextMenuEvent(QContextMenuEvent *);
00102 
00103   //signals:
00104   //  void sliderPosition(int col, int row);
00105 };
00106 
00107 #endif //  PLOT3D_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines