Ejemplo n.º 1
0
    public Shape Clone(Scene parentScene)
    {
      Shape clone = parentScene.CreateShape(this.Name);
      clone.Template = this.Template;
      clone.EditTemplateMode = this.EditTemplateMode;
      IList<ShapeCircle> circles = this.Circles;
      IList<ShapeCircle> cloneCircles = clone.Circles;
      for(int index = 0; index < circles.Count; ++index)
      {
        ShapeCircle circle = circles[index];
        ShapeCircle cloneCircle = cloneCircles[index];
        cloneCircle.Position = circle.Position;
        cloneCircle.Radius = circle.Radius;
        cloneCircle.Angle = circle.Angle;
      }

      Dictionary<string, IProperty> cloneProperties = clone.UserProperties;
      foreach(var kvp in this.UserProperties)
      {
        IProperty property = cloneProperties[kvp.Key];
        property.TrySetValue(kvp.Value.ToString());
      }

      clone.ZOrder = this.ZOrder;
      return clone;
    }
Ejemplo n.º 2
0
 private static void LoadScene(DataElement sceneElement, Scene scene, ShapeTemplatesSet templates)
 {
   scene.Size = Vector2f.Parse(sceneElement.GetAttribValue("size"));
   DataElement shapesEl = sceneElement.GetChild("shapes");
   foreach(DataElement shapeEl in shapesEl.CollectChildren("shape"))
   {
     string name = shapeEl.GetAttribValue("name");
     Shape shape = scene.CreateShape(name);
     LoadShape(shapeEl, shape, templates);
   }
   
   DataElement propertiesContainer = sceneElement.GetChild("properties");
   if(propertiesContainer != null)
   {
     LoadUserProperties(propertiesContainer, scene);
   }
 }
Ejemplo n.º 3
0
 private static void SaveScene(DataElement sceneElement, Scene scene)
 {
   sceneElement.CreateAttribute("size", scene.Size.ToString());
   DataElement sceneObjectContainer = sceneElement.CreateChild("shapes");
   foreach(Shape shape in scene.Shapes)
   {
     DataElement shapeEl = sceneObjectContainer.CreateChild("shape");
     shapeEl.CreateAttribute("name", shape.Name);
     SaveShape(shapeEl, shape);
   }
   
   DataElement propertiesContainer = sceneElement.CreateChild("properties");
   SaveUserProperties(propertiesContainer, scene);
 }
Ejemplo n.º 4
0
 public SizeProperty(Scene owner)
 {
   m_Owner = owner;
   m_Owner.SizeChanged += this.OnOwnerSizeChanged;
 }
Ejemplo n.º 5
0
 private void OnSelectedSceneChanged(IEditor sender, Scene.Scene previous)
 {
   if(previous != null)
   {
     TreeNodeEx node = this.ProjectNode.Nodes.FindFirstByTag(previous);
     if(node != null)
     {
       node.BackColor = node.BackDefaultColor;
     }
   }
   
   if(sender.SelectedScene != null)
   {
     TreeNodeEx node = this.ProjectNode.Nodes.FindFirstByTag(sender.SelectedScene);
     node.Select();
     node.BackColor = Color.Yellow;
   }
 }
Ejemplo n.º 6
0
 public NameProperty(Scene owner)
 {
   m_Owner = owner;
   m_Owner.NameChanged += this.OnOwnerRenamed;
 }
Ejemplo n.º 7
0
 private void OnShapeAdded(Scene.Scene sender, Shape shape)
 {
   TreeNodeEx sceneNode = this.ProjectNode.Nodes.FindFirstByTag(sender);
   sceneNode.Nodes.Add(shape.Name, shape);
   sceneNode.Expand();
 }
Ejemplo n.º 8
0
 private void OnShapeRemoved(Scene.Scene sender, Shape shape)
 {
   TreeNodeEx sceneNode = this.ProjectNode.Nodes.FindFirstByTag(sender);
   TreeNodeEx shapeNode = sceneNode.Nodes.FindFirstByTag(shape);
   shapeNode.Remove();
 }
Ejemplo n.º 9
0
 private void OnSceneAdded(ScenesSet sender, Scene.Scene scene)
 {
   TreeNodeEx node = this.ProjectNode.Nodes.Add(scene.Name, scene);
   RebuildSceneNode(node);
   AddScene(scene);
   node.Select();
 }
Ejemplo n.º 10
0
 private void OnSceneRemoved(ScenesSet sender, Scene.Scene scene)
 {
   RemoveScene(scene);
   TreeNodeEx node = this.ProjectNode.Nodes.FindFirstByText(scene.Name);
   node.Remove();
 }
Ejemplo n.º 11
0
 private void RemoveScene(Scene.Scene scene)
 {
   scene.ShapeAdded -= this.OnShapeAdded;
   scene.ShapeRemoved -= this.OnShapeRemoved;
 }
Ejemplo n.º 12
0
 private void AddScene(Scene.Scene scene)
 {
   scene.ShapeAdded += this.OnShapeAdded;
   scene.ShapeRemoved += this.OnShapeRemoved;
 }
Ejemplo n.º 13
0
 private void OnSceneRemoved(ScenesSet sender, Scene.Scene scene)
 {
   if(this.SelectedScene == scene)
   {
     this.SelectedScene = null;
   }
 }
Ejemplo n.º 14
0
 private void OnSceneSizeChanged(Scene.Scene sender, Vector2f previous)
 {
   UpdateSceneSize();
 }
Ejemplo n.º 15
0
 private void OnSelectedSceneChanged(IEditor sender, Scene.Scene previous)
 {
   if(previous != null)
   {
     previous.SizeChanged -= this.OnSceneSizeChanged;
   }
   
   if(this.SelectedScene != null)
   {
     this.SelectedScene.SizeChanged += this.OnSceneSizeChanged;
   }
   
   UpdateSceneSize();
   Invalidate();
 }