"One of the first things I like to do when working a new contract is dive into the code and work my way around to understand it," Emil wrote, "one line of code that looked like a good start was this."
private ISelecteVariableProperties[] Iselecvariablelst
= new ISelecteVariableProperties[ 7 ];
"The '7' didn't make a lot of sense, but I figured there had to be a good reason. And then I came across the following."
if (Iselecvariablelst[0]==null)
{
for (int i=0;i<7;i++)
{
Rectangle rect =new Rectangle(216,12,110,60);
if (i>0)
{
rect.X = 4+((i-1) % 3)*106;
rect.Y = 75+((int)((i-1)/3))*60 ;
rect.Width = 105;
rect.Height = 60;
}
Iselecvariablelst[i]= (ISelecteVariableProperties)
(theowner.GetStaticControl_SetUp(
"SelecteVariableProperties",
(IBaseProperties)this,
rect,
GroupWrite,
true));
if (Iselecvariablelst[i]!=null)
ATEModTools.AddEventChangeItemGui(
Iselecvariablelst[i].GetControl(),
new System.EventHandler(ItemGuiModifiedEvent));
}
//...snip...
}
Emil continued, "at that point I decided that some mysteries are better left unsolved."