Trait WidgetExt

pub unsafe trait WidgetExt {
Show 100 methods // Required methods fn with_pos(self, x: i32, y: i32) -> Self where Self: Sized; fn with_size(self, width: i32, height: i32) -> Self where Self: Sized; fn with_label(self, title: &str) -> Self where Self: Sized; fn with_align(self, align: Align) -> Self where Self: Sized; fn with_type<T>(self, typ: T) -> Self where T: WidgetType, Self: Sized; fn below_of<W>(self, wid: &W, padding: i32) -> Self where W: WidgetExt, Self: Sized; fn above_of<W>(self, wid: &W, padding: i32) -> Self where W: WidgetExt, Self: Sized; fn right_of<W>(self, wid: &W, padding: i32) -> Self where W: WidgetExt, Self: Sized; fn left_of<W>(self, wid: &W, padding: i32) -> Self where W: WidgetExt, Self: Sized; fn center_of<W>(self, w: &W) -> Self where W: WidgetExt, Self: Sized; fn center_x<W>(self, w: &W) -> Self where W: WidgetExt, Self: Sized; fn center_y<W>(self, w: &W) -> Self where W: WidgetExt, Self: Sized; fn center_of_parent(self) -> Self where Self: Sized; fn size_of<W>(self, w: &W) -> Self where W: WidgetExt, Self: Sized; fn size_of_parent(self) -> Self where Self: Sized; fn set_pos(&mut self, x: i32, y: i32); fn set_size(&mut self, width: i32, height: i32); fn set_label(&mut self, title: &str); fn redraw(&mut self); fn show(&mut self); fn hide(&mut self); fn x(&self) -> i32; fn y(&self) -> i32; fn width(&self) -> i32; fn height(&self) -> i32; fn w(&self) -> i32; fn h(&self) -> i32; fn label(&self) -> String ; fn measure_label(&self) -> (i32, i32) ; fn as_widget_ptr(&self) -> *mut Fl_Widget; fn inside<W>(&self, wid: &W) -> bool where W: WidgetExt, Self: Sized; fn get_type<T>(&self) -> T where T: WidgetType, Self: Sized; fn set_type<T>(&mut self, typ: T) where T: WidgetType, Self: Sized; fn set_image<I>(&mut self, image: Option<I>) where I: ImageExt, Self: Sized; fn set_image_scaled<I>(&mut self, image: Option<I>) where I: ImageExt, Self: Sized; fn image(&self) -> Option<Box<dyn ImageExt>> where Self: Sized; fn set_deimage<I>(&mut self, image: Option<I>) where I: ImageExt, Self: Sized; fn set_deimage_scaled<I>(&mut self, image: Option<I>) where I: ImageExt, Self: Sized; fn deimage(&self) -> Option<Box<dyn ImageExt>> where Self: Sized; fn set_callback<F>(&mut self, cb: F) where F: FnMut(&mut Self) + 'static, Self: Sized; fn emit<T>(&mut self, sender: Sender<T>, msg: T) where T: 'static + Clone + Send + Sync, Self: Sized; fn activate(&mut self); fn deactivate(&mut self); fn redraw_label(&mut self); fn resize(&mut self, x: i32, y: i32, width: i32, height: i32); fn tooltip(&self) -> Option<String> ; fn set_tooltip(&mut self, txt: &str); fn color(&self) -> Color; fn set_color(&mut self, color: Color); fn label_color(&self) -> Color; fn set_label_color(&mut self, color: Color); fn label_font(&self) -> Font; fn set_label_font(&mut self, font: Font); fn label_size(&self) -> i32; fn set_label_size(&mut self, sz: i32); fn label_type(&self) -> LabelType; fn set_label_type(&mut self, typ: LabelType); fn frame(&self) -> FrameType; fn set_frame(&mut self, typ: FrameType); fn changed(&self) -> bool; fn set_changed(&mut self); fn clear_changed(&mut self); fn align(&self) -> Align; fn set_align(&mut self, align: Align); fn parent(&self) -> Option<Group> ; fn selection_color(&self) -> Color; fn set_selection_color(&mut self, color: Color); fn do_callback(&mut self); fn window(&self) -> Option<Box<dyn WindowExt>> ; fn top_window(&self) -> Option<Box<dyn WindowExt>> ; fn takes_events(&self) -> bool; fn take_focus(&mut self) -> Result<(), FltkError> ; fn set_visible_focus(&mut self); fn clear_visible_focus(&mut self); fn visible_focus(&mut self, v: bool); fn has_visible_focus(&self) -> bool; fn has_focus(&self) -> bool; fn was_deleted(&self) -> bool; fn damage(&self) -> bool; fn set_damage(&mut self, flag: bool); fn damage_type(&self) -> Damage; fn set_damage_type(&mut self, mask: Damage); fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32); fn clear_damage(&mut self); fn set_trigger(&mut self, trigger: CallbackTrigger); fn trigger(&self) -> CallbackTrigger; fn as_window(&self) -> Option<Box<dyn WindowExt>> ; fn as_group(&self) -> Option<Group> ; unsafe fn into_widget<W>(&self) -> W where W: WidgetBase, Self: Sized; fn visible(&self) -> bool; fn visible_r(&self) -> bool; fn is_same<W>(&self, other: &W) -> bool where W: WidgetExt, Self: Sized; fn active(&self) -> bool; fn active_r(&self) -> bool; fn widget_resize(&mut self, x: i32, y: i32, w: i32, h: i32); fn handle_event(&mut self, event: Event) -> bool; // Provided methods fn as_base_widget(&self) -> Widget where Self: Sized { ... } fn is_derived(&self) -> bool { ... } unsafe fn image_mut(&self) -> Option<&mut Image> { ... } unsafe fn deimage_mut(&self) -> Option<&mut Image> { ... }
}
Available on crate feature dep_fltk only.
Expand description

