source: src/UIElements/Views/Qt4/Plotting/QSeisCurveRegistry.hpp

Candidate_v1.6.1
Last change on this file was 35302b, checked in by Frederik Heber <heber@…>, 11 years ago

Added many files from project Seismolo.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 * QSeisCurveRegistry.hpp
3 *
4 * Created on: Jan 30, 2011
5 * Author: landvogt
6 */
7
8#ifndef QSEISCURVEREGISTRY_HPP
9#define QSEISCURVEREGISTRY_HPP
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <QtCore/QObject>
17#include "CodePatterns/Registry.hpp"
18#include "CodePatterns/Singleton.hpp"
19
20/**
21 * \class QSeisCurveRegistry
22 *
23 * This class acts as a registry for all
24 * currently available QSeisPlotCurves.
25 *
26 * The (un)registerInstance functions where
27 * reimplemented to include the curveAdded/
28 * Changed/Removed signals.
29 * The QSeisPageRegistry relays on this
30 * signals to maintain the existing list of
31 * available curves.
32 *
33 * The resetRegistry() function is basically
34 * the normal Registry::cleanup() function,
35 * it only emits additionally the curveRemoved()
36 * signal for every curve to keep the
37 * PageRegistry on track.
38 **/
39
40class QSeisPlotCurve;
41
42class QSeisCurveRegistry : public QObject, public Registry<QSeisPlotCurve>, public Singleton<QSeisCurveRegistry>
43{
44 Q_OBJECT
45
46 friend class Singleton<QSeisCurveRegistry>;
47
48public:
49 void registerInstance(QSeisPlotCurve *instance);
50 void unregisterInstance(QSeisPlotCurve *instance);
51 void resetRegistry();
52
53private:
54 QSeisCurveRegistry();
55 ~QSeisCurveRegistry();
56
57signals:
58 void curveAdded(std::string name, QString type);
59 void curveChanged(std::string name, QString type);
60 void curveRemoved(std::string name, QString type);
61};
62
63#endif // QSEISCURVEREGISTRY_HPP
Note: See TracBrowser for help on using the repository browser.