public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI();
        serializedObject.Update();

        EditorGUILayout.BeginVertical("box");
        _cameraTab = GUILayout.Toolbar(_cameraTab, _tabNames);
        if (_cameraTab == _tabNames.Length - 1)
        {
            _camController.AddCamera();
            UpdateCameraTabs();
        }
        else
        {
            ShowIndexProperties(_cameraTab);
        }
        EditorGUILayout.EndVertical();
        serializedObject.ApplyModifiedProperties();
    }
Пример #2
0
        // Cameras
        private void btnCamerasSave_Click(object sender, EventArgs e)
        {
            // Valiations:

            if (!Utilities.IsDigitsOnly(tbCamerasXResolution.Text))
            {
                errorProvider.SetError(tbCamerasXResolution, "Must be a number.");
                return;
            }
            else
            {
                errorProvider.SetError(tbCamerasXResolution, "");
            }

            if (!Utilities.IsDigitsOnly(tbCamerasYResolution.Text))
            {
                errorProvider.SetError(tbCamerasYResolution, "Must be a number.");
                return;
            }
            else
            {
                errorProvider.SetError(tbCamerasYResolution, "");
            }

            if (tbCamerasShortName.Text.Length == 0)
            {
                errorProvider.SetError(tbCamerasShortName, "Must provide a value.");
                return;
            }
            else
            {
                errorProvider.SetError(tbCamerasYResolution, "");
            }

            if (lbCamerasColorSpaces.Items.Count == 0)
            {
                errorProvider.SetError(lbCamerasColorSpaces, "Must specify at least one color space.");
                return;
            }

            // Save new/changes:

            int    id            = 0;
            string shortName     = tbCamerasShortName.Text;
            string longName      = tbCamerasLongName.Text;
            Size   maxResolution = new Size(int.Parse(tbCamerasXResolution.Text), int.Parse(tbCamerasYResolution.Text));

            List <ColorSpace> colorSpaces = new List <ColorSpace>();

            foreach (var item in lbCamerasColorSpaces.Items)
            {
                ColorSpace cs = listColorSpaces.Find(x => x.Name == item.ToString());

                if (cs != null)
                {
                    colorSpaces.Add(cs);
                }
            }

            if (emCameras == EditingModes.Add)
            {
                id = 0;
            }
            else
            {
                id = currentCamera.Id;
            }

            Camera candidate = new Camera(id, shortName, longName, maxResolution, colorSpaces);

            if (emCameras == EditingModes.Add)
            {
                id = CameraController.AddCamera(candidate);
            }
            else
            {
                CameraController.EditCamera(id, candidate);
            }

            // Reload data:
            lblStatus.Text = "Issuing camera saving command... ";
            currentCamera  = CameraController.GetCameras(new List <int>()
            {
                id
            })[0];
            LoadCameraData(currentCamera);
            PrepareDataLists();
            lblStatus.Text += "Complete.";
        }