Defines the methods implemented by all widgets

For multithreaded usage, see the widget module documentation’s note

§Safety

fltk-rs traits depend on some FLTK internal code

§Warning

fltk-rs traits are non-exhaustive, to avoid future breakage if you try to implement them manually, use the Deref and DerefMut pattern or the widget_extends! macro

Required Methods§

fn with_pos(self, x: i32, y: i32) -> Self
where Self: Sized,

Initialize to a position x, y

fn with_size(self, width: i32, height: i32) -> Self
where Self: Sized,

Initialize to size width, height

fn with_label(self, title: &str) -> Self
where Self: Sized,

Initialize with a label

fn with_align(self, align: Align) -> Self
where Self: Sized,

Initialize with alignment

fn with_type<T>(self, typ: T) -> Self
where T: WidgetType, Self: Sized,

Initialize with type

fn below_of<W>(self, wid: &W, padding: i32) -> Self
where W: WidgetExt, Self: Sized,

Initialize at bottom of another widget

fn above_of<W>(self, wid: &W, padding: i32) -> Self
where W: WidgetExt, Self: Sized,

Initialize above of another widget

fn right_of<W>(self, wid: &W, padding: i32) -> Self
where W: WidgetExt, Self: Sized,

Initialize right of another widget

fn left_of<W>(self, wid: &W, padding: i32) -> Self
where W: WidgetExt, Self: Sized,

Initialize left of another widget

fn center_of<W>(self, w: &W) -> Self
where W: WidgetExt, Self: Sized,

Initialize center of another widget

fn center_x<W>(self, w: &W) -> Self
where W: WidgetExt, Self: Sized,

Initialize center of another widget on the x axis

fn center_y<W>(self, w: &W) -> Self
where W: WidgetExt, Self: Sized,

Initialize center of another widget on the y axis

fn center_of_parent(self) -> Self
where Self: Sized,

Initialize center of parent

fn size_of<W>(self, w: &W) -> Self
where W: WidgetExt, Self: Sized,

Initialize to the size of another widget

fn size_of_parent(self) -> Self
where Self: Sized,

Initialize to the size of the parent

fn set_pos(&mut self, x: i32, y: i32)

Set to position x, y

fn set_size(&mut self, width: i32, height: i32)

Set to dimensions width and height

fn set_label(&mut self, title: &str)

Sets the widget’s label. labels support special symbols preceded by an @ sign. and for the associated formatting.

fn redraw(&mut self)

Redraws a widget, necessary for resizing and changing positions

fn show(&mut self)

Shows the widget

fn hide(&mut self)

Hides the widget

fn x(&self) -> i32

Returns the x coordinate of the widget

fn y(&self) -> i32

Returns the y coordinate of the widget

fn width(&self) -> i32

Returns the width of the widget

fn height(&self) -> i32

Returns the height of the widget

fn w(&self) -> i32

Returns the width of the widget

fn h(&self) -> i32

Returns the height of the widget

fn label(&self) -> String

Returns the label of the widget

fn measure_label(&self) -> (i32, i32)

Measures the label’s width and height

fn as_widget_ptr(&self) -> *mut Fl_Widget

transforms a widget to a base Fl_Widget, for internal use

fn inside<W>(&self, wid: &W) -> bool
where W: WidgetExt, Self: Sized,

Checks whether the self widget is inside another widget

fn get_type<T>(&self) -> T
where T: WidgetType, Self: Sized,

Returns the widget type when applicable

