mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-05 10:40:42 +00:00
91 lines
2.1 KiB
C++
91 lines
2.1 KiB
C++
/********************************************************************
|
|
gLayer Headers
|
|
Copyright (c)2011 Mark Watkins <jedimark@users.sourceforge.net>
|
|
License: GPL
|
|
*********************************************************************/
|
|
|
|
#ifndef GRAPHLAYER_H
|
|
#define GRAPHLAYER_H
|
|
|
|
#include <QString>
|
|
#include "graphwindow.h"
|
|
|
|
#include "graphdata.h"
|
|
|
|
class gGraphWindow;
|
|
class gGraphData;
|
|
class gPointData;
|
|
class gLayer
|
|
{
|
|
public:
|
|
gLayer(gPointData *g=NULL,QString title="");
|
|
virtual ~gLayer();
|
|
virtual void Plot(gGraphWindow & w,float scrx,float scry)=0;
|
|
vector<QColor> color;
|
|
|
|
virtual void SetData(gPointData * gd);;
|
|
virtual gPointData * GetData();;
|
|
|
|
virtual void DataChanged(gGraphData *src);
|
|
|
|
virtual double MinX();
|
|
virtual double MaxX();
|
|
virtual double MinY();
|
|
virtual double MaxY();
|
|
|
|
virtual double RealMinX();
|
|
virtual double RealMaxX();
|
|
virtual double RealMinY();
|
|
virtual double RealMaxY();
|
|
|
|
virtual void SetMinX(double v);
|
|
virtual void SetMaxX(double v);
|
|
virtual void SetMinY(double v);
|
|
virtual void SetMaxY(double v);
|
|
|
|
|
|
virtual void NotifyGraphWindow(gGraphWindow *g);
|
|
virtual void SetVisible(bool v) { m_visible=v; };
|
|
virtual bool IsVisible() { return m_visible; };
|
|
virtual bool isEmpty();
|
|
protected:
|
|
bool m_visible;
|
|
bool m_movable;
|
|
QString m_title;
|
|
gPointData *data; // Data source
|
|
list<gGraphWindow *> m_graph; // notify list of graphs that attach this layer.
|
|
|
|
};
|
|
|
|
class gLayerGroup:public gLayer
|
|
{
|
|
public:
|
|
gLayerGroup();
|
|
virtual ~gLayerGroup();
|
|
virtual void AddLayer(gLayer *l);
|
|
|
|
//virtual void DataChanged(gGraphData *src);
|
|
virtual void NotifyGraphWindow(gGraphWindow *g);
|
|
|
|
virtual double MinX();
|
|
virtual double MaxX();
|
|
virtual double MinY();
|
|
virtual double MaxY();
|
|
|
|
virtual double RealMinX();
|
|
virtual double RealMaxX();
|
|
virtual double RealMinY();
|
|
virtual double RealMaxY();
|
|
|
|
virtual void SetMinX(double v);
|
|
virtual void SetMaxX(double v);
|
|
virtual void SetMinY(double v);
|
|
virtual void SetMaxY(double v);
|
|
|
|
|
|
protected:
|
|
vector<gLayer *> layers;
|
|
};
|
|
|
|
#endif // GRAPHLAYER_H
|