JX Application Framework
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
JXMenuData Class Reference

#include <JXMenuData.h>

Inheritance diagram for JXMenuData:
[legend]

Public Member Functions

 JXMenuData ()
 
 ~JXMenuData () override
 
bool HasCheckboxes () const
 
bool HasSubmenus () const
 
bool IsEnabled (const JIndex index) const
 
JXMenu::ItemType GetType (const JIndex index) const
 
bool IsChecked (const JIndex index) const
 
bool HasSubmenu (const JIndex index) const
 
bool GetSubmenu (const JIndex index, JXMenu **menu) const
 
bool ShortcutToIndex (const JUtf8Character &c, JIndex *index) const
 
- Public Member Functions inherited from JContainer
 JContainer ()
 
 JContainer (const JContainer &source)
 
JContaineroperator= (const JContainer &source)
 
- Public Member Functions inherited from JCollection
 JCollection ()
 
 JCollection (const JCollection &source)
 
 ~JCollection () override
 
JCollectionoperator= (const JCollection &source)
 
JSize GetItemCount () const
 
bool IsEmpty () const
 
bool IndexValid (const JIndex index) const
 
JIndex GetIndexFromEnd (const JIndex index) const
 
JString ToString () const override
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 

Protected Member Functions

void InsertItem (const JIndex index, const JXMenu::ItemType type=JXMenu::kPlainType, const JString &shortcuts=JString::empty, const JString &id=JString::empty)
 
void PrependItem (const JXMenu::ItemType type=JXMenu::kPlainType, const JString &shortcuts=JString::empty, const JString &id=JString::empty)
 
void AppendItem (const JXMenu::ItemType type=JXMenu::kPlainType, const JString &shortcuts=JString::empty, const JString &id=JString::empty)
 
virtual void DeleteItem (const JIndex index)
 
virtual void DeleteAll ()
 
bool GetItemShortcuts (const JIndex index, const JString **shortcuts) const
 
void SetItemShortcuts (const JIndex index, const JString &shortcuts)
 
virtual void ItemShortcutsChanged (const JIndex index, const JString *shortcuts)
 
bool GetItemID (const JIndex index, const JString **id) const
 
void SetItemID (const JIndex index, const JString &id)
 
void EnableItem (const JIndex index)
 
void EnableAll ()
 
void DisableItem (const JIndex index)
 
void DisableAll ()
 
void SetItemEnabled (const JIndex index, const bool enabled)
 
virtual void PrepareToOpenMenu (const JXMenu::UpdateAction updateAction)
 
- Protected Member Functions inherited from JContainer
void InstallCollection (JCollection *list)
 
const JCollectionGetList () const
 
void Receive (JBroadcaster *sender, const Message &message) override
 
- Protected Member Functions inherited from JCollection
void ItemAdded ()
 
void ItemRemoved ()
 
void SetItemCount (const JSize newItemCount)
 
- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 

Friends

class JXMenu
 

Detailed Description

Stores the item information that all menus need.

Shortcuts can only be characters, because nothing else can be
easily indicated. (and because it would be overkill)

Constructor & Destructor Documentation

◆ JXMenuData()

JXMenuData::JXMenuData ( )

◆ ~JXMenuData()

JXMenuData::~JXMenuData ( )
override

DeleteAll() must be called in the derived class dtor.

Member Function Documentation

◆ AppendItem()

void JXMenuData::AppendItem ( const JXMenu::ItemType  type = JXMenu::kPlainType,
const JString shortcuts = JString::empty,
const JString id = JString::empty 
)
inlineprotected

◆ DeleteAll()

void JXMenuData::DeleteAll ( )
protectedvirtual

Reimplemented in JXImageMenuData, and JXTextMenuData.

◆ DeleteItem()

void JXMenuData::DeleteItem ( const JIndex  index)
protectedvirtual

Reimplemented in JXImageMenuData, and JXTextMenuData.

◆ DisableAll()

void JXMenuData::DisableAll ( )
protected

◆ DisableItem()

void JXMenuData::DisableItem ( const JIndex  index)
inlineprotected

◆ EnableAll()

void JXMenuData::EnableAll ( )
protected

◆ EnableItem()

void JXMenuData::EnableItem ( const JIndex  index)
inlineprotected

◆ GetItemID()

bool JXMenuData::GetItemID ( const JIndex  index,
const JString **  id 
) const
inlineprotected

◆ GetItemShortcuts()

bool JXMenuData::GetItemShortcuts ( const JIndex  index,
const JString **  shortcuts 
) const
inlineprotected

◆ GetSubmenu()

bool JXMenuData::GetSubmenu ( const JIndex  index,
JXMenu **  menu 
) const
inline

◆ GetType()

JXMenu::ItemType JXMenuData::GetType ( const JIndex  index) const
inline

◆ HasCheckboxes()

bool JXMenuData::HasCheckboxes ( ) const

◆ HasSubmenu()

bool JXMenuData::HasSubmenu ( const JIndex  index) const
inline

◆ HasSubmenus()

bool JXMenuData::HasSubmenus ( ) const

◆ InsertItem()

void JXMenuData::InsertItem ( const JIndex  index,
const JXMenu::ItemType  type = JXMenu::kPlainType,
const JString shortcuts = JString::empty,
const JString id = JString::empty 
)
protected

◆ IsChecked()

bool JXMenuData::IsChecked ( const JIndex  index) const
inline

◆ IsEnabled()

bool JXMenuData::IsEnabled ( const JIndex  index) const
inline

◆ ItemShortcutsChanged()

void JXMenuData::ItemShortcutsChanged ( const JIndex  index,
const JString shortcuts 
)
protectedvirtual

Derived classes can override this to update underlining, etc.

Note that shortcuts can be nullptr.

Reimplemented in JXTextMenuData.

◆ PrepareToOpenMenu()

void JXMenuData::PrepareToOpenMenu ( const JXMenu::UpdateAction  updateAction)
protectedvirtual

◆ PrependItem()

void JXMenuData::PrependItem ( const JXMenu::ItemType  type = JXMenu::kPlainType,
const JString shortcuts = JString::empty,
const JString id = JString::empty 
)
inlineprotected

◆ SetItemEnabled()

void JXMenuData::SetItemEnabled ( const JIndex  index,
const bool  enabled 
)
protected

◆ SetItemID()

void JXMenuData::SetItemID ( const JIndex  index,
const JString id 
)
protected

◆ SetItemShortcuts()

void JXMenuData::SetItemShortcuts ( const JIndex  index,
const JString shortcuts 
)
protected

◆ ShortcutToIndex()

bool JXMenuData::ShortcutToIndex ( const JUtf8Character c,
JIndex index 
) const

Returns true if the given character is a shortcut for one of our menu items.

Friends And Related Symbol Documentation

◆ JXMenu

friend class JXMenu
friend

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