Struct Browser
pub struct Browser { /* private fields */ }
Available on crate feature
dep_fltk
only.Expand description
Creates a normal browser. Example usage:
use fltk::{prelude::*, *};
fn main() {
let app = app::App::default();
let mut win = window::Window::default().with_size(900, 300);
let mut b = browser::Browser::new(10, 10, 900 - 20, 300 - 20, "");
let widths = &[50, 50, 50, 70, 70, 40, 40, 70, 70, 50];
b.set_column_widths(widths);
b.set_column_char('\t');
b.add("USER\tPID\t%CPU\t%MEM\tVSZ\tRSS\tTTY\tSTAT\tSTART\tTIME\tCOMMAND");
b.add("root\t2888\t0.0\t0.0\t1352\t0\ttty3\tSW\tAug15\t0:00\t@b@f/sbin/mingetty tty3");
b.add("erco\t2889\t0.0\t13.0\t221352\t0\ttty3\tR\tAug15\t1:34\t@b@f/usr/local/bin/render a35 0004");
b.add("uucp\t2892\t0.0\t0.0\t1352\t0\tttyS0\tSW\tAug15\t0:00\t@b@f/sbin/agetty -h 19200 ttyS0 vt100");
b.add("root\t13115\t0.0\t0.0\t1352\t0\ttty2\tSW\tAug30\t0:00\t@b@f/sbin/mingetty tty2");
b.add(
"root\t13464\t0.0\t0.0\t1352\t0\ttty1\tSW\tAug30\t0:00\t@b@f/sbin/mingetty tty1 --noclear",
);
win.end();
win.show();
app.run().unwrap();
}
Trait Implementations§
§impl BrowserExt for Browser
impl BrowserExt for Browser
§fn add_with_data<T>(&mut self, item: &str, data: T)where
T: Clone + 'static,
fn add_with_data<T>(&mut self, item: &str, data: T)where
T: Clone + 'static,
Adds an item with associated data
§fn insert_with_data<T>(&mut self, line: i32, item: &str, data: T)where
T: Clone + 'static,
fn insert_with_data<T>(&mut self, line: i32, item: &str, data: T)where
T: Clone + 'static,
Inserts an item at an index with associated data.
Lines start at 1
§fn text(&self, line: i32) -> Option<String> ⓘ
fn text(&self, line: i32) -> Option<String> ⓘ
Returns the text of the item at
line
.
Lines start at 1§fn selected_text(&self) -> Option<String> ⓘ
fn selected_text(&self) -> Option<String> ⓘ
Returns the text of the selected item.
Lines start at 1
§fn set_text_size(&mut self, c: i32)
fn set_text_size(&mut self, c: i32)
Sets the text size.
Lines start at 1
§fn set_icon<Img>(&mut self, line: i32, image: Option<Img>)where
Img: ImageExt,
fn set_icon<Img>(&mut self, line: i32, image: Option<Img>)where
Img: ImageExt,
Sets the icon for browser elements.
Lines start at 1
§fn icon(&self, line: i32) -> Option<Box<dyn ImageExt>> ⓘ
fn icon(&self, line: i32) -> Option<Box<dyn ImageExt>> ⓘ
Returns the icon of a browser element.
Lines start at 1
§fn remove_icon(&mut self, line: i32)
fn remove_icon(&mut self, line: i32)
Removes the icon of a browser element.
Lines start at 1
§fn top_line(&mut self, line: i32)
fn top_line(&mut self, line: i32)
Scrolls the browser so the top item in the browser is showing the specified line.
Lines start at 1
§fn bottom_line(&mut self, line: i32)
fn bottom_line(&mut self, line: i32)
Scrolls the browser so the bottom item in the browser is showing the specified line.
Lines start at 1
§fn middle_line(&mut self, line: i32)
fn middle_line(&mut self, line: i32)
Scrolls the browser so the middle item in the browser is showing the specified line.
Lines start at 1
§fn format_char(&self) -> char
fn format_char(&self) -> char
Gets the current format code prefix character, which by default is ‘@’.
More info here
§fn set_format_char(&mut self, c: char)
fn set_format_char(&mut self, c: char)
Sets the current format code prefix character to \p c. The default prefix is ‘@’.
c should be ascii
§fn column_char(&self) -> char
fn column_char(&self) -> char
Gets the current column separator character. The default is ‘\t’
§fn set_column_char(&mut self, c: char)
fn set_column_char(&mut self, c: char)
Sets the column separator to c. This will only have an effect if you also use
set_column_widths()
.
c should be ascii§fn column_widths(&self) -> Vec<i32> ⓘ
fn column_widths(&self) -> Vec<i32> ⓘ
Gets the current column width array
§fn set_column_widths(&mut self, arr: &[i32])
fn set_column_widths(&mut self, arr: &[i32])
Sets the current column width array
§fn make_visible(&mut self, line: i32)
fn make_visible(&mut self, line: i32)
Makes a specified line visible
§fn set_position(&mut self, pos: i32)
fn set_position(&mut self, pos: i32)
Sets the vertical scroll position of the list as a pixel position
§fn set_hposition(&mut self, pos: i32)
fn set_hposition(&mut self, pos: i32)
Sets the horizontal scroll position of the list as a pixel position
§fn has_scrollbar(&self) -> BrowserScrollbar
fn has_scrollbar(&self) -> BrowserScrollbar
Returns the type of scrollbar associated with the browser
§fn set_has_scrollbar(&mut self, mode: BrowserScrollbar)
fn set_has_scrollbar(&mut self, mode: BrowserScrollbar)
Sets the type of scrollbar associated with the browser
§fn scrollbar_size(&self) -> i32
fn scrollbar_size(&self) -> i32
Gets the scrollbar size
§fn set_scrollbar_size(&mut self, new_size: i32)
fn set_scrollbar_size(&mut self, new_size: i32)
Sets the scrollbar size
§fn hscrollbar(&self) -> Scrollbar
fn hscrollbar(&self) -> Scrollbar
Returns the horizontal scrollbar
§fn set_data<T>(&mut self, line: i32, data: T)where
T: Clone + 'static,
fn set_data<T>(&mut self, line: i32, data: T)where
T: Clone + 'static,
Set the data associated with the line
§unsafe fn data<T>(&self, line: i32) -> Option<T> ⓘwhere
T: Clone + 'static,
unsafe fn data<T>(&self, line: i32) -> Option<T> ⓘwhere
T: Clone + 'static,
Get the data associated with the line Read more
§fn selected_items(&self) -> Vec<i32> ⓘ
fn selected_items(&self) -> Vec<i32> ⓘ
Gets the selected items
§impl WidgetBase for Browser
impl WidgetBase for Browser
§fn new<'a, T>(x: i32, y: i32, width: i32, height: i32, title: T) -> Browser
fn new<'a, T>(x: i32, y: i32, width: i32, height: i32, title: T) -> Browser
Creates a new widget, takes an x, y coordinates, as well as a width and height, plus a title Read more
§fn default_fill() -> Browser
fn default_fill() -> Browser
Constructs a widget with the size of its parent
§unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Browser
unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Browser
transforms a widget pointer to a Widget, for internal use Read more
§unsafe fn from_widget<W>(w: W) -> Browserwhere
W: WidgetExt,
unsafe fn from_widget<W>(w: W) -> Browserwhere
W: WidgetExt,
Get a widget from base widget Read more
§fn handle<F>(&mut self, cb: F)
fn handle<F>(&mut self, cb: F)
Set a custom handler, where events are managed manually, akin to
Fl_Widget::handle(int)
.
Handled or ignored events should return true, unhandled events should return false.
takes the widget as a closure argument.
The ability to handle an event might depend on handling other events, as explained here§fn draw<F>(&mut self, cb: F)
fn draw<F>(&mut self, cb: F)
Set a custom draw method.
takes the widget as a closure argument.
macOS requires that
WidgetBase::draw
actually calls drawing functions§fn resize_callback<F>(&mut self, cb: F)
fn resize_callback<F>(&mut self, cb: F)
Perform a callback on resize.
Avoid resizing the parent or the same widget to avoid infinite recursion
§unsafe fn assume_derived(&mut self)
unsafe fn assume_derived(&mut self)
Makes the widget derived Read more
§impl WidgetExt for Browser
impl WidgetExt for Browser
§fn with_label(self, title: &str) -> Browser
fn with_label(self, title: &str) -> Browser
Initialize with a label
§fn with_align(self, align: Align) -> Browser
fn with_align(self, align: Align) -> Browser
Initialize with alignment
§fn with_type<T>(self, typ: T) -> Browserwhere
T: WidgetType,
fn with_type<T>(self, typ: T) -> Browserwhere
T: WidgetType,
Initialize with type
§fn below_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
fn below_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
Initialize at bottom of another widget
§fn above_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
fn above_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
Initialize above of another widget
§fn right_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
fn right_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
Initialize right of another widget
§fn left_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
fn left_of<W>(self, wid: &W, padding: i32) -> Browserwhere
W: WidgetExt,
Initialize left of another widget
§fn center_of_parent(self) -> Browser
fn center_of_parent(self) -> Browser
Initialize center of parent
§fn size_of_parent(self) -> Browser
fn size_of_parent(self) -> Browser
Initialize to the size of the parent
§fn set_label(&mut self, title: &str)
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 measure_label(&self) -> (i32, i32) ⓘ
fn measure_label(&self) -> (i32, i32) ⓘ
Measures the label’s width and height
§fn as_widget_ptr(&self) -> *mut Fl_Widget
fn as_widget_ptr(&self) -> *mut Fl_Widget
transforms a widget to a base
Fl_Widget
, for internal use§fn deactivate(&mut self)
fn deactivate(&mut self)
Deactivates the widget
§fn redraw_label(&mut self)
fn redraw_label(&mut self)
Redraws the label of the widget
§fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)
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 widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
Does a simple resize ignoring class-specific resize functionality
§fn set_tooltip(&mut self, txt: &str)
fn set_tooltip(&mut self, txt: &str)
Sets the tooltip text
§fn label_color(&self) -> Color
fn label_color(&self) -> Color
Returns the widget label’s color
§fn set_label_color(&mut self, color: Color)
fn set_label_color(&mut self, color: Color)
Sets the widget label’s color
§fn label_font(&self) -> Font
fn label_font(&self) -> Font
Returns the widget label’s font
§fn set_label_font(&mut self, font: Font)
fn set_label_font(&mut self, font: Font)
Sets the widget label’s font
§fn label_size(&self) -> i32
fn label_size(&self) -> i32
Returns the widget label’s size
§fn set_label_size(&mut self, sz: i32)
fn set_label_size(&mut self, sz: i32)
Sets the widget label’s size
§fn label_type(&self) -> LabelType
fn label_type(&self) -> LabelType
Returns the widget label’s type
§fn set_label_type(&mut self, typ: LabelType)
fn set_label_type(&mut self, typ: LabelType)
Sets the widget label’s type
§fn set_changed(&mut self)
fn set_changed(&mut self)
Mark the widget as changed
§fn clear_changed(&mut self)
fn clear_changed(&mut self)
Clears the changed status of the widget
§fn set_trigger(&mut self, trigger: CallbackTrigger)
fn set_trigger(&mut self, trigger: CallbackTrigger)
Sets the default callback trigger for a widget, equivalent to
when()
§fn trigger(&self) -> CallbackTrigger
fn trigger(&self) -> CallbackTrigger
Return the callback trigger, equivalent to
when()
§fn selection_color(&self) -> Color
fn selection_color(&self) -> Color
Gets the selection color of the widget
§fn set_selection_color(&mut self, color: Color)
fn set_selection_color(&mut self, color: Color)
Sets the selection color of the widget
§fn do_callback(&mut self)
fn do_callback(&mut self)
Runs the already registered callback
§fn takes_events(&self) -> bool
fn takes_events(&self) -> bool
Checks whether a widget is capable of taking events
§fn set_visible_focus(&mut self)
fn set_visible_focus(&mut self)
Set the widget to have visible focus
§fn clear_visible_focus(&mut self)
fn clear_visible_focus(&mut self)
Clear visible focus
§fn visible_focus(&mut self, v: bool)
fn visible_focus(&mut self, v: bool)
Set the visible focus using a flag
§fn has_visible_focus(&self) -> bool
fn has_visible_focus(&self) -> bool
Return whether the widget has visible focus
§fn was_deleted(&self) -> bool
fn was_deleted(&self) -> bool
Check if a widget was deleted
§fn set_damage(&mut self, flag: bool)
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
fn damage_type(&self) -> Damage
Return the damage mask
§fn set_damage_type(&mut self, mask: Damage)
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)
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)
fn clear_damage(&mut self)
Clear the damaged flag
§fn inside<W>(&self, wid: &W) -> boolwhere
W: WidgetExt,
fn inside<W>(&self, wid: &W) -> boolwhere
W: WidgetExt,
Checks whether the self widget is inside another widget
§fn get_type<T>(&self) -> Twhere
T: WidgetType,
fn get_type<T>(&self) -> Twhere
T: WidgetType,
Returns the widget type when applicable
§fn set_type<T>(&mut self, typ: T)where
T: WidgetType,
fn set_type<T>(&mut self, typ: T)where
T: WidgetType,
Sets the widget type
§fn set_image_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_image_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
Sets the image of the widget scaled to the widget’s size
§unsafe fn image_mut(&self) -> Option<&mut Image> ⓘ
unsafe fn image_mut(&self) -> Option<&mut Image> ⓘ
Get a reference type of the widget’s image Read more
§fn set_deimage<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_deimage<I>(&mut self, image: Option<I>)where
I: ImageExt,
Sets the deactivated image of the widget
§fn set_deimage_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_deimage_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
Sets the deactivated image of the widget scaled to the widget’s size
§fn deimage(&self) -> Option<Box<dyn ImageExt>> ⓘ
fn deimage(&self) -> Option<Box<dyn ImageExt>> ⓘ
Gets the deactivated image associated with the widget
§unsafe fn deimage_mut(&self) -> Option<&mut Image> ⓘ
unsafe fn deimage_mut(&self) -> Option<&mut Image> ⓘ
Get a reference type of the widget’s deactivated image Read more
§fn set_callback<F>(&mut self, cb: F)
fn set_callback<F>(&mut self, cb: F)
Sets the callback when the widget is triggered (clicks for example)
takes the widget as a closure argument
§unsafe fn into_widget<W>(&self) -> Wwhere
W: WidgetBase,
unsafe fn into_widget<W>(&self) -> Wwhere
W: WidgetBase,
Upcast a
WidgetExt
to some widget type Read more§fn visible_r(&self) -> bool
fn visible_r(&self) -> bool
Returns whether a widget or any of its parents are visible (recursively)
§fn is_same<W>(&self, other: &W) -> boolwhere
W: WidgetExt,
fn is_same<W>(&self, other: &W) -> boolwhere
W: WidgetExt,
Return whether two widgets object point to the same widget
§fn handle_event(&mut self, event: Event) -> bool
fn handle_event(&mut self, event: Event) -> bool
Handle a specific event
§fn is_derived(&self) -> bool
fn is_derived(&self) -> bool
Check whether a widget is derived
§fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
Upcast a
WidgetExt
to a Widgetimpl Eq for Browser
impl Send for Browser
impl Sync for Browser
Auto Trait Implementations§
impl Freeze for Browser
impl RefUnwindSafe for Browser
impl Unpin for Browser
impl UnwindSafe for Browser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
The alignment of this type in bytes.
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Returns the alignment of this type in bytes.
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
Returns a deterministic hash of the
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Know whether dropping values of this type matters, in compile-time.
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Returns the minimum alignment of the type in bytes. Read more
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Returns the alignment of the pointed-to value in bytes. Read more
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Returns the size of a type in bytes. Read more
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Returns the size of the pointed-to value in bytes. Read more
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
Returns
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
Forgets about
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
Available on crate feature
unsafe_layout
only.Returns the value of type
T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
Available on crate feature
unsafe_layout
only.Returns the value of type
T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
Available on crate feature
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more