public override void onMouseEnter (object sender, MouseMoveEventArgs e)
{
base.onMouseEnter (sender, e);
+ if (IFace.DragAndDropOperation != null && draggedObj == null)
+ return;
IFace.FocusedWidget = this;
}
public override void onMouseLeave (object sender, MouseMoveEventArgs e)
{
base.onMouseLeave (sender, e);
- IFace.FocusedWidget = null;
+// IFace.FocusedWidget = null;
}
public override void onMouseDown (object sender, MouseButtonEventArgs e)
{
Name="scrollbar1"
LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
CursorSize="{../scroller1.ChildHeightRatio}"
- Value="{../scroller1.ScrollY}"
- Maximum="{../scroller1.MaximumScroll}"
+ Value="{²../scroller1.ScrollY}"
+ Maximum="{../scroller1.MaxScrollY}"
Width="14" Orientation="Vertical"/>
</HorizontalStack>
Group p = Parent as Group;
if (p != null) {
- lock (p.Children) {
- for (int i = p.Children.Count - 1; i >= 0; i--) {
- if (p.Children [i] == this)
- break;
- if (p.Children [i].IsDragged)
- continue;
- if (p.Children [i].Slot.ContainsOrIsEqual (m)) {
- return false;
- }
+ childrenRWLock.EnterReadLock ();
+ for (int i = p.Children.Count - 1; i >= 0; i--) {
+ if (p.Children [i] == this)
+ break;
+ if (p.Children [i].IsDragged)
+ continue;
+ if (p.Children [i].Slot.ContainsOrIsEqual (m)) {
+ childrenRWLock.ExitReadLock ();
+ return false;
}
}
}
+ childrenRWLock.ExitReadLock ();
return Slot.ContainsOrIsEqual(m);
}
if (IsDropTarget) {
DockWindow dw = IFace.DragAndDropOperation.DragSource as DockWindow;
if (dw.IsDocked) {
- //if (!dw.CheckUndock (e.Position)) {
base.onMouseMove (sender, e);
return;
- //}
}
Alignment curDockPos = dw.DockingPosition;
}
protected override void onDragLeave (object sender, DragDropEventArgs e)
{
+ DockWindow dw = e.DragSource as DockWindow;
+ if (dw != null)
+ dw.DockingPosition = Alignment.Undefined;
base.onDragLeave (sender, e);
RegisterForGraphicUpdate ();
}