public virtual void registerClipRect()
{
HostContainer.redrawClip.AddRectangle (ScreenCoordinates(Slot));
- //this clipping should take only last painted slots in ancestor tree which
+ //this clipping should take only last painted slots on each level in ancestor tree which
//is not the case for now.
HostContainer.redrawClip.AddRectangle (ScreenCoordinates(LastPaintedSlot));
}
Debug.WriteLine ("RegisterForLayouting => {1}->{0}", layoutType, this.ToString());
#endif
+ //enqueue LQI LayoutingTypes separately
if (layoutType.HasFlag (LayoutingType.Width))
Interface.LayoutingQueue.Enqueue (new LayoutingQueueItem (LayoutingType.Width, this));
if (layoutType.HasFlag (LayoutingType.Height))
onDraw (gr);
}
draw.Flush ();
- //draw.WriteToPng ("/mnt/data/test.png");
}
}
/// <summary> Chained painting routine on the parent context of the actual cached version
{
#region CTOR
public Group()
- : base()
- {
- }
+ : base(){}
#endregion
#region EVENT HANDLERS
public virtual List<GraphicObject> Children {
get { return children; }
- set { children = value; }
}
[XmlAttributeAttribute()][DefaultValue(false)]
public bool MultiSelect
}
public virtual void ClearChildren()
{
- int cpt = children.Count;
- while(cpt > 0){
- GraphicObject g = children[cpt-1];
+ while(children.Count > 0){
+ GraphicObject g = children[children.Count-1];
g.LayoutChanged -= OnChildLayoutChanges;
g.ClearBinding ();
g.Parent = null;
- Children.RemoveAt(cpt-1);
- cpt = children.Count;
+ Children.RemoveAt(children.Count-1);
}
this.RegisterForLayouting (LayoutingType.Sizing);
ChildrenCleared.Raise (this, new EventArgs ());
foreach (var item in data) {
ms.Seek(0,SeekOrigin.Begin);
GraphicObject g = Interface.Load (ms, t);
- g.DataSource = item;
g.MouseClick += itemClick;
_list.addChild (g);
+ g.DataSource = item;
}
ms.Dispose ();
public void ProcessLayouting()
{
- #if DEBUG_LAYOUTING
- Debug.WriteLine ("Layouting => " + this.ToString ());
- #endif
-
if (GraphicObject.Parent == null) {
//cancel layouting for object without parent, maybe some were in queue when
//removed from a listbox
Debug.WriteLine ("ERROR: processLayouting, no parent for: " + this.ToString ());
return;
}
- if (!GraphicObject.UpdateLayout (LayoutType))
- Interface.LayoutingQueue.Enqueue(this);
+ if (!GraphicObject.UpdateLayout (LayoutType)) {
+ #if DEBUG_LAYOUTING
+ Debug.WriteLine ("Requeuing => " + this.ToString ());
+ #endif
+ Interface.LayoutingQueue.Enqueue (this);
+ }else
+ #if DEBUG_LAYOUTING
+ Debug.WriteLine ("Layouting => " + this.ToString ());
+ #endif
}
public static implicit operator GraphicObject(LayoutingQueueItem queueItem)