void MainWindow::plot_image_1bit(QList<char> *pixelmap_1bit) { scene= new QGraphicsScene(this); ui->Plot_Window->setScene(scene); int linha,coluna; QPen blackpen(Qt::red); for (int bit=1;bit<65536;bit++) { if(bit==1) { linha=1; coluna=1; } else if(bit%256==0) { linha++; coluna=1; } else { coluna++; } //qDebug()<<"linha "<<linha<<"coluna "<<coluna; if(pixelmap_1bit->at(bit)=='1') { //qDebug()<<"bit "<<bit<<"pixel "<<pixelmap_1bit->at(bit); lineview = scene->addLine(linha,coluna,linha,coluna,blackpen); } } }
void ParamBox::ParamLoad(wxString tag, bool compmode) { int id; long flagval; double datval; short diagnostic; wxString filetag, filename, filepath; wxString readline, datname; wxColour redpen("#dd0000"), blackpen("#000000"), greenpen("#009900"), bluepen("#0000dd"); //TextFile ofp; wxString text; diagnostic = 0; ParamStore *oldparams = GetParams(); //mod->diagbox->Write(text.Format("param load %s\n", boxname)); //if(mod->path == "") filepath = mod->mainwin->parampath; //else filepath = mod->path + "/Params"; filepath = mod->GetPath() + "/Params"; //if(diagnostic) ofp.New(boxname + "paramload.txt"); // Param data file //if(diagnostic) ofp.WriteLine(text.Format("tag %s", tag)); if(tag == "") filetag = paramstoretag->GetValue(); else filetag = tag; filename = filepath + "/" + filetag + "-" + boxname + "param.dat"; wxTextFile paramfile(filename); if(!paramfile.Exists()) { if(paramstoretag) paramstoretag->SetValue("Not found"); //if(diagnostic) ofp.Close(); return; } // Param file history if(tag != "default") { short tagpos = paramstoretag->FindString(filetag); if(tagpos != wxNOT_FOUND) paramstoretag->Delete(tagpos); paramstoretag->Insert(filetag, 0); redtag = ""; paramstoretag->SetForegroundColour(blackpen); paramstoretag->SetValue(""); paramstoretag->SetValue(filetag); } paramfile.Open(); //numparams = paramfile.GetLineCount(); readline = paramfile.GetFirstLine(); //for(i=0; i<numparams; i++) { while(!readline.IsEmpty()) { //if(readline.IsEmpty()) continue; //storetag->SetValue(readline); datname = readline.BeforeFirst(' '); if(datname == "GKleak") datname = "gKL"; readline = readline.AfterFirst(' '); //sdat = readline.BeforeFirst('k'); readline.Trim(); //storetag->SetValue(readline); if(paramset->ref.check(datname)) { id = paramset->ref[datname]; if(paramset->con[id]->type != textcon) { readline.ToDouble(&datval); paramset->con[id]->SetPen(blackpen); if(compmode && datval != (*oldparams)[datname]) { paramset->con[id]->SetPen(greenpen); mainwin->diagbox->Write(datname + " param change\n"); } //paramset->con[id]->SetForegroundColour(greenpen); paramset->con[id]->SetValue(""); paramset->con[id]->SetValue(datval); } else paramset->con[id]->SetValue(readline); } //if(diagnostic) ofp.WriteLine(text.Format("Model Param ID %d, Value %.4f\n", id, datval)); if(paramfile.Eof()) return; readline = paramfile.GetNextLine(); } readline = paramfile.GetNextLine(); //if(paramfile.Eof()) break; //while(!paramfile.Eof()) { while(!readline.IsEmpty()) { datname = readline.BeforeFirst(' '); readline = readline.AfterFirst(' '); readline.Trim(); readline.ToLong(&flagval); (*modflags)[datname] = flagval; id = flagrefs->GetID(datname); if(id) menuModel->Check(id, flagval); //if(diagnostic) ofp.WriteLine(text.Format("Model flag ID %d, Set %d\n", id, flagval)); readline = paramfile.GetNextLine(); } if(!paramfile.Eof()) readline = paramfile.GetNextLine(); else readline = ""; //readline = paramfile.GetNextLine(); while(!readline.IsEmpty()) { datname = readline.BeforeFirst(' '); readline = readline.AfterFirst(' '); readline.Trim(); readline.ToLong(&flagval); (*modflags)[datname] = flagval; id = checkrefs->GetID(datname); //menuModel->Check(id, flagval); ((wxCheckBox *)checkrefs->GetBox(id))->SetValue(flagval); //if(diagnostic) ofp.WriteLine(text.Format("Model flag ID %d, Set %d\n", id, flagval)); readline = paramfile.GetNextLine(); } paramfile.Close(); //if(diagnostic) ofp.Close(); }
void ParamBox::StoreParam(wxString tag) { wxString filetag, filename, filepath; wxString outline; wxColour redpen("#dd0000"), blackpen("#000000"); wxString text; //TextFile paramfile; //bool check; mainwin->diagbox->Write(text.Format("param store %s\n", boxname)); //if(mod->path == "") filepath = mod->mainwin->parampath; //else filepath = mod->path + "/Params"; //if(!wxDirExists(filepath)) wxMkdir(filepath); //filepath = mod->GetPath(); filepath = mod->GetPath() + "/Params"; if(!wxDirExists(filepath)) wxMkdir(filepath); // Param data file if(tag == "") filetag = paramstoretag->GetValue(); else filetag = tag; filename = filepath + "/" + filetag + "-" + boxname + "param.dat"; // Param file history short tagpos = paramstoretag->FindString(filetag); if(tagpos != wxNOT_FOUND) paramstoretag->Delete(tagpos); paramstoretag->Insert(filetag, 0); wxTextFile paramfile(filename); //check = paramfile.Open(filename); if(!paramfile.Exists()) paramfile.Create(); else if(tag == "" && redtag != filetag) { paramstoretag->SetForegroundColour(redpen); paramstoretag->SetValue(""); paramstoretag->SetValue(filetag); redtag = filetag; return; } redtag = ""; paramstoretag->SetForegroundColour(blackpen); paramstoretag->SetValue(""); paramstoretag->SetValue(filetag); paramfile.Open(); paramfile.Clear(); for(i=0; i<paramset->numparams; i++) { if(paramset->con[i]->type != textcon) { paramset->con[i]->numbox->GetValue().ToDouble(&((*modparams)[paramset->con[i]->name])); outline.Printf("%.8f", (*modparams)[paramset->con[i]->name]); } else outline = paramset->con[i]->GetString(); paramfile.AddLine(paramset->con[i]->name + " " + outline); } paramfile.AddLine(""); for(i=0; i<flagrefs->numrefs; i++) { outline.Printf("%.0f", (*modflags)[flagrefs->refbase[i].label]); paramfile.AddLine(flagrefs->refbase[i].label + " " + outline); } paramfile.AddLine(""); for(i=0; i<checkrefs->numrefs; i++) { outline.Printf("%.0f", (*modflags)[checkrefs->refbase[i].label]); paramfile.AddLine(checkrefs->refbase[i].label + " " + outline); } paramfile.Write(); paramfile.Close(); mainwin->diagbox->Write("Param File OK\n"); }