public void SetupCameraSettings(CameraSettingsViewModel cameraSettingsViewModel)
        {
            if (_settingsTable != null)
            {
                this.Remove(_settingsTable);
            }

            int settingsCount = cameraSettingsViewModel.Settings.Count();
            _settingsTable = new Table((uint) settingsCount, 2, false);

            for (int i = 0; i < settingsCount; i++)
            {
                ISettingsViewModel setting = cameraSettingsViewModel.Settings[i];

                Label label = new Label(setting.Name);
                _settingsTable.Attach(label, 0, 1, (uint) i, (uint) (i + 1), AttachOptions.Expand, AttachOptions.Shrink,
                    6, 6);

                Widget widget;
                switch (setting.SettingType)
                {
                    case SettingType.Single:
                    default:
                        Button button = new Button(setting.Name);
                        button.Clicked += (sender, args) => { };
                        widget = button;
                        break;
                    case SettingType.Multi:
                        ComboBox comboBox = new ComboBox(setting.AssignableValues) {Active = 0};
                        comboBox.Changed += (sender, args) => { setting.Value = setting.AssignableValues[comboBox.Active]; };

                        setting.ValueChanged += (sender, args) =>
                        {
                            comboBox.Active = Array.IndexOf(setting.AssignableValues, setting.Value);
                        };

                        widget = comboBox;
                        break;
                }
                _settingsTable.Attach(widget, 1, 2, (uint) i, (uint) (i + 1), AttachOptions.Fill, AttachOptions.Shrink,
                    6, 6);
            }

            this.Add(_settingsTable);
            this.ShowAll();
        }
        public CameraViewModel(Logger logger)
        {
            _logger = logger;

            CameraCameraSettings = new CameraSettingsViewModel(logger);
        }