MythTV  master
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

This widget is used for grouping other widgets for display when a particular named state is called. A statetype can contain any number of state groups which can themselves contain any number of widgets. More...

#include <libmythui/mythuistatetype.h>

Inheritance diagram for MythUIStateType:
[legend]
Collaboration diagram for MythUIStateType:
[legend]

Public Types

enum  StateType : std::uint8_t { None = 0, Off, Half, Full }
 

Public Member Functions

 MythUIStateType (MythUIType *parent, const QString &name)
 
 ~MythUIStateType () override=default
 
void SetShowEmpty (bool showempty)
 
bool AddImage (const QString &name, MythImage *image)
 
bool AddImage (StateType type, MythImage *image)
 
bool AddObject (const QString &name, MythUIType *object)
 
bool AddObject (StateType type, MythUIType *object)
 
bool DisplayState (const QString &name)
 
bool DisplayState (StateType type)
 
MythUITypeGetCurrentState ()
 
MythUITypeGetState (const QString &name)
 
MythUITypeGetState (StateType state)
 
void Reset (void) override
 Reset the widget to it's original state, should not reset changes made by the theme. More...
 
void Clear (void)
 
void EnsureStateLoaded (const QString &name)
 
void EnsureStateLoaded (StateType type)
 
void LoadNow (void) override
 Cause images in this and child widgets to be loaded. More...
 
void RecalculateArea (bool recurse=true) override
 
void SetTextFromMap (const InfoMap &infoMap) override
 
- Public Member Functions inherited from MythUIComposite
 MythUIComposite (QObject *parent, const QString &name)
 
 ~MythUIComposite () override=default
 
virtual void ResetMap (const InfoMap &infoMap)
 
- Public Member Functions inherited from MythUIType
 MythUIType (QObject *parent, const QString &name)
 
void AddChild (MythUIType *child)
 Add a child UIType. More...
 
MythUITypeGetChild (const QString &name) const
 Get a named child of this UIType. More...
 
MythUITypeGetChildAt (QPoint p, bool recursive=true, bool focusable=true) const
 Return the first MythUIType at the given coordinates. More...
 
QList< MythUIType * > * GetAllChildren (void)
 Return a list of all child widgets. More...
 
QList< MythUIType * > GetAllDescendants (void)
 
void DeleteChild (const QString &name)
 Delete a named child of this UIType. More...
 
void DeleteChild (MythUIType *child)
 Delete the given UIType if it is a child of this UIType. More...
 
void DeleteAllChildren (void)
 Delete all child widgets. More...
 
bool NeedsRedraw (void) const
 
void ResetNeedsRedraw (void)
 
void SetRedraw (void)
 
void SetChildNeedsRedraw (MythUIType *child)
 
bool CanTakeFocus (void) const
 Return if this widget can accept input focus. More...
 
void SetCanTakeFocus (bool set=true)
 Set whether this widget can take focus. More...
 
void SetFocusOrder (int order)
 
bool IsEnabled (void) const
 
void SetEnabled (bool enable)
 
bool MoveToTop (void)
 
bool MoveChildToTop (MythUIType *child)
 
void ActivateAnimations (MythUIAnimation::Trigger trigger)
 
QList< MythUIAnimation * > * GetAnimations (void)
 
virtual void Pulse (void)
 Pulse is called 70 times a second to trigger a single frame of an animation. More...
 
void Draw (MythPainter *p, int xoffset, int yoffset, int alphaMod=255, QRect clipRect=QRect())
 
void SetPosition (int x, int y)
 Convenience method, calls SetPosition(const MythPoint&) Override that instead to change functionality. More...
 
void SetPosition (QPoint point)
 
virtual void SetPosition (const MythPoint &point)
 
virtual MythPoint GetPosition (void) const
 
virtual void SetSize (QSize size)
 
virtual void SetMinSize (const MythPoint &size)
 Set the minimum size of this widget, for widgets which can be rescaled. More...
 
virtual QSize GetMinSize (void) const
 
virtual void SetArea (const MythRect &rect)
 
virtual void AdjustMinArea (int delta_x, int delta_y, int delta_w, int delta_h)
 Adjust the size of a sibling. More...
 
virtual void VanishSibling (void)
 
