Beispiel #1
0
        private void DocumentWindow_DragDrop(object sender, DragEventArgs e)
        {
            this.Activate();
            ToolboxItem tItem = ((HostToolbox.HostItem)e.Data.GetData(typeof(HostToolbox.HostItem))).ToolboxItem;
            Assembly    asm   = Assembly.GetAssembly(typeof(Primitive));
            Object      obj   = asm.CreateInstance(tItem.TypeName, false);

            //Object obj = Activator.CreateInstance(Type.GetType(tItem.TypeName));
            if (obj == null)
            {
                return;
            }
            if (obj is Primitive)
            {
                Primitive p = (Primitive)obj;
                if (p is TriangleModel)
                {
                    OpenFileDialog ofd = new OpenFileDialog();
                    ofd.Filter =
                        "All Know Files|*.ply;*.byu;*.obj;*.off;*.noff;*.cnoff|Ply Files|*.ply|Byu Files|*.byu|Wave Obj Files|*.obj|Off Files|*.off;*.noff;*.cnoff";
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        TriangleModel model = p as TriangleModel;
                        model.Path = ofd.FileName;
                        LoadingModelDialog modelDlg = new LoadingModelDialog(model);
                        modelDlg.Show();
                    }
                }
                UnifiedScenesRepository.Scenes[this.TabText].Primitives.Add(p);
            }
            else if (obj is Scene)
            {
                DocumentWindow newForm = new DocumentWindow();
                obj = newForm.Scene;
                newForm.Show(this.DockPanel);
            }
            else if (obj is Material)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Materials.Add((Material)obj);
            }
            else if (obj is Light)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Lights.Add((Light)obj);
            }
            else if (obj is Camera)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Cameras.Add((Camera)obj);
            }
            PropertyWindow.Instance.PropertyGrid.SelectedObject = obj;
            //PropertyWindow.Instance.PropertyGrid.SelectedObject = this.Tag;
            //Type type = Type.GetType(tItem.TypeName,false, true);
            //PropertyWindow.Instance.PropertyGrid.SelectedObject =
            //Activator.CreateInstance(Type.GetType(tItem.TypeName), true);
        }
Beispiel #2
0
        private void dockPanel_DragDrop(object sender, DragEventArgs e)
        {
            ToolboxItem tItem = ((HostToolbox.HostItem)e.Data.GetData(typeof(HostToolbox.HostItem))).ToolboxItem;
            Assembly    asm   = Assembly.GetAssembly(typeof(Scene));
            //Object obj = Activator.CreateInstance(Type.GetType(tItem.TypeName), true);
            Object obj = asm.CreateInstance(tItem.TypeName, false,
                                            BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public, null,
                                            null, null, null);

            if (obj is Scene)
            {
                DocumentWindow newForm = new DocumentWindow((Scene)obj);
                newForm.Show(this.dockPanel);
            }
        }
Beispiel #3
0
        private void OpenFile(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "Scene Files (*.xml, *.scn)|*.xml;*.scn";
            if (openFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                //System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(Scene));
                //Scene loaded = (Scene)xml.Deserialize(File.Open(FileName, FileMode.Open));
                ObjectXMLSerializer <Scene> .OnDeserialized += (scene => {
                    IEnumerable <TriangleModel> models =
                        from p in scene.Primitives
                        where p is TriangleModel
                        select p as TriangleModel;
                    foreach (TriangleModel model in models)
                    {
                        LoadingModelDialog modelDlg =
                            new LoadingModelDialog(model);
                        modelDlg.Show();
                    }
                });
                Scene loaded = Scene.Load(openFileDialog.FileName);
                if (UnifiedScenesRepository.Scenes.ContainsName(loaded.Name))
                {
                    DialogResult dr =
                        MessageBox.Show(
                            "Alredy exists an scene opened with the same name!\n Press \"Yes\" to overwrite current scene or \"No\" to rename loaded scene!",
                            "Overwrite scene?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
                            MessageBoxDefaultButton.Button2);
                    if (dr == DialogResult.Yes)
                    {
                        UnifiedScenesRepository.Scenes[loaded.Name] = loaded;
                        this.SelectDocument(loaded.Name);
                        return;
                    }
                    else if (dr == DialogResult.Cancel)
                    {
                        return;
                    }
                    loaded.Name = null;
                    loaded      = null;
                }
                DocumentWindow childForm = new DocumentWindow(loaded);
                childForm.Show(this.dockPanel);
            }
        }
        private void DocumentWindow_DragDrop(object sender, DragEventArgs e)
        {
            this.Activate();
            ToolboxItem tItem = ((HostToolbox.HostItem)e.Data.GetData(typeof(HostToolbox.HostItem))).ToolboxItem;
            Assembly asm = Assembly.GetAssembly(typeof(Primitive));
            Object obj = asm.CreateInstance(tItem.TypeName, false);

            //Object obj = Activator.CreateInstance(Type.GetType(tItem.TypeName));
            if (obj == null)
            {
                return;
            }
            if (obj is Primitive)
            {
                Primitive p = (Primitive)obj;
                if (p is TriangleModel)
                {
                    OpenFileDialog ofd = new OpenFileDialog();
                    ofd.Filter =
                        "All Know Files|*.ply;*.byu;*.obj;*.off;*.noff;*.cnoff|Ply Files|*.ply|Byu Files|*.byu|Wave Obj Files|*.obj|Off Files|*.off;*.noff;*.cnoff";
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        TriangleModel model = p as TriangleModel;
                        model.Path = ofd.FileName;
                        LoadingModelDialog modelDlg = new LoadingModelDialog(model);
                        modelDlg.Show();
                    }
                }
                UnifiedScenesRepository.Scenes[this.TabText].Primitives.Add(p);
            }
            else if (obj is Scene)
            {
                DocumentWindow newForm = new DocumentWindow();
                obj = newForm.Scene;
                newForm.Show(this.DockPanel);
            }
            else if (obj is Material)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Materials.Add((Material)obj);
            }
            else if (obj is Light)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Lights.Add((Light)obj);
            }
            else if (obj is Camera)
            {
                UnifiedScenesRepository.Scenes[this.TabText].Cameras.Add((Camera)obj);
            }
            PropertyWindow.Instance.PropertyGrid.SelectedObject = obj;
            //PropertyWindow.Instance.PropertyGrid.SelectedObject = this.Tag;
            //Type type = Type.GetType(tItem.TypeName,false, true);
            //PropertyWindow.Instance.PropertyGrid.SelectedObject =
            //Activator.CreateInstance(Type.GetType(tItem.TypeName), true);
        }
