Esempio n. 1
0
        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();
        }
Esempio n. 3
0
 /// <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();
        }
Esempio n. 8
0
 public DummyPointerEvent(ICanvasModel model, PointerEventType type)
 {
     this.Model = model;
     this.Type  = type;
 }