Пример #1
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (IsSaveQuestionCancelled())
            {
                return;
            }

            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Filter           = fileDialogFilter;
                dlg.RestoreDirectory = true;
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                lastFileName = dlg.FileName;
            }

            if (Path.GetExtension(lastFileName) == ".bullet")
            {
                bulletWrapper = new ExperimentalBulletWrapper();
                bulletWrapper.Load(lastFileName);
                bulletController.Model = bulletWrapper;
                Manipulated            = bulletController;
            }

            undo.Clear();
            InvalidateAllViews();
        }
 public BulletObjectWrapperCollection(ExperimentalBulletWrapper wrapper)
 {
     for (uint i = 0; i < wrapper.Count; i++)
     {
         this.Add(new BulletObjectWrapper(i, wrapper));
     }
 }
Пример #3
0
        private void newToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (IsSaveQuestionCancelled())
            {
                return;
            }

            bulletWrapper          = new ExperimentalBulletWrapper();
            bulletController.Model = bulletWrapper;
            bulletController.UpdateSelection();
            undo.Clear();
            InvalidateAllViews(); //this also invalidates the Object View
            //OnEachViewDo(view => view.Invalidate());
        }
Пример #4
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (IsSaveQuestionCancelled())
            {
                return;
            }

            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Filter           = fileDialogFilter;
                dlg.RestoreDirectory = true;
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                lastFileName = dlg.FileName;
            }

            if (Path.GetExtension(lastFileName) == ".bullet")
            {
                bulletWrapper          = new ExperimentalBulletWrapper(lastFileName);
                bulletController.Model = bulletWrapper;
                Manipulated            = bulletController;
            }
            else
            {
                items = new ItemCollection();
                items.ReadFromFile(lastFileName);
                itemsController.Model = items;
                itemsController.UpdateSelection();
            }

            undo.Clear();
            OnEachViewDo(view => view.Invalidate());
        }
Пример #5
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (IsSaveQuestionCancelled())
                return;

            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Filter = fileDialogFilter;
                dlg.RestoreDirectory = true;
                if (dlg.ShowDialog() != DialogResult.OK)
                    return;

                lastFileName = dlg.FileName;
            }

            if (Path.GetExtension(lastFileName) == ".bullet")
            {
                bulletWrapper = new ExperimentalBulletWrapper(lastFileName);
                bulletController.Model = bulletWrapper;
                Manipulated = bulletController;
            }
            else
            {
                items = new ItemCollection();
                items.ReadFromFile(lastFileName);
                itemsController.Model = items;
                itemsController.UpdateSelection();
            }

            undo.Clear();
            OnEachViewDo(view => view.Invalidate());
        }
Пример #6
0
        public DocumentForm()
        {
            InitializeComponent();

            // need to fix that, never works correctly because we are in constructor
            if (this.DesignMode)
            {
                return;
            }

            bulletController       = new OpenGLManipulatingController();
            bulletWrapper          = new ExperimentalBulletWrapper();
            bulletController.Model = bulletWrapper;
            undo = new UndoManager();

            fourViewDock  = new DockFourViews();
            propertyPanel = new DockPropertyPanel();
            gridPanel     = new DockGridPanel();
            logPanel      = new DockLogPanel();

            openGLSceneViewLeft        = fourViewDock.openGLSceneViewLeft;
            openGLSceneViewTop         = fourViewDock.openGLSceneViewTop;
            openGLSceneViewFront       = fourViewDock.openGLSceneViewFront;
            openGLSceneViewPerspective = fourViewDock.openGLSceneViewPerspective;

            mainSplit   = fourViewDock.mainSplit;
            topSplit    = fourViewDock.topSplit;
            bottomSplit = fourViewDock.bottomSplit;

            logTextBox   = logPanel.logTextBox;
            objectView   = gridPanel.objectView;
            propertyGrid = propertyPanel.propertyGrid;

            logWriter = new StringWriter();
            Trace.Listeners.Add(new TextWriterTraceListener(logWriter));

            logTextBox.Text = logWriter.ToString();

            topSplit.SplitterMoving    += new SplitterCancelEventHandler(topSplit_SplitterMoving);
            bottomSplit.SplitterMoving += new SplitterCancelEventHandler(bottomSplit_SplitterMoving);

            topSplit.SplitterMoved    += new SplitterEventHandler(topSplit_SplitterMoved);
            bottomSplit.SplitterMoved += new SplitterEventHandler(bottomSplit_SplitterMoved);

            openGLSceneViewLeft.CurrentCameraMode        = CameraMode.CameraModeLeft;
            openGLSceneViewTop.CurrentCameraMode         = CameraMode.CameraModeTop;
            openGLSceneViewFront.CurrentCameraMode       = CameraMode.CameraModeFront;
            openGLSceneViewPerspective.CurrentCameraMode = CameraMode.CameraModePerspective;

            OnEachViewDo(view => view.CurrentManipulator = ManipulatorType.ManipulatorTypeDefault);

            bulletController.CurrentManipulator = openGLSceneViewLeft.CurrentManipulator;

            OnEachViewDo(view =>
            {
                view.Displayed   = view.Manipulated = bulletController;
                view.TheDelegate = this;
            });

            undo.NeedsSaveChanged += new EventHandler(undo_NeedsSaveChanged);
            this.FormClosing      += new FormClosingEventHandler(Form1_FormClosing);

            views = new List <OpenGLSceneView>();
            OnEachViewDo(view => views.Add(view));

            this.KeyDown += new KeyEventHandler(DocumentForm_KeyDown);

            fourViewDock.Show(dockPanel1);
            propertyPanel.Show(dockPanel1);
            gridPanel.Show(dockPanel1);
            logPanel.Show(dockPanel1);

            dockPanel1.DockLeftPortion  = 0.15;  // 15 percent of dock space, 25 percent is default
            dockPanel1.DockRightPortion = 0.15;

            Manipulated = bulletController;
            propertyGrid.PropertyValueChanged += new PropertyValueChangedEventHandler(propertyGrid_PropertyValueChanged);

            simulationTimer          = new Timer();
            simulationTimer.Interval = 1000 / 60;
            simulationTimer.Enabled  = false;
            simulationTimer.Tick    += new EventHandler(simulationTimer_Tick);

            objectView.SelectionChanged += new EventHandler(objectView_SelectionChanged);

            comboBoxViewMode.Items.Add("Solid");
            comboBoxViewMode.Items.Add("Wireframe");
            comboBoxViewMode.SelectedItem = "Solid";

            comboBoxViewMode.SelectedIndexChanged += new EventHandler(comboBoxViewMode_SelectedIndexChanged);
        }
 public BulletObjectWrapper(uint index, ExperimentalBulletWrapper wrapper)
 {
     Index         = index;
     BulletWrapper = wrapper;
 }