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

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

Added QSeisPlotPage to QtHomologyList.

  • spawning QSeisPlotCurves in QtHomologyList::refill() if homologies are present.
  • selected QSeisPlotCurve is plotted.
  • xy values are sorted (required by QSeisData).
  • Property mode set to 100644
File size: 1.6 KB
Line 
1/*
2 * QSeisPageRegistry.hpp
3 *
4 * Created on: Mar 14, 2011
5 * Author: landvogt
6 */
7
8
9#ifndef QSEISPAGEREGISTRY_HPP
10#define QSEISPAGEREGISTRY_HPP
11
12// include config.h
13#ifdef HAVE_CONFIG_H
14#include <config.h>
15#endif
16
17#include <QtCore/QObject>
18
19#include "CodePatterns/Registry.hpp"
20#include "CodePatterns/Singleton.hpp"
21
22/**
23 * \class QSeisPageRegistry
24 *
25 * This class acts as a registry for all QSeisPlotPage
26 * objects. This registry does not allow to (un)register
27 * instances. Instead it creates a new instance if
28 * getByName() with a non-existing name is called.
29 *
30 * The registry also passes the add/update/remove signals
31 * to the PlotPage with the correct dataType string.
32 *
33 * On creating and destroying of an instance the
34 * pageCreated/pageDeleted signal is emitted to keep the GUI
35 * updated.
36 **/
37
38class QSeisPlotPage;
39
40class QSeisPageRegistry : public QObject, public Registry<QSeisPlotPage>, public Singleton<QSeisPageRegistry>
41{
42 Q_OBJECT
43
44friend class Singleton<QSeisPageRegistry>;
45
46public:
47 QSeisPlotPage *getByName(const std::string name);
48 void deleteByName(const std::string name);
49 void cleanup();
50
51public slots:
52 void addCurve(std::string name, QString dataType);
53 void removeCurve(std::string name, QString dataType);
54 void updateCurve(std::string name, QString dataType);
55 void resetPlotView(QString dataType);
56
57private:
58 QSeisPageRegistry();
59 ~QSeisPageRegistry();
60public:
61 void registerInstance(QSeisPlotPage *instance);
62 void unregisterInstance(QSeisPlotPage *instance);
63
64signals:
65 void pageCreated(QWidget *page, QString name);
66 void pageDeleted(QString name);
67};
68
69#endif // QSEISPAGEREGISTRY_HPP
Note: See TracBrowser for help on using the repository browser.