Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ Namespace Reference

Classes

class  EnvironmentVariable
 

Functions

 AZ_TYPE_INFO_SPECIALIZE (AzToolsFramework::PaintBrushMode, "{88C6AEA1-5424-4F3A-9E22-6D55C050F06C}")
 
 AZ_TYPE_INFO_SPECIALIZE (AzToolsFramework::PaintBrushColorMode, "{0D3B0981-BFB3-47E0-9E28-99CFB540D5AC}")
 
 AZ_TYPE_INFO_SPECIALIZE (AzToolsFramework::Prefab::SaveAllPrefabsPreference, "{7E61EA82-4DE4-4A3F-945F-C8FEDC1114B5}")
 
 AZ_TYPE_INFO_SPECIALIZE (AzToolsFramework::Prefab::PrefabConversionUtils::PrefabCatchmentProcessor::SerializationFormats, "{0FBE2482-B514-4256-8716-EA3ECDF8CD49}")
 
 AZ_TYPE_INFO_SPECIALIZE (AzToolsFramework::DPERowWidget, "{C457A594-6E19-4674-A617-3CC09CF7E532}")
 
 AZ_TYPE_INFO_SPECIALIZE (AzQtComponents::ElidingLabel, "{02674C46-1401-4237-97F1-2774A067BF80}")
 

Detailed Description

You can use this to make logging panels in your application The usual usage is to monitor traceprintfs, but it can also be used to construct logs which take files. The main classes involved here are BaseLogView (in LogControl.cpp) - a base view that only shows one log in its viewing area. Its a table view.

  • A standard Qt control base class used for an individual view of a log
  • since its a Qt Model/View based control, it expects you to set a data source from which it will pull the log lines

BaseLogPanel is the base GUI class for a tab-based UI (where you can have multiple tabs with filters)

  • A Qt GUI Widget which is used to create a GUI control with tabs and the ability to customize tabs.
  • you derive from this class and handle the AddTab() and other such messages
  • It can automatically save and restore state if you give it a unique storage ID.

LogLine

  • The format for a generic log line that is used by the line-based log controls below.
  • This is basically the format you use to submit logs to the log control if you want to manually submit them.

RingBufferLogDataModel

  • A model for the BaseLogView based on a ring buffer, which expires oldest entries when more than a maximum accumulate.
  • Used for live logging features (such as traceprintf logging in the GUI) when it would be poor performance to accumulate forever

ListLogDataModel

  • A model for the BaseLogView based on a flat list, which keeps all entries.
  • Used for forensic logging when you have a specific source of log such as a data file or a past capture, when you don't want to
  • Expire old entries, usually in the case when you know there are not going to be a flood of messages constantly.

In general, unless you have a very specific use-case, you will instead create an instance of GenericLogPanel or TracePrintFLogPanel and feed those controls log lines, instead of subclassing these. The exception to this would be if you have some data source that is not the trace bus and is not standard log files, in which case you would create your own Panel and Tab classes (or just use a class derived from BaseLogView with your own data model.