Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CGUIWindow Class Reference

#include <GUIWindow.h>

Inheritance diagram for CGUIWindow:
CGUIControlGroup CGUIControlLookup CGUIControl CGUIDialog CGUIMediaWindow CGUIWindowFileManager CGUIWindowFullScreen CGUIWindowHome CGUIWindowLoginScreen CGUIWindowSettings CGUIWindowSettingsProfile CGUIWindowSettingsScreenCalibration CGUIWindowSplash CGUIWindowStartup CGUIWindowSystemInfo CGUIWindowVisualisation CGUIWindowWeather KODI::RETRO::CGameWindowFullScreen

Classes

struct  icompare
 

Public Types

enum  LOAD_TYPE { LOAD_EVERY_TIME , LOAD_ON_GUI_INIT , KEEP_IN_MEMORY }
 
- Public Types inherited from CGUIControl
enum  GUICONTROLTYPES {
  GUICONTROL_UNKNOWN , GUICONTAINER_EPGGRID , GUICONTAINER_FIXEDLIST , GUICONTAINER_LIST ,
  GUICONTAINER_PANEL , GUICONTAINER_WRAPLIST , GUICONTROL_BORDEREDIMAGE , GUICONTROL_BUTTON ,
  GUICONTROL_COLORBUTTON , GUICONTROL_EDIT , GUICONTROL_FADELABEL , GUICONTROL_GAME ,
  GUICONTROL_GAMECONTROLLER , GUICONTROL_GAMECONTROLLERLIST , GUICONTROL_GROUP , GUICONTROL_GROUPLIST ,
  GUICONTROL_IMAGE , GUICONTROL_LABEL , GUICONTROL_LISTGROUP , GUICONTROL_LISTLABEL ,
  GUICONTROL_MOVER , GUICONTROL_MULTI_IMAGE , GUICONTROL_PROGRESS , GUICONTROL_RADIO ,
  GUICONTROL_RANGES , GUICONTROL_RENDERADDON , GUICONTROL_RESIZE , GUICONTROL_RSS ,
  GUICONTROL_SCROLLBAR , GUICONTROL_SETTINGS_SLIDER , GUICONTROL_SLIDER , GUICONTROL_SPIN ,
  GUICONTROL_SPINEX , GUICONTROL_TEXTBOX , GUICONTROL_TOGGLEBUTTON , GUICONTROL_VIDEO ,
  GUICONTROL_VISUALISATION
}
 
enum  GUIVISIBLE { HIDDEN = 0 , DELAYED , VISIBLE }
 
enum  GUISCROLLVALUE { FOCUS = 0 , NEVER , ALWAYS }
 
typedef std::map< int, CGUIActionActionMap
 Set actions to perform on navigation.
 

Public Member Functions

 CGUIWindow (int id, const std::string &xmlFile)
 
 ~CGUIWindow (void) override
 
bool Initialize ()
 
bool Load (const std::string &strFileName, bool bContainsPath=false)
 
void CenterWindow ()
 
