Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » UppHub » Scatter Control
Re: Scatter Control [message #26235 is a reply to message #26232] Fri, 16 April 2010 06:50 Go to previous messageGo to previous message
koldo is currently offline  koldo
Messages: 3435
Registered: August 2008
Senior Veteran
ktj9 wrote on Fri, 16 April 2010 02:35

Hello,
I tried to run TestScatter2, but it is stuck in infinite loops in Scatter::SetRange and Scatter::SetMajorUnits. Callers are scatter2.SetRange(12,60) and scatter2.SetMajorUnits(2,10) in Tab2::Tab2().

I am using UPP2232, MSC8, on XP.

I use magic numbers to solve the problem, but I bet there are better solutions, if I understand the meaning of those members.
After the hack, the example looks great! Thanks!

Scatter &Scatter::SetRange(double rx, double ry, double ry2)
{
	xRange=rx;
	yRange=ry;
	yRange2=ry2;
	xMajorUnit=xRange/10;
	int count=0;
	while (xMinUnit > xMajorUnit && count < 1000){
		xMinUnit -= xMajorUnit;	
		++count;
	}
	yMajorUnit=yRange/10;   
	count = 0;
	while (yMinUnit > yMajorUnit && count < 1000){
		yMinUnit -= yMajorUnit;
		++count;
	}
	yMajorUnit2=yRange2/10;   
	count = 0;
	while (yMinUnit2 > yMajorUnit2 && count < 1000) {
		yMinUnit2 -= yMajorUnit2;
		++count;
	}
	return *this;
}
Scatter &Scatter::SetMajorUnits(double ux, double uy) 
{
	//if (ux > xRange)	throw (Exc(t_("Invalid X major units!")));
	//if (uy > yRange)	throw (Exc(t_("Invalid Y major units!")));
	xMajorUnit=ux;
	yMajorUnit=uy;
	yMajorUnit2=yRange2*yMajorUnit/yRange;
	int count=0;
	while (xMinUnit > xMajorUnit && count < 1000){
		xMinUnit -= xMajorUnit;	
		++count;
	}
	count = 0;
	while (yMinUnit > yMajorUnit && count < 1000){
		yMinUnit -= yMajorUnit;
		++count;
	}
	count = 0;
	while (yMinUnit2 > yMajorUnit2 && count < 1000){
		yMinUnit2 -= yMajorUnit2;
		++count;
	}
	return *this;
}


Hello ktj9

I have run TestScatter2 in Bazaar and it works well for me. The code you have submitted seems not to be the last one.

The version I use is 2322.


Best regards
IƱaki
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Fresh TabBar proposals
Next Topic: usvn - SVN for dummies (and me)
Goto Forum:
  


Current Time: Mon May 12 15:41:58 CEST 2025

Total time taken to generate the page: 0.03361 seconds