00001 /* 00002 * Qtstalker stock charter 00003 * 00004 * Copyright (C) 2001-2007 Stefan S. Stratigakos 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00019 * USA. 00020 */ 00021 00022 #include "IndicatorPlugin.h" 00023 #include <qptrlist.h> 00024 00025 class SINWAV : public IndicatorPlugin 00026 { 00027 public: 00028 SINWAV (); 00029 virtual ~SINWAV (); 00030 Indicator * calculate (); 00031 int indicatorPrefDialog (QWidget *); 00032 void setDefaults(); 00033 PlotLine * calculateCustom (QString &, QPtrList<PlotLine> &); 00034 void getIndicatorSettings (Setting &); 00035 void setIndicatorSettings (Setting &); 00036 void formatDialog (QStringList &vl, QString &rv, QString &rs); 00037 void getSINWAV(QPtrList<PlotLine> &); 00038 00039 private: 00040 QColor colorSin; 00041 QColor colorLead; 00042 PlotLine::LineType lineTypeSin; 00043 PlotLine::LineType lineTypeLead; 00044 QString labelSin; 00045 QString labelLead; 00046 00047 PlotLine *getOffset( PlotLine *inSig, int offset ); 00048 PlotLine *getDetrend( PlotLine *inSig ); 00049 PlotLine *getSmooth( PlotLine *inSig ); 00050 00051 QString colorSinLabel; 00052 QString colorLeadLabel; 00053 QString labelSinLabel; 00054 QString labelLeadLabel; 00055 QString lineTypeSinLabel; 00056 QString lineTypeLeadLabel; 00057 QString pluginLabel; 00058 }; 00059