protected override void OnDragDrop(DragDropArgs e)
 {
     using (CompositeTask.Run("ChangeParent"))
     {
         ModelDragData dragData = e.Context.GetDragData() as ModelDragData;
         if (dragData != null && dragData.MetaData != null)
         {
             if (typeof(WidgetObject).IsAssignableFrom(dragData.MetaData.Type))
             {
                 List <VisualObject>     visualObjectList = new List <VisualObject>();
                 NodeObject              nodeObject       = dragData.MetaData.CreateObject();
                 CocoStudio.Model.PointF scene            = SceneTransformHelp.ConvertControlToScene(new CocoStudio.Model.PointF((float)e.X, (float)e.Y));
                 nodeObject.Position = this.TransformToSelf(scene);
                 this.Children.Add(nodeObject);
                 visualObjectList.Add((VisualObject)nodeObject);
                 EventAggregator.Instance.GetEvent <SelectedVisualObjectsChangeEvent>().Publish(new SelectedVisualObjectsChangeEventArgs((IEnumerable <VisualObject>)visualObjectList, (IEnumerable <VisualObject>)visualObjectList, false));
             }
             else
             {
                 LogConfig.Output.Info((object)LanguageInfo.ListViewOutputMessage);
             }
         }
         this.SetObjectState(CSNode.ObjectState.Default);
     }
 }
Beispiel #2
0
        protected override void OnDragDrop(DragDropArgs e)
        {
            if (e.Context.GetDataPresent(typeof(ResourceInfoDragData)))
            {
                string text = this.CanDragDrop(e);
                if (text != null)
                {
                    LogConfig.Output.Error(text, null);
                    return;
                }
            }
            bool isRunningCompositeTask = Services.TaskService.IsRunningCompositeTask;

            if (!isRunningCompositeTask)
            {
                Services.TaskService.BeginCompositeTask("Drag drop GameObject");
            }
            List <VisualObject> list = new List <VisualObject>();

            if (e.Context.GetDataPresent(typeof(ResourceInfoDragData)))
            {
                ResourceInfoDragData resourceInfoDragData = (ResourceInfoDragData)e.Context.GetDragData();
                if (resourceInfoDragData == null)
                {
                    return;
                }
                foreach (ResourceItem current in resourceInfoDragData.Items)
                {
                    if (!(current is ResourceFolder))
                    {
                        NodeObject nodeObject = this.CreateObjectFromFile(current);
                        if (nodeObject != null)
                        {
                            this.LoadNodeObject(nodeObject, new PointF((float)e.X, (float)e.Y));
                            list.Add(nodeObject);
                        }
                    }
                }
            }
            else if (e.Context.GetDataPresent(typeof(ModelDragData)))
            {
                ModelDragData modelDragData = (ModelDragData)e.Context.GetDragData();
                NodeObject    nodeObject2   = modelDragData.MetaData.CreateObject();
                this.LoadNodeObject(nodeObject2, new PointF((float)e.X, (float)e.Y));
                list.Add(nodeObject2);
            }
            this.SetObjectState(CSNode.ObjectState.Default);
            EventAggregator.Instance.GetEvent <SelectedVisualObjectsChangeEvent>().Publish(new SelectedVisualObjectsChangeEventArgs(list, list, false));
            if (!isRunningCompositeTask)
            {
                Services.TaskService.EndCompositeTask();
            }
        }
Beispiel #3
0
 protected override bool CanReceiveModelObject(ModelDragData objectData)
 {
     if (!base.CanReceiveModelObject(objectData))
     {
         return(false);
     }
     if (objectData.MetaData.Type.Equals(typeof(PanelObject)))
     {
         return(true);
     }
     LogConfig.Logger.Error((object)LanguageInfo.OutputMessage);
     return(false);
 }
 protected override bool CanReceiveModelObject(ModelDragData objectData)
 {
     if (!base.CanReceiveModelObject(objectData))
     {
         return(false);
     }
     if (typeof(WidgetObject).IsAssignableFrom(objectData.MetaData.Type))
     {
         return(true);
     }
     if (this.CanShowMessage)
     {
         LogConfig.Output.Info((object)LanguageInfo.ListViewOutputMessage);
         this.CanShowMessage = false;
     }
     return(false);
 }
        protected override bool OnDragOver(DragMotionArgs e)
        {
            bool result;

            if (e.Context.GetDataPresent(typeof(ModelDragData)))
            {
                ModelDragData modelDragData = e.Context.GetDragData() as ModelDragData;
                if (!typeof(WidgetObject).IsAssignableFrom(modelDragData.MetaData.Type))
                {
                    e.SetAllowDragAction((DragAction)0);
                    result = false;
                    return(result);
                }
            }
            result = base.OnDragOver(e);
            return(result);
        }
        protected override bool CanReceiveModelObject(ModelDragData objectData)
        {
            bool result;

            if (!base.CanReceiveModelObject(objectData))
            {
                result = false;
            }
            else if (!objectData.MetaData.Type.Equals(typeof(PanelObject)))
            {
                LogConfig.Logger.Error(LanguageInfo.OutputMessage);
                result = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
Beispiel #7
0
 protected override void OnDragDrop(DragDropArgs e)
 {
     using (CompositeTask.Run("ChangeParent"))
     {
         ModelDragData dragData = e.Context.GetDragData() as ModelDragData;
         if (dragData != null && dragData.MetaData != null)
         {
             if (dragData.MetaData.Type == typeof(PanelObject))
             {
                 NodeObject nodeObject         = dragData.MetaData.CreateObject();
                 CocoStudio.Model.PointF scene = SceneTransformHelp.ConvertControlToScene(new CocoStudio.Model.PointF((float)e.X, (float)e.Y));
                 nodeObject.Position = this.TransformToSelf(scene);
                 this.Children.Add(nodeObject);
             }
             else
             {
                 LogConfig.Output.Error((object)LanguageInfo.OutputMessage);
             }
         }
         this.SetObjectState(CSNode.ObjectState.Default);
     }
 }
Beispiel #8
0
 protected virtual bool CanReceiveModelObject(ModelDragData objectData)
 {
     return(false);
 }
Beispiel #9
0
 protected override bool CanReceiveModelObject(ModelDragData objectData)
 {
     return(objectData != null && this.Parent == null);
 }