MythTV
master
|
A tree widget for displaying and navigating a MythGenericTree() More...
#include <libmythui/mythuibuttontree.h>
Public Slots | |
void | handleSelect (MythUIButtonListItem *item) |
Handle a list item receiving focus. More... | |
void | handleClick (MythUIButtonListItem *item) |
Handle a list item being clicked. More... | |
void | handleVisible (MythUIButtonListItem *item) |
Handle a list item becoming visible. More... | |
void | Select () |
void | Deselect () |
![]() | |
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 | |
void | itemSelected (MythUIButtonListItem *item) |
void | itemClicked (MythUIButtonListItem *item) |
void | itemVisible (MythUIButtonListItem *item) |
void | nodeChanged (MythGenericTree *node) |
void | rootChanged (MythGenericTree *node) |
![]() | |
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) |
Public Member Functions | |
MythUIButtonTree (MythUIType *parent, const QString &name) | |
~MythUIButtonTree () override=default | |
bool | keyPressEvent (QKeyEvent *event) override |
Key event handler. More... | |
bool | gestureEvent (MythGestureEvent *event) override |
Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop. More... | |
bool | AssignTree (MythGenericTree *tree) |
Assign the root node of the tree to be displayed. More... | |
void | Reset (void) override |
Reset the widget to it's original state, should not reset changes made by the theme. More... | |
bool | SetNodeByString (QStringList route) |
Using a path based on the node string, set the currently selected node. More... | |
bool | SetNodeById (QList< int > route) |
Using a path based on the node IDs, set the currently selected node. More... | |
bool | SetCurrentNode (MythGenericTree *node) |
Set the currently selected node. More... | |
void | ShowSearchDialog (void) |
MythGenericTree * | GetCurrentNode (void) const |
void | SetActive (bool active) |
Set the widget active/inactive. More... | |
MythUIButtonListItem * | GetItemCurrent (void) const |
Return the currently selected list item. More... | |
void | RemoveItem (MythUIButtonListItem *item, bool deleteNode=false) |
Remove the item from the tree. More... | |
void | RemoveCurrentItem (bool deleteNode=false) |
Remove the currently selected item from the tree. More... | |
![]() | |
MythUIType (QObject *parent, const QString &name) | |
void | AddChild (MythUIType *child) |
Add a child UIType. More... | |
MythUIType * | GetChild (const QString &name) const |
Get a named child of this UIType. More... | |
MythUIType * | GetChildAt (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 |
virtual void | RecalculateArea (bool recurse=true) |
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 | inputMethodEvent (QInputMethodEvent *event) |
Input Method event handler. More... | |
virtual void | mediaEvent (MythMediaEvent *event) |
Media/Device status event handler, received from MythMediaMonitor. More... | |
MythFontProperties * | GetFont (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) |
virtual void | LoadNow (void) |
Cause images in this and child widgets to be loaded. More... | |
bool | ContainsPoint (QPoint point) const |
Check if the given point falls within this widgets area. More... | |
virtual MythPainter * | GetPainter (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... | |
![]() | |
~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) |
virtual void | Finalize (void) |
Perform any post-xml parsing initialisation tasks. More... | |
Private Member Functions | |
void | Init (void) |
Initialise the tree having loaded the formatting options from the theme. More... | |
void | SetTreeState (bool refreshAll=false) |
Update the widget following a change. More... | |
bool | UpdateList (MythUIButtonList *list, MythGenericTree *node) const |
Update a list with children of the tree node. More... | |
bool | DoSetCurrentNode (MythGenericTree *node) |
void | SwitchList (bool right) |
Move from list, or one level of the tree, to another. More... | |
Private Attributes | |
bool | m_active {true} |
bool | m_initialized {false} |
uint | m_numLists {1} |
uint | m_visibleLists {0} |
uint | m_currentDepth {0} |
int | m_depthOffset {0} |
uint | m_oldDepth {0} |
QList< MythUIButtonList * > | m_buttonlists |
MythUIButtonList * | m_listTemplate {nullptr} |
MythUIButtonList * | m_activeList {nullptr} |
uint | m_activeListID {0} |
MythGenericTree * | m_rootNode {nullptr} |
MythGenericTree * | m_currentNode {nullptr} |
uint | m_listSpacing {0} |
Additional Inherited Members | |
![]() | |
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 MythUIType * | GetGlobalObjectStore (void) |
static void | ClearGlobalObjectStore (void) |
static void | ParseChildren (const QString &filename, QDomElement &element, MythUIType *parent, bool showWarnings) |
static MythUIType * | ParseUIType (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 int | NormX (int width) |
static int | NormY (int height) |
![]() | |
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 *, bool > | m_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} |
FontMap * | m_fonts {nullptr} |
MythUIType * | m_parent {nullptr} |
MythPainter * | m_painter {nullptr} |
QList< MythUIAnimation * > | m_animations |
QString | m_helptext |
QString | m_xmlName |
QString | m_xmlLocation |
bool | m_deferload {false} |
QColor | m_borderColor {Qt::black} |
A tree widget for displaying and navigating a MythGenericTree()
Definition at line 16 of file mythuibuttontree.h.
MythUIButtonTree::MythUIButtonTree | ( | MythUIType * | parent, |
const QString & | name | ||
) |
Definition at line 18 of file mythuibuttontree.cpp.
Referenced by CreateCopy().
|
overridedefault |
|
overridevirtual |
Key event handler.
event | Keypress event |
Reimplemented from MythUIType.
Definition at line 586 of file mythuibuttontree.cpp.
|
overridevirtual |
Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop.
Should not be used directly.
event | Mouse event |
Reimplemented from MythUIType.
Definition at line 635 of file mythuibuttontree.cpp.
bool MythUIButtonTree::AssignTree | ( | MythGenericTree * | tree | ) |
Assign the root node of the tree to be displayed.
MythUIButtonTree() is merely responsible for the display and navigation of a tree, the structure of that tree and the data it contains are the responsibility of MythGenericTree(). Generally MythUIButtonTree() will not modify the tree, for technical reason RemoteItem() is an exception to the rule.
You should operate directly on MythGenericTree() to change it's content.
tree | The node to make the root of the displayed tree |
Definition at line 213 of file mythuibuttontree.cpp.
Referenced by GameUI::BuildTree(), PlaylistEditorView::Create(), NetTree::LoadData(), VideoDialog::loadData(), and PlaylistEditorView::reloadTree().
|
overridevirtual |
Reset the widget to it's original state, should not reset changes made by the theme.
Reimplemented from MythUIType.
Definition at line 236 of file mythuibuttontree.cpp.
Referenced by AssignTree(), GameUI::BuildTree(), and PlaylistEditorView::reloadTree().
bool MythUIButtonTree::SetNodeByString | ( | QStringList | route | ) |
Using a path based on the node string, set the currently selected node.
route | List defining the path using node strings starting at the root node |
Definition at line 281 of file mythuibuttontree.cpp.
Referenced by VideoDialog::handleDynamicDirSelect(), VideoDialog::loadData(), PlaylistEditorView::restoreTreePosition(), and SetCurrentNode().
bool MythUIButtonTree::SetNodeById | ( | QList< int > | route | ) |
Using a path based on the node IDs, set the currently selected node.
route | List defining the path using node IDs starting at the root node |
Definition at line 259 of file mythuibuttontree.cpp.
bool MythUIButtonTree::SetCurrentNode | ( | MythGenericTree * | node | ) |
Set the currently selected node.
node | The node, which must appear in this tree or behaviour is undefined |
Definition at line 348 of file mythuibuttontree.cpp.
Referenced by GameUI::searchComplete(), VideoDialog::searchComplete(), and GameUI::updateChangedNode().
void MythUIButtonTree::ShowSearchDialog | ( | void | ) |
Definition at line 361 of file mythuibuttontree.cpp.
Referenced by MusicCommon::searchButtonList().
|
inline |
Definition at line 32 of file mythuibuttontree.h.
Referenced by GameUI::BuildTree(), PlaylistEditorView::createPlaylistMenu(), PlaylistEditorView::createSmartPlaylistMenu(), GameUI::customEvent(), PlaylistEditorView::customEvent(), NetTree::customEvent(), PlaylistEditorView::deletePlaylist(), PlaylistEditorView::deleteSmartPlaylist(), GameUI::edit(), GameUI::gameSearch(), NetTree::GetStreamItem(), GameUI::itemClicked(), PlaylistEditorView::keyPressEvent(), PlaylistEditorView::reloadTree(), VideoDialog::SavePosition(), PlaylistEditorView::saveTreePosition(), GameUI::searchComplete(), VideoDialog::searchComplete(), GameUI::searchStart(), GameUI::showInfo(), GameUI::ShowMenu(), PlaylistEditorView::ShowMenu(), NetTree::ShowMenu(), NetTree::SlotItemChanged(), GameUI::toggleFavorite(), and NetTree::UpdateCurrentItem().
void MythUIButtonTree::SetActive | ( | bool | active | ) |
Set the widget active/inactive.
active |
Definition at line 440 of file mythuibuttontree.cpp.
Referenced by Deselect(), VideoDialog::searchComplete(), and Select().
MythUIButtonListItem * MythUIButtonTree::GetItemCurrent | ( | void | ) | const |
Return the currently selected list item.
Definition at line 562 of file mythuibuttontree.cpp.
Referenced by VideoDialog::GetItemByMetadata(), VideoDialog::GetItemCurrent(), PlaylistEditorView::keyPressEvent(), RemoveCurrentItem(), and NetTree::UpdateCurrentItem().
void MythUIButtonTree::RemoveItem | ( | MythUIButtonListItem * | item, |
bool | deleteNode = false |
||
) |
Remove the item from the tree.
item | Item to be removed |
deleteNode | Also delete the node from the tree? Modifies the tree. |
Definition at line 391 of file mythuibuttontree.cpp.
Referenced by VideoDialog::OnRemoveVideo(), and RemoveCurrentItem().
Remove the currently selected item from the tree.
deleteNode | Also delete the node from the tree? Modifies the tree. |
Definition at line 430 of file mythuibuttontree.cpp.
Referenced by PlaylistEditorView::deletePlaylist().
|
slot |
Handle a list item receiving focus.
item | The list item |
Definition at line 519 of file mythuibuttontree.cpp.
Referenced by UpdateList().
|
slot |
Handle a list item being clicked.
item | The list item |
Definition at line 546 of file mythuibuttontree.cpp.
Referenced by UpdateList().
|
slot |
Handle a list item becoming visible.
item | The list item |
Definition at line 575 of file mythuibuttontree.cpp.
Referenced by UpdateList().
|
slot |
Definition at line 448 of file mythuibuttontree.cpp.
Referenced by MythUIButtonTree().
|
slot |
Definition at line 453 of file mythuibuttontree.cpp.
Referenced by MythUIButtonTree().
|
signal |
Referenced by NetTree::Create(), VideoDialog::Create(), and SetTreeState().
|
signal |
Referenced by GameUI::Create(), NetTree::Create(), VideoDialog::Create(), PlaylistEditorView::Create(), and handleClick().
|
signal |
Referenced by VideoDialog::Create(), PlaylistEditorView::Create(), and handleVisible().
|
signal |
Referenced by GameUI::Create(), NetTree::Create(), VideoDialog::Create(), PlaylistEditorView::Create(), and DoSetCurrentNode().
|
signal |
Referenced by AssignTree(), and Reset().
|
overrideprotectedvirtual |
Parse the xml definition of this widget setting the state of the object accordingly.
Reimplemented from MythUIType.
Definition at line 662 of file mythuibuttontree.cpp.
|
overrideprotectedvirtual |
Copy this widgets state from another.
Reimplemented from MythUIType.
Definition at line 693 of file mythuibuttontree.cpp.
|
overrideprotectedvirtual |
Copy the state of this widget to the one given, it must be of the same type.
Reimplemented from MythUIType.
Definition at line 684 of file mythuibuttontree.cpp.
|
private |
Initialise the tree having loaded the formatting options from the theme.
Definition at line 31 of file mythuibuttontree.cpp.
Referenced by SetTreeState().
Update the widget following a change.
Definition at line 73 of file mythuibuttontree.cpp.
Referenced by AssignTree(), handleSelect(), RemoveItem(), Reset(), SetActive(), SetNodeById(), SetNodeByString(), and SwitchList().
|
private |
Update a list with children of the tree node.
list | List to refill |
node | Parent node whose children will appear in the list |
Definition at line 151 of file mythuibuttontree.cpp.
Referenced by SetTreeState().
|
private |
Definition at line 367 of file mythuibuttontree.cpp.
Referenced by handleClick(), handleSelect(), RemoveItem(), SetNodeById(), SetNodeByString(), and SetTreeState().
|
private |
Move from list, or one level of the tree, to another.
right | If true move to the right or away from the root, if false move to the left or towards the root |
Definition at line 465 of file mythuibuttontree.cpp.
Referenced by keyPressEvent().
Definition at line 68 of file mythuibuttontree.h.
Referenced by CopyFrom(), Reset(), SetActive(), and SetTreeState().
Definition at line 69 of file mythuibuttontree.h.
Referenced by CopyFrom(), Init(), SetActive(), and SetTreeState().
|
private |
Definition at line 70 of file mythuibuttontree.h.
Referenced by CopyFrom(), Init(), ParseElement(), and SetNodeByString().
|
private |
Definition at line 71 of file mythuibuttontree.h.
Referenced by Reset(), SetTreeState(), and SwitchList().
|
private |
Definition at line 72 of file mythuibuttontree.h.
Referenced by keyPressEvent(), RemoveItem(), Reset(), SetNodeByString(), SetTreeState(), and SwitchList().
|
private |
Definition at line 73 of file mythuibuttontree.h.
Referenced by AssignTree(), SetNodeByString(), and SetTreeState().
|
private |
Definition at line 74 of file mythuibuttontree.h.
Referenced by Reset(), and SetTreeState().
|
private |
Definition at line 75 of file mythuibuttontree.h.
Referenced by Init(), SetTreeState(), and SwitchList().
|
private |
Definition at line 76 of file mythuibuttontree.h.
Referenced by CopyFrom(), and Init().
|
private |
Definition at line 77 of file mythuibuttontree.h.
Referenced by GetItemCurrent(), handleSelect(), keyPressEvent(), Reset(), SetTreeState(), ShowSearchDialog(), and SwitchList().
|
private |
Definition at line 78 of file mythuibuttontree.h.
Referenced by handleSelect(), keyPressEvent(), RemoveItem(), Reset(), SetNodeByString(), SetTreeState(), and SwitchList().
|
private |
Definition at line 79 of file mythuibuttontree.h.
Referenced by AssignTree(), RemoveItem(), Reset(), SetNodeById(), SetNodeByString(), and SetTreeState().
|
private |
Definition at line 80 of file mythuibuttontree.h.
Referenced by AssignTree(), DoSetCurrentNode(), keyPressEvent(), Reset(), SetCurrentNode(), SetTreeState(), and SwitchList().
|
private |
Definition at line 81 of file mythuibuttontree.h.
Referenced by CopyFrom(), Init(), and ParseElement().