virtual void SetMinAreaParent (MythRect actual_area, MythRect allowed_area, MythUIType *child)
 Adjust the size of sibling objects within the button. More...
 
virtual void SetMinArea (const MythRect &rect)
 Set the minimum area based on the given size. More...
 
virtual MythRect GetArea (void) const
 If the object has a minimum area defined, return it, other wise return the default area. More...
 
virtual MythRect GetFullArea (void) const
 
void ExpandArea (QRect rect)
 
virtual QRegion GetDirtyArea (void) const
 
bool IsVisible (bool recurse=false) const
 
virtual void SetVisible (bool visible)
 
void MoveTo (QPoint destXY, QPoint speedXY)
 
void AdjustAlpha (int mode, int alphachange, int minalpha=0, int maxalpha=255)
 
void SetAlpha (int newalpha)
 
int GetAlpha (void) const
 
virtual bool keyPressEvent (QKeyEvent *event)
 Key event handler. More...
 
virtual bool inputMethodEvent (QInputMethodEvent *event)
 Input Method event handler. More...
 
virtual bool gestureEvent (MythGestureEvent *event)
 Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop. More...
 
virtual void mediaEvent (MythMediaEvent *event)
 Media/Device status event handler, received from MythMediaMonitor. More...
 
MythFontPropertiesGetFont (const QString &text) const
 
bool AddFont (const QString &text, MythFontProperties *fontProp)
 
void SetHelpText (const QString &text)
 
QString GetHelpText (void) const
 
void SetXMLLocation (const QString &filename, int where)
 
QString GetXMLLocation (void) const
 
void SetXMLName (const QString &name)
 
QString GetXMLName (void) const
 
bool IsDeferredLoading (bool recurse=false) const
 
void SetDeferLoad (bool defer)
 
bool ContainsPoint (QPoint point) const
 Check if the given point falls within this widgets area. More...
 
virtual MythPainterGetPainter (void)
 
void SetPainter (MythPainter *painter)
 
void SetCentre (UIEffects::Centre centre)
 
void SetZoom (float zoom)
 
void SetHorizontalZoom (float zoom)
 
void SetVerticalZoom (float zoom)
 
void SetAngle (float angle)
 
void SetDependIsDefault (bool isDefault)
 
void SetReverseDependence (MythUIType *dependee, bool reverse)
 
void SetDependsMap (QMap< QString, QString > dependsMap)
 
QMap< QString, QString > GetDependsMap () const
 

Protected Member Functions

bool ParseElement (const QString &filename, QDomElement &element, bool showWarnings) override
 Parse the xml definition of this widget setting the state of the object accordingly. More...
 
void CopyFrom (MythUIType *base) override
 Copy this widgets state from another. More...
 
void CreateCopy (MythUIType *parent) override
 Copy the state of this widget to the one given, it must be of the same type. More...
 
void Finalize (void) override
 Perform any post-xml parsing initialisation tasks. More...
 
virtual void AdjustDependence (void)
 
- Protected Member Functions inherited from MythUIType
 ~MythUIType () override
 
void customEvent (QEvent *event) override
 
virtual void DrawSelf (MythPainter *p, int xoffset, int yoffset, int alphaMod, QRect clipRect)
 
void AddFocusableChildrenToList (FocusInfoType &focusList)
 
void HandleAlphaPulse ()
 Handle one frame of an alpha (transparency) change animation. More...
 
void HandleMovementPulse ()
 Handle one frame of a movement animation. More...
 
int CalcAlpha (int alphamod) const
 
void ConnectDependants (bool recurse=false)
 

Protected Attributes

QMap< QString, MythUIType * > m_objectsByName
 
QMap< int, MythUIType * > m_objectsByState
 
MythUITypem_currentState {nullptr}
 
MythRect m_parentArea
 
bool m_showEmpty {true}
 
- Protected Attributes inherited from MythUIType
QList< MythUIType * > m_childrenList
 
QMap< QString, QString > m_dependsMap
 
QList< QPair< MythUIType *, bool > > m_dependsValue
 
QList< int > m_dependOperator
 
bool m_visible {true}
 
bool m_hasFocus {false}
 
bool m_canHaveFocus {false}
 
