Open 3D Engine AzQtComponents 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.
AzQtComponents Namespace Reference

An improved QLabel control with better QPixmap resize functionality and click signal. More...

Classes

class  AssetFolderListView
 
class  AssetFolderTableView
 
class  AssetFolderThumbnailView
 
class  AssetFolderThumbnailViewDelegate
 
class  AutoCustomWindowDecorations
 
class  AutoSettingsGroup
 
class  AzMessageBox
 
class  AzQtApplication
 Base class for O3DE Tools Applications. More...
 
class  BranchDelegate
 
class  BreadCrumbs
 
class  BrowseEdit
 A widget combining a Line Edit and a Push Button. Use this widget when you want to extend a Line Edit with support for user interaction. More...
 
class  ButtonDivider
 
class  ButtonStripe
 
class  Card
 
class  CardHeader
 
class  CardNotification
 
class  CheckBox
 
class  ColorComponentEdit
 
class  ColorGrid
 
class  ColorHexEdit
 
class  ColorLabel
 A control to select color properties via a ColorPicker dialog. More...
 
class  ColorPicker
 Allows the user to select a color via a dialog window. More...
 
class  ColorPreview
 
class  ColorRGBAEdit
 
class  ColorValidator
 
class  ColorWarning
 
class  ComboBox
 Adds functionality to ComboBox controls by offering configuration, styling and validation options. More...
 
class  ComboBoxValidator
 Default validator for the ComboBox control. Always returns true to all inputs. More...
 
class  CommonDragAndDropBusTraits
 
class  CustomSlider
 Extends the slider component to add extra styling and behavior options. More...
 
class  DialogButtonBox
 Class to handle styling and painting of QToolButton controls. More...
 
class  DockBar
 
class  DockBarButton
 
struct  DockBarColors
 
class  DockMainWindow
 
class  DockTabBar
 
class  DockTabWidget
 
class  DoubleSpinBox
 
class  DragAndDrop
 
class  DragAndDropContextBase
 
class  DragAndDropEvents
 
class  DragAndDropItemViewEvents
 
class  ElidingLabel
 
class  ExtendedLabel
 
class  Eyedropper
 
class  FancyDocking
 
class  FancyDockingDropZoneState
 
class  FancyDockingDropZoneWidget
 
class  FancyDockingGhostWidget
 
class  FileDialog
 
class  FilterCriteriaButton
 
class  FilteredSearchItemDelegate
 
class  FilteredSearchWidget
 
class  FilterTextButton
 
class  FixedWidthMessageBox
 
class  GammaEdit
 
class  GlobalEventFilter
 
class  GradientSlider
 
class  HelpButton
 
class  HSLSliders
 
class  HSVSliders
 
class  HueSaturationValidator
 
class  InputDialog
 An improved QInputDialog which allows a validator to be placed on the TextEdit line. More...
 
class  InteractiveWindowGeometryChanger
 
class  InteractiveWindowMover
 
class  InteractiveWindowResizer
 
class  LineEdit
 Class to handle styling and painting of QLineEdit widgets. More...
 
class  LogicalTabOrderingWidget
 
struct  MappedPoint
 
class  Menu
 Class to handle styling and painting of QMenu controls. More...
 
class  MouseHider
 
class  O3DEStylesheet
 
class  OverlayWidget
 
struct  OverlayWidgetButton
 
class  Palette
 
class  PaletteCard
 
class  PaletteCardBase
 
class  PaletteCardCollection
 
class  PaletteView
 
class  ProgressBar
 Class to handle styling of ProgressBar controls. More...
 
class  PropertyInputDoubleWidget
 
class  PushButton
 Class to handle styling and painting of QPushButton controls. More...
 
class  QuickPaletteCard
 
class  RadioButton
 Class to handle styling and painting of radio button controls. More...
 
class  RepolishMinimizer
 
class  RGBALowRangeValidator
 
class  RGBColorValidator
 
class  RGBSliders
 
class  ScreenGrabber
 
class  ScrollBar
 Class to provide extra functionality for working with ScrollBar controls. More...
 
class  SearchLineEdit
 
struct  SearchTypeFilter
 
class  SearchTypeSelector
 
class  SearchTypeSelectorFilterModel
 
class  SegmentBar
 A control used to switch between different sections of associated information. More...
 
class  SegmentControl
 A container that uses a SegmentBar to switch between different sections of associated information. More...
 
class  SelectionCountButton
 
class  SelectionProxyModel
 
class  ShortcutDispatchTraits
 
class  Slider
 Base class for Slider components. Wraps a CustomSlider to provide additional styling options and functionality. More...
 
class  SliderCombo
 
class  SliderDouble
 Control to display a slider for double value input. More...
 
class  SliderDoubleCombo
 
class  SliderInt
 Control to display a slider for integer value input. More...
 
class  SpinBox
 
class  StatusBar
 
class  Style
 
class  StyledBusyLabel
 
class  StyledDetailsTableModel
 
class  StyledDetailsTableView
 
class  StyledDialog
 