fn set_type<T>(&mut self, typ: T)
where T: WidgetType, Self: Sized,

Sets the widget type

fn set_image<I>(&mut self, image: Option<I>)
where I: ImageExt, Self: Sized,

Sets the image of the widget

fn set_image_scaled<I>(&mut self, image: Option<I>)
where I: ImageExt, Self: Sized,

Sets the image of the widget scaled to the widget’s size

fn image(&self) -> Option<Box<dyn ImageExt>>
where Self: Sized,

Gets the image associated with the widget

fn set_deimage<I>(&mut self, image: Option<I>)
where I: ImageExt, Self: Sized,

Sets the deactivated image of the widget

fn set_deimage_scaled<I>(&mut self, image: Option<I>)
where I: ImageExt, Self: Sized,

Sets the deactivated image of the widget scaled to the widget’s size

fn deimage(&self) -> Option<Box<dyn ImageExt>>
where Self: Sized,

Gets the deactivated image associated with the widget

fn set_callback<F>(&mut self, cb: F)
where F: FnMut(&mut Self) + 'static, Self: Sized,

Sets the callback when the widget is triggered (clicks for example) takes the widget as a closure argument

fn emit<T>(&mut self, sender: Sender<T>, msg: T)
where T: 'static + Clone + Send + Sync, Self: Sized,

Emits a message on callback using a sender

fn activate(&mut self)

Activates the widget

fn deactivate(&mut self)

Deactivates the widget

fn redraw_label(&mut self)

Redraws the label of the widget

fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)

Resizes and/or moves the widget, takes x, y, width and height

fn tooltip(&self) -> Option<String>

Returns the tooltip text

fn set_tooltip(&mut self, txt: &str)

Sets the tooltip text

fn color(&self) -> Color

Returns the widget color

fn set_color(&mut self, color: Color)

Sets the widget’s color

fn label_color(&self) -> Color

Returns the widget label’s color

fn set_label_color(&mut self, color: Color)

Sets the widget label’s color

fn label_font(&self) -> Font

Returns the widget label’s font

fn set_label_font(&mut self, font: Font)

Sets the widget label’s font

fn label_size(&self) -> i32

Returns the widget label’s size

fn set_label_size(&mut self, sz: i32)

Sets the widget label’s size

fn label_type(&self) -> LabelType

Returns the widget label’s type

fn set_label_type(&mut self, typ: LabelType)

Sets the widget label’s type

fn frame(&self) -> FrameType

Returns the widget’s frame type

fn set_frame(&mut self, typ: FrameType)

Sets the widget’s frame type

fn changed(&self) -> bool

Returns whether the widget was changed

fn set_changed(&mut self)

Mark the widget as changed

fn clear_changed(&mut self)

Clears the changed status of the widget

fn align(&self) -> Align

Returns the alignment of the widget

fn set_align(&mut self, align: Align)

Sets the alignment of the widget

fn parent(&self) -> Option<Group>

Returns the parent of the widget

fn selection_color(&self) -> Color

Gets the selection color of the widget

fn set_selection_color(&mut self, color: Color)

Sets the selection color of the widget

fn do_callback(&mut self)

Runs the already registered callback

fn window(&self) -> Option<Box<dyn WindowExt>>

Returns the direct window holding the widget

fn top_window(&self) -> Option<Box<dyn WindowExt>>

Returns the topmost window holding the widget

fn takes_events(&self) -> bool

Checks whether a widget is capable of taking events

fn take_focus(&mut self) -> Result<(), FltkError>

Make the widget take focus

§Errors

Errors on failure to take focus

fn set_visible_focus(&mut self)

Set the widget to have visible focus

fn clear_visible_focus(&mut self)

Clear visible focus

fn visible_focus(&mut self, v: bool)

Set the visible focus using a flag

fn has_visible_focus(&self) -> bool

Return whether the widget has visible focus

fn has_focus(&self) -> bool

Return whether the widget has focus

fn was_deleted(&self) -> bool

Check if a widget was deleted

fn damage(&self) -> bool

Return whether the widget was damaged

fn set_damage(&mut self, flag: bool)

Signal the widget as damaged and it should be redrawn in the next event loop cycle

fn damage_type(&self) -> Damage

Return the damage mask

fn set_damage_type(&mut self, mask: Damage)

Signal the type of damage a widget received

fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)

Signal damage for an area inside the widget

fn clear_damage(&mut self)

Clear the damaged flag

fn set_trigger(&mut self, trigger: CallbackTrigger)

Sets the default callback trigger for a widget, equivalent to when()

fn trigger(&self) -> CallbackTrigger

Return the callback trigger, equivalent to when()

fn as_window(&self) -> Option<Box<dyn WindowExt>>