bool m_enabled {true}
 
bool m_enableInitiator {false}
 
bool m_initiator {false}
 
bool m_vanish {false}
 
bool m_vanished {false}
 
bool m_isDependDefault {false}
 
QMap< MythUIType *, boolm_reverseDepend
 
int m_focusOrder {0}
 
MythRect m_area {0,0,0,0}
 
MythRect m_minArea {0,0,0,0}
 
MythPoint m_minSize
 
QRegion m_dirtyRegion {0,0,0,0}
 
bool m_needsRedraw {false}
 
UIEffects m_effects
 
int m_alphaChangeMode {0}
 
int m_alphaChange {0}
 
int m_alphaMin {0}
 
int m_alphaMax {255}
 
bool m_moving {false}
 
QPoint m_xyDestination {0,0}
 
QPoint m_xySpeed {0,0}
 
FontMapm_fonts {nullptr}
 
MythUITypem_parent {nullptr}
 
MythPainterm_painter {nullptr}
 
QList< MythUIAnimation * > m_animations
 
QString m_helptext
 
QString m_xmlName
 
QString m_xmlLocation
 
bool m_deferload {false}
 
QColor m_borderColor {Qt::black}
 

Friends

class MythUIButtonList
 

Additional Inherited Members

- Public Slots inherited from MythUIType
void LoseFocus ()
 
bool TakeFocus ()
 
void Activate ()
 
void Hide (void)
 
void Show (void)
 
void Refresh (void)
 
void UpdateDependState (bool isDefault)
 
void UpdateDependState (MythUIType *dependee, bool isDefault)
 
- Signals inherited from MythUIType
void RequestUpdate ()
 
void RequestRegionUpdate (const QRect &)
 
void TakingFocus ()
 
void LosingFocus ()
 
void VisibilityChanged (bool Visible)
 
void Showing ()
 
void Hiding ()
 
void Enabling ()
 
void Disabling ()
 
void FinishedMoving ()
 
void FinishedFading ()
 
void DependChanged (bool isDefault)
 
- Static Public Member Functions inherited from XMLParseBase
static QString getFirstText (QDomElement &element)
 
static bool parseBool (const QString &text)
 
static bool parseBool (QDomElement &element)
 
static MythPoint parsePoint (const QString &text, bool normalize=true)
 
static MythPoint parsePoint (QDomElement &element, bool normalize=true)
 
static QSize parseSize (const QString &text, bool normalize=true)
 
static QSize parseSize (QDomElement &element, bool normalize=true)
 
static MythRect parseRect (const QString &text, bool normalize=true)
 
static MythRect parseRect (QDomElement &element, bool normalize=true)
 
static int parseAlignment (const QString &text)
 
static int parseAlignment (QDomElement &element)
 
static QBrush parseGradient (const QDomElement &element)
 
static QString parseText (QDomElement &element)
 
static MythUITypeGetGlobalObjectStore (void)
 
static void ClearGlobalObjectStore (void)
 
static void ParseChildren (const QString &filename, QDomElement &element, MythUIType *parent, bool showWarnings)
 
static MythUITypeParseUIType (const QString &filename, QDomElement &element, const QString &type, MythUIType *parent, MythScreenType *screen, bool showWarnings, QMap< QString, QString > &parentDependsMap)
 
static bool WindowExists (const QString &xmlfile, const QString &windowname)
 
static bool LoadWindowFromXML (const QString &xmlfile, const QString &windowname, MythUIType *parent)
 
static bool LoadBaseTheme (void)
 
static bool LoadBaseTheme (const QString &baseTheme)
 
static bool CopyWindowFromBase (const QString &windowname, MythScreenType *win)
 
- Static Protected Member Functions inherited from MythUIType
static int NormX (int width)
 
static int NormY (int height)
 

Detailed Description

This widget is used for grouping other widgets for display when a particular named state is called. A statetype can contain any number of state groups which can themselves contain any number of widgets.

States are mutally exclusive, when one state is displayed the others are hidden.

Definition at line 22 of file mythuistatetype.h.

Member Enumeration Documentation

◆ StateType

enum MythUIStateType::StateType : std::uint8_t
Enumerator
None 
Off 
Half 
Full 

