Ejemplo n.º 1
0
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);
        }
    }
}
Ejemplo n.º 2
0
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();
}
Ejemplo n.º 3
0
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");
}