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

#include <JXImageMenu.h>

Inheritance diagram for JXImageMenu:
[legend]

Public Member Functions

 JXImageMenu (const JString &title, const JSize columnCount, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 JXImageMenu (JXImage *image, const bool menuOwnsImage, const JSize columnCount, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 JXImageMenu (const JSize columnCount, JXMenu *owner, const JIndex itemIndex, JXContainer *enclosure)
 
 ~JXImageMenu () override
 
void InsertItem (const JIndex index, JXImage *image, const bool menuOwnsImage, const ItemType type=kPlainType, const JString &id=JString::empty)
 
void PrependItem (JXImage *image, const bool menuOwnsImage, const ItemType type=kPlainType, const JString &id=JString::empty)
 
void AppendItem (JXImage *image, const bool menuOwnsImage, const ItemType type=kPlainType, const JString &id=JString::empty)
 
const JXImageGetItemImage (const JIndex index) const
 
void SetItemImage (const JIndex index, JXImage *image, const bool menuOwnsImage)
 
void SetItemImage (const JIndex index, const JXPM &data)
 
- Public Member Functions inherited from JXMenu
 JXMenu (const JString &title, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 JXMenu (JXImage *image, const bool menuOwnsImage, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 JXMenu (const JString &title, JXImage *image, const bool menuOwnsImage, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 JXMenu (JXMenu *owner, const JIndex itemIndex, JXContainer *enclosure)
 
 ~JXMenu () override
 
bool IsOpen () const
 
const JStringGetTitleText () const
 
bool GetTitleText (const JString **text) const
 
bool GetTitleImage (const JXImage **image) const
 
void SetTitle (const JString &title, JXImage *image, const bool menuOwnsImage)
 
void SetTitleText (const JString &title)
 
void SetTitleImage (JXImage *image, const bool menuOwnsImage)
 
void SetTitleFontName (const JString &fontName)
 
void SetTitleFontSize (const JSize size)
 
void SetTitleFontStyle (const JFontStyle &style)
 
void SetTitleFont (const JFont &font)
 
const JPointGetTitlePadding () const
 
void SetTitlePadding (const JPoint &p)
 
void SetShortcuts (const JString &list)
 
template<class T >
void AttachHandler (T *target, void(T::*handler)(const JIndex i))
 
template<class T >
void AttachHandlers (T *target, void(T::*updater)(), void(T::*handler)(const JIndex i))
 
void AttachHandlers (JBroadcaster *target, const std::function< void(void)> &updater, const std::function< void(const JIndex)> &handler)
 
bool IsEmpty () const
 
JSize GetItemCount () const
 
void RemoveItem (const JIndex index)
 
void RemoveAllItems ()
 
bool GetItemShortcuts (const JIndex index, JString *shortcuts) const
 
void SetItemShortcuts (const JIndex index, const JString &shortcuts)
 
bool GetItemID (const JIndex index, const JString **id) const
 
void SetItemID (const JIndex index, const JString &id)
 
bool ItemIDToIndex (const JString &targetID, JIndex *index) const
 
bool IsEnabled (const JIndex index) const
 
void EnableItem (const JIndex index)
 
void EnableAll ()
 
void DisableItem (const JIndex index)
 
void DisableAll ()
 
void SetItemEnabled (const JIndex index, const bool enabled)
 
JXMenu::ItemType GetItemType (const JIndex index) const
 
bool IsChecked (const JIndex index) const
 
void CheckItem (const JIndex index)
 
bool GetSubmenu (const JIndex index, const JXMenu **menu) const
 
void AttachSubmenu (const JIndex index, JXMenu *submenu)
 
bool RemoveSubmenu (const JIndex index, JXMenu **theMenu)
 
void DeleteSubmenu (const JIndex index)
 
UpdateAction GetUpdateAction () const
 
void SetUpdateAction (const UpdateAction action)
 
bool IsPopupChoice () const
 
virtual void SetToPopupChoice (const bool isPopup, const JIndex initialChoice)
 
void SetPopupChoice (const JIndex index)
 
void Activate () override
 
void Deactivate () override
 
void Suspend () override
 
void Resume () override
 
bool IsHiddenPopupMenu () const
 
void SetToHiddenPopupMenu (const bool isHiddenPopup=true)
 
bool PopUp (JXContainer *mouseOwner, const JPoint &pt, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
bool GetMenuBar (JXMenuBar **menuBar) const
 
JXMenuGetTopLevelMenu () const
 
ArrowPosition GetPopupArrowPosition () const
 
void SetPopupArrowPosition (const ArrowPosition position)
 
ArrowDirection GetPopupArrowDirection () const
 
void SetPopupArrowDirection (const ArrowDirection direction)
 
bool IsMenu () const override
 
void HandleShortcut (const int key, const JXKeyModifiers &modifiers) override
 
- Public Member Functions inherited from JXWidget
 ~JXWidget () override
 
void Deactivate () override
 
void Refresh () const override
 
void RefreshRect (const JRect &rect) const
 
void Redraw () const override
 
void RedrawRect (const JRect &rect) const
 
bool Focus ()
 
bool Unfocus ()
 
bool HasFocus () const
 
bool WillAcceptFocus () const
 
void SetSingleFocusWidget ()
 
virtual bool OKToUnfocus ()
 
bool WantsTab () const
 
bool WantsModifiedTab () const
 
virtual void HandleKeyPress (const JUtf8Character &c, const int keySym, const JXKeyModifiers &modifiers)
 
bool WillAcceptShortcut () const
 
JPoint GlobalToLocal (const JCoordinate x, const JCoordinate y) const override
 
JPoint LocalToGlobal (const JCoordinate x, const JCoordinate y) const override
 
void Place (const JCoordinate enclX, const JCoordinate enclY) override
 
void Move (const JCoordinate dx, const JCoordinate dy) override
 
void SetSize (const JCoordinate w, const JCoordinate h) override
 
void AdjustSize (const JCoordinate dw, const JCoordinate dh) override
 
HSizingOption GetHSizing () const
 
VSizingOption GetVSizing () const
 
void SetSizing (const HSizingOption hSizing, const VSizingOption vSizing)
 
void CenterWithinEnclosure (const bool adjustHoriz, const bool adjustVert)
 
void FitToEnclosure (const bool fitHoriz=true, const bool fitVert=true)
 
bool Scroll (const JCoordinate dx, const JCoordinate dy)
 
bool ScrollTo (const JCoordinate x, const JCoordinate y)
 
bool ScrollTo (const JPoint &pt)
 
bool ScrollToRect (const JRect &r)
 
bool ScrollToRectCentered (const JRect &r, const bool forceScroll)
 
JRect GetBoundsGlobal () const override
 
JRect GetFrameGlobal () const override
 
JRect GetApertureGlobal () const override
 
JSize GetBorderWidth () const
 
void SetBorderWidth (const JSize width)
 
JColorID GetCurrBackColor () const
 
JColorID GetBackColor () const
 
void SetBackColor (const JColorID color)
 
JColorID GetFocusColor () const
 
void SetFocusColor (const JColorID color)
 
JString ToString () const override
 
virtual JPoint GlobalToLocal (const JCoordinate x, const JCoordinate y) const=0
 
JPoint GlobalToLocal (const JPoint &pt) const
 
JRect GlobalToLocal (const JRect &r) const
 
virtual JPoint LocalToGlobal (const JCoordinate x, const JCoordinate y) const=0
 
JPoint LocalToGlobal (const JPoint &pt) const
 
JRect LocalToGlobal (const JRect &r) const
 
- Public Member Functions inherited from JXContainer
 ~JXContainer () override
 
bool IsAncestor (JXContainer *obj) const
 
virtual void Show ()
 
virtual void Hide ()
 
bool IsVisible () const
 
void SetVisible (const bool vis)
 
bool WouldBeVisible () const
 
bool IsActive () const
 
void SetActive (const bool active)
 
bool WouldBeActive () const
 
bool IsSuspended () const
 
bool IsDNDSource () const
 
bool IsDNDTarget () const
 
JPoint GlobalToLocal (const JPoint &pt) const
 
JRect GlobalToLocal (const JRect &r) const
 
JPoint LocalToGlobal (const JPoint &pt) const
 
JRect LocalToGlobal (const JRect &r) const
 
JRect GetBounds () const
 
JCoordinate GetBoundsWidth () const
 
JCoordinate GetBoundsHeight () const
 
JRect GetFrame () const
 
JRect GetFrameLocal () const
 
JCoordinate GetFrameWidth () const
 
JCoordinate GetFrameHeight () const
 
JRect GetAperture () const
 
JCoordinate GetApertureWidth () const
 
JCoordinate GetApertureHeight () const
 
JXDisplayGetDisplay () const
 
JXWindowGetWindow () const
 
JXContainerGetEnclosure () const
 
JFontManagerGetFontManager () const
 
JXFontManagerGetXFontManager () const
 
JXSelectionManagerGetSelectionManager () const
 
JXDNDManagerGetDNDManager () const
 
JXMenuManagerGetMenuManager () const
 
JCursorIndex GetDefaultCursor () const
 
bool GetHint (JString *text) const
 
void SetHint (const JString &text)
 
void ClearHint ()
 
bool GetVisibleRectGlobal (const JRect &origRectG, JRect *visRectG) const
 
void ForEach (const std::function< void(JXContainer *)> &f, const bool recurse)
 
void ForEach (const std::function< void(const JXContainer *)> &f, const bool recurse) const
 
void ExpandToFitContent ()
 
virtual bool RunInternalFTC (const bool horizontal, JCoordinate *newSize)
 
JRect ComputePaddingForInternalFTC () const
 
bool FindContainer (const JPoint &ptG, JXContainer **container) const
 
virtual bool IsMenuTable () const
 
- 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

JXMenuDirectorCreateMenuWindow (JXWindowDirector *supervisor) override
 
void AdjustPopupChoiceTitle (const JIndex index) override
 
JXImageMenuDataGetIconMenuData ()
 
- Protected Member Functions inherited from JXMenu
void SetBaseItemData (JXMenuData *baseItemData)
 
void ClearBaseItemData ()
 
bool PrepareToOpenMenu (const bool shortcut)
 
void Draw (JXWindowPainter &p, const JRect &rect) override
 
void DrawBorder (JXWindowPainter &p, const JRect &frame) override
 
void HandleMouseDown (const JPoint &pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers) override
 
bool IncludeInFTC () const override
 
JCoordinate GetFTCMinContentSize (const bool horizontal) const override
 
void Receive (JBroadcaster *sender, const Message &message) override
 
void BroadcastSelection (const JIndex itemIndex, const bool fromShortcut)
 
- Protected Member Functions inherited from JXWidget
 JXWidget (JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
void WantInput (const bool wantInput, const bool wantTab=false, const bool wantModifiedTab=false)
 
virtual void HandleFocusEvent ()
 
virtual void HandleUnfocusEvent ()
 
virtual void HandleWindowFocusEvent ()
 
virtual void HandleWindowUnfocusEvent ()
 
void UnlockBounds ()
 
void SetBounds (const JCoordinate w, const JCoordinate h)
 
void AdjustBounds (const JCoordinate dw, const JCoordinate dh)
 
void DrawBackground (JXWindowPainter &p, const JRect &frame) override
 
bool AcceptDrag (const JPoint &pt, const JXMouseButton button, const JXKeyModifiers &modifiers) override
 
JXDragPainterCreateDragInsidePainter ()
 
JXDragPainterCreateDragOutsidePainter ()
 
bool GetDragPainter (JXDragPainter **p) const
 
bool GetDragPainter (JPainter **p) const
 
void DeleteDragPainter ()
 
void BoundsMoved (const JCoordinate dx, const JCoordinate dy) override
 
void EnclosingBoundsMoved (const JCoordinate dx, const JCoordinate dy) override
 
void BoundsResized (const JCoordinate dw, const JCoordinate dh) override
 
void EnclosingBoundsResized (const JCoordinate dw, const JCoordinate dh) override
 
virtual void ApertureMoved (const JCoordinate dx, const JCoordinate dy)
 
virtual void ApertureResized (const JCoordinate dw, const JCoordinate dh)
 
void FTCAdjustSize (const JCoordinate dw, const JCoordinate dh) override
 
bool BeginDND (const JPoint &pt, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers, JXSelectionData *data, JXDNDManager::TargetFinder *targetFinder=nullptr)
 
virtual void DNDInit (const JPoint &pt, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
virtual void GetSelectionData (JXSelectionData *data, const JString &id)
 
virtual void DNDFinish (const bool isDrop, const JXContainer *target)
 
virtual void DNDCompletelyFinished ()
 
virtual Atom GetDNDAction (const JXContainer *target, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
virtual void GetDNDAskActions (const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers, JArray< Atom > *askActionList, JPtrArray< JString > *askDescriptionList)
 
virtual void HandleDNDResponse (const JXContainer *target, const bool dropAccepted, const Atom action)
 
bool WillAllowUnboundedScrolling () const
 
void ShouldAllowUnboundedScrolling (const bool allow)
 
- Protected Member Functions inherited from JXContainer
 JXContainer (JXWindow *window, JXContainer *enclosure)
 
 JXContainer (JXDisplay *display, JXWindow *window, JXContainer *enclosure)
 
void TurnOnBufferedDrawing ()
 
void DrawAll (JXWindowPainter &p, const JRect &frameG)
 
virtual void HandleMouseEnter ()
 
virtual void HandleMouseHere (const JPoint &pt, const JXKeyModifiers &modifiers)
 
virtual void HandleMouseLeave ()
 
virtual void HandleMouseDrag (const JPoint &pt, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
virtual void HandleMouseUp (const JPoint &pt, const JXMouseButton button, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
virtual bool HitSamePart (const JPoint &pt1, const JPoint &pt2) const
 
virtual bool WillAcceptDrop (const JArray< Atom > &typeList, Atom *action, const JPoint &pt, const Time time, const JXWidget *source)
 
virtual void HandleDNDEnter ()
 
virtual void HandleDNDHere (const JPoint &pt, const JXWidget *source)
 
virtual void HandleDNDLeave ()
 
virtual void HandleDNDDrop (const JPoint &pt, const JArray< Atom > &typeList, const Atom action, const Time time, const JXWidget *source)
 
virtual void HandleDNDScroll (const JPoint &pt, const JXMouseButton scrollButton, const JXKeyModifiers &modifiers)
 
bool DispatchClientMessage (const XClientMessageEvent &clientMessage)
 
virtual bool HandleClientMessage (const XClientMessageEvent &clientMessage)
 
void NotifyBoundsMoved (const JCoordinate dx, const JCoordinate dy)
 
void NotifyBoundsResized (const JCoordinate dw, const JCoordinate dh)
 
virtual bool NeedsInternalFTC () const
 
virtual JRect GetFrameForFTC () const
 
bool GetEnclosedObjects (JPtrArrayIterator< JXContainer > **iter) const
 
void DeleteEnclosedObjects ()
 
void ShowCursor ()
 
void HideCursor ()
 
void SetDefaultCursor (const JCursorIndex index)
 
void DispatchCursor (const JPoint &ptG, const JXKeyModifiers &modifiers)
 
virtual void AdjustCursor (const JPoint &pt, const JXKeyModifiers &modifiers)
 
void DisplayCursor (const JCursorIndex index)
 
JXCursorAnimatorCreateCursorAnimator ()
 
JXCursorAnimatorGetCursorAnimator () const
 
void AnimateCursor () const
 
void RemoveCursorAnimator ()
 
void ActivateCursor (const JPoint &ptG, const JXKeyModifiers &modifiers)
 
void DeactivateCursor ()
 
std::ostream & GetFTCLog () const
 
virtual bool StealMouse (const int eventType, const JPoint &ptG, const JXMouseButton button, const unsigned int state)
 
- 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)
 

Additional Inherited Members

- Public Types inherited from JXMenu
enum  ItemType {
  kPlainType ,
  kCheckboxType ,
  kRadioType
}
 
enum  UpdateAction {
  kDisableNone ,
  kDisableSingles ,
  kDisableAll
}
 
enum  Style {
  kMacintoshStyle = 0 ,
  kWindowsStyle ,
  kStyleMax = kWindowsStyle
}
 
enum  ArrowPosition {
  kArrowAtLeft ,
  kArrowAtRight
}
 
enum  ArrowDirection {
  kArrowPointsUp ,
  kArrowPointsDown
}
 
- Public Types inherited from JXWidget
enum  HSizingOption {
  kFixedLeft ,
  kFixedRight ,
  kHElastic
}
 
enum  VSizingOption {
  kFixedTop ,
  kFixedBottom ,
  kVElastic
}
 
- Static Public Member Functions inherited from JXMenu
static Style GetDisplayStyle ()
 
static void SetDisplayStyle (const Style style)
 
- Static Public Member Functions inherited from JXContainer
static void DebugExpandToFitContent (const bool horiz)
 
static void DebugExpandToFitContentExtras (const bool noop, const bool overlap)
 
- Static Public Attributes inherited from JXMenu
static const JUtf8BytekNeedsUpdate = "NeedsUpdate::JXMenu"
 
static const JUtf8BytekItemSelected = "ItemSelected::JXMenu"
 
- Static Public Attributes inherited from JXWidget
static const JUtf8BytekGotFocus = "GotFocus::JXWidget"
 
static const JUtf8BytekLostFocus = "LostFocus::JXWidget"
 

Detailed Description

A menu that displays an image for each menu item.

Constructor & Destructor Documentation

◆ JXImageMenu() [1/3]

JXImageMenu::JXImageMenu ( const JString title,
const JSize  columnCount,
JXContainer enclosure,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)

◆ JXImageMenu() [2/3]

JXImageMenu::JXImageMenu ( JXImage image,
const bool  menuOwnsImage,
const JSize  columnCount,
JXContainer enclosure,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)

◆ JXImageMenu() [3/3]

JXImageMenu::JXImageMenu ( const JSize  columnCount,
JXMenu owner,
const JIndex  itemIndex,
JXContainer enclosure 
)

◆ ~JXImageMenu()

JXImageMenu::~JXImageMenu ( )
override

Member Function Documentation

◆ AdjustPopupChoiceTitle()

void JXImageMenu::AdjustPopupChoiceTitle ( const JIndex  index)
overrideprotectedvirtual

Implements JXMenu.

◆ AppendItem()

void JXImageMenu::AppendItem ( JXImage image,
const bool  menuOwnsImage,
const ItemType  type = kPlainType,
const JString id = JString::empty 
)

◆ CreateMenuWindow()

JXMenuDirector * JXImageMenu::CreateMenuWindow ( JXWindowDirector supervisor)
overrideprotectedvirtual

Implements JXMenu.

◆ GetIconMenuData()

JXImageMenuData * JXImageMenu::GetIconMenuData ( )
inlineprotected

◆ GetItemImage()

const JXImage * JXImageMenu::GetItemImage ( const JIndex  index) const

◆ InsertItem()

void JXImageMenu::InsertItem ( const JIndex  index,
JXImage image,
const bool  menuOwnsImage,
const ItemType  type = kPlainType,
const JString id = JString::empty 
)

◆ PrependItem()

void JXImageMenu::PrependItem ( JXImage image,
const bool  menuOwnsImage,
const ItemType  type = kPlainType,
const JString id = JString::empty 
)

◆ SetItemImage() [1/2]

void JXImageMenu::SetItemImage ( const JIndex  index,
const JXPM data 
)

◆ SetItemImage() [2/2]

void JXImageMenu::SetItemImage ( const JIndex  index,
JXImage image,
const bool  menuOwnsImage 
)

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