double _cornerRadius = 0;
int _margin = 0;
bool _focusable = false;
- bool hoverable = true;
bool _hasFocus = false;
bool _isActive = false;
bool _mouseRepeat;
Bounds.Width = Bounds.Height = -1;
}
}
- /// <summary>
- /// used to handle mouse hover in children instead of the whole container
- /// </summary>
- [XmlAttributeAttribute()][DefaultValue(true)]
- public virtual bool Hoverable {
- get { return hoverable; }
- set {
- if (hoverable == value)
- return;
- hoverable = value;
- NotifyValueChanged ("Hoverable", hoverable);
- }
- }
[XmlAttributeAttribute()][DefaultValue(false)]
public virtual bool Focusable {
get { return _focusable; }
return false;
if (ScreenCoordinates (Slot).ContainsOrIsEqual (m)) {
Scroller scr = Parent as Scroller;
- if (scr == null)
- return Hoverable;
+ if (scr == null) {
+ if (Parent is GraphicObject)
+ return (Parent as GraphicObject).MouseIsIn (m);
+ else return true;
+ }
return scr.MouseIsIn (scr.savedMousePos);
}
return false;
#region Mouse handling
- public override bool MouseIsIn (Point m)
- {
- if (Hoverable)
- return base.MouseIsIn (m);
- for (int i = Children.Count - 1; i >= 0; i--) {
- if (Children[i].MouseIsIn(m))
- return true;
- }
- return false;
- }
public override void checkHoverWidget (MouseMoveEventArgs e)
{
if (HostContainer.hoverWidget != this) {
#endregion
#region Mouse handling
- public override bool MouseIsIn (Point m)
- {
- if (Hoverable || child == null)
- return base.MouseIsIn (m);
- return child.MouseIsIn (m);
- }
public override void checkHoverWidget (MouseMoveEventArgs e)
{
base.checkHoverWidget (e);