Struct RadioButton

Source
pub struct RadioButton {
    pub handle: ControlHandle,
    /* private fields */
}
Expand description

A radio button (also called option button) consists of a round button and an application-defined label, icon, or bitmap that indicates a choice the user can make by selecting the button. An application typically uses radio buttons in a group box to enable the user to choose one of a set of related but mutually exclusive options.

Radiobutton is not behind any features.

Note: Internally, radio buttons are Button and as such, they trigger the same events

Builder parameters:

  • parent: Required. The radio button parent container.
  • text: The radio button text.
  • size: The radio button size.
  • position: The radio button position.
  • enabled: If the radio button can be used by the user. It also has a grayed out look if disabled.
  • flags: A combination of the RadioButtonFlags values.
  • ex_flags: A combination of win32 window extended flags. Unlike flags, ex_flags must be used straight from winapi
  • font: The font used for the radio button text
  • background_color: The background color of the radio button. Defaults to the default window background (light gray)
  • check_state: The default check state

Control events:

  • OnButtonClick: When the adio button is clicked once by the user
  • OnButtonDoubleClick: When the adio button is clicked twice rapidly by the user
  • MousePress(_): Generic mouse press events on the adio button
  • OnMouseMove: Generic mouse mouse event
  • OnMouseWheel: Generic mouse wheel event
use native_windows_gui as nwg;

/// Build two group of checkboxes on the same parent with the GROUP flags
fn build_radio_groups(radios: &mut [nwg::RadioButton], parent: &nwg::Window) {
    use nwg::RadioButtonFlags as RadioF;

    // Group 1
    nwg::RadioButton::builder()
      .flags(RadioF::VISIBLE | RadioF::GROUP)
      .parent(parent)
      .build(&mut radios[0]);

    nwg::RadioButton::builder()
      .parent(parent)
      .build(&mut radios[1]);

    // Group 2
    nwg::RadioButton::builder()
      .flags(RadioF::VISIBLE | RadioF::GROUP)
      .parent(parent)
      .build(&mut radios[2]);

    nwg::RadioButton::builder()
      .parent(parent)
      .build(&mut radios[3]);
}

use native_windows_gui as nwg;
fn build_radio(radio: &mut nwg::RadioButton, window: &nwg::Window, font: &nwg::Font) {
    nwg::RadioButton::builder()
        .text("Hello")
        .flags(nwg::RadioButtonFlags::VISIBLE)
        .font(Some(font))
        .parent(window)
        .build(radio);
}

Fields§

§handle: ControlHandle

Implementations§

Source§

impl RadioButton

Source

pub fn builder<'a>() -> RadioButtonBuilder<'a>

Source

pub fn check_state(&self) -> RadioButtonState

Return the check state of the check box

Source

pub fn set_check_state(&self, state: RadioButtonState)

Sets the check state of the check box

Source

pub fn font(&self) -> Option<Font>

Return the font of the control

Source

pub fn set_font(&self, font: Option<&Font>)

Set the font of the control

Source

pub fn focus(&self) -> bool

Return true if the control currently has the keyboard focus

Source

pub fn set_focus(&self)

Set the keyboard focus on the button.

Source

pub fn enabled(&self) -> bool

Return true if the control user can interact with the control, return false otherwise

Source

pub fn set_enabled(&self, v: bool)

Enable or disable the control

Source

pub fn visible(&self) -> bool

Return true if the control is visible to the user. Will return true even if the control is outside of the parent client view (ex: at the position (10000, 10000))

Source

pub fn set_visible(&self, v: bool)

Show or hide the control to the user

Source

pub fn size(&self) -> (u32, u32)

Return the size of the radio button in the parent window

Source

pub fn set_size(&self, x: u32, y: u32)

Set the size of the radio button in the parent window

Source

pub fn position(&self) -> (i32, i32)

Return the position of the radio button in the parent window

Source

pub fn set_position(&self, x: i32, y: i32)

Set the position of the radio button in the parent window

Source

pub fn text(&self) -> String

Return the radio button label

Source

pub fn set_text<'a>(&self, v: &'a str)

Set the radio button label

Source

pub fn class_name(&self) -> &'static str

Winapi class name used during control creation

Source

pub fn flags(&self) -> u32

Winapi base flags used during window creation

Source

pub fn forced_flags(&self) -> u32

Winapi flags required by the control

Trait Implementations§

Source§

impl Default for RadioButton

Source§

fn default() -> RadioButton

Returns the “default value” for a type. Read more
Source§

impl Drop for RadioButton

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<&RadioButton> for ControlHandle

Source§

fn from(control: &RadioButton) -> Self

Converts to this type from the input type.
Source§

impl From<&mut RadioButton> for ControlHandle

Source§

fn from(control: &mut RadioButton) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<ControlHandle> for RadioButton

Source§

fn eq(&self, other: &ControlHandle) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<RadioButton> for ControlHandle

Source§

fn eq(&self, other: &RadioButton) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for RadioButton

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.