allow BufferPane to turn off its status bar
This commit is contained in:
parent
837380c3ca
commit
30290e86f5
@ -8,13 +8,19 @@ BufferPane::BufferPane(Window * window, std::shared_ptr<Buffer> buffer)
|
|||||||
m_iterator = buffer->add_cursor();
|
m_iterator = buffer->add_cursor();
|
||||||
m_target_column = 0;
|
m_target_column = 0;
|
||||||
m_cursor_virtual_column = 0;
|
m_cursor_virtual_column = 0;
|
||||||
|
m_show_status_bar = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferPane::resize(int width, int height)
|
void BufferPane::resize(int width, int height)
|
||||||
{
|
{
|
||||||
Pane::resize(width, height);
|
Pane::resize(width, height);
|
||||||
m_columns = std::max(1, m_width / m_window->font()->get_advance());
|
m_columns = std::max(1, m_width / m_window->font()->get_advance());
|
||||||
m_rows = std::max(1, (m_height - m_window->font()->get_line_height() - 1) / m_window->font()->get_line_height());
|
int height_subtract = 0;
|
||||||
|
if (m_show_status_bar)
|
||||||
|
{
|
||||||
|
height_subtract = m_window->font()->get_line_height() + 1;
|
||||||
|
}
|
||||||
|
m_rows = std::max(1, (m_height - height_subtract) / m_window->font()->get_line_height());
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferPane::walk_line(const Buffer::Iterator & start_of_line, std::function<void(int, int, int, int, const Buffer::Iterator &)> callback)
|
void BufferPane::walk_line(const Buffer::Iterator & start_of_line, std::function<void(int, int, int, int, const Buffer::Iterator &)> callback)
|
||||||
@ -288,8 +294,11 @@ void BufferPane::draw()
|
|||||||
{
|
{
|
||||||
draw_cursor(col_x(0), row_y(0));
|
draw_cursor(col_x(0), row_y(0));
|
||||||
}
|
}
|
||||||
|
if (m_show_status_bar)
|
||||||
|
{
|
||||||
draw_status_bar();
|
draw_status_bar();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int BufferPane::draw_buffer_line(int screen_row, const Buffer::Iterator & start_of_line)
|
int BufferPane::draw_buffer_line(int screen_row, const Buffer::Iterator & start_of_line)
|
||||||
{
|
{
|
||||||
|
@ -25,6 +25,10 @@ public:
|
|||||||
void scroll_window_down(Window::ScrollMode scroll_mode);
|
void scroll_window_down(Window::ScrollMode scroll_mode);
|
||||||
void undo();
|
void undo();
|
||||||
void redo();
|
void redo();
|
||||||
|
void set_show_status_bar(bool show_status_bar)
|
||||||
|
{
|
||||||
|
m_show_status_bar = show_status_bar;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int effective_scroll_offset()
|
int effective_scroll_offset()
|
||||||
@ -72,6 +76,7 @@ protected:
|
|||||||
std::shared_ptr<Buffer::Iterator> m_iterator;
|
std::shared_ptr<Buffer::Iterator> m_iterator;
|
||||||
std::list<std::pair<int, Buffer::Iterator>> m_screen_lines;
|
std::list<std::pair<int, Buffer::Iterator>> m_screen_lines;
|
||||||
int m_target_column;
|
int m_target_column;
|
||||||
|
bool m_show_status_bar;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user