public static ComboBoxProperty GetProperty(StringBuilder name, IMyTerminalControlCombobox comboBox, List <MyTerminalControlComboBoxItem> comboItems, PropertyBlock block) { ComboBoxProperty prop = block.comboPropPool.Get(); prop.SetProperty(name, comboBox, block); prop.SetComboItems(comboItems); return(prop); }
private ComboBoxProperty AddMeshControl(IEnumerable <string> meshes, int?mesh) { var meshControl = new ComboBoxProperty(); meshControl.PropertyName = "Mesh"; meshControl.DataSource = GetMeshDataSource(meshes); panel.Controls.Add(meshControl); if (mesh.HasValue) { meshControl.PropertyValue = mesh.Value; } return(meshControl); }
private ComboBoxProperty AddDirectionControl(Unity_collidersCapsuleCollider.DirectionEnum?direction) { var directionControl = new ComboBoxProperty(); directionControl.PropertyName = "Direction"; directionControl.DataSource = Enum.GetValues(typeof(CapsuleDirection)); panel.Controls.Add(directionControl); if (direction.HasValue) { directionControl.PropertyValue = GetDirection(direction); } return(directionControl); }
private ElementProperty GetComboBoxProperty(SignalRule signalRule, PropertyInfo propertyInfo) { ElementProperty elementProperty = new ComboBoxProperty { PerformValidationOnLoad = _performValidationOnLoad, SignalRule = signalRule, PropertyName = propertyInfo.Name, PropertyValue = propertyInfo.GetValue(signalRule) }; foreach (var item in propertyInfo.PropertyType.GetEnumValues()) { (elementProperty as ComboBoxProperty).Lookups.Add(item.ToString()); } return(elementProperty); }
private void InitTable(PropertyTable table) { table.Add("text", "textbox").Tooltip = "Heyy tooltip"; LabelProperty lab = new LabelProperty(null) { Value = "Uneditable label", }; table.Add("Label", lab); table.Add("check", new CheckProperty(null)); var cb = new ComboBoxProperty(table); cb.AddItem("Test"); cb.AddItem("auto selected"); cb.AddItem("val 3"); cb.SetValue("auto selected"); table.Add("combo", cb); NumberProperty num = new NumberProperty(table) { Min = -10, Max = 10, Value = "3" }; table.Add("Number:", num); }
private void Setup() { Panel content = new Panel(this) { Dock = Dock.Fill, AutoSizeToContents = true, ShouldDrawBackground = false }; Panel bottomrow = new Panel(content) { Dock = Dock.Bottom, AutoSizeToContents = true, ShouldDrawBackground = false, }; PropertyTree proptree = new PropertyTree(content) { Dock = Dock.Top, AutoSizeToContents = true, Width = 200, Margin = new Margin(0, 0, 0, 10) }; var table = proptree.Add("Output Settings", 150); var qualitycb = new ComboBoxProperty(table); qualitycb.AddItem("720p"); qualitycb.AddItem("1080p"); table.Add("Quality", qualitycb); var smoothcheck = AddPropertyCheckbox( table, "Smooth Playback", Settings.RecordSmooth); var music = AddPropertyCheckbox( table, "Save Music", !Settings.MuteAudio && Settings.RecordMusic); if (Settings.MuteAudio) { music.Disable(); } table = proptree.Add("Overlay settings", 150); var ppf = AddPropertyCheckbox( table, "Show P/f", Settings.Recording.ShowPpf); var fps = AddPropertyCheckbox( table, "Show FPS", Settings.Recording.ShowFps); var tools = AddPropertyCheckbox( table, "Show Tools", Settings.Recording.ShowTools); proptree.ExpandAll(); Button Cancel = new Button(bottomrow) { Dock = Dock.Right, Text = "Cancel", Margin = new Margin(10, 0, 0, 0), }; Cancel.Clicked += (o, e) => { Close(); }; Button ok = new Button(bottomrow) { Dock = Dock.Right, Text = "Save" }; if (!SafeFrameBuffer.CanRecord || !CheckRecord()) { ok.Disable(); } ok.Clicked += (o, e) => { Close(); Settings.Recording.ShowPpf = ppf.IsChecked; Settings.Recording.ShowFps = fps.IsChecked; Settings.Recording.ShowTools = tools.IsChecked; Settings.Record1080p = qualitycb.SelectedItem.Text == "1080p"; Settings.RecordSmooth = smoothcheck.IsChecked; if (!music.IsDisabled) { Settings.RecordMusic = music.IsChecked; } Settings.Save(); Record(); }; }
private void Setup() { Panel content = new Panel(this) { Dock = Dock.Fill, AutoSizeToContents = true, ShouldDrawBackground = false }; Panel bottomrow = new Panel(content) { Dock = Dock.Bottom, AutoSizeToContents = true, ShouldDrawBackground = false, }; PropertyTree proptree = new PropertyTree(content) { Dock = Dock.Top, AutoSizeToContents = true, Width = 200, Margin = new Margin(0, 0, 0, 10) }; var table = proptree.Add("Output Settings", 150); var qualitycb = new ComboBoxProperty(table); foreach (var item in resolutions) { qualitycb.AddItem(item.Key); } table.Add("Quality", qualitycb); var smoothcheck = AddPropertyCheckbox( table, "Smooth Playback", Settings.RecordSmooth); var music = AddPropertyCheckbox( table, "Save Music", !Settings.MuteAudio && Settings.RecordMusic); if (Settings.MuteAudio) { music.Disable(); } table = proptree.Add("Overlay settings", 150); var ppf = AddPropertyCheckbox( table, "Show P/f", Settings.Recording.ShowPpf); var fps = AddPropertyCheckbox( table, "Show FPS", Settings.Recording.ShowFps); var tools = AddPropertyCheckbox( table, "Show Tools", Settings.Recording.ShowTools); var hitTest = AddPropertyCheckbox( table, "Show Hit Test", Settings.Editor.HitTest); var colorTriggers = AddPropertyCheckbox( table, "Enable Color Triggers", Settings.Recording.EnableColorTriggers); var resIndZoom = AddPropertyCheckbox( table, "Res-Independent Zoom", Settings.Recording.ResIndZoom); proptree.ExpandAll(); Button Cancel = new Button(bottomrow) { Dock = Dock.Right, Text = "Cancel", Margin = new Margin(10, 0, 0, 0), }; Cancel.Clicked += (o, e) => { Close(); }; Button ok = new Button(bottomrow) { Dock = Dock.Right, Text = "Export" }; if (!SafeFrameBuffer.CanRecord || !CheckRecord()) { ok.Disable(); } ok.Clicked += (o, e) => { Close(); Settings.Recording.ShowPpf = ppf.IsChecked; Settings.Recording.ShowFps = fps.IsChecked; Settings.Recording.ShowTools = tools.IsChecked; Settings.Recording.EnableColorTriggers = colorTriggers.IsChecked; Settings.Recording.ResIndZoom = resIndZoom.IsChecked; Settings.Recording.ShowHitTest = hitTest.IsChecked; Settings.RecordSmooth = smoothcheck.IsChecked; if (!music.IsDisabled) { Settings.RecordMusic = music.IsChecked; } try { var size = resolutions[qualitycb.SelectedItem.Text]; Settings.RecordingWidth = size.Width; Settings.RecordingHeight = size.Height; } catch (KeyNotFoundException) { throw new Exception("Invalid resolution: " + qualitycb.SelectedItem.Text); } Settings.Save(); Record(); }; }
/// <summary> /// Retrieves all block ITerminalProperty values. /// </summary> private void GetScrollableProps() { propBuf.Clear(); TextProperty argProperty = null; TBlock.GetProperties(propBuf); foreach (ITerminalProperty prop in propBuf) { var control = prop as IMyTerminalControl; if (control != null && control.CanUseControl(TBlock)) { nameBuilder.Clear(); GetTooltipName(prop, nameBuilder); if (nameBuilder.Length > 0) { if (prop is ITerminalProperty <StringBuilder> ) { var textProp = prop as ITerminalProperty <StringBuilder>; if (textProp.CanAccessValue(TBlock)) { if (prop.Id == "ConsoleCommand") { argProperty = TextProperty.GetProperty(nameBuilder, textProp, this); } else if (prop.Id == "Name" || prop.Id == "CustomName") { blockProperties.Insert(0, TextProperty.GetProperty(nameBuilder, textProp, this)); } else { blockProperties.Add(TextProperty.GetProperty(nameBuilder, textProp, this)); } } } if (prop is IMyTerminalControlCombobox) { var comboBox = prop as IMyTerminalControlCombobox; if (comboBox.CanAccessValue(TBlock, comboItemBuffer)) { blockProperties.Add(ComboBoxProperty.GetProperty(nameBuilder, comboBox, comboItemBuffer, this)); } } else if (prop is ITerminalProperty <bool> ) { var boolProp = prop as ITerminalProperty <bool>; if (boolProp.CanAccessValue(TBlock)) { blockProperties.Add(BoolProperty.GetProperty(nameBuilder, boolProp, this)); } } else if (prop is ITerminalProperty <float> ) { var floatProp = prop as ITerminalProperty <float>; if (floatProp.CanAccessValue(TBlock)) { blockProperties.Add(FloatProperty.GetProperty(nameBuilder, floatProp, this)); } } else if (prop is ITerminalProperty <Color> ) { var colorProp = prop as ITerminalProperty <Color>; if (colorProp.CanAccessValue(TBlock)) { blockProperties.Add(ColorProperty.GetProperty(nameBuilder, colorProp, this)); } } else if (prop is ITerminalProperty <Vector3> && prop.Id.Contains("Color")) { var colorProp = prop as ITerminalProperty <Vector3>; if (colorProp.CanAccessValue(TBlock)) { blockProperties.Add(HsvColorProperty.GetProperty(nameBuilder, colorProp, this)); } } } } } if (argProperty != null) { blockProperties.Add(argProperty); } blockMembers.AddRange(blockProperties); comboItemBuffer.Clear(); }