Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Txq2dFrame.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------
00002 //
00003 // File:    Txq2dFrame.h
00004 //
00005 // Purpose: Implementation of a Qt Widget to create a window
00006 //          for 2 dimensional scientific plotting.
00007 //
00008 // Version: $Id: Txq2dFrame.h,v 1.35 2001/10/12 18:58:11 kgl Exp $
00009 //
00010 // Copyright (c) 2000 by Tech-X Corporation.  All rights reserved.
00011 //
00012 // Author:  Kelly G. Luetkemeyer
00013 //
00014 //--------------------------------------------------------------------
00015 
00016 #ifndef TXQ2D_FRAME_H
00017 #define TXQ2D_FRAME_H
00018 
00019 // Qt includes
00020 #include <qcursor.h>
00021 #include <qpaintdevicemetrics.h>
00022 
00023 // Txq includes
00024 #include <TxqFrame.h>
00025 #include <TxqSciNumberPattern.h>
00026 #include <TxqSciNumberFormat.h>
00027 #include <TxqPlotAttribs.h>
00028 #include <TxqOptionsDlog.h>
00029 
00030 // Txq2d includes
00031 #include "Txq2dCanvas.h"
00032 #include "Txq2dAxis.h"
00033 #include "Txq2dPrintCanvas.h"
00034 #include "Txq2dPrintFrame.h"
00035 #include "TxqZoom.h"
00036 
00048 class Txq2dFrame : public TxqFrame
00049 {
00050   Q_OBJECT
00051 
00052 public:
00053 
00064   Txq2dFrame(QWidget* parent=0, const char *nm=0, WFlags f = WType_TopLevel);
00065 
00069   virtual ~Txq2dFrame();
00070 
00075   void addCanvas(Txq2dCanvas* newCanvas);
00076 
00081   Txq2dCanvas* getCanvas() {return canvas;}
00082 
00087   virtual void plot(bool updateFlag) {canvas->repaint(false);}
00088 
00093   void setCrossHair(bool flag);
00094 
00101   void setOptionsClearPixmap(bool f) {optionsClearPixmap = f;}
00102 
00108   void writeImage(QString fileName, QString ext);
00109 
00110 public slots:
00111 
00119   virtual void setGeometry(int x, int y, int w, int h);
00120 
00124   virtual void setGeometry(const QRect& r) {QWidget::setGeometry(r);}
00125 
00130   virtual void crossHair(int number);
00131 
00137   virtual void writeStatus(double x, double y);
00138 
00139 protected:
00140 
00144   void createTxq2dCanvas();
00145 
00149   void resizeEvent( QResizeEvent *event);
00150 
00155   void createPlotAttribs();
00156 
00160   virtual void addFileMenuItems();
00161 
00165   void addEditMenuItems();
00166 
00170   void addViewMenuItems();
00171 
00175   void addCrossHairMenuItem();
00176 
00180   void addOptionsMenuItem();
00181 
00185   virtual void addZoomMenuItem();
00186 
00192   virtual void addWidgets();
00193 
00197   void createOptionsMenu();
00198 
00202   bool getCrossHair();
00203 
00207   void setCrossHair(int id);
00208 
00209 // protected data
00210 
00214   int ziId;
00218   int zoId;
00219 
00224   bool zi;
00225 
00230   bool zo;
00231 
00235   int crossHairId;
00236 
00240   bool optionsClearPixmap;
00241 
00242 signals:
00243 
00248   virtual void setOptionsSignal();
00249 
00250 protected slots:
00251 
00255   bool copy();
00256 
00262   void applyOptions();
00263 
00267   void setOptions();
00268 
00272   void saveAs();
00273 
00278   void dumpData();
00279 
00283   void print();
00284 
00288   void printPreview();
00289 
00294   virtual void zoomIn(int id);
00295 
00300   virtual void zoomOut(int id);
00301 
00305   virtual void zoomOutFinished();
00306 
00307 protected:
00308 
00312   TxqPlotAttribs *plotAttribs;
00313 
00317   TxqOptionsDlog *optionsDlog;
00318 
00319 
00320 private:
00321 
00325   Txq2dCanvas* canvas;
00326 
00330   std::vector<Txq2dCanvas*> canvasVector;
00331 
00332 
00333 };
00334 
00335 
00336 #endif
Copyright Tech-X Corporation, all rights reserved.