class  StyledDockWidget
 
class  StyledDoubleSpinBox
 
class  StyledLineEdit
 
class  StyledSliderPrivate
 
class  StyledSpinBox
 
class  StyledTreeView
 
class  StyledTreeWidget
 
class  StyleManager
 
class  StyleSheetCache
 
class  StylesheetPreprocessor
 
class  Swatch
 
class  TabBar
 Allows switching between different content widgets in a TabWidget. More...
 
class  TableView
 
class  TableViewItemDelegate
 
class  TableViewModel
 
class  TabWidget
 A container for other widgets that provides a tab bar to switch between them. More...
 
class  TabWidgetActionToolBar
 Displays custom buttons on the right side of the tab bar widget. More...
 
class  TabWidgetActionToolBarContainer
 Container for the TabWidget action toolbar. More...
 
class  TagSelector
 
class  TagWidget
 
class  TagWidgetContainer
 
class  Text
 
class  TitleBar
 
class  TitleBarOverdrawHandler
 
class  TitleBarOverdrawHandlerWindows
 
class  TitleBarOverdrawScreenHandler
 
class  ToastConfiguration
 
class  ToastNotification
 
class  ToolBar
 Class to provide extra functionality for working with ToolBar controls. More...
 
class  ToolBarArea
 
class  ToolButton
 Class to handle styling and painting of QToolButton controls. More...
 
class  ToolButtonComboBox
 
class  ToolButtonLineEdit
 
class  ToolButtonWithWidget
 
class  TreeView
 
class  VectorEdit
 
class  VectorEditElement
 
class  VectorElement
 All flexible vector GUI's are constructed using a number vector elements. Each Vector element contains a label and a double spin box which show the label and the value respectively. More...
 
class  VectorInput
 Qt Widget that control holds an array of VectorElements. This control can be used to display any number of labeled float values with configurable row(s) & column(s) More...
 
class  ViewportDragContext
 
class  WindowDecorationWrapper
 

Typedefs

using DragAndDropEventsBus = AZ::EBus< DragAndDropEvents >
 
using DragAndDropItemViewEventsBus = AZ::EBus< DragAndDropItemViewEvents >
 
using ShortcutDispatchBus = AZ::EBus< ShortcutDispatchTraits >
 
using SearchTypeFilterList = QVector< SearchTypeFilter >
 
using BreadCrumbButtonStates = bool[EnumToConstExprInt(NavigationButton::Count)]
 
using OverlayWidgetButtonList = QVector< const OverlayWidgetButton * >
 

Enumerations

enum class  ToastType { Information , Warning , Error , Custom }
 
enum class  NavigationButton { Back , Forward , Browse , Count }
 Enum listing the type of buttons. More...
 

Functions

static const QKeySequence RedoKeySequence (Qt::CTRL+Qt::SHIFT+Qt::Key_Z)
 
void MarkAsShortcutSearchBreak (QWidget *widget)
 
template<typename E >
constexpr auto EnumToConstExprInt (E e) noexcept
 
QDataStream & operator<< (QDataStream &out, const Palette &palette)
 
QDataStream & operator>> (QDataStream &in, Palette &palette)
 
void registerMetaTypes ()
 
AZ_QT_COMPONENTS_API QColor AdjustGamma (const QColor &color, qreal gamma)
 
AZ_QT_COMPONENTS_API AZ::Color AdjustGamma (const AZ::Color &color, float gamma)
 
AZ_QT_COMPONENTS_API QBrush MakeAlphaBrush (const QColor &color, qreal gamma=1.0f)
 
AZ_QT_COMPONENTS_API QBrush MakeAlphaBrush (const AZ::Color &color, float gamma=1.0f)
 
AZ_QT_COMPONENTS_API bool AreClose (const AZ::Color &left, const AZ::Color &right)
 
AZ_QT_COMPONENTS_API QString MakePropertyDisplayStringInts (const QColor &color, bool includeAlphaChannel)
 
AZ_QT_COMPONENTS_API QString MakePropertyDisplayStringFloats (const QColor &color, bool includeAlphaChannel)
 
AZ_QT_COMPONENTS_API QColor toQColor (const AZ::Color &color)
 
AZ_QT_COMPONENTS_API QColor toQColor (float r, float g, float b, float a=1.0f)
 
AZ_QT_COMPONENTS_API AZ::Color fromQColor (const QColor &color)
 
AZ_QT_COMPONENTS_API QString toString (double value, int numDecimals, const QLocale &locale, bool showGroupSeparator=false, bool round=false)
 
QColor ToQColor (const AZ::Color &color)
 
AZ::Color FromQColor (const QColor &color)
 
AZ_QT_COMPONENTS_API void ShowFileOnDesktop (const QString &path)
 
AZ_QT_COMPONENTS_API QString fileBrowserActionName ()
 
AZ_QT_COMPONENTS_API QPixmap ScalePixmapForScreenDpi (QPixmap pixmap, QScreen *screen, QSize size, Qt::AspectRatioMode aspectRatioMode, Qt::TransformationMode transformationMode)
 
