Dry
|
Console window with log history and command line prompt. More...
#include <Dry/Engine/Console.h>
Public Member Functions | |
Console (Context *context) | |
Construct. | |
~Console () override | |
Destruct. | |
void | SetDefaultStyle (XMLFile *style) |
Set UI elements' style from an XML file. | |
void | SetVisible (bool enable) |
Show or hide. | |
void | Toggle () |
Toggle visibility. | |
void | SetAutoVisibleOnError (bool enable) |
Automatically set console to visible when receiving an error log message. | |
void | SetCommandInterpreter (const String &interpreter) |
Set the command interpreter. | |
void | SetNumBufferedRows (unsigned rows) |
Set number of buffered rows. | |
void | SetNumRows (unsigned rows) |
Set number of displayed rows. | |
void | SetNumHistoryRows (unsigned rows) |
Set command history maximum size, 0 disables history. | |
void | SetFocusOnShow (bool enable) |
Set whether to automatically focus the line edit when showing. Default true on desktops and false on mobile devices, as on mobiles it would pop up the screen keyboard. | |
void | AddAutoComplete (const String &option) |
Add auto complete option. | |
void | RemoveAutoComplete (const String &option) |
Remove auto complete option. | |
void | UpdateElements () |
Update elements to layout properly. Call this after manually adjusting the sub-elements. | |
XMLFile * | GetDefaultStyle () const |
Return the UI style file. | |
BorderImage * | GetBackground () const |
Return the background element. | |
LineEdit * | GetLineEdit () const |
Return the line edit element. | |
Button * | GetCloseButton () const |
Return the close butoon element. | |
bool | IsVisible () const |
Return whether is visible. | |
bool | IsAutoVisibleOnError () const |
Return true when console is set to automatically visible when receiving an error log message. | |
const String & | GetCommandInterpreter () const |
Return the last used command interpreter. | |
unsigned | GetNumBufferedRows () const |
Return number of buffered rows. | |
unsigned | GetNumRows () const |
Return number of displayed rows. | |
void | CopySelectedRows () const |
Copy selected rows to system clipboard. | |
unsigned | GetNumHistoryRows () const |
Return history maximum size. | |
unsigned | GetHistoryPosition () const |
Return current history position. | |
const String & | GetHistoryRow (unsigned index) const |
Return history row at index. | |
bool | GetFocusOnShow () const |
Return whether automatically focuses the line edit when showing. | |
![]() | |
Object (Context *context) | |
Construct. | |
~Object () override | |
Destruct. Clean up self from event sender & receiver structures. | |
virtual StringHash | GetType () const =0 |
Return type hash. | |
virtual const String & | GetTypeName () const =0 |
Return type name. | |
virtual const TypeInfo * | GetTypeInfo () const =0 |
Return type info. | |
virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) |
Handle event. | |
bool | IsInstanceOf (StringHash type) const |
Check current instance is type of specified type. | |
bool | IsInstanceOf (const TypeInfo *typeInfo) const |
Check current instance is type of specified type. | |
template<typename T > | |
bool | IsInstanceOf () const |
Check current instance is type of specified class. | |
template<typename T > | |
T * | Cast () |
Cast the object to specified most derived class. | |
template<typename T > | |
const T * | Cast () const |
Cast the object to specified most derived class. | |
void | SubscribeToEvent (StringHash eventType, EventHandler *handler) |
Subscribe to an event that can be sent by any sender. | |
void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) |
Subscribe to a specific sender's event. | |
void | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) |
Subscribe to an event that can be sent by any sender. | |
void | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) |
Subscribe to a specific sender's event. | |
void | UnsubscribeFromEvent (StringHash eventType) |
Unsubscribe from an event. | |
void | UnsubscribeFromEvent (Object *sender, StringHash eventType) |
Unsubscribe from a specific sender's event. | |
void | UnsubscribeFromEvents (Object *sender) |
Unsubscribe from a specific sender's events. | |
void | UnsubscribeFromAllEvents () |
Unsubscribe from all events. | |
void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) |
Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.) | |
void | SendEvent (StringHash eventType) |
Send event to all subscribers. | |
void | SendEvent (StringHash eventType, VariantMap &eventData) |
Send event with parameters to all subscribers. | |
VariantMap & | GetEventDataMap () const |
Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. | |
template<typename... Args> | |
void | SendEvent (StringHash eventType, Args... args) |
Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another. | |
Context * | GetContext () const |
Return execution context. | |
const Variant & | GetGlobalVar (StringHash key) const |
Return global variable based on key. | |
const VariantMap & | GetGlobalVars () const |
Return all global variables. | |
void | SetGlobalVar (StringHash key, const Variant &value) |
Set global variable with the respective key and value. | |
Object * | GetSubsystem (StringHash type) const |
Return subsystem by type. | |
Object * | GetEventSender () const |
Return active event sender. Null outside event handling. | |
EventHandler * | GetEventHandler () const |
Return active event handler. Null outside event handling. | |
bool | HasSubscribedToEvent (StringHash eventType) const |
Return whether has subscribed to an event without specific sender. | |
bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const |
Return whether has subscribed to a specific sender's event. | |
bool | HasEventHandlers () const |
Return whether has subscribed to any event. | |
template<class T > | |
T * | GetSubsystem () const |
Template version of returning a subsystem. | |
const String & | GetCategory () const |
Return object category. Categories are (optionally) registered along with the object factory. Return an empty string if the object category is not registered. | |
void | SetBlockEvents (bool block) |
Block object from sending and receiving events. | |
bool | GetBlockEvents () const |
Return sending and receiving events blocking status. | |
![]() | |
RefCounted () | |
Construct. Allocate the reference count structure and set an initial self weak reference. | |
virtual | ~RefCounted () |
Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. | |
RefCounted (const RefCounted &rhs)=delete | |
Prevent copy construction. | |
RefCounted & | operator= (const RefCounted &rhs)=delete |
Prevent assignment. | |
void | AddRef () |
Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting. | |
void | ReleaseRef () |
Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting. | |
int | Refs () const |
Return reference count. | |
int | WeakRefs () const |
Return weak reference count. | |
RefCount * | RefCountPtr () |
Return pointer to the reference count structure. | |
Private Member Functions | |
DRY_OBJECT (Console, Object) | |
bool | PopulateInterpreter () |
Populate the command line interpreters that could handle the console command. | |
void | HandleInterpreterSelected (StringHash eventType, VariantMap &eventData) |
Handle interpreter being selected on the drop down list. | |
void | HandleTextChanged (StringHash eventType, VariantMap &eventData) |
Handle text change in the line edit. | |
void | HandleTextFinished (StringHash eventType, VariantMap &eventData) |
Handle enter pressed on the line edit. | |
void | HandleLineEditKey (StringHash eventType, VariantMap &eventData) |
Handle unhandled key on the line edit for scrolling the history. | |
void | HandleCloseButtonPressed (StringHash eventType, VariantMap &eventData) |
Handle close button being pressed. | |
void | HandleRootElementResized (StringHash eventType, VariantMap &eventData) |
Handle UI root resize. | |
void | HandleLogMessage (StringHash eventType, VariantMap &eventData) |
Handle a log message. | |
void | HandlePostUpdate (StringHash eventType, VariantMap &eventData) |
Handle the application post-update. | |
Private Attributes | |
bool | autoVisibleOnError_ |
Auto visible on error flag. | |
SharedPtr< BorderImage > | background_ |
Background. | |
ListView * | rowContainer_ |
Container for text rows. | |
UIElement * | commandLine_ |
Container for the command line. | |
DropDownList * | interpreters_ |
Interpreter drop down list. | |
LineEdit * | lineEdit_ |
Line edit. | |
SharedPtr< Button > | closeButton_ |
Close button. | |
String | commandInterpreter_ |
Last used command interpreter. | |
Vector< String > | history_ |
Command history. | |
Vector< Pair< int, String > > | pendingRows_ |
Pending log message rows. | |
String | currentRow_ |
Current row being edited. | |
unsigned | displayedRows_ {} |
Maximum displayed rows. | |
unsigned | historyRows_ |
Command history maximum rows. | |
unsigned | historyPosition_ |
Command history current position. | |
Vector< String > | autoComplete_ |
unsigned | autoCompletePosition_ |
Command auto complete current position. | |
String | autoCompleteLine_ |
Store the original line which is being auto-completed. | |
bool | printing_ |
Flag when printing messages to prevent endless loop. | |
bool | focusOnShow_ |
Flag for automatically focusing the line edit on showing the console. | |
bool | historyOrAutoCompleteChange_ |
Internal flag whether currently in an autocomplete or history change. | |
Additional Inherited Members | |
![]() | |
static const TypeInfo * | GetTypeInfoStatic () |
Return type info static. | |
![]() | |
Context * | context_ |
Execution context. | |
Console window with log history and command line prompt.
Command auto complete options.
down arrow key Unless currently going through history options, will loop through next auto complete options.
up arrow key Unless currently going through history options, will go through previous auto complete options. When no previous options are left will start going through history options.