using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using BansheeEngine; namespace BansheeEditor { /** @addtogroup GUIEditor * @{ */ /// /// A composite GUI object representing an editor field. Editor fields are a combination of a label and an input field. /// Label is optional. This specific implementation displays an input field for a floating point distribution. /// public partial class GUIFloatDistributionField : GUIElement { private GUIFloatDistributionField(bool __dummy0) { } protected GUIFloatDistributionField() { } /// Creates a new GUI editor field with a label. /// Content to display in the editor field label. /// Width of the label in pixels. /// /// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on. /// If not specified default style is used. /// public GUIFloatDistributionField(GUIContent labelContent, uint labelWidth, string style = "") { Internal_create(this, ref labelContent, labelWidth, style); } /// Creates a new GUI editor field with a label. /// Content to display in the editor field label. /// /// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on. /// If not specified default style is used. /// public GUIFloatDistributionField(GUIContent labelContent, string style = "") { Internal_create0(this, ref labelContent, style); } /// Creates a new GUI editor field with a label. /// String to display in the editor field label. /// Width of the label in pixels. /// /// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on. /// If not specified default style is used. /// public GUIFloatDistributionField(LocString labelText, uint labelWidth, string style = "") { Internal_create1(this, labelText, labelWidth, style); } /// Creates a new GUI editor field with a label. /// String to display in the editor field label. /// /// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on. /// If not specified default style is used. /// public GUIFloatDistributionField(LocString labelText, string style = "") { Internal_create2(this, labelText, style); } /// Creates a new GUI editor field without a label. /// /// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on. /// If not specified default style is used. /// public GUIFloatDistributionField(string style = "") { Internal_create3(this, style); } /// Changes the value of the field. public FloatDistribution Value { get { return Internal_getValue(mCachedPtr); } set { Internal_setValue(mCachedPtr, value); } } /// /// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions. /// public bool HasInputFocus { get { return Internal_hasInputFocus(mCachedPtr); } } /// /// Triggered when the user clicks on the curve display. Only relevant if the distribution is a curve distribution. /// partial void OnClicked(); /// /// Triggered when the user modifies either of the non-curve (constant) values of the distribution. Only relevant if the /// distribution is not a curve distribution. /// partial void OnConstantModified(); /// /// Triggered when the user confirms inputs in either of the non-curve (constant) values of the distribution. Only /// relevant if the distribution is not a curve distribution. /// partial void OnConstantConfirmed(); [MethodImpl(MethodImplOptions.InternalCall)] private static extern FloatDistribution Internal_getValue(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setValue(IntPtr thisPtr, FloatDistribution value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern bool Internal_hasInputFocus(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create(GUIFloatDistributionField managedInstance, ref GUIContent labelContent, uint labelWidth, string style); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create0(GUIFloatDistributionField managedInstance, ref GUIContent labelContent, string style); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create1(GUIFloatDistributionField managedInstance, LocString labelText, uint labelWidth, string style); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create2(GUIFloatDistributionField managedInstance, LocString labelText, string style); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create3(GUIFloatDistributionField managedInstance, string style); private void Internal_onClicked() { OnClicked(); } private void Internal_onConstantModified() { OnConstantModified(); } private void Internal_onConstantConfirmed() { OnConstantConfirmed(); } } /** @} */ }