pub trait TUIInterface {
    const LEFT_TITLE: &'static str;
    const RIGHT_TITLE: &'static str;

    // Required methods
    fn on_redraw(&mut self, line_number: u16, column_number: u16) -> TUIOutput<'_>;
    fn bound_line(&self, line_number: u16) -> u16;
    fn bound_column(&self, line_number: u16, column_number: u16) -> u16;
}

Required Associated Constants§

source

const LEFT_TITLE: &'static str

The title to be used for the left screen

source

const RIGHT_TITLE: &'static str

The title to be used for the right screen

Required Methods§

source

fn on_redraw(&mut self, line_number: u16, column_number: u16) -> TUIOutput<'_>

Function called on each redraw. The TUIOutput contains that updated data to display on each pane.

source

fn bound_line(&self, line_number: u16) -> u16

Bounds the line number so that it does not run past the text.

source

fn bound_column(&self, line_number: u16, column_number: u16) -> u16

Bounds the column number (w.r.t. the current line_number) so that the cursor does not overrun the line.

Implementors§

source§

impl TUIInterface for DebugInterface

source§

const LEFT_TITLE: &'static str = "Left pane"

source§

const RIGHT_TITLE: &'static str = "Right pane"

source§

impl<BytecodeViewer: LeftScreen, SourceViewer: RightScreen<BytecodeViewer>> TUIInterface for Viewer<BytecodeViewer, SourceViewer>

source§

const LEFT_TITLE: &'static str = "Bytecode"

source§

const RIGHT_TITLE: &'static str = "Source Code"