Definition at line 26 of file mythuistatetype.h.

Constructor & Destructor Documentation

◆ MythUIStateType()

MythUIStateType::MythUIStateType ( MythUIType parent,
const QString &  name 
)

Definition at line 16 of file mythuistatetype.cpp.

Referenced by CreateCopy().

◆ ~MythUIStateType()

MythUIStateType::~MythUIStateType ( )
overridedefault

Member Function Documentation

◆ SetShowEmpty()

void MythUIStateType::SetShowEmpty ( bool  showempty)
inline

Definition at line 32 of file mythuistatetype.h.

◆ AddImage() [1/2]

bool MythUIStateType::AddImage ( const QString &  name,
MythImage image 
)

Definition at line 22 of file mythuistatetype.cpp.

◆ AddImage() [2/2]

bool MythUIStateType::AddImage ( StateType  type,
MythImage image 
)

Definition at line 55 of file mythuistatetype.cpp.

◆ AddObject() [1/2]

bool MythUIStateType::AddObject ( const QString &  name,
MythUIType object 
)

Definition at line 37 of file mythuistatetype.cpp.

Referenced by AddImage(), CopyFrom(), and ParseElement().

◆ AddObject() [2/2]

bool MythUIStateType::AddObject ( StateType  type,
MythUIType object 
)

Definition at line 68 of file mythuistatetype.cpp.

◆ DisplayState() [1/2]

bool MythUIStateType::DisplayState ( const QString &  name)

Definition at line 84 of file mythuistatetype.cpp.

Referenced by MythUIButtonList::CalculateArrowStates(), CheckedSet(), TrackInfoPopup::Create(), MythNotificationScreen::Create(), TrackInfoDialog::Create(), MusicCommon::customEvent(), MythUICheckBox::Deselect(), MythUITextEdit::Deselect(), MythUICheckBox::Disable(), StatusBox::doAutoExpireList(), MythUIButtonListItem::DoButtonCheck(), MythUIButtonListItem::DoButtonLookupState(), StatusBox::doDecoderStatus(), StatusBox::doDisplayStatus(), StatusBox::doJobQueueStatus(), StatusBox::doListingsStatus(), StatusBox::doLogEntries(), StatusBox::doMachineStatus(), StatusBox::doRenderStatus(), StatusBox::doScheduleStatus(), StatusBox::doTunerStatus(), MythUICheckBox::Enable(), Finalize(), LyricsView::findLyrics(), ProgLister::HandleSelected(), MusicCommon::init(), MythNotificationScreen::Init(), ThemeChooser::itemChanged(), MusicCommon::keyPressEvent(), LyricsView::lyricStatusChanged(), SearchButtonListDialog::nextClicked(), MythThemedMenu::parseMenu(), SearchButtonListDialog::prevClicked(), EditMetadataDialog::ratingSpinChanged(), Reset(), SearchButtonListDialog::searchChanged(), MythUICheckBox::Select(), MythUITextEdit::Select(), MythThemedMenu::setButtonActive(), MythUICheckBox::SetCheckState(), MythNotificationScreen::SetErrorState(), MythUICheckBox::SetInitialStates(), MythUITextEdit::SetInitialStates(), GUIStartup::setMessageState(), MythUIButton::SetState(), GUIStartup::setStatusState(), OSD::SetText(), MythUIButtonListItem::SetToRealButton(), LyricsView::showLyrics(), NetSearch::SlotItemChanged(), MythUICheckBox::toggleCheckState(), ThemeChooser::toggleFullscreenPreview(), MythMusicVolumeDialog::updateDisplay(), PlaybackBox::updateIcons(), ViewScheduled::updateInfo(), GuideGrid::updateInfo(), EditMetadataDialog::updateRating(), MusicCommon::updateRepeatMode(), NetTree::UpdateResultItem(), GameUI::updateRomInfo(), MusicCommon::updateShuffleMode(), IdleScreen::UpdateStatus(), MusicCommon::updateTrackInfo(), PlaybackBox::UpdateUIListItem(), and MusicCommon::updateVolume().

◆ DisplayState() [2/2]

bool MythUIStateType::DisplayState ( StateType  type)

Definition at line 117 of file mythuistatetype.cpp.