Return the widget as a window if it’s a window

fn as_group(&self) -> Option<Group>

Return the widget as a group widget if it’s a group widget

unsafe fn into_widget<W>(&self) -> W
where W: WidgetBase, Self: Sized,

Upcast a WidgetExt to some widget type

§Safety

Allows for potentially unsafe casts between incompatible widget types

fn visible(&self) -> bool

Returns whether a widget is visible

fn visible_r(&self) -> bool

Returns whether a widget or any of its parents are visible (recursively)

fn is_same<W>(&self, other: &W) -> bool
where W: WidgetExt, Self: Sized,

Return whether two widgets object point to the same widget

fn active(&self) -> bool

Returns whether a widget is active

fn active_r(&self) -> bool

Returns whether a widget or any of its parents are active (recursively)

fn widget_resize(&mut self, x: i32, y: i32, w: i32, h: i32)

Does a simple resize ignoring class-specific resize functionality

fn handle_event(&mut self, event: Event) -> bool

Handle a specific event

Provided Methods§

fn as_base_widget(&self) -> Widget
where Self: Sized,

Upcast a WidgetExt to a Widget

fn is_derived(&self) -> bool

Check whether a widget is derived

unsafe fn image_mut(&self) -> Option<&mut Image>

Get a reference type of the widget’s image

§Safety

The widget needs to be still around when the image is accessed

unsafe fn deimage_mut(&self) -> Option<&mut Image>

Get a reference type of the widget’s deactivated image

§Safety

The widget needs to be still around when the image is accessed

Implementors§

§

impl WidgetExt for Browser

§

impl WidgetExt for CheckBrowser

§

impl WidgetExt for FileBrowser

§

impl WidgetExt for HoldBrowser

§

impl WidgetExt for MultiBrowser

§

impl WidgetExt for SelectBrowser

§

impl WidgetExt for Button

§

impl WidgetExt for CheckButton

§

impl WidgetExt for LightButton

§

impl WidgetExt for RadioButton

§

impl WidgetExt for RadioLightButton

§

impl WidgetExt for RadioRoundButton

§

impl WidgetExt for RepeatButton

§

impl WidgetExt for ReturnButton

§

impl WidgetExt for RoundButton

§

impl WidgetExt for ShortcutButton

§

impl WidgetExt for ToggleButton

§

impl WidgetExt for Frame

§

impl WidgetExt for ColorChooser

§

impl WidgetExt for Flex

§

impl WidgetExt for Grid

§

impl WidgetExt for Group

§

impl WidgetExt for Pack

§

impl WidgetExt for Scroll

§

impl WidgetExt for Tabs

§

impl WidgetExt for Tile

§

impl WidgetExt for Wizard

§

impl WidgetExt for FileInput

§

impl WidgetExt for FloatInput

§

impl WidgetExt for Input

§

impl WidgetExt for IntInput

§

impl WidgetExt for MultilineInput

§

impl WidgetExt for SecretInput

§

impl WidgetExt for Choice

§

impl WidgetExt for MenuBar

§

impl WidgetExt for MenuButton

§

impl WidgetExt for SysMenuBar

§

impl WidgetExt for Chart

§

impl WidgetExt for Clock

§

impl WidgetExt for HelpView

§

impl WidgetExt for InputChoice

§

impl WidgetExt for Progress

§

impl WidgetExt for Spinner

§

impl WidgetExt for MultilineOutput

§

impl WidgetExt for Output

§

impl WidgetExt for Table

§

impl WidgetExt for TableRow

§

impl WidgetExt for Terminal

§

impl WidgetExt for SimpleTerminal

§

impl WidgetExt for TextDisplay

§

impl WidgetExt for TextEditor

§

impl WidgetExt for Tree

§

impl WidgetExt for Adjuster

§

impl WidgetExt for Counter

§

impl WidgetExt for Dial

§

impl WidgetExt for FillDial

§

impl WidgetExt for FillSlider

§

impl WidgetExt for HorFillSlider

§

impl WidgetExt for HorNiceSlider

§

impl WidgetExt for HorSlider

§

impl WidgetExt for HorValueSlider

§

impl WidgetExt for LineDial

§

impl WidgetExt for NiceSlider

§

impl WidgetExt for Roller

§

impl WidgetExt for Scrollbar

§

impl WidgetExt for Slider

§

impl WidgetExt for ValueInput

§

impl WidgetExt for ValueOutput

§

impl WidgetExt for ValueSlider

§

impl WidgetExt for Widget

§

impl WidgetExt for DoubleWindow

§

impl WidgetExt for MenuWindow

§

impl WidgetExt for OverlayWindow

§

impl WidgetExt for SingleWindow