MT Showcase SDK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Showcase::CustomWidgetInstanceComponent Class Reference

This is a widget component that has a custom instance class. More...

#include <WidgetComponent.hpp>

Inheritance diagram for Showcase::CustomWidgetInstanceComponent:
Showcase::WidgetComponent Showcase::UIComponent Showcase::Component

Additional Inherited Members

- Public Member Functions inherited from Showcase::UIComponent
 UIComponent (CachedGraphPtr uiGraph=nullptr)
 Create a new UIComponent. More...
 
std::vector< std::shared_ptr
< UIComponent > > 
assignments (const QByteArray &slot) const
 List of components assigned to slot. More...
 
const Slots & componentSlots () const
 Slots of this component. More...
 
const std::unordered_set
< QByteArray > & 
roles () const
 Roles that this component will implement. More...
 
QByteArray subtype () const
 The subtype of this component. More...
 
UIComponentInstancePtr createInstance (const QByteArray &role)
 Create a new instance of this component with the given role. More...
 
void assignToSlot (const QByteArray &slotName, std::shared_ptr< UIComponent > comp)
 Add the given component to this component's slot. More...
 
void componentAddedToSlot (const QByteArray &slotName, std::shared_ptr< UIComponent > comp)
 Callback, that is called when one of the child components has finished. More...
 
void componentRemovedFromSlot (const QByteArray &slotName, std::shared_ptr< UIComponent > comp)
 Callback, that is called when one of the child components has been removed. More...
 
bool slotsFulfilled (const std::unique_lock< std::mutex > &lock=std::unique_lock< std::mutex >()) const
 Checks if the component is ready to be instanced (it has all the slots in place) More...
 
void setOnSlotsFulfilled (std::function< void(void)> &&f)
 Set component to execute lambda when slots are fulfilled. More...
 
void setOnSlotsUnfulfilled (std::function< void(void)> &&f)
 Set component to execute lambda when slots were previously fulfilled and become unfulfilled. More...
 
void removeFromSlots (const NodeId &id)
 Remove all instances of the given node id from this component's slots. More...
 
void initializeContentSlot (const Slot &slot, const Property &property)
 Initialize a new content slot. More...
 
void removeContentSlot (const Slot &slot)
 Remove content from given slot. More...
 
bool enabled () const
 Components are enabled by default, but they can be disabled in certain circumstances. More...
 
void setEnabled (bool enabled)
 Set component enabled or disabled. More...
 
- Protected Member Functions inherited from Showcase::UIComponent
bool acceptContentProperty (const PropertyKey &key) const
 Filters non relevant content properties away.
 
virtual void placeholderStatusChanged (const NodeId &id) override
 
virtual void propertyReceived (const Property &property) override
 Need to override because some 'slots' (content), may hide in attributes. More...
 
virtual void contentNodeReceivedProperty (std::shared_ptr< ContentNode > node, const Property &prop, bool eventWasPending=false)
 These just passes the correspongind callbacks to instances. More...
 
virtual void contentNodeLostProperty (std::shared_ptr< ContentNode > node, const Property &prop, bool eventWasPending=false)
 
virtual void contentNodeFound (std::shared_ptr< ContentNode > node, std::shared_ptr< ContentNode > parent=nullptr, bool eventWasPending=false)
 These just passes the correspongind callbacks to instances, When this is called, it must be that found node is 'complete'. More...
 
virtual void contentNodeLost (std::shared_ptr< ContentNode > node, std::shared_ptr< ContentNode > parent=nullptr, bool eventWasPending=false)
 

Detailed Description

This is a widget component that has a custom instance class.

You can register your own custom widget instances with the SHOWCASE_CUSTOM_WIDGET_INSTANCE_COMPONENT macro