pub struct Viewport { /* private fields */ }Implementations§
Source§impl Viewport
impl Viewport
Sourcepub fn new(terminal_width: u16, terminal_height: u16) -> Self
pub fn new(terminal_width: u16, terminal_height: u16) -> Self
Erstellt neuen Viewport mit sicheren Defaults
Sourcepub fn update_terminal_size(&mut self, width: u16, height: u16) -> bool
pub fn update_terminal_size(&mut self, width: u16, height: u16) -> bool
Aktualisiert Terminal-Größe und berechnet Layout neu
Sourcepub fn update_content_height(&mut self, new_content_height: usize)
pub fn update_content_height(&mut self, new_content_height: usize)
✅ DEBUGGING: Content-Höhe Update mit detailliertem Logging
Sourcepub fn scroll_down(&mut self, lines: usize)
pub fn scroll_down(&mut self, lines: usize)
✅ DIREKTES SCROLL-DOWN mit Auto-Scroll-Reaktivierung
pub fn scroll_to_top(&mut self)
Sourcepub fn scroll_to_bottom(&mut self)
pub fn scroll_to_bottom(&mut self)
✅ DIREKTES Scroll to bottom
Sourcepub fn update_content_height_silent(&mut self, new_content_height: usize)
pub fn update_content_height_silent(&mut self, new_content_height: usize)
✅ SILENT VERSION: Content-Höhe Update ohne Logging (Anti-Loop)
Sourcepub fn set_scroll_offset_direct_silent(&mut self, offset: usize)
pub fn set_scroll_offset_direct_silent(&mut self, offset: usize)
✅ SILENT VERSION: Direkte Scroll-Offset-Kontrolle ohne Logging (Anti-Loop)
Sourcepub fn enable_auto_scroll_silent(&mut self)
pub fn enable_auto_scroll_silent(&mut self)
✅ SILENT VERSION: Auto-Scroll aktivieren ohne Logging (Anti-Loop)
Sourcepub fn force_auto_scroll(&mut self)
pub fn force_auto_scroll(&mut self)
✅ LEGACY-KOMPATIBILITÄT: Erzwingt Auto-scroll (nutzt jetzt Silent-Methoden)
pub fn page_down(&mut self)
Sourcepub fn set_scroll_offset_direct(&mut self, offset: usize)
pub fn set_scroll_offset_direct(&mut self, offset: usize)
✅ NEUE METHODE: Direkte Scroll-Offset-Kontrolle (bypass Event-System)
Sourcepub fn enable_auto_scroll(&mut self)
pub fn enable_auto_scroll(&mut self)
✅ NEUE METHODE: Auto-Scroll explizit aktivieren
Sourcepub fn disable_auto_scroll(&mut self)
pub fn disable_auto_scroll(&mut self)
✅ NEUE METHODE: Auto-Scroll explizit deaktivieren
Sourcepub fn get_visible_range(&self) -> (usize, usize)
pub fn get_visible_range(&self) -> (usize, usize)
Berechnet sichtbaren Bereich für Messages
Sourcepub fn output_area(&self) -> LayoutArea
pub fn output_area(&self) -> LayoutArea
Getter für Layout-Bereiche
pub fn input_area(&self) -> LayoutArea
pub fn window_height(&self) -> usize
pub fn content_height(&self) -> usize
pub fn scroll_offset(&self) -> usize
pub fn is_auto_scroll_enabled(&self) -> bool
pub fn terminal_size(&self) -> (u16, u16)
Sourcepub fn debug_info(&self) -> String
pub fn debug_info(&self) -> String
✅ ERWEITERTE Debug-Informationen
Sourcepub fn short_debug(&self) -> String
pub fn short_debug(&self) -> String
✅ KURZE Debug-Info für Logs (ohne das | Symbol)
Source§impl Viewport
impl Viewport
Sourcepub fn handle_event(&mut self, event: ViewportEvent) -> bool
pub fn handle_event(&mut self, event: ViewportEvent) -> bool
✅ VERBESSERT: Event-Processing mit detailliertem Logging
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Viewport
impl RefUnwindSafe for Viewport
impl Send for Viewport
impl Sync for Viewport
impl Unpin for Viewport
impl UnwindSafe for Viewport
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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> ⓘ
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> ⓘ
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