public void AddObject(GuiItem item, string name_base) { item.parent = this; if (item is INeedRefresh) { RefreshObject((INeedRefresh)item); } item.id = RegisterItemID(name_base, item); item.Invalidate(); Undo.Push(new CreateOperation((IRemoveable)item), false); // add relations if (item is GuiClass) { GuiClass cl = (GuiClass)item; for (int i = 0; i < active_objects.Count; i++) { GuiObject obj = (GuiObject)active_objects[i]; if (obj is GuiClass) { foreach (UmlRelation rel in RelationsHelper.GetRelations(((GuiClass)obj).st, proj.model)) { if (rel.dest == cl.st || rel.src == cl.st) { NewRelation(rel); } } } } } }
public override void Drop( ) { if (dropitem == null) { throw new ArgumentException("have nothing to drop"); } parent.AddObject(dropitem, UmlModel.GetUniversal(dropobj)); action = MouseAction.None; // insert Inheritance ArrayList l = new ArrayList(parent.active_objects); foreach (GuiObject a in l) { if (a is GuiClass) { GuiClass c = a as GuiClass; // TODO ????????? /*if( c.st.bases != null && c.st.bases.Contains( dropitem.st.fullname ) ) { * NewRelation( dropitem, c, UmlRelationType.Inheritance ); * } else if( dropitem.st.bases != null && dropitem.st.bases.Contains( c.st.fullname ) ) { * NewRelation( c, dropitem, UmlRelationType.Inheritance ); * }*/ } } dropitem = null; }
public StaticViewMouseAgent( StaticView p ) { parent = p; dropitem = null; action = MouseAction.None; scroll_active = false; scroll_dx = scroll_dy = 0; scroll_buttons = MouseButtons.None; scroll_timer = new System.Threading.Timer( new TimerCallback( ScrollTimerCallback ), null, Timeout.Infinite, SCROLL_TIMEOUT ); }
public override void StopDrag() { if (dropitem == null) { throw new ArgumentException("have nothing to stop"); } dropitem.Invalidate(); dropitem = null; action = MouseAction.None; }
public StaticViewMouseAgent(StaticView p) { parent = p; dropitem = null; action = MouseAction.None; scroll_active = false; scroll_dx = scroll_dy = 0; scroll_buttons = MouseButtons.None; scroll_timer = new System.Threading.Timer(new TimerCallback(ScrollTimerCallback), null, Timeout.Infinite, SCROLL_TIMEOUT); }
// Drag-n-drop functions public override void StartDrag(UmlObject elem) { dropobj = elem; dropitem = GuiElementFactory.CreateElement(elem); if (dropitem != null) { System.Diagnostics.Debug.Assert(dropitem is IMoveable && dropitem is IRemoveable, "wrong element created"); dropitem.parent = parent; if (dropitem is INeedRefresh) { parent.RefreshObject((INeedRefresh)dropitem); } action = MouseAction.Drag; } else { action = MouseAction.None; } }
public override void StopDrag() { if( dropitem == null ) throw new ArgumentException( "have nothing to stop" ); dropitem.Invalidate(); dropitem = null; action = MouseAction.None; }
// Drag-n-drop functions public override void StartDrag( UmlObject elem ) { dropobj = elem; dropitem = GuiElementFactory.CreateElement( elem ); if( dropitem != null ) { System.Diagnostics.Debug.Assert( dropitem is IMoveable && dropitem is IRemoveable, "wrong element created" ); dropitem.parent = parent; if( dropitem is INeedRefresh ) parent.RefreshObject( (INeedRefresh)dropitem ); action = MouseAction.Drag; } else action = MouseAction.None; }
public override void Drop( ) { if( dropitem == null ) throw new ArgumentException( "have nothing to drop" ); parent.AddObject( dropitem, UmlModel.GetUniversal(dropobj) ); action = MouseAction.None; // insert Inheritance ArrayList l = new ArrayList( parent.active_objects ); foreach( GuiObject a in l ) if( a is GuiClass ) { GuiClass c = a as GuiClass; // TODO ????????? /*if( c.st.bases != null && c.st.bases.Contains( dropitem.st.fullname ) ) { NewRelation( dropitem, c, UmlRelationType.Inheritance ); } else if( dropitem.st.bases != null && dropitem.st.bases.Contains( c.st.fullname ) ) { NewRelation( c, dropitem, UmlRelationType.Inheritance ); }*/ } dropitem = null; }
public void AddObject( GuiItem item, string name_base ) { item.parent = this; if( item is INeedRefresh ) RefreshObject( (INeedRefresh)item ); item.id = RegisterItemID( name_base, item ); item.Invalidate(); Undo.Push( new CreateOperation( (IRemoveable)item ), false ); // add relations if( item is GuiClass ) { GuiClass cl = (GuiClass)item; for( int i = 0; i < active_objects.Count; i++ ) { GuiObject obj = (GuiObject)active_objects[i]; if( obj is GuiClass ) foreach( UmlRelation rel in RelationsHelper.GetRelations( ((GuiClass)obj).st, proj.model ) ) if( rel.dest == cl.st || rel.src == cl.st ) NewRelation( rel ); } } }