File indexing completed on 2024-12-22 04:17:53
0001 /*************************************************************************** 0002 dialoglauncher.h 0003 ------------------- 0004 begin : Nov. 24, 2004 0005 copyright : (C) 2004 The University of Toronto 0006 email : netterfield@astro.utoronto.ca 0007 ***************************************************************************/ 0008 0009 /*************************************************************************** 0010 * * 0011 * This program is free software; you can redistribute it and/or modify * 0012 * it under the terms of the GNU General Public License as published by * 0013 * the Free Software Foundation; either version 2 of the License, or * 0014 * (at your option) any later version. * 0015 * * 0016 ***************************************************************************/ 0017 0018 #ifndef DIALOGLAUNCHER_H 0019 #define DIALOGLAUNCHER_H 0020 0021 #include <QObject> 0022 0023 #include "object.h" 0024 #include "vector.h" 0025 #include "matrix.h" 0026 #include "plotiteminterface.h" 0027 0028 #include "kstmath_export.h" 0029 0030 namespace Kst { 0031 0032 class KSTMATH_EXPORT DialogLauncher : public QObject { 0033 Q_OBJECT 0034 protected: 0035 static DialogLauncher *_self; 0036 static void cleanup(); 0037 DialogLauncher(); 0038 virtual ~DialogLauncher(); 0039 0040 public: 0041 static void replaceSelf(DialogLauncher *newInstance); 0042 static DialogLauncher *self(); 0043 0044 public Q_SLOTS: 0045 virtual void showDataSourceDialog(QString &datasourcename, ObjectPtr objectPtr = 0, bool modal = false)= 0; 0046 //primitives 0047 virtual void showVectorDialog(QString &vectorname, ObjectPtr objectPtr = 0, bool modal = false) = 0; 0048 0049 virtual void showMatrixDialog(QString &matrixName, ObjectPtr objectPtr = 0, bool modal = false) = 0; 0050 0051 virtual void showScalarDialog(QString &scalarname, ObjectPtr objectPtr = 0, bool modal = false) = 0; 0052 0053 virtual void showStringDialog(QString &scalarname, ObjectPtr objectPtr = 0, bool modal = false) = 0; 0054 0055 //standard objects 0056 virtual void showCurveDialog(ObjectPtr objectPtr = 0, VectorPtr vector = 0, PlotItemInterface *plotItem = 0) = 0; 0057 virtual void showMultiCurveDialog(QList<ObjectPtr> curves) = 0; 0058 0059 virtual void showImageDialog(ObjectPtr objectPtr = 0, MatrixPtr matrix = 0) = 0; 0060 virtual void showMultiImageDialog(QList<ObjectPtr> images) = 0; 0061 0062 //standard data objects 0063 virtual void showEquationDialog(ObjectPtr objectPtr = 0) = 0; 0064 0065 virtual void showHistogramDialog(ObjectPtr objectPtr = 0, VectorPtr vector = 0) = 0; 0066 0067 virtual void showPowerSpectrumDialog(ObjectPtr objectPtr = 0, VectorPtr vector = 0) = 0; 0068 0069 virtual void showCSDDialog(ObjectPtr objectPtr = 0, VectorPtr vector = 0) = 0; 0070 0071 virtual void showEventMonitorDialog(ObjectPtr objectPtr = 0) = 0; 0072 0073 //plugins 0074 virtual void showBasicPluginDialog(QString pluginName, ObjectPtr objectPtr = 0, VectorPtr vectorX = 0, VectorPtr vectorY = 0, PlotItemInterface *plotItem = 0) = 0; 0075 0076 //show appropriate dialog 0077 virtual void showObjectDialog(ObjectPtr objectPtr = 0) = 0; 0078 0079 virtual void showMultiObjectDialog(QList<ObjectPtr> names) = 0; 0080 0081 }; 0082 0083 } 0084 0085 #endif 0086 0087 // vim: ts=2 sw=2 et