bool ProjectManagerXML::Save() { bool ret = false; wxXmlDocument xml_doc; if (named) { LogIt("Preparing to write...\n"); wxStopWatch sw; writeHeader(xml_doc); writeDasmData(xml_doc); writeCodeLine(xml_doc); writeLabel(xml_doc, process->prog_labels, SECTION_PROGRAMLABEL_STR); writeLabel(xml_doc, process->var_labels, SECTION_VARLABEL_STR); writeLabel(xml_doc, process->io_labels, SECTION_IOLABEL_STR); writeLabel(xml_doc, process->constant_labels, SECTION_CONSTANTLABEL_STR); writeFileProperties(xml_doc); LogIt(wxString::Format("It took %dms...\n", sw.Time())); LogIt("Now saving...\n"); sw.Start(0); ret = xml_doc.Save(project_filename, 4); LogIt(wxString::Format("It took %dms...\n", sw.Time())); } else ret = false; return ret; }
static void startMath(int nsub, int* prtclNum,int ncalc) { outputLanguage='M'; initvararray(nsub,outputLanguage,3); outFileOpen("%sresults%csymb%d.m",pathtouser,f_slash,nsub); writeF("(*\n"); writeLabel(' '); writeprocessname(prtclNum); writeF("*)\n"); writeparameters(nsub); writeF("\n"); emitprocessname(prtclNum); writeF("\n"); writeF("SetAttributes[ SC, Orderless ];\n"); writeF("\n"); writeF("SC[ a_ , b_ + c_ ] := SC[a,b]+SC[a,c];\n"); writeF("\n"); writeF("SC[ x_?NumberQ * a_ , b_ ] := x * SC[ a, b ]\n"); writeF("\n"); writeF("\n"); emitconvlow(prtclNum); writeF("\ninitSum;\n"); }
void makeghostdiagr(int dnum,char * fname) {csdiagram csd; hlpcsptr gstlist, c; vcsect vcs_copy; FILE * diagrq; diagrq=fopen(DIAGRQ_NAME,"rb"); fseek(diagrq,dnum*sizeof(csdiagram),SEEK_SET); FREAD1(csd,diagrq); { outFileOpen(fname); writeLabel('%'); transfdiagr(&csd,&vcs); cwtarg(&vcs); if (vcs.clrnum == 0) writeF("Color weight equal zero \n"); else { generateghosts(&vcs,&gstlist); if (gstlist == NULL) { writeF( "Diagrams of this type are absent\n"); csd.status = 2; fseek(diagrq,dnum*sizeof(csdiagram),SEEK_SET); FWRITE1(csd,diagrq); } else { emitfactors(); c = gstlist; vcs_copy = vcs; writeF(" total number diagrams of this type is %u\n",c->maxnum); while (c != NULL) { coloringvcs(c); { writeF(" diagrams number = %u\n",c->num); DiagramToOutFile(&vcs,0,' '); } writeF(" GhostFact:=%d$\n",c->sgn); vcs = vcs_copy; c = c->next; } } eraseghosts(gstlist); vcs = vcs_copy; } writeF("End$\n"); outFileClose(); if (escpressed()) goto exi; } exi: fclose(diagrq); }
void Reader::save(QTextStream &s) { GuiWsItem<Ui::UnstructuredGridReaderConfig>::save(s); if (!m_Formats.isEmpty()) { s << m_Formats.replace(' ', '~') << "\n"; } else { s << "N/A\n"; } writeLineEdit(s, m_Dlg.ui.name_edit); writeLabel(s,m_Dlg.ui.file_label); }
int GFFFile::writeList(uint32 &n, uint32 sct, std::string lbl) { if(sct >= structs.size()) return errcode = 17; lists.resize((n=lists.size())+1); structs[sct].types.push_back(NWN_VAR_LIST); structs[sct].values.push_back((uint64) n); if(lbl == "") structs[sct].labels.push_back((std::string *) -1); else if(writeLabel(sct, lbl)) return errcode; fieldcount++; return errcode = 0; }
int GFFFile::writeExoString(uint32 sct, std::string lbl, std::string value) { if(sct >= structs.size()) return errcode = 17; structs[sct].types.push_back(NWN_VAR_EXOSTR); if(writeLabel(sct, lbl)) return errcode; exostrs.push_back(value); structs[sct].values.push_back((uint64) (exostrs.size()-1)); fieldcount++; fielddatasize += value.length()+4; return errcode = 0; }
//Maindow destructor Tracker::~Tracker() { // QDir currentDir; // QString path = currentDir.currentPath(); // QString filePathE = path + "/../../../expense_data.csv"; // QString filePathI = path + "/../../../income_data.csv"; // QString filePathEL = path + "/../../../expense_labels.txt"; // QString filePathIL = path + "/../../../income_labels.txt"; // QString filePathE = path + "/expense_data.csv"; // QString filePathI = path + "/income_data.csv"; // QString filePathEL = path + "/expense_labels.txt"; // QString filePathIL = path + "/income_labels.txt"; // QString filePathB = path + "/budget.txt"; // QString filePathSL = path + "/shoppingList.csv"; QString homePath = QString(getenv("HOME")); //std::cout<<homePath.toStdString().c_str()<<std::endl; QString filePathE = homePath + "/.ExpenseTracker_withData/expense_data.csv"; QString filePathI = homePath + "/.ExpenseTracker_withData/income_data.csv"; QString filePathEL = homePath + "/.ExpenseTracker_withData/expense_labels.txt"; QString filePathIL = homePath + "/.ExpenseTracker_withData/income_labels.txt"; QString filePathB = homePath + "/.ExpenseTracker_withData/budget.txt"; QString filePathSL = homePath + "/.ExpenseTracker_withData/shoppingList.csv"; writeData(expenseItems, filePathE.toStdString().c_str()); writeData(incomeItems, filePathI.toStdString().c_str()); writeLabel(expenseLabels, filePathEL.toStdString().c_str()); writeLabel(incomeLabels, filePathIL.toStdString().c_str()); writeBudget(budgetAmount, filePathB.toStdString().c_str()); if(shoppingItems != NULL){ writeShoppingList(shoppingItems, filePathSL.toStdString().c_str()); } delete expenseItems; delete incomeItems; delete expenseLabels; delete incomeLabels; delete shoppingItems; }
int GFFFile::writeVar(uint32 sct, NWNVarType type, std::string lbl, uint64 value) { if(sct >= structs.size()) return errcode = 17; structs[sct].types.push_back(type); structs[sct].values.push_back(value); if(writeLabel(sct, lbl)) return errcode; fieldcount++; if((type == NWN_VAR_UINT64) || (type == NWN_VAR_INT64) || (type == NWN_VAR_FLOAT64)) fielddatasize += 8; return errcode = 0; }
int GFFFile::writeExoLocString(uint32 sct, std::string lbl, ExoLocString &value) { if(sct >= structs.size()) return errcode = 17; structs[sct].types.push_back(NWN_VAR_EXOLOCSTR); if(writeLabel(sct, lbl)) return errcode; exolocstrs.push_back(value); structs[sct].values.push_back((uint64) (exolocstrs.size()-1)); fieldcount++; fielddatasize += 12; for(int i=0;i<NWN_LANG_MAX;i++) if(!value.str[i].empty()) fielddatasize += value.str[i].length()+8; return errcode = 0; }
int GFFFile::writeResRef(uint32 sct, std::string lbl, std::string value) { if(sct >= structs.size()) return errcode = 17; structs[sct].types.push_back(NWN_VAR_RESREF); if(writeLabel(sct, lbl)) return errcode; // ResRefs have to have at most 16 characters if(value.length() > 16) value.erase(16); resrefs.push_back(value); structs[sct].values.push_back((uint64) (resrefs.size()-1)); fieldcount++; fielddatasize += value.length()+1; return errcode = 0; }
int GFFFile::writeStruct(uint32 &n, std::string lbl, uint32 parent) { structs.resize((n=structs.size())+1); if(n) { if(parent >= structs.size()) return errcode = 17; structs[parent].types.push_back(NWN_VAR_STRUCT); // Yay, abusing pointers! ^^; structs[parent].values.push_back((uint64) n); if(lbl == "") structs[parent].labels.push_back((std::string *) -1); else if(writeLabel(parent, lbl)) return errcode; fieldcount++; } return errcode = 0; }
int GFFFile::writeData(uint32 sct, std::string lbl, std::string fname) { uint32 n, size; datas.resize((n=datas.size())+1); if(!(datas[n] = readFileIntoMem(fname, size))) return errcode; structs[sct].types.push_back(NWN_VAR_VOID); structs[sct].values.push_back(n); if(writeLabel(sct, lbl)) return errcode; dataoffs.push_back(datasize); fielddatasize += size + 4; datasize += size + 4; datasizes.push_back(size); datac.push_back(true); fieldcount++; return errcode = 0; }
static void startReduce(int nsub,int* prtclNum,int ncalc) { outputLanguage='R'; initvararray(nsub,outputLanguage,3); outFileOpen("%sresults%csymb%d.red",pathtouser,f_slash,nsub); writeLabel('%'); writeprocessname(prtclNum); writeparameters(nsub); writeF("\n\n"); writeF("vector p1,p2,p3,p4,p5,p6$\n"); emitconvlow(prtclNum); writeF("\nvector !=p_,!=q_$\n"); writeF("operator propDen$\n"); writeF("for all p_,q_,m,w let propDen(0*p_+q_,m,w)=propDen(q_,m,w)$\n"); writeF("for all p_,m,w such that ordp(p_,-p_) " "let propDen(p_,m,w)=propDen(-p_,m,w);$\n\n"); writeF("initSum();\n"); }
/** * @brief Writes `object` to `writer`. * @param writer The JSONWriter. * @param object The object (Dictionary) to write. */ static void writeObject(JSONWriter *writer, const Dictionary *object) { $(writer->data, appendBytes, (uint8_t * ) "{", 1); Array *keys = $(object, allKeys); for (size_t i = 0; i < keys->count; i++) { const ident key = $(keys, objectAtIndex, i); writeLabel(writer, (String *) key); const ident obj = $(object, objectForKey, key); writeElement(writer, obj); if (i < keys->count - 1) { $(writer->data, appendBytes, (uint8_t *) ", ", 2); } } release(keys); $(writer->data, appendBytes, (uint8_t * ) "}", 1); }
int GFFFile::writeData(uint32 sct, std::string lbl, uint8 *memseg, uint32 size, bool copy) { int n; datas.resize((n=datas.size())+1); if(copy) { if(!(datas[n] = (uint8 *) malloc(size))) return errcode = 4; memcpy(datas[n], memseg, size); } else datas[n] = memseg; structs[sct].types.push_back(NWN_VAR_VOID); structs[sct].values.push_back(n); if(writeLabel(sct, lbl)) return errcode; datasizes.push_back(size); dataoffs.push_back(datasize); datac.push_back(copy); datasize += size+4; fielddatasize += size+4; fieldcount++; return errcode = 0; }
void mk_reduceprograms(void) { int ndel, ncalc, nrest, i; long nrecord, naxu; csdiagram csd; unsigned ncalctot; shortstr txt; hlpcsptr gstlist, c; vcsect vcs_copy; s_listptr d_facts, df; rmptr t_fact; goto_xy(1,21); scrcolor(Yellow,Blue); print(" REDUCE code generation \n"); scrcolor(Red,BGmain); print(" Generated........\n"); print(" current diagram :\n"); scrcolor(Yellow,Blue); print(" Press Esc to halt REDUCE codes generation "); scrcolor(FGmain,BGmain); diagrq=fopen(DIAGRQ_NAME,"rb"); ncalctot = 0; menuq=fopen(MENUQ_NAME,"rb"); for(nsub=1;nsub<=subproc_sq;nsub++) { rd_menu(2,nsub,txt,&ndel,&ncalc,&nrest,&nrecord); fseek(diagrq,nrecord*sizeof(csdiagram),SEEK_SET); naxu = ndel + ncalc + nrest; for (ndiagr = 1; ndiagr <= naxu; ndiagr++) { goto_xy(20,22); print("%u",ncalctot); goto_xy(20,23); print("%u",ndiagr); clr_eol(); FREAD1(csd,diagrq); if (csd.status != -1) { outFileOpen("%sresults%cp%d_%d.red",pathtouser,f_slash,nsub,ndiagr); writeLabel('%'); writeF("%%\n"); transfdiagr(&csd,&vcs); cwtarg(&vcs); if (vcs.clrnum == 0) { writeF( "%%------- Zero color factor --------\n"); writeF("totFactor_:=0$\n"); writeF("numerator_:=0$\n"); writeF("denominator_:=1$\n"); } else { generateghosts(&vcs,&gstlist); if (gstlist == NULL) { writeF( "%%------- non-existent diagram --------\n"); writeF("totFactor_:=0$\n"); writeF("numerator_:=0$\n"); writeF("denominator_:=1$\n"); } else { goto_xy(40,23); print("(%% %4d subdiagrams)",gstlist->maxnum); writeF("%% The total number of diagrams %d\n",gstlist->maxnum); preperdiagram(); head(); emitfactors(); diagramsrfactors(gstlist,&d_facts,&t_fact); writeF("totFactor_:=%s$\n",rmonomtxt(*t_fact)); writeF("totFactor_:=" "totFactor_*SymmFact*AverFact*FermFact*ColorFact$\n"); clrvm(t_fact->n.v); clrvm(t_fact->d.v); free(t_fact); writesubst(); writeF("numerator_:=0$\n"); c = gstlist; df = d_facts; vcs_copy = vcs; while (c != NULL) { coloringvcs(c); writeF("%% diagram number = %d\n", c->num); DiagramToOutFile(&vcs,1,'%'); {int k; int sgn=c->sgn; for(k=0;k<vcs.sizet;k++) sgn*=vertexes[k].lgrnptr->factor; writeF(" GhostFact:=%d$\n",sgn); } findReversVert(); attachvertexes(); emitreducecode(); writeF(" numerator_:=numerator_ +(%s)*GhostFact*Vrt_1 $\n", smonomtxt(df->monom)); writeF(" Clear Vrt_1,GhostFact$\n"); writeF("%%\n"); vcs = vcs_copy; c = c->next; df = df->next; } eraseslist(d_facts); eraseghosts(gstlist); vcs = vcs_copy; emitdenoms(); writeF(" Clear p%d",nin + nout + 1); for (i = nin + nout + 2; i <= 12; i++) writeF(",p%d",i); writeF("$\n"); writeF("%%\n"); } } writeF("End$\n"); outFileClose(); --(nrest); ++(ncalctot); if (escpressed()) goto exi; } } } exi: fclose(diagrq); fclose(menuq); clrbox(1,21,70,24); }
inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabularyPtr const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, sym, voc.get(), quote); }
inline void writeLabel(std::ostream& out, Sym sym, IVocabularyPtr const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, sym, voc.get(), quote); }
inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabulary const* voc, SymbolQuotation quote = kQuoted) { if (voc && voc->containsSym(sym)) writeLabel(out, sym, *voc, quote); else writeLabel(out, sym); }
inline void writeLabel(std::ostream& out, Sym sym, IVocabulary const* voc, SymbolQuotation quote = kQuoted) { if (voc && voc->containsSym(sym)) writeLabel(out, sym, *voc, quote); else writeLabel(out, sym); }
inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted); }
inline void writeLabel(std::ostream& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted); }
int main(int argc, char * argv[]) { int argn; const char * const usage = "[-[no]black] [-[no]wpoint] [-[no]label] [-no[axes]] [-full]\n\ [-xy|-upvp] [-rec709|-ntsc|-ebu|-smpte|-hdtv|-cie]\n\ [-red <x> <y>] [-green <x> <y>] [-blue <x> <y>]\n\ [-white <x> <y>] [-gamma <g>]\n\ [-size <s>] [-xsize|-width <x>] [-ysize|-height <y>]"; const struct colorSystem *cs; int widspec = FALSE, hgtspec = FALSE; int xBias, yBias; int upvp = FALSE; /* xy or u'v' color coordinates? */ int showWhite = TRUE; /* Show white point ? */ int showBlack = TRUE; /* Show black body curve ? */ int fullChart = FALSE; /* Fill entire tongue ? */ int showLabel = TRUE; /* Show labels ? */ int showAxes = TRUE; /* Plot axes ? */ ppm_init(&argc, argv); argn = 1; cs = &Rec709system; /* default */ while (argn < argc && argv[argn][0] == '-' && argv[argn][1] != '\0') { if (pm_keymatch(argv[argn], "-xy", 2)) { upvp = FALSE; } else if (pm_keymatch(argv[argn], "-upvp", 1)) { upvp = TRUE; } else if (pm_keymatch(argv[argn], "-xsize", 1) || pm_keymatch(argv[argn], "-width", 2)) { if (widspec) { pm_error("already specified a size/width/xsize"); } argn++; if ((argn == argc) || (sscanf(argv[argn], "%d", &sxsize) != 1)) pm_usage(usage); widspec = TRUE; } else if (pm_keymatch(argv[argn], "-ysize", 1) || pm_keymatch(argv[argn], "-height", 2)) { if (hgtspec) { pm_error("already specified a size/height/ysize"); } argn++; if ((argn == argc) || (sscanf(argv[argn], "%d", &sysize) != 1)) pm_usage(usage); hgtspec = TRUE; } else if (pm_keymatch(argv[argn], "-size", 2)) { if (hgtspec || widspec) { pm_error("already specified a size/height/ysize"); } argn++; if ((argn == argc) || (sscanf(argv[argn], "%d", &sysize) != 1)) pm_usage(usage); sxsize = sysize; hgtspec = widspec = TRUE; } else if (pm_keymatch(argv[argn], "-rec709", 1)) { cs = &Rec709system; } else if (pm_keymatch(argv[argn], "-ntsc", 1)) { cs = &NTSCsystem; } else if (pm_keymatch(argv[argn], "-ebu", 1)) { cs = &EBUsystem; } else if (pm_keymatch(argv[argn], "-smpte", 2)) { cs = &SMPTEsystem; } else if (pm_keymatch(argv[argn], "-hdtv", 2)) { cs = &HDTVsystem; } else if (pm_keymatch(argv[argn], "-cie", 1)) { cs = &CIEsystem; } else if (pm_keymatch(argv[argn], "-black", 3)) { showBlack = TRUE; /* Show black body curve */ } else if (pm_keymatch(argv[argn], "-wpoint", 2)) { showWhite = TRUE; /* Show white point of color system */ } else if (pm_keymatch(argv[argn], "-noblack", 3)) { showBlack = FALSE; /* Don't show black body curve */ } else if (pm_keymatch(argv[argn], "-nowpoint", 3)) { showWhite = FALSE; /* Don't show white point of system */ } else if (pm_keymatch(argv[argn], "-label", 1)) { showLabel = TRUE; /* Show labels. */ } else if (pm_keymatch(argv[argn], "-nolabel", 3)) { showLabel = FALSE; /* Don't show labels */ } else if (pm_keymatch(argv[argn], "-axes", 1)) { showAxes = TRUE; /* Show axes. */ } else if (pm_keymatch(argv[argn], "-noaxes", 3)) { showAxes = FALSE; /* Don't show axes */ } else if (pm_keymatch(argv[argn], "-full", 1)) { fullChart = TRUE; /* Fill whole tongue full-intensity */ } else if (pm_keymatch(argv[argn], "-gamma", 2)) { cs = &Customsystem; argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.gamma) != 1)) pm_usage(usage); } else if (pm_keymatch(argv[argn], "-red", 1)) { cs = &Customsystem; argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.xRed) != 1)) pm_usage(usage); argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.yRed) != 1)) pm_usage(usage); } else if (pm_keymatch(argv[argn], "-green", 1)) { cs = &Customsystem; argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.xGreen) != 1)) pm_usage(usage); argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.yGreen) != 1)) pm_usage(usage); } else if (pm_keymatch(argv[argn], "-blue", 1)) { cs = &Customsystem; argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.xBlue) != 1)) pm_usage(usage); argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.yBlue) != 1)) pm_usage(usage); } else if (pm_keymatch(argv[argn], "-white", 1)) { cs = &Customsystem; argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.xWhite) != 1)) pm_usage(usage); argn++; if ((argn == argc) || (sscanf(argv[argn], "%lf", &Customsystem.yWhite) != 1)) pm_usage(usage); } else { pm_usage(usage); } argn++; } if (argn != argc) { /* Extra bogus arguments ? */ pm_usage(usage); } pixcols = sxsize; pixrows = sysize; pixels = ppm_allocarray(pixcols, pixrows); /* Partition into plot area and axes and establish subwindow. */ xBias = Sz(32); yBias = Sz(20); makeAllBlack(pixels, pixcols, pixrows); drawTongueOutline(pixels, pixcols, pixrows, Maxval, upvp, xBias, yBias); fillInTongue(pixels, pixcols, pixrows, Maxval, cs, upvp, xBias, yBias, fullChart); if (showAxes) drawAxes(pixels, pixcols, pixrows, Maxval, upvp, xBias, yBias); if (showWhite) plotWhitePoint(pixels, pixcols, pixrows, Maxval, cs, upvp, xBias, yBias); if (showBlack) plotBlackBodyCurve(pixels, pixcols, pixrows, Maxval, upvp, xBias, yBias); /* Plot wavelengths around periphery of the tongue. */ if (showAxes) plotMonochromeWavelengths(pixels, pixcols, pixrows, Maxval, cs, upvp, xBias, yBias); if (showLabel) writeLabel(pixels, pixcols, pixrows, Maxval, cs); ppm_writeppm(stdout, pixels, pixcols, pixrows, Maxval, FALSE); return 0; }
Tracker::Tracker(QWidget *parent) : QWidget(parent) { //****************construct putton and widget************************// //Calendar Setting calendar = new QCalendarWidget; calendar->setGridVisible(true); QLabel *listname=new QLabel(" Detail Table"); listname->setFont(QFont("Times", 16, QFont::Bold)); listname->setStyleSheet("QLabel { background-color : rgb(255, 165, 0); color : black; }"); detailList=new QListWidget; detailList->setStyleSheet( "QListWidget::item { background-color: white;border-bottom: 1px solid black; }" "QListWidget::item:selected{color: #333538;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #cdcdcd, stop: 1 #ababab); border-top: 1px solid;border-top-color: #a8abad;border-bottom: 1px solid;border-bottom-color: #bfc7ce;}"); removeButton=new QPushButton(tr("&REMOVE")); removeButton->setFont(QFont("Cambria", 14, QFont::Bold)); QVBoxLayout *LayoutRight=new QVBoxLayout; LayoutRight->addWidget(listname,1); LayoutRight->addWidget(detailList,12); LayoutRight->setSpacing(3); LayoutRight->addWidget(removeButton,2); QHBoxLayout *Layout1=new QHBoxLayout; Layout1->addWidget(calendar,3); Layout1->addLayout(LayoutRight,2); //Background Setting QString newpath (":/image/images/2.jpg"); QPixmap pixmap = QPixmap(newpath).scaled(this->size()); QPalette palette(this->palette()); palette.setBrush(QPalette::Background, QBrush(pixmap)); this->setPalette(palette); //pushbutton declaration addExpenseButton = new QPushButton(tr("&Expense")); addExpenseButton->setFont(QFont("Cambria", 13, QFont::Bold)); addIncomeButton= new QPushButton(tr("&Income")); addIncomeButton->setFont(QFont("Cambria", 13, QFont::Bold)); shoppingListButton= new QPushButton(tr("&Shopping List")); shoppingListButton->setFont(QFont("Cambria", 13, QFont::Bold)); reportButton = new QPushButton(tr("&Report")); reportButton->setFont(QFont("Cambria", 13, QFont::Bold)); searchButton = new QPushButton(tr("&Search")); searchButton->setFont(QFont("Cambria", 13, QFont::Bold)); searchLine = new QLineEdit; // Button horizontal layout QHBoxLayout *buttonLayout1 = new QHBoxLayout; buttonLayout1->addWidget(addExpenseButton,1); buttonLayout1->addWidget(addIncomeButton,1); buttonLayout1->addWidget(reportButton,1); buttonLayout1->addWidget(shoppingListButton,1); QHBoxLayout *searcharea = new QHBoxLayout; searcharea->addWidget(searchLine,3); searcharea->addWidget(searchButton,1); QVBoxLayout *left = new QVBoxLayout; left->addLayout(buttonLayout1); left->addLayout(searcharea); //right area settingbudget=new QPushButton(tr("Monthly Budget")); settingbudget->setFont(QFont("Times", 15, QFont::Bold)); budget=new QLCDNumber; budget->setSegmentStyle(QLCDNumber::Filled); //budget->display(budgetAmount); QPushButton *ratiobar=new QPushButton(tr("Expense Ratio")); ratiobar->setFont(QFont("Times", 15, QFont::Bold)); ratio=new QProgressBar; QGridLayout *showarea=new QGridLayout; showarea->setSpacing(20); showarea->addWidget(settingbudget,0,0); showarea->addWidget(budget,0,1); showarea->addWidget(ratiobar,1,0); showarea->addWidget(ratio,1,1); QHBoxLayout *Layout2=new QHBoxLayout; Layout2->addLayout(left,3); Layout2->addLayout(showarea,2); QVBoxLayout *mainLayout=new QVBoxLayout; mainLayout->addLayout(Layout1,10); mainLayout->addLayout(Layout2,3); setLayout(mainLayout); setWindowTitle("Basic Model"); //! [grid layout] setLayout(mainLayout); setWindowTitle(tr("Basic Model")); //****************construct items and labels************************// // QDir currentDir; // QString path = currentDir.currentPath(); // QString filePathE = path + "/../../../expense_data.csv"; // QString filePathI = path + "/../../../income_data.csv"; // QString filePathEL = path + "/../../../expense_labels.txt"; // QString filePathIL = path + "/../../../income_labels.txt"; QString homePath = QString(getenv("HOME")); //std::cout<<homePath.toStdString().c_str()<<std::endl; QDir *temp = new QDir; bool exist = temp->exists(homePath + "/.ExpenseTracker_withData"); if(exist == 0) temp->mkdir(homePath + "/.ExpenseTracker_withData"); QString filePathE = homePath + "/.ExpenseTracker_withData/expense_data.csv"; QString filePathI = homePath + "/.ExpenseTracker_withData/income_data.csv"; QString filePathEL = homePath + "/.ExpenseTracker_withData/expense_labels.txt"; QString filePathIL = homePath + "/.ExpenseTracker_withData/income_labels.txt"; QString filePathB = homePath + "/.ExpenseTracker_withData/budget.txt"; QString filePathSL = homePath + "/.ExpenseTracker_withData/shoppingList.csv"; std::ifstream fin(filePathE.toStdString().c_str()); if(!fin){ QString dataPath (":/data/resource"); QString filePathEd = dataPath + "/expense_data.csv"; QString filePathId = dataPath + "/income_data.csv"; QString filePathELd = dataPath + "/expense_labels.txt"; QString filePathILd = dataPath + "/income_labels.txt"; QString filePathBd = dataPath + "/budget.txt"; QString filePathSLd = dataPath + "/shoppingList.csv"; expenseItems = readData(filePathEd); incomeItems = readData(filePathId); expenseLabels = readLabel(filePathELd); incomeLabels = readLabel(filePathILd); budgetAmount = readBudget(filePathBd); shoppingItems = readShoppingList(filePathSLd); writeData(expenseItems, filePathE.toStdString().c_str()); writeData(incomeItems, filePathI.toStdString().c_str()); writeLabel(expenseLabels, filePathEL.toStdString().c_str()); writeLabel(incomeLabels, filePathIL.toStdString().c_str()); writeBudget(budgetAmount, filePathB.toStdString().c_str()); writeShoppingList(shoppingItems, filePathSL.toStdString().c_str()); } else{ expenseItems = readData(filePathE.toStdString().c_str()); incomeItems = readData(filePathI.toStdString().c_str()); expenseLabels = readLabel(filePathEL.toStdString().c_str()); incomeLabels = readLabel(filePathIL.toStdString().c_str()); budgetAmount = readBudget(filePathB.toStdString().c_str()); std::ifstream finSL(filePathSL.toStdString().c_str()); if(finSL){ shoppingItems = readShoppingList(filePathSL.toStdString().c_str()); } else{ shoppingItems = NULL; } } budget->display(budgetAmount); selectedDateChanged(); double ratioValue = report_sum_M(QDate::currentDate().month(),QDate::currentDate().year(),expenseItems)/budgetAmount; if(ratioValue < 1){ ratio->setValue(100*ratioValue); } else ratio->setValue(100); searchFlag = 0; //******************connecting signals and slots***************************// connect(addExpenseButton, SIGNAL(clicked()), this, SLOT(addexpensewindow())); connect(addIncomeButton, SIGNAL(clicked()), this, SLOT(addincomewindow())); connect(reportButton, SIGNAL(clicked()), this, SLOT(report())); connect(calendar, SIGNAL(selectionChanged()), this, SLOT(selectedDateChanged())); connect(settingbudget, SIGNAL(clicked()), this, SLOT(settingBudget())); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeItem())); connect(shoppingListButton, SIGNAL(clicked()), this, SLOT(checkShoppingList())); connect(searchButton, SIGNAL(clicked()), this, SLOT(searchItem())); connect(searchLine, SIGNAL(returnPressed()), this, SLOT(searchItem())); }
Serialiser& operator<<(const Label& label) { writeLabel(label.label); return *this; }