Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Sorting Shapes (Read 1470 times)
hemoeco
YaBB Newbies
*
Offline


I love YaBB 1G - SP1!

Posts: 1
Joined: Nov 6th, 2010
Sorting Shapes
Nov 6th, 2010 at 6:57am
Print Post  
Hi, i how can i sort the shapes of a diagram by alphabetical order using the inside text or numerical order using the number i write inside a shape?...any example?
Thank you
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: Sorting Shapes
Reply #1 - Nov 8th, 2010 at 7:32am
Print Post  
Try the following
Code
Select All
private void Form1_Load(object sender, System.EventArgs e)
{
	List<ShapeNode> nodes = new List<ShapeNode>();
	Random r = new Random();
	for (int i = 0; i < 20; ++ i)
	{
		int t = r.Next(100);
		ShapeNode node = diagram.Factory.CreateShapeNode(0, 0, 10, 10);
		node.Text = t.ToString();
		nodes.Add(node);
	}

	int nodesPerRow = 5;
	nodes.Sort(CompareByText);
	for (int i = 0; i < nodes.Count; ++i)
	{
		//nodes[i].Move(10, i * 20);// arrange in a single column
		nodes[i].Move(i % nodesPerRow * 20, i / nodesPerRow * 20);// arrange in a grid
	}
}

int CompareByText(ShapeNode n1, ShapeNode n2)
{
	int i1 = 0, i2 = 0;
	int.TryParse(n1.Text, out i1);
	int.TryParse(n2.Text, out i2);
	return i1.CompareTo(i2);
} 



Change the comparison method to return n1.Text.CompareTo(n2.Text); to get alphabetical ordering.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint