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 #ifndef FORMULAEDIT_HPP 00023 #define FORMULAEDIT_HPP 00024 00025 #include <qstring.h> 00026 #include <qwidget.h> 00027 #include <qtextedit.h> 00028 #include <qlistbox.h> 00029 #include "Toolbar.h" 00030 #include "Config.h" 00031 00032 class FormulaEdit : public QWidget 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 00038 enum FormulaEditType 00039 { 00040 Indicator, 00041 Logic 00042 }; 00043 00044 FormulaEdit (QWidget *, int); 00045 ~FormulaEdit (); 00046 void setLine (QString &); 00047 void getText (QString &); 00048 int getLines (); 00049 void getVariableList (QStringList &, bool); 00050 00051 public slots: 00052 void editPlotItem (); 00053 void deletePlotItem (); 00054 void insertPlotItem (); 00055 void openRule (); 00056 void includeRule (); 00057 // void saveRule (); 00058 void slotDoubleClicked (QListBoxItem *); 00059 void functionDialog (); 00060 00061 protected: 00062 QTextEdit *formula; 00063 QListBox *plot; 00064 Toolbar *ftoolbar; 00065 Toolbar *ptoolbar; 00066 QStringList functionList; 00067 QStringList lineTypes; 00068 Config config; 00069 FormulaEditType type; 00070 QStringList formulaList; 00071 }; 00072 00073 #endif