void DoProcess (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
 
void DoRender () override
 Main render function, called every frame. Window classes should override this only if they need to alter how something is rendered. General updating on a per-frame basis should be handled in FrameMove instead, as DoRender is not necessarily re-entrant.
 
void AfterRender ()
 Do any post render activities. Check if window closing animation is finished and finalize window closing.
 
virtual void FrameMove ()
 Main update function, called every frame prior to rendering Any window that requires updating on a frame by frame basis (such as to maintain timers and the like) should override this function.
 
void Close (bool forceClose=false, int nextWindowID=0, bool enableSound=true, bool bWait=true)
 
bool OnAction (const CAction &action) override
 
virtual bool OnBack (int actionID)
 
virtual bool OnInfo (int actionID)
 
virtual void ClearBackground ()
 Clear the background (if necessary) prior to rendering the window.
 
bool OnMove (int fromControl, int moveAction)
 
bool OnMessage (CGUIMessage &message) override
 
bool ControlGroupHasFocus (int groupID, int controlID)
 
void SetID (int id) override
 
virtual bool HasID (int controlID) const
 
const std::vector< int > & GetIDRange () const
 
int GetPreviousWindow ()
 
CRect GetScaledBounds () const
 
void ClearAll () override
 
virtual void AllocResources (bool forceLoad=false)
 
void FreeResources (bool forceUnLoad=false) override
 
void DynamicResourceAlloc (bool bOnOff) override
 
virtual bool IsDialog () const
 
virtual bool IsDialogRunning () const
 
virtual bool IsModalDialog () const
 
virtual bool IsMediaWindow () const
 
virtual bool HasListItems () const
 
virtual bool IsSoundEnabled () const
 
virtual CFileItemPtr GetCurrentListItem (int offset=0)
 
virtual int GetViewContainerID () const
 
virtual int GetViewCount () const
 
virtual bool CanBeActivated () const
 
virtual bool IsActive () const
 
void SetCoordsRes (const RESOLUTION_INFO &res)
 
const RESOLUTION_INFOGetCoordsRes () const
 
void SetLoadType (LOAD_TYPE loadType)
 
LOAD_TYPE GetLoadType ()
 
int GetRenderOrder ()
 
void SetInitialVisibility () override
 
bool IsVisible () const override
 
virtual bool HasVisibleControls ()
 
bool IsAnimating (ANIMATION_TYPE animType) override
 
bool IsCustom () const
 Return if the window is a custom window.
 
void SetCustom (bool custom)
 Mark this window as custom window.
 
void DisableAnimations ()
 
virtual void ResetControlStates ()
 
void UpdateControlStats () override
 
void SetRunActionsManually ()
 
void RunLoadActions () const
 
void RunUnloadActions () const
 
void SetProperty (const std::string &key, const CVariant &value)
 Set a property Sets the value of a property referenced by a key.
 
CVariant GetProperty (const std::string &key) const
 Retrieve a property.
 
void ClearProperties ()
 Clear a all the window's properties.
 
bool HasSaveLastControl () const
 
virtual void OnDeinitWindow (int nextWindowID)
 
void AllocResources () override
 
- Public Member Functions inherited from CGUIControlGroup
 CGUIControlGroup ()
 
 CGUIControlGroup (int parentID, int controlID, float posX, float posY, float width, float height)
 
 CGUIControlGroup (const CGUIControlGroup &from)
 
 ~CGUIControlGroup (void) override
 
CGUIControlGroupClone () const override
 
void Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
 
void Render () override
 
void RenderEx () override
 
virtual bool SendControlMessage (CGUIMessage &message)
 
bool HasFocus () const override
 
bool CanFocus () const override
 
void AssignDepth () override
 
EVENT_RESULT SendMouseEvent (const CPoint &point, const KODI::MOUSE::CMouseEvent &event) override
 React to a mouse event.
 
void UnfocusFromPoint (const CPoint &point) override
 Unfocus the control if the given point on screen is not within it's boundary.
 
bool HasAnimation (ANIMATION_TYPE anim) override
 
void QueueAnimation (ANIMATION_TYPE anim) override
 
void ResetAnimation (ANIMATION_TYPE anim) override
 
void ResetAnimations () override
 
int GetFocusedControlID () const
 
CGUIControlGetFocusedControl () const
 
virtual CGUIControlGetFirstFocusableControl (int id)
 
virtual void AddControl (CGUIControl *control, int position=-1)
 
bool InsertControl (CGUIControl *control, const CGUIControl *insertPoint)
 
virtual bool RemoveControl (const CGUIControl *control)
 
void SetDefaultControl (int id, bool always)
 
void SetRenderFocusedLast (bool renderLast)
 
void SaveStates (std::vector< CControlState > &states) override
 
bool IsGroup () const override
 
- Public Member Functions inherited from CGUIControlLookup
 CGUIControlLookup ()=default
 
 CGUIControlLookup (int parentID, int controlID, float posX, float posY, float width, float height)
 
 CGUIControlLookup (const CGUIControlLookup &from)
 
 ~CGUIControlLookup (void) override=default
 
CGUIControlGetControl (int id, std::vector< CGUIControl * > *idCollector=nullptr) override
 
- Public Member Functions inherited from CGUIControl
 CGUIControl ()
 
 CGUIControl (int parentID, int controlID, float posX, float posY, float width, float height)
 
 CGUIControl (const CGUIControl &)
 
virtual ~CGUIControl (void)
 
bool HasProcessed () const
 Returns whether or not we have processed.
 
virtual void OnUp ()
 
virtual void OnDown ()
 
virtual void OnLeft ()
 
virtual void OnRight ()
 
virtual bool OnBack ()
 
virtual bool OnInfo ()
 
virtual void OnNextControl ()
 
virtual void OnPrevControl ()
 
virtual void OnFocus ()
 
virtual void OnUnFocus ()
 
virtual bool HitTest (const CPoint &point) const
 Used to test whether the point is inside a control.
 
virtual int GetID (void) const
 
int GetParentID () const
 
virtual bool IsDynamicallyAllocated ()
 
bool IsVisibleFromSkin () const
 
virtual bool IsDisabled () const
 
virtual void SetPosition (float posX, float posY)
 
virtual void SetHitRect (const CRect &rect, const UTILS::COLOR::Color &color)
 
virtual void SetCamera (const CPoint &camera)
 
virtual void SetStereoFactor (const float &factor)
 
bool SetColorDiffuse (const KODI::GUILIB::GUIINFO::CGUIInfoColor &color)
 
CPoint GetRenderPosition () const
 
virtual float GetXPosition () const
 
virtual float GetYPosition () const
 
virtual float GetWidth () const
 
virtual float GetHeight () const
 
void MarkDirtyRegion (const unsigned int dirtyState=DIRTY_STATE_CONTROL)
 
bool IsControlDirty () const
 
const CRectGetRenderRegion () const
 return the render region in screen coordinates of this control
 
virtual CRect CalcRenderRegion () const
 calculate the render region in parentcontrol coordinates of this control Called during process to update m_renderRegion
 
void SetActions (const ActionMap &actions)
 
void SetAction (int actionID, const CGUIAction &action, bool replace=true)
 Set actions to perform on navigation Navigations are set if replace is true or if there is no previously set action.
 
CGUIAction GetAction (int actionID) const
 Get an action the control can be perform.
 
bool Navigate (int direction) const
 Start navigating in given direction.
 
virtual void SetFocus (bool focus)
 
virtual void SetWidth (float width)
 
virtual void SetHeight (float height)
 
virtual void SetVisible (bool bVisible, bool setVisState=false)
 
void SetVisibleCondition (const std::string &expression, const std::string &allowHiddenFocus="")
 
bool HasVisibleCondition () const
 
void SetEnableCondition (const std::string &expression)
 
virtual void UpdateVisibility (const CGUIListItem *item)
 
virtual void SetEnabled (bool bEnable)
 
virtual void SetInvalid ()
 
virtual void SetPulseOnSelect (bool pulse)
 
virtual std::string GetDescription () const
 
virtual std::string GetDescriptionByIndex (int index) const
 
void SetAnimations (const std::vector< CAnimation > &animations)
 
const std::vector< CAnimation > & GetAnimations () const
 
CAnimationGetAnimation (ANIMATION_TYPE type, bool checkConditions=true)
 
virtual void UpdateInfo (const CGUIListItem *item=NULL)
 
virtual void SetPushUpdates (bool pushUpdates)
 
virtual bool IsContainer () const
 
virtual bool GetCondition (int condition, int data) const
 
void SetParentControl (CGUIControl *control)
 
CGUIControlGetParentControl (void) const
 
void SetControlStats (GUICONTROLSTATS *controlStats)
 
GUICONTROLTYPES GetControlType () const
 
bool IsControlRenderable ()
 Test whether the control is "drawable" (not a group or similar)
 

Protected Member Functions

EVENT_RESULT OnMouseEvent (const CPoint &point, const KODI::MOUSE::CMouseEvent &event) override
 Perform a mouse action.
 
virtual bool LoadXML (const std::string &strPath, const std::string &strLowerPath)
 Load the window XML from the given path.
 
virtual bool Load (TiXmlElement *pRootElement)
 Loads the window from the given XML element.
 
virtual std::unique_ptr< TiXmlElement > Prepare (const std::unique_ptr< TiXmlElement > &rootElement)
 Prepare the XML for load.
 
bool NeedLoad () const
 Check if window needs a (re)load. The window need to be (re)loaded when window is not loaded or include conditions values were changed.
 
virtual void SetDefaults ()
 
virtual void OnWindowUnload ()
 
virtual void OnWindowLoaded ()
 
virtual void OnInitWindow ()
 Called on window open.
 
void Close_Internal (bool forceClose=false, int nextWindowID=0, bool enableSound=true)
 
EVENT_RESULT OnMouseAction (const CAction &action)
 
bool Animate (unsigned int currentTime) override
 
bool CheckAnimation (ANIMATION_TYPE animType) override
 
virtual void SaveControlStates ()
 
virtual void RestoreControlStates ()
 
void OnEditChanged (int id, std::string &text)
 
bool SendMessage (int message, int id, int param1=0, int param2=0)
 
void LoadControl (TiXmlElement *pControl, CGUIControlGroup *pGroup, const CRect &rect)
 
CPoint GetPosition () const override
 Grabs the window's top,left position in skin coordinates The window origin may change based on <origin> tag conditions in the skin.
 
- Protected Member Functions inherited from CGUIControlLookup
bool IsValidControl (const CGUIControl *control) const
 Check whether a given control is valid Runs through controls and returns whether this control is valid. Only functional for controls with non-zero id.
 
std::pair< LookupMap::const_iterator, LookupMap::const_iterator > GetLookupControls (int controlId) const
 
void AddLookup (CGUIControl *control)
 
void RemoveLookup (CGUIControl *control)
 
void RemoveLookup ()
 
const LookupMapGetLookup () const
 
void ClearLookup ()
 
- Protected Member Functions inherited from CGUIControl
virtual bool OnMouseOver (const CPoint &point)
 Called when the mouse is over the control. Default implementation selects the control.
 
virtual bool CanFocusFromPoint (const CPoint &point) const
 Test whether we can focus a control from a point on screen.
 
virtual bool UpdateColors (const CGUIListItem *item)
 
void UpdateStates (ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState)
 
bool SendWindowMessage (CGUIMessage &message) const
 

Protected Attributes

std::vector< intm_idRange
 
RESOLUTION_INFO m_coordsRes
 
bool m_needsScaling
 
bool m_windowLoaded
 
LOAD_TYPE m_loadType
 
bool m_dynamicResourceAlloc
 
bool m_closing
 
bool m_active
 
KODI::GUILIB::GUIINFO::CGUIInfoColor m_clearBackground
 
int m_renderOrder
 
std::vector< COriginm_origins
 
int m_lastControlID
 
std::vector< CControlStatem_controlStates
 
int m_previousWindow
 
bool m_animationsEnabled
 
CGUIAction m_loadActions
 
CGUIAction m_unloadActions
 
std::unique_ptr< TiXmlElement > m_windowXMLRootElement
 window root xml definition after resolving any skin includes. Stored to avoid parsing the XML every time the window is loaded.
 
bool m_manualRunActions
 
int m_exclusiveMouseControl
 id of child control that wishes to receive all mouse events
 
int m_menuControlID
 
int m_menuLastFocusedControlID
 
bool m_custom
 
- Protected Attributes inherited from CGUIControlGroup
std::vector< CGUIControl * > m_children
 
int m_defaultControl
 
bool m_defaultAlways
 
int m_focusedControl
 
bool m_renderFocusedLast
 
- Protected Attributes inherited from CGUIControl
ActionMap m_actions
 
float m_posX
 
float m_posY
 
float m_height
 
float m_width
 
CRect m_hitRect
 
UTILS::COLOR::Color m_hitColor = 0xffffffff
 
KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor
 
int m_controlID
 
int m_parentID
 
bool m_bHasFocus
 
bool m_bInvalidated
 
bool m_bAllocated
 
bool m_pulseOnSelect
 
GUICONTROLTYPES ControlType
 
GUICONTROLSTATSm_controlStats
 
CGUIControlm_parentControl
 
INFO::InfoPtr m_visibleCondition
 
GUIVISIBLE m_visible
 
bool m_visibleFromSkinCondition
 
bool m_forceHidden
 
KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus
 
bool m_hasProcessed
 
INFO::InfoPtr m_enableCondition
 
bool m_enabled
 
bool m_pushedUpdates
 
std::vector< CAnimationm_animations
 
CPoint m_camera
 
bool m_hasCamera
 
float m_stereo
 
TransformMatrix m_transform
 
TransformMatrix m_cachedTransform
 
bool m_isCulled {true}
 
unsigned int m_controlDirtyState
 
CRect m_renderRegion
 

Additional Inherited Members

- Protected Types inherited from CGUIControlGroup
typedef std::vector< CGUIControl * >::iterator iControls
 
typedef std::vector< CGUIControl * >::const_iterator ciControls
 
typedef std::vector< CGUIControl * >::reverse_iterator rControls
 
typedef std::vector< CGUIControl * >::const_reverse_iterator crControls
 
- Protected Types inherited from CGUIControlLookup
typedef std::multimap< int, CGUIControl * > LookupMap
 
- Static Protected Attributes inherited from CGUIControl
static const unsigned int DIRTY_STATE_CONTROL = 1
 
static const unsigned int DIRTY_STATE_CHILD = 2
 

Member Enumeration Documentation

◆ LOAD_TYPE

Enumerator
LOAD_EVERY_TIME 
LOAD_ON_GUI_INIT 
KEEP_IN_MEMORY 

Constructor & Destructor Documentation

◆ CGUIWindow()

CGUIWindow::CGUIWindow ( int id,
const std::string & xmlFile )

◆ ~CGUIWindow()

CGUIWindow::~CGUIWindow ( void )
override

Member Function Documentation

◆ AfterRender()

void CGUIWindow::AfterRender ( )

Do any post render activities. Check if window closing animation is finished and finalize window closing.

◆ AllocResources() [1/2]

void CGUIControlGroup::AllocResources ( )
overridevirtual

Reimplemented from CGUIControlGroup.

◆ AllocResources() [2/2]

void CGUIWindow::AllocResources ( bool forceLoad = false)
virtual

◆ Animate()

bool CGUIWindow::Animate ( unsigned int currentTime)
overrideprotectedvirtual

Reimplemented from CGUIControl.

◆ CanBeActivated()

virtual bool CGUIWindow::CanBeActivated ( ) const
inlinevirtual

◆ CenterWindow()

void CGUIWindow::CenterWindow ( )

◆ CheckAnimation()

bool CGUIWindow::CheckAnimation ( ANIMATION_TYPE animType)
overrideprotectedvirtual

Reimplemented from CGUIControl.

◆ ClearAll()

void CGUIWindow::ClearAll ( )
overridevirtual

Reimplemented from CGUIControlGroup.

◆ ClearBackground()

void CGUIWindow::ClearBackground ( )
virtual

Clear the background (if necessary) prior to rendering the window.

Reimplemented in CGUIWindowFullScreen, and KODI::RETRO::CGameWindowFullScreen.

◆ ClearProperties()

void CGUIWindow::ClearProperties ( )

Clear a all the window's properties.

See also
SetProperty, HasProperty, GetProperty

◆ Close()

void CGUIWindow::Close ( bool forceClose = false,
int nextWindowID = 0,
bool enableSound = true,
bool bWait = true )

◆ Close_Internal()

void CGUIWindow::Close_Internal ( bool forceClose = false,
int nextWindowID = 0,
bool enableSound = true )
protected

◆ ControlGroupHasFocus()

bool CGUIWindow::ControlGroupHasFocus ( int groupID,
int controlID )

◆ DisableAnimations()

void CGUIWindow::DisableAnimations ( )

◆ DoProcess()

void CGUIWindow::DoProcess ( unsigned int currentTime,
CDirtyRegionList & dirtyregions )
overridevirtual

Reimplemented from CGUIControl.

Reimplemented in CGUIWindowSettingsScreenCalibration.

◆ DoRender()

void CGUIWindow::DoRender ( )
overridevirtual

Main render function, called every frame. Window classes should override this only if they need to alter how something is rendered. General updating on a per-frame basis should be handled in FrameMove instead, as DoRender is not necessarily re-entrant.

See also
FrameMove

Reimplemented from CGUIControl.

Reimplemented in CGUIWindowSettingsScreenCalibration.

◆ DynamicResourceAlloc()

void CGUIWindow::DynamicResourceAlloc ( bool bOnOff)
overridevirtual

Reimplemented from CGUIControlGroup.

◆ FrameMove()

◆ FreeResources()

void CGUIWindow::FreeResources ( bool forceUnLoad = false)
overridevirtual

◆ GetCoordsRes()

const RESOLUTION_INFO & CGUIWindow::GetCoordsRes ( ) const
inline

◆ GetCurrentListItem()

◆ GetIDRange()

const std::vector< int > & CGUIWindow::GetIDRange ( ) const
inline

◆ GetLoadType()

LOAD_TYPE CGUIWindow::GetLoadType ( )
inline

◆ GetPosition()

CPoint CGUIWindow::GetPosition ( ) const
overrideprotectedvirtual

Grabs the window's top,left position in skin coordinates The window origin may change based on <origin> tag conditions in the skin.

Returns
the window's origin in skin coordinates

Reimplemented from CGUIControl.

◆ GetPreviousWindow()

int CGUIWindow::GetPreviousWindow ( )
inline

◆ GetProperty()

CVariant CGUIWindow::GetProperty ( const std::string & key) const

Retrieve a property.

Parameters
keyname of the property to retrieve
Returns
value of the property, empty if it doesn't exist

◆ GetRenderOrder()

int CGUIWindow::GetRenderOrder ( )
inline

◆ GetScaledBounds()

CRect CGUIWindow::GetScaledBounds ( ) const

◆ GetViewContainerID()

virtual int CGUIWindow::GetViewContainerID ( ) const
inlinevirtual

◆ GetViewCount()

virtual int CGUIWindow::GetViewCount ( ) const
inlinevirtual

Reimplemented in CGUIMediaWindow.

◆ HasID()

bool CGUIWindow::HasID ( int controlID) const
virtual

◆ HasListItems()

◆ HasSaveLastControl()

bool CGUIWindow::HasSaveLastControl ( ) const
inline

◆ HasVisibleControls()

virtual bool CGUIWindow::HasVisibleControls ( )
inlinevirtual

◆ Initialize()

bool CGUIWindow::Initialize ( )

◆ IsActive()

bool CGUIWindow::IsActive ( ) const
virtual

◆ IsAnimating()

bool CGUIWindow::IsAnimating ( ANIMATION_TYPE animType)
overridevirtual

Reimplemented from CGUIControlGroup.

◆ IsCustom()

bool CGUIWindow::IsCustom ( ) const
inline

Return if the window is a custom window.

Returns
true if the window is an custom window otherwise false

◆ IsDialog()

virtual bool CGUIWindow::IsDialog ( ) const
inlinevirtual

◆ IsDialogRunning()

virtual bool CGUIWindow::IsDialogRunning ( ) const
inlinevirtual

◆ IsMediaWindow()

virtual bool CGUIWindow::IsMediaWindow ( ) const
inlinevirtual

◆ IsModalDialog()

virtual bool CGUIWindow::IsModalDialog ( ) const
inlinevirtual

◆ IsSoundEnabled()

virtual bool CGUIWindow::IsSoundEnabled ( ) const
inlinevirtual

Reimplemented in CGUIDialog.

◆ IsVisible()

bool CGUIWindow::IsVisible ( ) const
inlineoverridevirtual

Reimplemented from CGUIControl.

◆ Load() [1/2]

bool CGUIWindow::Load ( const std::string & strFileName,
bool bContainsPath = false )

◆ Load() [2/2]

bool CGUIWindow::Load ( TiXmlElement * pRootElement)
protectedvirtual

Loads the window from the given XML element.

Parameters
pRootElementthe XML element
Returns
true if the window is loaded from the given XML otherwise false.

Reimplemented in CGUIDialog, and CGUIMediaWindow.

◆ LoadControl()

void CGUIWindow::LoadControl ( TiXmlElement * pControl,
CGUIControlGroup * pGroup,
const CRect & rect )
protected

◆ LoadXML()

bool CGUIWindow::LoadXML ( const std::string & strPath,
const std::string & strLowerPath )
protectedvirtual

Load the window XML from the given path.

Parameters
strPaththe path to the window XML
strLowerPatha lowered path to the window XML

Reimplemented in XBMCAddon::xbmcgui::WindowXMLInterceptor.

◆ NeedLoad()

bool CGUIWindow::NeedLoad ( ) const
protected

Check if window needs a (re)load. The window need to be (re)loaded when window is not loaded or include conditions values were changed.

◆ OnAction()

◆ OnBack()

◆ OnDeinitWindow()

◆ OnEditChanged()

void CGUIWindow::OnEditChanged ( int id,
std::string & text )
protected

◆ OnInfo()

virtual bool CGUIWindow::OnInfo ( int actionID)
inlinevirtual

◆ OnInitWindow()

void CGUIWindow::OnInitWindow ( void )
protectedvirtual

Called on window open.

  • Restores the control state(s)
  • Sets initial visibility of controls
  • Queue WindowOpen animation
  • Set overlay state Override this function and do any window-specific initialisation such as filling control contents and setting control focus before calling the base method.

Reimplemented in CGUIDialogBoxBase, CGUIDialogColorPicker, CGUIDialogContentSettings, CGUIDialogContextMenu, CGUIDialogGamepad, CGUIDialogInfoProviderSettings, CGUIDialogKeyboardGeneric, CGUIDialogKeyboardTouch, CGUIDialogLibExportSettings, CGUIDialogMediaFilter, CGUIDialogMusicInfo, CGUIDialogNetworkSetup, CGUIDialogNumeric, CGUIDialogOK, CGUIDialogPictureInfo, CGUIDialogPlayEject, CGUIDialogProgress, CGUIDialogSelect, CGUIDialogSettingsBase, CGUIDialogSmartPlaylistEditor, CGUIDialogSmartPlaylistRule, CGUIDialogSongInfo, CGUIDialogSubtitles, CGUIDialogTeletext, CGUIDialogVideoInfo, CGUIDialogVideoManager, CGUIDialogVisualisationPresetList, CGUIDialogYesNo, CGUIMediaWindow, CGUIWindowFileManager, CGUIWindowHome, CGUIWindowLoginScreen, CGUIWindowMusicBase, CGUIWindowPictures, CGUIWindowScreensaver, CGUIWindowSettingsProfile, CGUIWindowSplash, CGUIWindowWeather, KODI::GAME::CDialogGameOSD, KODI::GAME::CDialogGameSaves, KODI::GAME::CDialogGameVideoSelect, KODI::GAME::CDialogGameVolume, KODI::GAME::CGUIAgentWindow, KODI::GAME::CGUIControllerWindow, KODI::GAME::CGUIPortWindow, KODI::RETRO::CGameWindowFullScreen, PVR::CGUIDialogPVRChannelGuide, PVR::CGUIDialogPVRChannelManager, PVR::CGUIDialogPVRChannelsOSD, PVR::CGUIDialogPVRGroupManager, PVR::CGUIDialogPVRGuideInfo, PVR::CGUIDialogPVRGuideSearch, PVR::CGUIDialogPVRItemsViewBase, PVR::CGUIDialogPVRRadioRDSInfo, PVR::CGUIWindowPVRBase, and PVR::CGUIWindowPVRGuideBase.

◆ OnMessage()

◆ OnMouseAction()

EVENT_RESULT CGUIWindow::OnMouseAction ( const CAction & action)
protected

◆ OnMouseEvent()

EVENT_RESULT CGUIWindow::OnMouseEvent ( const CPoint & point,
const KODI::MOUSE::CMouseEvent & event )
overrideprotectedvirtual

Perform a mouse action.

Mouse actions are sent from the window to all controls, and each control can react based on the event and location of the actions.

Parameters
pointthe location in transformed skin coordinates from the upper left corner of the parent control.
eventthe mouse event to perform
Returns
EVENT_RESULT corresponding to whether the control handles this event
See also
SendMouseEvent, HitTest, CanFocusFromPoint, CMouseEvent

Reimplemented from CGUIControl.

Reimplemented in CGUIWindowFullScreen, CGUIWindowSlideShow, and CGUIWindowVisualisation.

◆ OnMove()

bool CGUIWindow::OnMove ( int fromControl,
int moveAction )

◆ OnWindowLoaded()

◆ OnWindowUnload()

◆ Prepare()

std::unique_ptr< TiXmlElement > CGUIWindow::Prepare ( const std::unique_ptr< TiXmlElement > & rootElement)
protectedvirtual

Prepare the XML for load.

Parameters
rootElementthe original XML element
Returns
the prepared XML (resolved includes, constants and expression)

◆ ResetControlStates()

void CGUIWindow::ResetControlStates ( )
virtual

◆ RestoreControlStates()

void CGUIWindow::RestoreControlStates ( )
protectedvirtual

◆ RunLoadActions()

void CGUIWindow::RunLoadActions ( ) const

◆ RunUnloadActions()

void CGUIWindow::RunUnloadActions ( ) const

◆ SaveControlStates()

void CGUIWindow::SaveControlStates ( )
protectedvirtual

◆ SendMessage()

bool CGUIWindow::SendMessage ( int message,
int id,
int param1 = 0,
int param2 = 0 )
protected

◆ SetCoordsRes()

void CGUIWindow::SetCoordsRes ( const RESOLUTION_INFO & res)
inline

◆ SetCustom()

void CGUIWindow::SetCustom ( bool custom)
inline

Mark this window as custom window.

Parameters
customtrue if this window is a custom window, false if not

◆ SetDefaults()

void CGUIWindow::SetDefaults ( )
protectedvirtual

Reimplemented in CGUIDialog.

◆ SetID()

void CGUIWindow::SetID ( int id)
overridevirtual

Reimplemented from CGUIControl.

◆ SetInitialVisibility()

void CGUIWindow::SetInitialVisibility ( )
overridevirtual

Reimplemented from CGUIControlGroup.

◆ SetLoadType()

void CGUIWindow::SetLoadType ( LOAD_TYPE loadType)
inline

◆ SetProperty()

void CGUIWindow::SetProperty ( const std::string & key,
const CVariant & value )

Set a property Sets the value of a property referenced by a key.

Parameters
keyname of the property to set
valuevalue to set, may be a string, integer, boolean or double.
See also
GetProperty

◆ SetRunActionsManually()

void CGUIWindow::SetRunActionsManually ( )

◆ UpdateControlStats()

void CGUIWindow::UpdateControlStats ( )
inlineoverridevirtual

Reimplemented from CGUIControl.

Member Data Documentation

◆ m_active

bool CGUIWindow::m_active
protected

◆ m_animationsEnabled

bool CGUIWindow::m_animationsEnabled
protected

◆ m_clearBackground

KODI::GUILIB::GUIINFO::CGUIInfoColor CGUIWindow::m_clearBackground
protected

◆ m_closing

bool CGUIWindow::m_closing
protected

◆ m_controlStates

std::vector<CControlState> CGUIWindow::m_controlStates
protected

◆ m_coordsRes

RESOLUTION_INFO CGUIWindow::m_coordsRes
protected

◆ m_custom

bool CGUIWindow::m_custom
protected

◆ m_dynamicResourceAlloc

bool CGUIWindow::m_dynamicResourceAlloc
protected

◆ m_exclusiveMouseControl

int CGUIWindow::m_exclusiveMouseControl
protected

id of child control that wishes to receive all mouse events

See also
GUI_MSG_EXCLUSIVE_MOUSE

◆ m_idRange

std::vector<int> CGUIWindow::m_idRange
protected

◆ m_lastControlID

int CGUIWindow::m_lastControlID
protected

◆ m_loadActions

CGUIAction CGUIWindow::m_loadActions
protected

◆ m_loadType

LOAD_TYPE CGUIWindow::m_loadType
protected

◆ m_manualRunActions

bool CGUIWindow::m_manualRunActions
protected

◆ m_menuControlID

int CGUIWindow::m_menuControlID
protected

◆ m_menuLastFocusedControlID

int CGUIWindow::m_menuLastFocusedControlID
protected

◆ m_needsScaling

bool CGUIWindow::m_needsScaling
protected

◆ m_origins

std::vector<COrigin> CGUIWindow::m_origins
protected

◆ m_previousWindow

int CGUIWindow::m_previousWindow
protected

◆ m_renderOrder

int CGUIWindow::m_renderOrder
protected

◆ m_unloadActions

CGUIAction CGUIWindow::m_unloadActions
protected

◆ m_windowLoaded

bool CGUIWindow::m_windowLoaded
protected

◆ m_windowXMLRootElement

std::unique_ptr<TiXmlElement> CGUIWindow::m_windowXMLRootElement
protected

window root xml definition after resolving any skin includes. Stored to avoid parsing the XML every time the window is loaded.


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