Adds some filtering options to the console log gui so you can specify if you wish to be able to see errors, warnings and regular messages. It also denotes how many errors and warnings are currently in the log.

This commit is contained in:
Areloch 2017-09-23 12:37:55 -05:00
parent 217df073b4
commit 9b83e47302
5 changed files with 580 additions and 105 deletions

View file

@ -39,14 +39,21 @@ class GuiConsole : public GuiArrayCtrl
Resource<GFont> mFont;
bool mDisplayErrors;
bool mDisplayWarnings;
bool mDisplayNormalMessages;
S32 getMaxWidth(S32 startIndex, S32 endIndex);
Vector<ConsoleLogEntry> mFilteredLog;
protected:
/// @name Callbacks
/// @{
DECLARE_CALLBACK( void, onMessageSelected, ( ConsoleLogEntry::Level level, const char* message ) );
DECLARE_CALLBACK(void, onNewMessage, (U32 errorCount, U32 warnCount, U32 normalCount));
/// @}
@ -63,6 +70,26 @@ class GuiConsole : public GuiArrayCtrl
virtual bool onWake();
virtual void onPreRender();
virtual void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
void setDisplayFilters(bool errors, bool warns, bool normal);
bool getErrorFilter() { return mDisplayErrors; }
bool getWarnFilter() { return mDisplayWarnings; }
bool getNormalFilter() { return mDisplayNormalMessages; }
void toggleErrorFilter()
{
setDisplayFilters(!mDisplayErrors, mDisplayWarnings, mDisplayNormalMessages);
}
void toggleWarnFilter()
{
setDisplayFilters(mDisplayErrors, !mDisplayWarnings, mDisplayNormalMessages);
}
void toggleNormalFilter()
{
setDisplayFilters(mDisplayErrors, mDisplayWarnings, !mDisplayNormalMessages);
}
void refreshLogText();
};
#endif