StocksDialog::StocksDialog (QString p, DbPlugin *d, DBIndex *i) : Q3TabDialog (0, "StocksDialog", TRUE)
{
    helpFile = p;
    db = d;
    index = i;
    reloadFlag = FALSE;
    currentDate = QDateTime::currentDateTime();

    setCaption(tr("Qtstalker: Edit Stock"));

    QString s;
    d->getSymbol(s);
    QFileInfo fi(s);
    symbol = fi.fileName();

    createDetailsPage();
    createDataPage();
    createFundamentalsPage();
    createSplitPage();

    setOkButton(tr("&OK"));
    setCancelButton(tr("&Cancel"));
    connect(this, SIGNAL(applyButtonPressed()), this, SLOT(saveChart()));

    setHelpButton();
    QObject::connect(this, SIGNAL(helpButtonPressed()), this, SLOT(help()));

    RcFile rcfile;
    QSize sz;
    rcfile.loadSize(RcFile::EditStockWindowSize, sz);
    resize(sz);
}
Exemple #2
0
int DirPage::insertRecords(RecordSet* rs, int s){
	//return number of records inserted.
	int start = 0;
	long dpNum;//DataPage Num.
	int recLen;
	DataPage* dp;
	int sid,i = 0;
	int n = rs->getNumOfRecords();

	vector<Record*> rec = rs->getAllRecords();
	int *attrType = rs->getAttrType();

	char *recStr;

	for(i=s;i<n;i++){
		recLen = rec[i]->getSize();
		dpNum = findNextPartialPage(start,recLen);//find the first partial page
		if(dpNum == -1){
			//no sufficient page.
			//try to create new DP and add it,vector<DirEntry*> dirEntries to DE.
			if(DEcount < MAX_DE ){
				//create new DataPage.
				dp = createDataPage();
				start = DEcount - 1;
			}else{
				//further insertion not possible
				error("@DirPage Insertion : DirPage Full.");
				//return the number of records inserted.
				writeToPage();
				return i - s;
			}
		}else{
			dp = new DataPage(dirEntries[dpNum]->getPageID());
			start = dpNum;
		}
		recStr = rec[i]->toRecordString(attrType);
		sid = dp->insertRecord(recStr,rec[i]->getSize());
		delete[] recStr;
		if(sid!=-1){
			//successful insertion
			//update dirPage entries.
			lg("@DirPage Insertion: Record "<<i<<" - inserted in DataPage "<<dp->getPageid());

			dirEntries[start]->setTFS(dp->getTotalFreeSize());
			dirEntries[start]->writeDE(p,start);
			start = 0;//check from first again for next record.
			updateMaximumSpaceParam();
		}else{
			error("@DirPage Insertion : DataPage "<<dp->getPageid()<<" is full. Retrying next Page in DE");
			//insertion error
			//retry the insertion here again to select a diff DP.
			i--;//so the same record will be referenced again
			start++;//search from next page!
		}
		if(dp!=NULL) delete dp;
	}
	writeToPage();
	return i - s;
}
FuturesDialog::FuturesDialog (QString p, DbPlugin *d, DBIndex *i) : Q3TabDialog (0, "FuturesDialog", TRUE)
{
  helpFile = p;
  db = d;
  index = i;
  reloadFlag = FALSE;
  currentDate = QDateTime::currentDateTime();

  setCaption(tr("Qtstalker: Edit Futures"));

  QString s;
  d->getSymbol(s);
  QFileInfo fi(s);
  symbol = fi.fileName();

  createDetailsPage();
  createDataPage();

  setOkButton(tr("&OK"));
  setCancelButton(tr("&Cancel"));
  connect(this, SIGNAL(applyButtonPressed()), this, SLOT(saveChart()));
  setHelpButton();
  QObject::connect(this, SIGNAL(helpButtonPressed()), this, SLOT(help()));
}