undoStudio
The IDE of the undoRT ecosystem
Loading...
Searching...
No Matches
undoApp::Terminal::TerminalApp Class Reference

The terminal undoApp. More...

#include <TerminalApp.hpp>

Collaboration diagram for undoApp::Terminal::TerminalApp:
Collaboration graph

Public Member Functions

bool initialize ()
 Register the panel.
 
void shutdown ()
 Remove the panel and end every shell.
 
void newTab ()
 Open one more tab.
 
void closeTab (int index)
 Close a tab, ending its shell.
 
void renameActive (const std::string &name)
 Rename the active tab.
 
void render ()
 Draw the panel.
 
int tabCount () const
 

Static Public Member Functions

static TerminalApp & getInstance ()
 The one instance the plugin loader is handed.
 

Static Public Attributes

static constexpr float kDefaultFontSize = 16.0f
 Point size the terminal starts at, and what Ctrl+0 returns to.
 
static constexpr const char * kSettingsFile = "undoApp.Terminal.ini"
 Where the chosen size is kept between runs.
 
static constexpr float kMinFontSize = 9.0f
 Smallest and largest the size may be set to.
 
static constexpr float kMaxFontSize = 40.0f
 

Private Member Functions

 TerminalApp ()=default
 
void ensureTab ()
 
void startSession (Tab &tab)
 
void handleInput (Tab &tab)
 Sends this frame's keys to the active session.
 
void drawTabs ()
 
void ensureFont ()
 
void loadFontSize ()
 
void saveFontSize () const
 
void setFontSize (float size)
 

Private Attributes

ImFont * m_font = nullptr
 Monospace font, or the default when it is missing.
 
float m_fontSize = kDefaultFontSize
 Size the terminal is drawn at.
 
bool m_fontSizeLoaded = false
 The saved size has been read already.
 
std::vector< Tab > m_tabs
 
int m_active = 0
 
bool m_panelRegistered = false
 
bool m_fontTried = false
 
bool m_fontMissing = false
 The monospace font was not found.
 

Detailed Description

The terminal undoApp.

Constructor & Destructor Documentation

◆ TerminalApp()

undoApp::Terminal::TerminalApp::TerminalApp ( )
privatedefault

Member Function Documentation

◆ closeTab()

void undoApp::Terminal::TerminalApp::closeTab ( int  index)

Close a tab, ending its shell.

Parameters
indexTab to close

◆ drawTabs()

void undoApp::Terminal::TerminalApp::drawTabs ( )
private

◆ ensureFont()

void undoApp::Terminal::TerminalApp::ensureFont ( )
private

◆ ensureTab()

void undoApp::Terminal::TerminalApp::ensureTab ( )
private

◆ getInstance()

static TerminalApp & undoApp::Terminal::TerminalApp::getInstance ( )
static

The one instance the plugin loader is handed.

◆ handleInput()

void undoApp::Terminal::TerminalApp::handleInput ( Tab &  tab)
private

Sends this frame's keys to the active session.

◆ initialize()

bool undoApp::Terminal::TerminalApp::initialize ( )

Register the panel.

Returns
True when it is registered

◆ loadFontSize()

void undoApp::Terminal::TerminalApp::loadFontSize ( )
private

◆ newTab()

void undoApp::Terminal::TerminalApp::newTab ( )

Open one more tab.

◆ renameActive()

void undoApp::Terminal::TerminalApp::renameActive ( const std::string &  name)

Rename the active tab.

Parameters
nameNew title

◆ render()

void undoApp::Terminal::TerminalApp::render ( )

Draw the panel.

◆ saveFontSize()

void undoApp::Terminal::TerminalApp::saveFontSize ( ) const
private

◆ setFontSize()

void undoApp::Terminal::TerminalApp::setFontSize ( float  size)
private

◆ shutdown()

void undoApp::Terminal::TerminalApp::shutdown ( )

Remove the panel and end every shell.

◆ startSession()

void undoApp::Terminal::TerminalApp::startSession ( Tab &  tab)
private

◆ tabCount()

int undoApp::Terminal::TerminalApp::tabCount ( ) const
inline

Member Data Documentation

◆ kDefaultFontSize

constexpr float undoApp::Terminal::TerminalApp::kDefaultFontSize = 16.0f
staticconstexpr

Point size the terminal starts at, and what Ctrl+0 returns to.

◆ kMaxFontSize

constexpr float undoApp::Terminal::TerminalApp::kMaxFontSize = 40.0f
staticconstexpr

◆ kMinFontSize

constexpr float undoApp::Terminal::TerminalApp::kMinFontSize = 9.0f
staticconstexpr

Smallest and largest the size may be set to.

◆ kSettingsFile

constexpr const char* undoApp::Terminal::TerminalApp::kSettingsFile = "undoApp.Terminal.ini"
staticconstexpr

Where the chosen size is kept between runs.

◆ m_active

int undoApp::Terminal::TerminalApp::m_active = 0
private

◆ m_font

ImFont* undoApp::Terminal::TerminalApp::m_font = nullptr
private

Monospace font, or the default when it is missing.

◆ m_fontMissing

bool undoApp::Terminal::TerminalApp::m_fontMissing = false
private

The monospace font was not found.

◆ m_fontSize

float undoApp::Terminal::TerminalApp::m_fontSize = kDefaultFontSize
private

Size the terminal is drawn at.

◆ m_fontSizeLoaded

bool undoApp::Terminal::TerminalApp::m_fontSizeLoaded = false
private

The saved size has been read already.

◆ m_fontTried

bool undoApp::Terminal::TerminalApp::m_fontTried = false
private

◆ m_panelRegistered

bool undoApp::Terminal::TerminalApp::m_panelRegistered = false
private

◆ m_tabs

std::vector<Tab> undoApp::Terminal::TerminalApp::m_tabs
private

The documentation for this class was generated from the following file: