copasi API
0.1
|
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