public GtkCanvas() { this.canvasModel = null; this.pointerEvent = new GtkPointerEvent(this); this.ModifyBg(StateType.Normal, new Gdk.Color(0xFF, 0xFF, 0xFF)); this.AddEvents((int)EventMask.ButtonPressMask); this.AddEvents((int)EventMask.PointerMotionMask); this.AddEvents((int)EventMask.ButtonReleaseMask); this.AddEvents((int)EventMask.KeyPressMask); this.CanFocus = true; this.CanDefault = true; this.GrabFocus(); }
internal void RemoveFromSelection( ICanvasModel model, ISelectable item ) { if ( item is IGroupable ) { var groupItems = GetGroupMembers( model, item as IGroupable ); foreach ( ISelectable groupItem in groupItems ) { groupItem.IsSelected = false; myCurrentSelection.Remove( groupItem ); } } else { item.IsSelected = false; myCurrentSelection.Remove( item ); } OnSelectionChanged(); }
/// <summary> /// Create a new instance of this class. /// </summary> /// <param name="model">Model to use for computing lines.</param> public LineService(ICanvasModel model) { this.canvasModel = model; }
internal void SelectItem( ICanvasModel model, ISelectable item ) { ClearSelection(); AddToSelection( model, item ); }
internal IGroupable GetGroupRoot( ICanvasModel model, IGroupable item ) { var list = model.GetItems<IGroupable>(); return GetRoot( list, item ); }
internal List<IGroupable> GetGroupMembers( ICanvasModel model, IGroupable item ) { var list = model.GetItems<IGroupable>(); var rootItem = GetRoot( list, item ); return GetGroupMembers( list, rootItem ); }
internal void SelectAll( ICanvasModel model ) { ClearSelection(); myCurrentSelection.AddRange( model.GetItems<ISelectable>() ); myCurrentSelection.ForEach( item => item.IsSelected = true ); OnSelectionChanged(); }
public DummyPointerEvent(ICanvasModel model, PointerEventType type) { this.Model = model; this.Type = type; }