Graphite  Version 3
An experimental 3D geometry processing program
GEO::Console Class Reference

A console, that displays logger messages, and where the user can enter commands. More...

#include <geogram_gfx/gui/console.h>

Inheritance diagram for GEO::Console:
OGF::Console

Public Types

typedef void(* CompletionCallback) (Console *console, const std::string &line, index_t startw, index_t endw, const std::string &cmpword, std::vector< std::string > &matches)
 
typedef void(* HistoryCallback) (Console *console, index_t index, std::string &command)
 

Public Member Functions

 Console (bool *visible_flag=nullptr)
 Console constructor. More...
 
void div (const std::string &value) override
 
void out (const std::string &value) override
 
void warn (const std::string &value) override
 
void err (const std::string &value) override
 
void status (const std::string &value) override
 
void clear ()
 Clears the contents of the console.
 
virtual void printf (const char *fmt,...)
 Displays a formatted string to the console.
 
virtual void draw (bool *visible=nullptr, bool with_window=true)
 Draws the console and handles the gui. More...
 
int TextEditCallback (ImGuiInputTextCallbackData *data)
 
void show ()
 
void hide ()
 
void set_completion_callback (CompletionCallback CB)
 
void set_history_callback (HistoryCallback CB)
 
void set_history_size (index_t n)
 
void show_command_prompt ()
 
void hide_command_prompt ()
 

Protected Member Functions

virtual void notify_error (const std::string &err)
 This function is called whenever an error is displayed using err() More...
 
virtual bool exec_command (const char *command)
 
virtual void update ()
 Redraws the GUI.
 

Protected Attributes

bool command_prompt_
 
ImGuiTextBuffer buf_
 
ImGuiTextFilter filter_
 
ImVector< int > line_offsets_
 Index to lines offset.
 
index_t scroll_to_bottom_
 
bool * visible_flag_
 
char input_buf_ [geo_imgui_string_length]
 
CompletionCallback completion_callback_
 
HistoryCallback history_callback_
 
index_t history_index_
 
index_t max_history_index_
 

Detailed Description

A console, that displays logger messages, and where the user can enter commands.

Inspired from ImGui AppLog example.

Definition at line 59 of file console.h.

Constructor & Destructor Documentation

◆ Console()

GEO::Console::Console ( bool *  visible_flag = nullptr)

Console constructor.

Parameters
[in]visible_flagan optional pointer to application's variable that controls the visibility of this Console.

Member Function Documentation

◆ div()

void GEO::Console::div ( const std::string &  value)
override

◆ draw()

virtual void GEO::Console::draw ( bool *  visible = nullptr,
bool  with_window = true 
)
virtual

Draws the console and handles the gui.

Parameters
[in]visiblean optional pointer to a visibility flag, controlled by a close button if different from nullptr.
[in]with_windowif true, then creates a new window using imgui::Begin() / imgui::End(), else caller is responsible for doing that.

Reimplemented in OGF::Console.

◆ err()

void GEO::Console::err ( const std::string &  value)
override

◆ notify_error()

virtual void GEO::Console::notify_error ( const std::string &  err)
protectedvirtual

This function is called whenever an error is displayed using err()

Base implementation does nothing. This function is meant to be overloaded in derived classes.

Parameters
[in]errthe error message sent to err()

Reimplemented in OGF::Console.

◆ out()

void GEO::Console::out ( const std::string &  value)
override

◆ status()

void GEO::Console::status ( const std::string &  value)
override

◆ warn()

void GEO::Console::warn ( const std::string &  value)
override


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