void PP::formatDialog (QStringList &, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString ppl = QObject::tr("PP Level"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("PP Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; dialog->addTextItem(vnl, pl, s); dialog->addComboItem(ppl, pl, ppList, 0); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); dialog->getCombo(ppl, rs); } delete dialog; }
void SYMBOL::formatDialog (QStringList &, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString sl = QObject::tr("Symbol"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("SYMBOL Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; Config config; dialog->addTextItem(vnl, pl, s); config.getData(Config::DataPath, s); dialog->addSymbolItem(sl, pl, s, symbol); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); dialog->getSymbol(sl, rs); } delete dialog; }
int DbPlugin::ccPref () { int rc = 0; QString pl = QObject::tr("Parms"); QString gl = QObject::tr("Gapless"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("Edit CC")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s = "Adjustment"; QString s2; getData(s, s2); dialog->addCheckItem(gl, pl, s2.toInt()); int trc = dialog->exec(); if (trc == QDialog::Accepted) { s2 = QString::number(dialog->getCheck(gl)); setData(s, s2); rc = TRUE; } delete dialog; return rc; }
bool Spread::prefDialog (QString &fs, QString &ss) { QString pl = QObject::tr("Parms"); QString fsl = QObject::tr("First Symbol"); QString ssl = QObject::tr("Second Symbol"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("Edit Spread")); dialog->createPage (pl); dialog->setHelpFile(helpFile); Config config; QString s; config.getData(Config::DataPath, s); dialog->addSymbolItem(fsl, pl, s, fs); dialog->addSymbolItem(ssl, pl, s, ss); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getSymbol(fsl, fs); dialog->getSymbol(ssl, ss); delete dialog; return TRUE; } delete dialog; return FALSE; }
void VerticalLine::prefDialog () { QString pl = tr("Details"); QString cl = tr("Color"); QString sd = tr("Set Default"); PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Edit VerticalLine")); dialog->createPage (pl); dialog->setHelpFile (helpFile); dialog->addColorPrefItem(cl, pl, color); dialog->addCheckItem(sd, pl, FALSE); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, color); bool f = dialog->getCheck(sd); if (f) { defaultColor = color; saveDefaults(); } emit signalDraw(); } delete dialog; }
void FormulaEdit::editPlotItem () { QString s = plot->currentText(); if (! s.length()) return; s.remove(0, s.find("(", 0, TRUE) + 1); s.truncate(s.find(")", -1, TRUE)); QStringList l = QStringList::split(",", s, FALSE); int loop; for (loop = 0; loop < (int) l.count(); loop++) l[loop] = l[loop].stripWhiteSpace(); QString pl = tr("Plot"); QString cl = tr("Color"); QString ll = tr("Label"); QString ltl = tr("Line Type"); QString vl = tr("Variable"); PrefDialog *dialog = new PrefDialog(this); dialog->setCaption(tr("Edit Plot")); dialog->createPage (pl); s = "Var"; QStringList l2; getVariableList(l2, FALSE); dialog->addComboItem(vl, pl, l2, l[0]); QColor c(l[1]); dialog->addColorItem(cl, pl, c); dialog->addTextItem(ll, pl, l[2]); l2 = lineTypes; dialog->addComboItem(ltl, pl, l2, l[3]); int rc = dialog->exec(); if (rc != QDialog::Accepted) { delete dialog; return; } QString ts; s = "plot ("; dialog->getCombo(vl, ts); s.append(ts + ","); dialog->getColor(cl, c); s.append(c.name() + ","); dialog->getText(ll, ts); if (! ts.length()) ts = " "; s.append(ts + ","); dialog->getCombo(ltl, ts); s.append(ts + ")"); plot->changeItem(s, plot->currentItem()); delete dialog; }
void BARS::formatDialog (QStringList &, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); bool ok; method = QInputDialog::getItem(QObject::tr("BARS Method Selection"), QObject::tr("Select a method:"), methodList, 0, TRUE, &ok, 0); if (! ok) return; QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString cl = QObject::tr("Color"); QString rl = QObject::tr("Reversal"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("BARS Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; dialog->addTextItem(vnl, pl, s); if (! method.compare("HACandle")) dialog->addColorItem(cl, pl, candleColor); if (! method.compare("PF")) dialog->addIntItem(rl, pl, pfReversal); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); rs = method; if (! method.compare("HACandle")) { dialog->getColor(cl, candleColor); rs.append("," + candleColor.name()); } if (! method.compare("PF")) { pfReversal = dialog->getInt(rl); rs.append("," + QString::number(pfReversal)); } } delete dialog; }
int LOWPASS::indicatorPrefDialog (QWidget *w) { QString pl = QObject::tr("Parms"); QString cl = QObject::tr("Color"); QString ll = QObject::tr("Label"); QString ltl = QObject::tr("Line Type"); QString fl = QObject::tr("Freq"); QString wl = QObject::tr("Width"); QString il = QObject::tr("Input"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("LOWPASS Indicator")); dialog->createPage (pl); dialog->setHelpFile(helpFile); dialog->addColorItem(cl, pl, color); dialog->addTextItem(ll, pl, label); dialog->addComboItem(ltl, pl, lineTypes, lineType); dialog->addComboItem(il, pl, inputTypeList, input); dialog->addDoubleItem(fl, pl, freq, 0, 0.5); dialog->addDoubleItem(wl, pl, width, 0.0001, 0.2); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, color); lineType = (PlotLine::LineType) dialog->getComboIndex(ltl); dialog->getText(ll, label); input = (BarData::InputType) dialog->getComboIndex(il); freq = dialog->getDouble(fl); if (freq < 0.0) freq = 0.0; if (freq > 0.5) freq = 0.5; width = dialog->getDouble(wl); if (width < 0.0001) width = 0.0001; if (width > 0.2) width = 0.2; rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
void THERM::formatDialog (QStringList &, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString tl = QObject::tr("Threshold"); QString sl = QObject::tr("Smoothing"); QString stl = QObject::tr("Smoothing Type"); QString mpl = QObject::tr("MA Period"); QString mtl = QObject::tr("MA Type"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("THERM Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; QStringList l; getMATypes(l); dialog->addTextItem(vnl, pl, s); dialog->addComboItem(mtl, pl, l, maType); dialog->addIntItem(mpl, pl, maPeriod, 0, 99999999); dialog->addDoubleItem(tl, pl, threshold, 1, 99999999); dialog->addComboItem(stl, pl, l, smoothType); dialog->addIntItem(sl, pl, smoothing, 0, 99999999); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); dialog->getCombo(mtl, rs); int t = dialog->getInt(mpl); rs.append("," + QString::number(t)); double d = dialog->getDouble(tl); rs.append("," + QString::number(d)); dialog->getCombo(stl, s); rs.append("," + s); t = dialog->getInt(sl); rs.append("," + QString::number(t)); } delete dialog; }
int PP::indicatorPrefDialog (QWidget *w) { QString pl = QObject::tr("Support"); QString scl = QObject::tr("Support Color"); QString lfsl = QObject::tr("Label First Support"); QString lssl = QObject::tr("Label Second Support"); QString ltsl = QObject::tr("Label Third Support"); QString pl2 = QObject::tr("Resistance"); QString rcl = QObject::tr("Resistance Color"); QString lfrl = QObject::tr("Label First Resistance"); QString lsrl = QObject::tr("Label Second Resistance"); QString ltrl = QObject::tr("Label Third Resistance"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("PP Indicator")); dialog->setHelpFile(helpFile); dialog->createPage (pl); dialog->addColorItem(scl, pl, supColor); dialog->addTextItem(lfsl, pl, supLabel); dialog->addTextItem(lssl, pl, supLabel2); dialog->addTextItem(ltsl, pl, supLabel3); dialog->createPage (pl2); dialog->addColorItem(rcl, pl2, resColor); dialog->addTextItem(lfrl, pl2, resLabel); dialog->addTextItem(lsrl, pl2, resLabel2); dialog->addTextItem(ltrl, pl2, resLabel3); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(scl, supColor); dialog->getColor(rcl, resColor); dialog->getText(lfsl, supLabel); dialog->getText(lssl, supLabel2); dialog->getText(ltsl, supLabel3); dialog->getText(lfrl, resLabel); dialog->getText(lsrl, resLabel2); dialog->getText(ltrl, resLabel3); rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
void FormulaEdit::insertPlotItem () { QString pl = tr("Plot"); QString cl = tr("Color"); QString ll = tr("Label"); QString ltl = tr("Line Type"); QString vl = tr("Variable"); PrefDialog *dialog = new PrefDialog(this); dialog->setCaption(tr("Insert Plot")); dialog->createPage (pl); QString s("Var"); QStringList l; getVariableList(l, FALSE); dialog->addComboItem(vl, pl, l, 0); QColor c("red"); dialog->addColorItem(cl, pl, c); s = "Label"; dialog->addTextItem(ll, pl, s); dialog->addComboItem(ltl, pl, lineTypes, 4); int rc = dialog->exec(); if (rc != QDialog::Accepted) { delete dialog; return; } QString ts; s = "plot ("; dialog->getCombo(vl, ts); s.append(ts + ","); dialog->getColor(cl, c); s.append(c.name() + ","); dialog->getText(ll, ts); if (! ts.length()) ts = " "; s.append(ts + ","); dialog->getCombo(ltl, ts); s.append(ts + ")"); plot->insertItem(s, plot->currentItem() + 1); delete dialog; }
void IndexDialog::editItem () { QListViewItem *item = list->selectedItem(); if (! item) return; QString s = item->text(0); double weight = item->text(1).toFloat(); PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Edit Index Item")); QString pl = tr("Details"); dialog->createPage (pl); QString t = tr("Symbol"); Config config; QString t2; config.getData(Config::DataPath, t2); dialog->addSymbolItem(t, pl, t2, s); t = tr("Weight"); dialog->addDoubleItem(t, pl, weight); int rc = dialog->exec(); if (rc == QDialog::Accepted) { t = tr("Symbol"); dialog->getSymbol(t, s); if (! s.length()) { delete dialog; return; } t = tr("Weight"); weight = dialog->getDouble(t); symbolDict.remove(item->text(0)); QStringList l = QStringList::split("/", s, FALSE); symbolDict.insert(l[l.count() - 1], new QString(s)); item->setText(0, l[l.count() - 1]); item->setText(1, QString::number(weight)); buttonStatus(); } delete dialog; }
void Text::prefDialog () { QString pl = tr("Details"); QString cl = tr("Color"); QString sd = tr("Set Default"); QString fl = tr("Font"); QString ll = tr("Label"); QString vl = tr("Value"); PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Edit Text")); dialog->createPage (pl); dialog->setHelpFile (helpFile); dialog->addColorPrefItem(cl, pl, color); dialog->addFontItem(fl, pl, font); dialog->addTextItem(ll, pl, label); dialog->addDoubleItem(vl, pl, getValue()); dialog->addCheckItem(sd, pl, FALSE); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, color); dialog->getText(ll, label); dialog->getFont(fl, font); value = dialog->getDouble(vl); setSaveFlag(TRUE); bool f = dialog->getCheck(sd); if (f) { dialog->getColor(cl, defaultColor); dialog->getFont(fl, dfont); saveDefaults(); } emit signalDraw(); } delete dialog; }
void SellArrow::prefDialog () { QString pl = tr("Details"); QString cl = tr("Color"); QString vl = tr("Value"); QString il = tr("Identifier"); QString bl = tr("Price"); QString sd = tr("Set Default"); PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Edit SellArrow")); dialog->createPage (pl); dialog->setHelpFile (helpFile); dialog->addColorPrefItem(cl, pl, color); dialog->addDoubleItem(vl, pl, getValue()); dialog->addTextItem(il, pl, identifier); dialog->addTextItem(bl, pl, price); dialog->addCheckItem(sd, pl, FALSE); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, color); value = dialog->getDouble(vl); dialog->getText(il, identifier); dialog->getText(bl, price); setSaveFlag(TRUE); bool f = dialog->getCheck(sd); if (f) { defaultColor = color; saveDefaults(); } emit signalDraw(); } delete dialog; }
void IndexDialog::addItem () { double weight = 1; QString s; PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Add Index Item")); QString pl = tr("Details"); dialog->createPage (pl); QString t = tr("Symbol"); Config config; QString t2; config.getData(Config::DataPath, t2); dialog->addSymbolItem(t, pl, t2, s); t = tr("Weight"); dialog->addDoubleItem(t, pl, weight); int rc = dialog->exec(); if (rc == QDialog::Accepted) { t = tr("Symbol"); dialog->getSymbol(t, s); if (! s.length()) { delete dialog; return; } t = tr("Weight"); weight = dialog->getDouble(t); QStringList l = QStringList::split("/", s, FALSE); symbolDict.insert(l[l.count() - 1], new QString(s)); new QListViewItem(list, l[l.count() - 1], QString::number(weight)); buttonStatus(); } delete dialog; }
int DbPlugin::spreadPref () { int rc = 0; QString pl = QObject::tr("Parms"); QString fsl = QObject::tr("First Symbol"); QString ssl = QObject::tr("Second Symbol"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("Edit Spread")); dialog->createPage (pl); dialog->setHelpFile(helpFile); Config config; QString s, s3; config.getData(Config::DataPath, s); QString s2 = "FirstSymbol"; getData(s2, s3); dialog->addSymbolItem(fsl, pl, s, s3); s2 = "SecondSymbol"; getData(s2, s3); dialog->addSymbolItem(ssl, pl, s, s3); int trc = dialog->exec(); if (trc == QDialog::Accepted) { dialog->getSymbol(fsl, s); s2 = "FirstSymbol"; setData(s2, s); dialog->getSymbol(ssl, s); s2 = "SecondSymbol"; setData(s2, s); rc = TRUE; } delete dialog; return rc; }
void LOWPASS::formatDialog (QStringList &vl, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString fl = QObject::tr("Freq"); QString wl = QObject::tr("Width"); QString il = QObject::tr("Input"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("LOWPASS Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; dialog->addTextItem(vnl, pl, s); dialog->addComboItem(il, pl, vl, input); dialog->addDoubleItem(fl, pl, freq, 0, 0.5); dialog->addDoubleItem(wl, pl, width, 0.0001, 0.2); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); dialog->getCombo(il, s); rs.append(s + ","); double t = dialog->getDouble(fl); rs.append(QString::number(t) + ","); t = dialog->getDouble(wl); rs.append(QString::number(t)); } delete dialog; }
void HorizontalLine::prefDialog () { QString pl = tr("Details"); QString cl = tr("Color"); QString sd = tr("Set Default"); QString vl = tr("Value"); QString tx = tr("Text"); PrefDialog *dialog = new PrefDialog(); dialog->setCaption(tr("Edit HorizontalLine")); dialog->createPage (pl); dialog->setHelpFile (helpFile); dialog->addColorPrefItem(cl, pl, color); dialog->addDoubleItem(vl, pl, getValue()); dialog->addTextItem(tx, pl, text); //cz odkazy na objekty definovane nahore dialog->addCheckItem(sd, pl, FALSE); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, color); value = dialog->getDouble(vl); dialog->getText(tx, text); setSaveFlag(TRUE); bool f = dialog->getCheck(sd); if (f) { defaultColor = color; saveDefaults(); } emit signalDraw(); } delete dialog; }
int SINWAV::indicatorPrefDialog (QWidget *w) { QString pl = QObject::tr("Parms"); QString cl = QObject::tr("Sine Color"); QString c2 = QObject::tr("Lead Color"); QString ll = QObject::tr("Label"); QString ltl = QObject::tr("Sine Line Type"); QString lt2 = QObject::tr("Lead Line Type"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("SINWAV Indicator")); dialog->createPage (pl); dialog->setHelpFile(helpFile); dialog->addColorItem(cl, pl, colorSin); dialog->addComboItem(ltl, pl, lineTypes, lineTypeSin); dialog->addColorItem(c2, pl, colorLead); dialog->addComboItem(lt2, pl, lineTypes, lineTypeLead); dialog->addTextItem(ll, pl, labelSin); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cl, colorSin); dialog->getColor(c2, colorLead); lineTypeSin = (PlotLine::LineType) dialog->getComboIndex(ltl); lineTypeLead = (PlotLine::LineType) dialog->getComboIndex(lt2); dialog->getText(ll, labelSin); rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
int BARS::indicatorPrefDialog (QWidget *w) { bool newFlag = FALSE; if (! method.length()) newFlag = TRUE; if (newFlag) { bool ok; QString s = QInputDialog::getItem(QObject::tr("BARS type Selection"), QObject::tr("Select a bar type:"), methodList, 0, TRUE, &ok, w); if (ok) { method = s; label = method; } else return FALSE; } QString pl = QObject::tr("Parms"); QString ucl = QObject::tr("Up Color"); QString dcl = QObject::tr("Down Color"); QString ncl = QObject::tr("Neutral Color"); QString ccl = QObject::tr("Candle Color"); QString ll = QObject::tr("Label"); QString pfxcl = QObject::tr("X Color"); QString pfocl = QObject::tr("O Color"); QString pfrl = QObject::tr("Reversal"); QString pfbsl = QObject::tr("Box Size"); QString pfml = QObject::tr("Method"); QString pl2 = QObject::tr("MA"); QString macl = QObject::tr("MA Color"); QString mall = QObject::tr("MA Label"); QString maltl = QObject::tr("MA Line Type"); QString mapl = QObject::tr("MA Period"); QString matl = QObject::tr("MA Type"); QString mail = QObject::tr("MA Input"); QString pl3 = QObject::tr("MA2"); QString ma2cl = QObject::tr("MA2 Color"); QString ma2ll = QObject::tr("MA2 Label"); QString ma2ltl = QObject::tr("MA2 Line Type"); QString ma2pl = QObject::tr("MA2 Period"); QString ma2tl = QObject::tr("MA2 Type"); QString ma2il = QObject::tr("MA2 Input"); QString pl4 = QObject::tr("MA3"); QString ma3cl = QObject::tr("MA3 Color"); QString ma3ll = QObject::tr("MA3 Label"); QString ma3ltl = QObject::tr("MA3 Line Type"); QString ma3pl = QObject::tr("MA3 Period"); QString ma3tl = QObject::tr("MA3 Type"); QString ma3il = QObject::tr("MA3 Input"); QString pl5 = QObject::tr("MA4"); QString ma4cl = QObject::tr("MA4 Color"); QString ma4ll = QObject::tr("MA4 Label"); QString ma4ltl = QObject::tr("MA4 Line Type"); QString ma4pl = QObject::tr("MA4 Period"); QString ma4tl = QObject::tr("MA4 Type"); QString ma4il = QObject::tr("MA4 Input"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("BARS Indicator")); dialog->createPage (pl); dialog->setHelpFile(helpFile); if (! method.compare("OHLC")) { dialog->setCaption(QObject::tr("OHLC Bars")); dialog->addColorItem(ucl, pl, barUpColor); dialog->addColorItem(dcl, pl, barDownColor); dialog->addColorItem(ncl, pl, barNeutralColor); } if (! method.compare("Candle")) { dialog->setCaption(QObject::tr("Japanese Candlesticks")); dialog->addColorItem(ucl, pl, barUpColor); dialog->addColorItem(dcl, pl, barDownColor); dialog->addColorItem(ncl, pl, barNeutralColor); } if (! method.compare("HACandle")) { dialog->setCaption(QObject::tr("Heiken Ashi Candlesticks")); dialog->addColorItem(ucl, pl, barUpColor); dialog->addColorItem(dcl, pl, barDownColor); dialog->addColorItem(ncl, pl, barNeutralColor); } if (! method.compare("PF")) { dialog->setCaption(QObject::tr("P&F Indicator")); QStringList l; l.append(QObject::tr("Default")); l.append(QObject::tr("Custom")); dialog->addComboItem(pfml, pl, l, pfMethod); dialog->addColorItem(pfxcl, pl, pfXColor); dialog->addColorItem(pfocl, pl, pfOColor); double bs = pfBoxSize; int rv = pfReversal; if (! pfMethod.compare(QObject::tr("Custom"))) { QString s; Config config; config.getData(Config::CurrentChart, s); QFileInfo fi(s); s = fi.fileName(); DBBase db; if (! db.open(dbPath)) { QString s2; db.getData(s, s2); if (s2.length()) { QStringList l = QStringList::split(",", s2, FALSE); bs = l[0].toDouble(); rv = l[1].toInt(); } db.close(); } } dialog->addDoubleItem(pfbsl, pl, bs, 0.0001, 999999.0); dialog->addIntItem(pfrl, pl, rv, 1, 99); } dialog->addTextItem(ll, pl, label); QStringList mal; getMATypes(mal); if (! method.compare("OHLC") || ! method.compare("Candle") || ! method.compare("HACandle")) { dialog->createPage (pl2); dialog->addColorItem(macl, pl2, maColor); dialog->addTextItem(mall, pl2, maLabel); dialog->addComboItem(maltl, pl2, lineTypes, maLineType); dialog->addComboItem(matl, pl2, mal, maType); dialog->addIntItem(mapl, pl2, maPeriod, 1, 999999); dialog->addComboItem(mail, pl2, inputTypeList, maInput); dialog->createPage (pl3); dialog->addColorItem(ma2cl, pl3, maColor2); dialog->addTextItem(ma2ll, pl3, maLabel2); dialog->addComboItem(ma2ltl, pl3, lineTypes, maLineType2); dialog->addComboItem(ma2tl, pl3, mal, maType2); dialog->addIntItem(ma2pl, pl3, maPeriod2, 1, 999999); dialog->addComboItem(ma2il, pl3, inputTypeList, maInput2); dialog->createPage (pl4); dialog->addColorItem(ma3cl, pl4, maColor3); dialog->addTextItem(ma3ll, pl4, maLabel3); dialog->addComboItem(ma3ltl, pl4, lineTypes, maLineType3); dialog->addComboItem(ma3tl, pl4, mal, maType3); dialog->addIntItem(ma3pl, pl4, maPeriod3, 1, 999999); dialog->addComboItem(ma3il, pl4, inputTypeList, maInput3); dialog->createPage (pl5); dialog->addColorItem(ma4cl, pl5, maColor4); dialog->addTextItem(ma4ll, pl5, maLabel4); dialog->addComboItem(ma4ltl, pl5, lineTypes, maLineType4); dialog->addComboItem(ma4tl, pl5, mal, maType4); dialog->addIntItem(ma4pl, pl5, maPeriod4, 1, 999999); dialog->addComboItem(ma4il, pl5, inputTypeList, maInput4); } int rc = dialog->exec(); if (rc == QDialog::Accepted) { if (! method.compare("OHLC")) { dialog->getColor(ucl, barUpColor); dialog->getColor(dcl, barDownColor); dialog->getColor(ncl, barNeutralColor); lineType = PlotLine::Bar; } if (! method.compare("Candle") || ! method.compare("HACandle")) { dialog->getColor(ucl, barUpColor); dialog->getColor(dcl, barDownColor); dialog->getColor(ncl, barNeutralColor); lineType = PlotLine::Candle; } if (! method.compare("PF")) { dialog->getCombo(pfml, pfMethod); dialog->getColor(pfxcl, pfXColor); dialog->getColor(pfocl, pfOColor); pfReversal = dialog->getInt(pfrl); if (! pfMethod.compare(QObject::tr("Custom")) && data) { double d = dialog->getDouble(pfbsl); QString s; Config config; config.getData(Config::CurrentChart, s); QFileInfo fi(s); s = fi.fileName(); DBBase db; if (! db.open(dbPath)) { QString s2 = QString::number(d) + "," + QString::number(pfReversal); db.setData(s, s2); db.close(); } } lineType = PlotLine::PF; } dialog->getText(ll, label); if (! method.compare("OHLC") || ! method.compare("Candle") || ! method.compare("HACandle")) { dialog->getColor(macl, maColor); maLineType = (PlotLine::LineType) dialog->getComboIndex(maltl); maPeriod = dialog->getInt(mapl); dialog->getText(mall, maLabel); maType = dialog->getComboIndex(matl); maInput = (BarData::InputType) dialog->getComboIndex(mail); dialog->getColor(ma2cl, maColor2); maLineType2 = (PlotLine::LineType) dialog->getComboIndex(ma2ltl); maPeriod2 = dialog->getInt(ma2pl); dialog->getText(ma2ll, maLabel2); maType2 = dialog->getComboIndex(ma2tl); maInput2 = (BarData::InputType) dialog->getComboIndex(ma2il); dialog->getColor(ma3cl, maColor3); maLineType3 = (PlotLine::LineType) dialog->getComboIndex(ma3ltl); maPeriod3 = dialog->getInt(ma3pl); dialog->getText(ma3ll, maLabel3); maType3 = dialog->getComboIndex(ma3tl); maInput3 = (BarData::InputType) dialog->getComboIndex(ma3il); dialog->getColor(ma4cl, maColor4); maLineType4 = (PlotLine::LineType) dialog->getComboIndex(ma4ltl); maPeriod4 = dialog->getInt(ma4pl); dialog->getText(ma4ll, maLabel4); maType4 = dialog->getComboIndex(ma4tl); maInput4 = (BarData::InputType) dialog->getComboIndex(ma4il); } rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
int THERM::indicatorPrefDialog (QWidget *w) { QString pl = QObject::tr("THERM Parms"); QString pl2 = QObject::tr("MA Parms"); QString cal = QObject::tr("Color Above MA"); QString cbl = QObject::tr("Color Below MA"); QString ctl = QObject::tr("Color Threshold"); QString ll = QObject::tr("Label"); QString tl = QObject::tr("Threshold"); QString sl = QObject::tr("Smoothing"); QString stl = QObject::tr("Smoothing Type"); QString mcl = QObject::tr("MA Color"); QString mltl = QObject::tr("MA Line Type"); QString mll = QObject::tr("MA Label"); QString mpl = QObject::tr("MA Period"); QString mtl = QObject::tr("MA Type"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("THERM Indicator")); dialog->setHelpFile(helpFile); dialog->createPage (pl); dialog->addColorItem(cal, pl, upColor); dialog->addColorItem(cbl, pl, downColor); dialog->addColorItem(ctl, pl, threshColor); dialog->addTextItem(ll, pl, label); dialog->addDoubleItem(tl, pl, threshold, 1, 99999999); dialog->addIntItem(sl, pl, smoothing, 0, 99999999); QStringList l; getMATypes(l); dialog->addComboItem(stl, pl, l, smoothType); dialog->createPage (pl2); dialog->addColorItem(mcl, pl2, maColor); dialog->addComboItem(mltl, pl2, lineTypes, maLineType); dialog->addTextItem(mll, pl2, maLabel); dialog->addIntItem(mpl, pl2, maPeriod, 0, 99999999); dialog->addComboItem(mtl, pl2, l, maType); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getColor(cal, upColor); dialog->getColor(cbl, downColor); dialog->getColor(ctl, threshColor); dialog->getText(ll, label); threshold = dialog->getDouble(tl); smoothing = dialog->getInt(sl); smoothType = dialog->getComboIndex(stl); dialog->getColor(mcl, maColor); maLineType = (PlotLine::LineType) dialog->getComboIndex(mltl); dialog->getText(mll, maLabel); maPeriod = dialog->getInt(mpl); maType = dialog->getComboIndex(mtl); rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
bool DbPlugin::createNewCC (DBIndex *i) { FuturesData fd; QStringList l; fd.getSymbolList(l); QString pl = QObject::tr("Parms"); QString fsl = QObject::tr("Futures Symbol"); QString gl = QObject::tr("Gapless"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("New CC")); dialog->createPage (pl); dialog->setHelpFile(helpFile); dialog->addComboItem(fsl, pl, l, 0); dialog->addCheckItem(gl, pl, TRUE); int rc = dialog->exec(); if (rc != QDialog::Accepted) { delete dialog; return TRUE; } QString sym; dialog->getCombo(fsl, sym); bool f = dialog->getCheck(gl); delete dialog; QDir dir; Config config; QString s; config.getData(Config::DataPath, s); s.append("/CC"); if (! dir.exists(s)) { if (! dir.mkdir(s, TRUE)) { QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("Could not create ~/.qtstalker/data/CC directory.")); return TRUE; } } DBIndexItem item; QString ts; chartIndex->getIndexItem(sym, item); item.getSymbol(ts); if (ts.length()) { qDebug("DbPlugin::createNewStock: duplicate symbol %s", ts.latin1()); return TRUE; } s.append("/" + sym); if (open(s, i)) { QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("Disk error, cannot create chart")); return TRUE; } type = CC1; item.setSymbol(sym); s = "CC"; item.setType(s); s = sym + " - " + QObject::tr("Continuous Adjusted"); item.setTitle(s); chartIndex->setIndexItem(indexKey, item); s = QString::number(f); sym = "Adjustment"; setData(sym, s); return FALSE; }
void TALIB::formatDialog (QStringList &vl, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); const TA_FuncHandle *handle; const TA_FuncInfo *theInfo; // open a TALIB handle TA_RetCode retCode = TA_GetFuncHandle(formatMethod, &handle); if (retCode != TA_SUCCESS) { qDebug("TALIB::getFormatList:can't open handle"); return; } // get info on the function retCode = TA_GetFuncInfo(handle, &theInfo); if (retCode != TA_SUCCESS) { qDebug("TALIB::getFormatList:can't get function info"); return; } QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("TALIB Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; dialog->addTextItem(vnl, pl, s); // check for any array inputs const TA_InputParameterInfo *inputParms; int loop; for (loop = 0; loop < (int) theInfo->nbInput; loop++ ) { s = QObject::tr("Input") + QString::number(loop + 1); TA_GetInputParameterInfo(theInfo->handle, loop, &inputParms); switch (inputParms->type) { case TA_Input_Real: dialog->addComboItem(s, pl, vl, (int) BarData::Close); break; default: break; } } QStringList mal; getMATypes(mal); mal.remove("Wilder"); // get the input parms const TA_OptInputParameterInfo *optInfo; for (loop = 0; loop < (int) theInfo->nbOptInput; loop++ ) { TA_GetOptInputParameterInfo(theInfo->handle, loop, &optInfo); s = optInfo->displayName; switch (optInfo->type) { case TA_OptInput_RealRange: dialog->addDoubleItem(s, pl, (double) optInfo->defaultValue, 0, 99999999); break; case TA_OptInput_IntegerRange: dialog->addIntItem(s, pl, (int) optInfo->defaultValue, 1, 999999); break; case TA_OptInput_IntegerList: dialog->addComboItem(s, pl, mal, (int) optInfo->defaultValue); break; case TA_OptInput_RealList: break; default: break; } } if (theInfo->nbOutput > 1) { s = "Plot"; dialog->addIntItem(s, pl, 1, 1, theInfo->nbOutput); } int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); rs = formatMethod; QString ts; for (loop = 0; loop < (int) theInfo->nbInput; loop++ ) { s = QObject::tr("Input") + QString::number(loop + 1); TA_GetInputParameterInfo(theInfo->handle, loop, &inputParms); switch (inputParms->type) { case TA_Input_Real: dialog->getCombo(s, ts); rs.append("," + ts); break; default: break; } } double d = 0; int t = 0; for (loop = 0; loop < (int) theInfo->nbOptInput; loop++ ) { TA_GetOptInputParameterInfo(theInfo->handle, loop, &optInfo); s = optInfo->displayName; switch (optInfo->type) { case TA_OptInput_RealRange: d = dialog->getDouble(s); rs.append("," + QString::number(d)); break; case TA_OptInput_IntegerRange: t = dialog->getInt(s); rs.append("," + QString::number(t)); break; case TA_OptInput_IntegerList: dialog->getCombo(s, ts); rs.append("," + ts); break; case TA_OptInput_RealList: break; default: break; } } if (theInfo->nbOutput > 1) { s = "Plot"; t = dialog->getInt(s); rs.append("," + QString::number(t)); } } delete dialog; }
int TALIB::indicatorPrefDialog (QWidget *w) { const TA_FuncHandle *handle; const TA_FuncInfo *theInfo; // open a TALIB handle QString ts = "method"; QString ts2; parms.getData(ts, ts2); TA_RetCode retCode = TA_GetFuncHandle(ts2, &handle); if (retCode != TA_SUCCESS) { qDebug("TALIB::indicatorPrefDialog:can't open handle"); return FALSE; } // get info on the function retCode = TA_GetFuncInfo(handle, &theInfo); if (retCode != TA_SUCCESS) { qDebug("TALIB::indicatorPrefDialog:can't get function info"); return FALSE; } QString pl = QObject::tr("Parms"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("TALIB Indicator")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QStringList mal; getMATypes(mal); mal.remove("Wilder"); // get the input parms const TA_OptInputParameterInfo *optInfo; int loop; for (loop = 0; loop < (int) theInfo->nbOptInput; loop++ ) { TA_GetOptInputParameterInfo(theInfo->handle, loop, &optInfo); QString s = optInfo->displayName; switch (optInfo->type) { case TA_OptInput_RealRange: parms.getData(s, ts); if (! ts.length()) { dialog->addDoubleItem(s, pl, (double) optInfo->defaultValue, 0, 99999999); ts = QString::number((double) optInfo->defaultValue); parms.setData(s, ts); } else dialog->addDoubleItem(s, pl, parms.getDouble(s), 0, 99999999); break; case TA_OptInput_IntegerRange: parms.getData(s, ts); if (! ts.length()) { dialog->addIntItem(s, pl, (int) optInfo->defaultValue, 1, 999999); ts = QString::number((int) optInfo->defaultValue); parms.setData(s, ts); } else dialog->addIntItem(s, pl, parms.getInt(s), 1, 999999); break; case TA_OptInput_IntegerList: parms.getData(s, ts); if (! ts.length()) { dialog->addComboItem(s, pl, mal, (int) optInfo->defaultValue); ts = QString::number((int) optInfo->defaultValue); parms.setData(s, ts); } else dialog->addComboItem(s, pl, mal, parms.getInt(s)); break; case TA_OptInput_RealList: break; default: break; } } // check for any array inputs const TA_InputParameterInfo *inputParms; for (loop = 0; loop < (int) theInfo->nbInput; loop++ ) { QString s = QObject::tr("input") + QString::number(loop + 1); TA_GetInputParameterInfo(theInfo->handle, loop, &inputParms); switch (inputParms->type) { case TA_Input_Real: parms.getData(s, ts); if (! ts.length()) { dialog->addComboItem(s, pl, inputTypeList, (int) BarData::Close); ts = QString::number(BarData::Close); parms.setData(s, ts); } else dialog->addComboItem(s, pl, inputTypeList, parms.getInt(s)); break; default: break; } } // setup the output plots const TA_OutputParameterInfo *outInfo; for (loop = 0; loop < (int) theInfo->nbOutput; loop++ ) { TA_GetOutputParameterInfo(theInfo->handle, loop, &outInfo); pl = outInfo->paramName; pl = pl.right(pl.length() - 3); if (! pl.left(4).compare("Real")) pl = pl.right(pl.length() - 4); if (! pl.left(7).compare("Integer")) pl = pl.right(pl.length() - 7); if (! pl.length()) pl = QObject::tr("Plot"); dialog->createPage (pl); QString s = pl + " " + QObject::tr("Color"); QColor color; if (loop == 0) color.setNamedColor("red"); else { if (loop == 1) color.setNamedColor("yellow"); else color.setNamedColor("blue"); } parms.getData(s, ts); if (! ts.length()) { dialog->addColorItem(s, pl, color); ts = color.name(); parms.setData(s, ts); } else { parms.getData(s, ts); color.setNamedColor(ts); dialog->addColorItem(s, pl, color); } s = pl + " " + QObject::tr("Label"); parms.getData(s, ts); if (! ts.length()) { dialog->addTextItem(s, pl, pl); parms.setData(s, pl); } else { parms.getData(s, ts); dialog->addTextItem(s, pl, ts); } s = pl + " " + QObject::tr("Line Type"); parms.getData(s, ts); if (! ts.length()) { switch (outInfo->flags) { case TA_OUT_DOT_LINE: ts = QString::number(PlotLine::Dot); break; case TA_OUT_DASH_LINE: ts = QString::number(PlotLine::Dash); break; case TA_OUT_HISTO: ts = QString::number(PlotLine::Histogram); break; default: ts = QString::number(PlotLine::Line); break; } dialog->addComboItem(s, pl, lineTypes, ts.toInt()); parms.setData(s, ts); } else dialog->addComboItem(s, pl, lineTypes, parms.getInt(s)); } int rc = dialog->exec(); if (rc == QDialog::Accepted) { QStringList l; parms.getKeyList(l); int loop; for (loop = 0; loop < (int) l.count(); loop++) { QString s; dialog->getItem(l[loop], s); if (s.length()) parms.setData(l[loop], s); } rc = TRUE; } else rc = FALSE; delete dialog; return rc; }
void ExScript::formatDialog (QStringList &, QString &rv, QString &rs) { rs.truncate(0); rv.truncate(0); QString pl = QObject::tr("Parms"); QString vnl = QObject::tr("Variable Name"); QString spl = QObject::tr("Script Path"); QString clsl = QObject::tr("Switches"); QString dl = QObject::tr("Date"); QString ol = QObject::tr("Open"); QString hl = QObject::tr("High"); QString lol = QObject::tr("Low"); QString cll = QObject::tr("Close"); QString vl = QObject::tr("Volume"); QString oil = QObject::tr("Open Interest"); PrefDialog *dialog = new PrefDialog(0); dialog->setCaption(QObject::tr("ExScript Format")); dialog->createPage (pl); dialog->setHelpFile(helpFile); QString s; dialog->addTextItem(vnl, pl, s); QStringList l; dialog->addFileItem(spl, pl, l, scriptPath); dialog->addTextItem(clsl, pl, comlineParms); dialog->addCheckItem(dl, pl, dateFlag); dialog->addCheckItem(ol, pl, openFlag); dialog->addCheckItem(hl, pl, highFlag); dialog->addCheckItem(lol, pl, lowFlag); dialog->addCheckItem(cll, pl, closeFlag); dialog->addCheckItem(vl, pl, volumeFlag); dialog->addCheckItem(oil, pl, oiFlag); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getText(vnl, rv); dialog->getFile(spl, l); if (l.count()) rs = l[0]; dialog->getText(clsl, comlineParms); rs.append("," + comlineParms); bool t = dialog->getCheck(dl); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(ol); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(hl); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(lol); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(cll); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(vl); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); t = dialog->getCheck(oil); if (t) rs.append(",TRUE"); else rs.append(",FALSE"); } delete dialog; }
int ExScript::indicatorPrefDialog (QWidget *w) { QString pl2 = QObject::tr("Output"); QString cl = QObject::tr("Color"); QString ll = QObject::tr("Label"); QString ltl = QObject::tr("Line Type"); QString spl = QObject::tr("Script Path"); QString clsl = QObject::tr("Switches"); QString pl = QObject::tr("Input"); QString dl = QObject::tr("Date"); QString ol = QObject::tr("Open"); QString hl = QObject::tr("High"); QString lol = QObject::tr("Low"); QString cll = QObject::tr("Close"); QString vl = QObject::tr("Volume"); QString oil = QObject::tr("Open Interest"); QString tol = QObject::tr("Timeout Seconds"); PrefDialog *dialog = new PrefDialog(w); dialog->setCaption(QObject::tr("ExScript Indicator")); dialog->setHelpFile(helpFile); dialog->createPage (pl); QStringList l; l.append(scriptPath); dialog->addFileItem(spl, pl, l, scriptPath); dialog->addTextItem(clsl, pl, comlineParms); dialog->addIntItem(tol, pl, seconds, 1, 999); dialog->addCheckItem(dl, pl, dateFlag); dialog->addCheckItem(ol, pl, openFlag); dialog->addCheckItem(hl, pl, highFlag); dialog->addCheckItem(lol, pl, lowFlag); dialog->addCheckItem(cll, pl, closeFlag); dialog->addCheckItem(vl, pl, volumeFlag); dialog->addCheckItem(oil, pl, oiFlag); dialog->createPage(pl2); dialog->addColorItem(cl, pl2, color); dialog->addTextItem(ll, pl2, label); dialog->addComboItem(ltl, pl2, lineTypes, lineType); int rc = dialog->exec(); if (rc == QDialog::Accepted) { dialog->getFile(spl, l); if (l.count()) scriptPath = l[0]; dialog->getText(clsl, comlineParms); seconds = dialog->getInt(tol); dateFlag = dialog->getCheck(dl); openFlag = dialog->getCheck(ol); highFlag = dialog->getCheck(hl); lowFlag = dialog->getCheck(lol); closeFlag = dialog->getCheck(cll); volumeFlag = dialog->getCheck(vl); oiFlag = dialog->getCheck(oil); dialog->getColor(cl, color); dialog->getText(ll, label); lineType = (PlotLine::LineType) dialog->getComboIndex(ltl); rc = TRUE; } else rc = FALSE; delete dialog; return rc; }