Example #1
0
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;
}
Example #2
0
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");
}
Example #3
0
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);
}
Example #4
0
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);
}
Example #5
0
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;
}
Example #6
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;
}
Example #8
0
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;
}
Example #9
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;
}
Example #10
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;
}
Example #11
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;
}
Example #12
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;
}
Example #13
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");
}
Example #14
0
/**
 * @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);
}
Example #15
0
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;
}
Example #16
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);

}
Example #17
0
inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabularyPtr const& voc,
                       SymbolQuotation quote = kQuoted) {
  writeLabel(out, sym, voc.get(), quote);
}
Example #18
0
inline void writeLabel(std::ostream& out, Sym sym, IVocabularyPtr const& voc, SymbolQuotation quote = kQuoted) {
  writeLabel(out, sym, voc.get(), quote);
}
Example #19
0
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);
}
Example #20
0
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);
}
Example #21
0
inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) {
  writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted);
}
Example #22
0
inline void writeLabel(std::ostream& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) {
  writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted);
}
Example #23
0
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()));
}
Example #25
0
	Serialiser& operator<<(const Label& label) {
		writeLabel(label.label);
		return *this;
	}