pub struct InputTextMultiline<'ui, 'p, L, T = PassthroughCallback> { /* private fields */ }
Implementations§
Source§impl<'ui, 'p, L> InputTextMultiline<'ui, 'p, L>
impl<'ui, 'p, L> InputTextMultiline<'ui, 'p, L>
Sourcepub fn new(
ui: &'ui Ui,
label: L,
buf: &'p mut String,
size: impl Into<Vector2<f32>>,
) -> InputTextMultiline<'ui, 'p, L>
pub fn new( ui: &'ui Ui, label: L, buf: &'p mut String, size: impl Into<Vector2<f32>>, ) -> InputTextMultiline<'ui, 'p, L>
Creates a new input text widget to edit the given string.
§String Editing
Please note, ImGui requires this string to be null-terminated. We accomplish this
by appending and then removing a null terminator (\0
) from the String you pass in.
This has several consequences:
- The string’s backing buffer may be resized and relocated even without edits as result of this pushed char.
- The string will appear truncated if the string contains
\0
inside it. This will not cause memory unsafety, but it will limit your usage. If that’s the case, please pre-process your string. - Truncations by ImGui appear to be done primarily by insertions of
\0
to the truncation point. We will handle this for you and edit the string “properly” too, but this might show up in callbacks.
Source§impl<'ui, 'p, T, L> InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, T, L> InputTextMultiline<'ui, 'p, L, T>
pub fn flags(self, flags: InputTextFlags) -> InputTextMultiline<'ui, 'p, L, T>
pub fn chars_decimal(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn chars_hexadecimal(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn chars_uppercase(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn chars_noblank(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn auto_select_all(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn enter_returns_true( self, value: bool, ) -> InputTextMultiline<'ui, 'p, L, T>
pub fn allow_tab_input(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn no_horizontal_scroll( self, value: bool, ) -> InputTextMultiline<'ui, 'p, L, T>
Sourcepub fn always_insert_mode(
self,
value: bool,
) -> InputTextMultiline<'ui, 'p, L, T>
pub fn always_insert_mode( self, value: bool, ) -> InputTextMultiline<'ui, 'p, L, T>
Note: this is equivalent to always_overwrite
pub fn always_overwrite(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn read_only(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn password(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn no_undo_redo(self, value: bool) -> InputTextMultiline<'ui, 'p, L, T>
pub fn callback<T2>(
self,
callbacks: InputTextMultilineCallback,
callback_handler: T2,
) -> InputTextMultiline<'ui, 'p, L, T2>where
T2: InputTextCallbackHandler,
Sourcepub fn build(self) -> bool
pub fn build(self) -> bool
Builds the string editor, performing string editing operations.
§String Editing
Please note, ImGui requires this string to be null-terminated. We accomplish this
by appending and then removing a null terminator (\0
) from the String you pass in.
This has several consequences:
- The string’s backing buffer may be resized and relocated even without edits as result of this pushed char.
- The string will appear truncated if the string contains
\0
inside it. This will not cause memory unsafety, but it will limit your usage. If that’s the case, please pre-process your string. - Truncations by ImGui appear to be done primarily by insertions of
\0
to the truncation point. We will handle this for you and edit the string “properly” too, but this might show up in callbacks.
Auto Trait Implementations§
impl<'ui, 'p, L, T> Freeze for InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, L, T = PassthroughCallback> !RefUnwindSafe for InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, L, T = PassthroughCallback> !Send for InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, L, T = PassthroughCallback> !Sync for InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, L, T> Unpin for InputTextMultiline<'ui, 'p, L, T>
impl<'ui, 'p, L, T = PassthroughCallback> !UnwindSafe for InputTextMultiline<'ui, 'p, L, T>
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> 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