void FiPage::deleteFi() { if(!mFi) return; int ret = QMessageBox::warning(this, tr("FI Page") , tr("\nDelete FI '%1 (%2)'?\t").arg(mFi->name()).arg(mFi->type()) , QMessageBox::Yes | QMessageBox::Cancel , QMessageBox::Cancel); if(ret != QMessageBox::Yes) return; mFilu->deleteRecord("fi", mFi->id()); // FIXME Add check if success/error after delete QString msg = tr("FI deleted: Id=%1 Name=%2 Type=%3") .arg(mFi->id()) .arg(mFi->name()) .arg(mFi->type()); emitMessage(FUNC, msg); record(FUNC, msg); mFiName->setText(""); mFiType->setCurrentIndex(-1); mExpiryDate->setText(""); delete mFi; mFi = 0; setSymbolTable(); mLookUp->setFocus(); mLookUp->search(); }
void FiPage::deleteSymbol() { if(!mSymbols) return; if(!mSymbolId) return; if(mSymbols->size() < 2) { emitMessage(FUNC, tr("I will not delete the one and only symbol"), eWarning); return; } int ret = QMessageBox::warning(this, tr("FI Page") , tr("\nDelete Symbol '%1 %2 %3'?\t") .arg(mSymbols->caption()) .arg(mSymbols->market()) .arg(mSymbols->owner()) , QMessageBox::Yes | QMessageBox::Cancel , QMessageBox::Cancel); if(ret != QMessageBox::Yes) return; mFilu->deleteRecord("symbol", mSymbols->id()); // FIXME Add check if success/error after delete QString msg = tr("Symbol deleted: Id=%1 Caption=%2 Market=%3 Owner=%4") .arg(mSymbols->id()) .arg(mSymbols->caption()) .arg(mSymbols->market()) .arg(mSymbols->owner()); emitMessage(FUNC, msg); record(FUNC, msg); setSymbolTable(); }
/** * \brief Entry point. * \param argc The number of input parameters. * \param argv The input parameters. */ int main(int argc, char *argv[]) { /* the resource manager must be initialized before any * further actions are implemented */ rm_init(&resource_mgr); if (process_options(argc, argv) == 1) { rm_cleanup_resources(&resource_mgr); exit(EXIT_FAILURE); } if (cc_options.print_only_errors != 1) { printf("Input: %s\n", cc_options.input_file); printf("Output: %s\n", cc_options.output_file); printf("IR: %s\n", cc_options.ir_file); } yyin = fopen(cc_options.input_file, "r"); if (!yyin) { fprintf(stderr, "Input file could not be opened for reading. Maybe, file does not exist?"); } else { setSymbolTable(createSymbol()); yyparse(); fclose(yyin); irCode_t* ircode = NULL; if (cc_options.ir_file != NULL) { FILE *irFile; irFile = fopen(cc_options.ir_file, "w+"); // Test symbolTable print_symTab(irFile); // get ir code and print it into irFile struct func_t *func, *tmp; HASH_ITER(hh, getSymbolTable()->symFunc, func, tmp) { if (func->symbol != NULL) { fprintf(irFile, "Function %s:\n", func->id); printIRCode(irFile, func->symbol->ircode); } } fclose(irFile); } yyout = fopen(cc_options.output_file, "w+"); if (!yyout) { fprintf(stderr, "Output file could not be opened for writing. Maybe, file does not exist?"); } else { int ret = mips32gen(yyout, ircode, getSymbolTable()); if (ret != 0) { fprintf(stderr, "Error generating mips32 code with code: %d\n", ret); } fclose(yyout); } }
void FiPage::saveSymbol() { if(!mSymbols) return; if(mSymbolId) { if(mSymbols->caption() == mSymbol->text() and mSymbols->market() == mMarket->currentText() and mSymbols->owner() == mProvider->currentText() ) { emitMessage(FUNC, tr("No changes to save")); return; } } int ret = mFilu->addSymbol(mSymbol->text(), mMarket->currentText(), mProvider->currentText() , mFi->id(), mSymbolId); if(sadFilu(FUNC, tr("Fail to save symbol"), eWarning)) return; mFilu->updateField("quality", Filu::ePlatinum, "symbol", ret); QString msg; if(mSymbolId) { msg = tr("Symbol updated: Id=%1\n" "\tFrom: Caption=%2 Market=%3 Owner=%4\n" "\tTo: Caption=%5 Market=%6 Owner=%7") .arg(mSymbolId) .arg(mSymbols->caption()) .arg(mSymbols->market()) .arg(mSymbols->owner()) .arg(mSymbol->text()) .arg(mMarket->currentText()) .arg(mProvider->currentText()); } else { mSymbolId = ret; msg = tr("Symbol added: Id=%1 Caption=%2 Market=%3 Owner=%4 FI=%5") .arg(mSymbolId) .arg(mSymbol->text()) .arg(mMarket->currentText()) .arg(mProvider->currentText()) .arg(mFi->name()); } emitMessage(FUNC, msg); record(FUNC, msg); setSymbolTable(mSymbolId); }
void FiPage::fiClicked(int fiId, int /* marketId */) { if(mFi) delete mFi; mFi = mFilu->getFi(fiId); mMainBox->setTitle(QString("%1 (%2 FiId:%3)").arg(mFi->name(), mFi->type()) .arg(mFi->id())); mFiType->clear(); mFiType->addItems(mFilu->getFiTypeNames()); mFiName->setText(mFi->name()); mFiType->setCurrentIndex(mFiType->findText(mFi->type())); mExpiryDate->setText(mFi->expiryDate().toString(Qt::ISODate)); setSymbolTable(); setSplitTable(); }
void JSSegmentedVariableObject::finishCreation(VM& vm) { Base::finishCreation(vm); setSymbolTable(vm, SymbolTable::create(vm)); }