Beispiel #5
0
        private void ShowNewForm(object sender, EventArgs e)
        {
            DocumentWindow childForm = new DocumentWindow();

            childForm.Show(this.dockPanel);
        }
Beispiel #6
0
 private void ShowNewForm(object sender, EventArgs e)
 {
     DocumentWindow childForm = new DocumentWindow();
     childForm.Show(this.dockPanel);
 }
Beispiel #7
0
 private void OpenFile(object sender, EventArgs e)
 {
     OpenFileDialog openFileDialog = new OpenFileDialog();
     openFileDialog.Filter = "Scene Files (*.xml, *.scn)|*.xml;*.scn";
     if (openFileDialog.ShowDialog(this) == DialogResult.OK) {
         //System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(Scene));
         //Scene loaded = (Scene)xml.Deserialize(File.Open(FileName, FileMode.Open));
         ObjectXMLSerializer<Scene>.OnDeserialized += (scene => {
                                                           IEnumerable<TriangleModel> models =
                                                               from p in scene.Primitives
                                                               where p is TriangleModel
                                                               select p as TriangleModel;
                                                           foreach (TriangleModel model in models) {
                                                               LoadingModelDialog modelDlg =
                                                                   new LoadingModelDialog(model);
                                                               modelDlg.Show();
                                                           }
                                                       });
         Scene loaded = Scene.Load(openFileDialog.FileName);
         if (UnifiedScenesRepository.Scenes.ContainsName(loaded.Name)) {
             DialogResult dr =
                 MessageBox.Show(
                     "Alredy exists an scene opened with the same name!\n Press \"Yes\" to overwrite current scene or \"No\" to rename loaded scene!",
                     "Overwrite scene?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
                     MessageBoxDefaultButton.Button2);
             if (dr == DialogResult.Yes) {
                 UnifiedScenesRepository.Scenes[loaded.Name] = loaded;
                 this.SelectDocument(loaded.Name);
                 return;
             } else if (dr == DialogResult.Cancel) {
                 return;
             }
             loaded.Name = null;
             loaded = null;
         }
         DocumentWindow childForm = new DocumentWindow(loaded);
         childForm.Show(this.dockPanel);
     }
 }
Beispiel #8
0
 private void dockPanel_DragDrop(object sender, DragEventArgs e)
 {
     ToolboxItem tItem = ((HostToolbox.HostItem) e.Data.GetData(typeof (HostToolbox.HostItem))).ToolboxItem;
     Assembly asm = Assembly.GetAssembly(typeof (Scene));
     //Object obj = Activator.CreateInstance(Type.GetType(tItem.TypeName), true);
     Object obj = asm.CreateInstance(tItem.TypeName, false,
                                     BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public, null,
                                     null, null, null);
     if (obj is Scene) {
         DocumentWindow newForm = new DocumentWindow((Scene)obj);
         newForm.Show(this.dockPanel);
     }
 }