AZ_QT_COMPONENTS_API QPixmap CropPixmapForScreenDpi (QPixmap pixmap, QScreen *screen, QRect rect)
 
AZ_QT_COMPONENTS_API void PrepareQtPaths ()
 
AZ_QT_COMPONENTS_API void SetWidgetInteractEnabled (QWidget *widget, bool on)
 
AZ_QT_COMPONENTS_API QRect GetTotalScreenGeometry ()
 
AZ_QT_COMPONENTS_API void EnsureWindowWithinScreenGeometry (QWidget *widget)
 
AZ_QT_COMPONENTS_API void EnsureGeometryWithinScreenTop (QRect &geometry)
 
AZ_QT_COMPONENTS_API void SetClipRegionForDockingWidgets (QWidget *widget, QPainter &painter, QMainWindow *mainWindow)
 
AZ_QT_COMPONENTS_API void SetCursorPos (const QPoint &point)
 
AZ_QT_COMPONENTS_API void SetCursorPos (int x, int y)
 
MappedPoint AZ_QT_COMPONENTS_API MappedCursorPosition ()
 
AZ_QT_COMPONENTS_API void bringWindowToTop (QWidget *widget)
 
bool isWin10 ()
 
AZ_QT_COMPONENTS_API QRandomGenerator * GetRandomGenerator ()
 
AZ_QT_COMPONENTS_API void forceToolTipLineWrap (QWidget *widget)
 

Variables

constexpr const char * HasSearchAction = "HasSearchAction"
 
constexpr const char * HasError = "HasError"
 
constexpr const char * ClearAction = "_q_qlineeditclearaction"
 
constexpr const char * ClearToolButton = "ClearToolButton"
 
constexpr const char * ErrorToolButton = "ErrorToolButton"
 
constexpr const char * SearchToolButton = "SearchToolButton"
 
constexpr const char * StoredClearButtonState = "_storedClearButtonState"
 
constexpr const char * StoredHoverAttributeState = "_storedWaHoverState"
 
constexpr const char * ErrorMessage = "_errorMessage"
 
constexpr const char * ErrorIconEnabled = "_errorIconEnabled"
 
constexpr const char * Validator = "Validator"
 
constexpr const char * HasPopupOpen = "HasPopupOpen"
 
constexpr const char * HasExternalError = "HasExternalError"
 
constexpr const char * NoMargins = "NoMargins"
 
constexpr const char * ValidDropTarget = "ValidDropTarget"
 
constexpr const char * InvalidDropTarget = "InvalidDropTarget"
 
static const char * SHORTCUT_DISPATCHER_CONTEXT_BREAK_PROPERTY = "ShortcutDispatcherContextBreak"
 
static const QString MIME_TYPE_PALETTE = QStringLiteral("application/x-o3de-color-palette+xml")
 

Detailed Description

An improved QLabel control with better QPixmap resize functionality and click signal.

ExtendedLabel allows to automatically downscale its QPixmap while preserving image's aspect ratio. The maximum QPixmap size is set to the minimum of [QLabel size] OR [maxPixMapWidth and maxPixMapHeight values].

RAII-style class that will block unneeded polish requests when doing reparenting. When QWidget::setParent() is called that triggers all children to be repolished, which is expensive as all stylesheet rules have to be recalculated.

Repolishing is usually only needed if the stylesheet changed. You can use this class to save CPU cycles when you know you're going to trigger setParent() calls that you're sure wouldn't affect any styling.

Enumeration Type Documentation

◆ NavigationButton

Enum listing the type of buttons.

Enumerator
Back 

Back button - restores previous path when clicked.

Forward 

Forward button - navigates to latest path before the back button was clicked.

Browse 

Browse button - can be used to add browsing capabilities to select a path from disk.

Count 

Counter for the number of possible values.

Function Documentation

◆ forceToolTipLineWrap()

AZ_QT_COMPONENTS_API void AzQtComponents::forceToolTipLineWrap ( QWidget *  widget)

Forces the tooltip text on a QWidget to do line wrapping.

Qt will only line wrap tooltips if they are rich text / HTML so if Qt doesn't think this text is rich text, we throw on some unnecessary tags to make it think it is HTML. Also replaces
characters with
tags.

◆ MakeAlphaBrush()

AZ_QT_COMPONENTS_API QBrush AzQtComponents::MakeAlphaBrush ( const QColor &  color,
qreal  gamma = 1.0f 
)

Make a pixmap brush from the alpha-checking pattern with the color we're interested filled over the top This is useful for drawRoundedRect calls because it prevents anti-aliasing and overlapped drawing issues without losing us anti-aliasing of and corner radius

◆ SetWidgetInteractEnabled()

AZ_QT_COMPONENTS_API void AzQtComponents::SetWidgetInteractEnabled ( QWidget *  widget,
bool  on 
)

Set the state of all widgets that should be enabled/disabled. When on is false, the widget is set to disabled and a graphics effect is applied to show the widget as inactive. The reverse of this is applied when on is true.