<GraphicObject Width="5"/>
</HorizontalStack>
<!-- </Border>-->
- <Container Name="Content" MinimumSize="50,50" Background="0.5,0.5,0.5,0.5"/>
+ <Container Name="Content" MinimumSize="50,50" />
</VerticalStack>
</Border>
if (c.Length == 1)
{
- foreach (Color cr in ColorDic)
- {
- if (string.Equals(cr.Name,s,StringComparison.Ordinal))
- return cr;
+ for (int i = 0; i < ColorDic.Count; i++) {
+ if (string.Equals(ColorDic [i].Name,s,StringComparison.Ordinal))
+ return ColorDic [i];
}
}
return new Color(
if (!string.IsNullOrEmpty(Name))
return Name;
- foreach (Color cr in ColorDic)
- {
- if (cr == this)
- {
- Name = cr.Name;
- return cr.Name;
+ for (int i = 0; i < ColorDic.Count; i++) {
+ if (ColorDic[i] == this) {
+ Name = ColorDic[i].Name;
+ return ColorDic[i].Name;
}
}
{
int d = 0;
if (Orientation == Orientation.Horizontal) {
- foreach (GraphicObject c in Children) {
- if (!c.Visible)
+ for (int i = 0; i < Children.Count; i++) {
+ if (!Children[i].Visible)
continue;
- c.Slot.X = d;
- d += c.Slot.Width + Spacing;
+ Children[i].Slot.X = d;
+ d += Children[i].Slot.Width + Spacing;
}
} else {
- foreach (GraphicObject c in Children) {
- if (!c.Visible)
+ for (int i = 0; i < Children.Count; i++) {
+ if (!Children[i].Visible)
continue;
- c.Slot.Y = d;
- d += c.Slot.Height + Spacing;
+ Children[i].Slot.Y = d;
+ d += Children[i].Slot.Height + Spacing;
}
}
IsDirty = true;
//set local GraphicObject to root object passed as 1st argument
il.Emit (OpCodes.Ldarg_0);
il.Emit (OpCodes.Stloc_0);
-
- foreach (EventInfo ei in thisType.GetEvents(BindingFlags.Public | BindingFlags.Instance)) {
+ EventInfo[] eis = thisType.GetEvents(BindingFlags.Public | BindingFlags.Instance);
+ for (int i = 0; i < eis.Length; i++) {
string expression;
- if (!getDefaultEvent(ei, styling, out expression))
+ if (!getDefaultEvent(eis[i], styling, out expression))
continue;
//TODO:dynEventHandler could be cached somewhere, maybe a style instanciator class holding the styling delegate and bound to it.
foreach (string exp in CompilerServices.splitOnSemiColumnOutsideAccolades(expression)) {
//push eventInfo as 1st arg of compile
il.Emit (OpCodes.Ldloc_0);
il.Emit (OpCodes.Call, CompilerServices.miGetType);
- il.Emit (OpCodes.Ldstr, ei.Name);//push event name
+ il.Emit (OpCodes.Ldstr, eis[i].Name);//push event name
il.Emit (OpCodes.Call, CompilerServices.miGetEvent);
//push expression as 2nd arg of compile
il.Emit (OpCodes.Ldstr, trimed.Substring (1, trimed.Length - 2));
//push null as 3rd arg, currentNode, not known when instanciing
il.Emit (OpCodes.Ldnull);
il.Emit (OpCodes.Callvirt, CompilerServices.miCompileDynEventHandler);
- il.Emit (OpCodes.Castclass, ei.EventHandlerType);
- il.Emit (OpCodes.Callvirt, ei.AddMethod);
+ il.Emit (OpCodes.Castclass, eis[i].EventHandlerType);
+ il.Emit (OpCodes.Callvirt, eis[i].AddMethod);
}else
Debug.WriteLine("error in styling, event not handled : " + trimed);
}
{
base.OnDataSourceChanged (this, e);
lock (children) {
- foreach (GraphicObject g in children)
- if (g.localDataSourceIsNull & g.localLogicalParentIsNull)
- g.OnDataSourceChanged (sender, e);
+ for (int i = 0; i < children.Count; i++) {
+ if (children[i].localDataSourceIsNull & children[i].localLogicalParentIsNull)
+ children[i].OnDataSourceChanged (sender, e);
+ }
}
}
public override GraphicObject FindByName (string nameToFind)
return this;
GraphicObject tmp = null;
lock (children) {
- foreach (GraphicObject w in Children) {
- tmp = w.FindByName (nameToFind);
+ for (int i = 0; i < children.Count; i++) {
+ tmp = children[i].FindByName (nameToFind);
if (tmp != null)
break;
}
}
public override bool Contains (GraphicObject goToFind)
{
- foreach (GraphicObject w in Children) {
- if (w == goToFind)
+ for (int i = 0; i < children.Count; i++) {
+ if (children[i] == goToFind)
return true;
- if (w.Contains (goToFind))
+ if (children[i].Contains (goToFind))
return true;
}
return false;
//position smaller objects in group when group size is fit
switch (layoutType) {
case LayoutingType.Width:
- foreach (GraphicObject c in Children){
- if (c.Width.Units == Unit.Percent)
- c.RegisterForLayouting (LayoutingType.Width);
+ for (int i = 0; i < children.Count; i++) {
+ if (children[i].Width.Units == Unit.Percent)
+ children[i].RegisterForLayouting (LayoutingType.Width);
else
- c.RegisterForLayouting (LayoutingType.X);
+ children[i].RegisterForLayouting (LayoutingType.X);
}
break;
case LayoutingType.Height:
- foreach (GraphicObject c in Children) {
- if (c.Height.Units == Unit.Percent)
- c.RegisterForLayouting (LayoutingType.Height);
+ for (int i = 0; i < children.Count; i++) {
+ if (children[i].Height.Units == Unit.Percent)
+ children[i].RegisterForLayouting (LayoutingType.Height);
else
- c.RegisterForLayouting (LayoutingType.Y);
+ children[i].RegisterForLayouting (LayoutingType.Y);
}
break;
}
}
lock (children) {
- foreach (GraphicObject g in Children) {
- g.Paint (ref gr);
+ for (int i = 0; i < children.Count; i++) {
+ children[i].Paint (ref gr);
}
}
gr.Restore ();
gr.Clip ();
lock (Children) {
- foreach (GraphicObject c in Children) {
- if (!c.Visible)
+ for (int i = 0; i < children.Count; i++) {
+ if (!children[i].Visible)
+ continue;
+ if (Clipping.Contains (children[i].Slot + ClientRectangle.Position) == RegionOverlap.Out)
continue;
- if (Clipping.intersect (c.Slot + ClientRectangle.Position))
- c.Paint (ref gr);
+ children[i].Paint (ref gr);
}
}
/// <summary>Search a Graphic object in the tree named 'nameToFind'</summary>
public GraphicObject FindByName (string nameToFind)
{
- foreach (GraphicObject w in GraphicTree) {
- GraphicObject r = w.FindByName (nameToFind);
+ for (int i = 0; i < GraphicTree.Count; i++) {
+ GraphicObject r = GraphicTree[i].FindByName (nameToFind);
if (r != null)
return r;
}
int bmpSize = Math.Abs (stride) * ClientRectangle.Height;
bmp = new byte[bmpSize];
- foreach (GraphicObject g in GraphicTree)
- g.RegisterForLayouting (LayoutingType.All);
+ for (int i = 0; i < GraphicTree.Count; i++)
+ GraphicTree[i].RegisterForLayouting (LayoutingType.All);
clipping.AddRectangle (clientRectangle);
}