◆ GetCurrentState()

MythUIType* MythUIStateType::GetCurrentState ( )
inline

◆ GetState() [1/2]

MythUIType * MythUIStateType::GetState ( const QString &  name)

◆ GetState() [2/2]

MythUIType * MythUIStateType::GetState ( StateType  state)

Definition at line 157 of file mythuistatetype.cpp.

◆ Reset()

void MythUIStateType::Reset ( void  )
overridevirtual

◆ Clear()

void MythUIStateType::Clear ( void  )

Definition at line 168 of file mythuistatetype.cpp.

◆ EnsureStateLoaded() [1/2]

void MythUIStateType::EnsureStateLoaded ( const QString &  name)

Definition at line 312 of file mythuistatetype.cpp.

Referenced by MythThemedMenu::addButton(), and MythThemedMenu::parseMenu().

◆ EnsureStateLoaded() [2/2]

void MythUIStateType::EnsureStateLoaded ( StateType  type)

Definition at line 323 of file mythuistatetype.cpp.

◆ LoadNow()

void MythUIStateType::LoadNow ( void  )
overridevirtual

Cause images in this and child widgets to be loaded.

Used only in conjunction with delayed loading in some large statetypes to conserve memory.

Reimplemented from MythUIType.

Definition at line 331 of file mythuistatetype.cpp.

◆ RecalculateArea()

void MythUIStateType::RecalculateArea ( bool  recurse = true)
overridevirtual

Reimplemented from MythUIType.

Definition at line 337 of file mythuistatetype.cpp.

◆ SetTextFromMap()

void MythUIStateType::SetTextFromMap ( const InfoMap infoMap)
overridevirtual

Reimplemented from MythUIComposite.

Definition at line 385 of file mythuistatetype.cpp.

◆ ParseElement()

bool MythUIStateType::ParseElement ( const QString &  filename,
QDomElement &  element,
bool  showWarnings 
)
overrideprotectedvirtual

Parse the xml definition of this widget setting the state of the object accordingly.

Reimplemented from MythUIType.

Definition at line 213 of file mythuistatetype.cpp.

◆ CopyFrom()

void MythUIStateType::CopyFrom ( MythUIType base)
overrideprotectedvirtual

Copy this widgets state from another.

Reimplemented from MythUIType.

Definition at line 264 of file mythuistatetype.cpp.

◆ CreateCopy()

void MythUIStateType::CreateCopy ( MythUIType parent)
overrideprotectedvirtual

Copy the state of this widget to the one given, it must be of the same type.

Reimplemented from MythUIType.

Definition at line 300 of file mythuistatetype.cpp.

◆ Finalize()

void MythUIStateType::Finalize ( void  )
overrideprotectedvirtual

Perform any post-xml parsing initialisation tasks.

This is called after the widget has been created and it's state established by ParseElement() or CopyFrom(). A derived class should use this to perform any initialisation tasks which should occur after this point.

Reimplemented from MythUIType.

Definition at line 306 of file mythuistatetype.cpp.

◆ AdjustDependence()

void MythUIStateType::AdjustDependence ( void  )
protectedvirtual

Definition at line 366 of file mythuistatetype.cpp.

Referenced by DisplayState().

Friends And Related Function Documentation

◆ MythUIButtonList

friend class MythUIButtonList
friend

Definition at line 74 of file mythuistatetype.h.

Member Data Documentation

◆ m_objectsByName

QMap<QString, MythUIType *> MythUIStateType::m_objectsByName
protected

◆ m_objectsByState

QMap<int, MythUIType *> MythUIStateType::m_objectsByState
protected

◆ m_currentState

MythUIType* MythUIStateType::m_currentState {nullptr}
protected

Definition at line 69 of file mythuistatetype.h.

Referenced by AdjustDependence(), Clear(), DisplayState(), and Reset().

◆ m_parentArea

MythRect MythUIStateType::m_parentArea
protected

Definition at line 70 of file mythuistatetype.h.

Referenced by AddObject(), and RecalculateArea().

◆ m_showEmpty

bool MythUIStateType::m_showEmpty {true}
protected

Definition at line 72 of file mythuistatetype.h.

Referenced by CopyFrom(), DisplayState(), and ParseElement().


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