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

#include <JXDockWidget.h>

Inheritance diagram for JXDockWidget:
[legend]

Public Member Functions

 JXDockWidget (JXDockDirector *director, JXPartition *partition, const bool isHorizPartition, JXTabGroup *tabGroup, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXDockWidget () override
 
JXDockDirectorGetDockDirector () const
 
JXTabGroupGetTabGroup () const
 
JPoint GetMinSize () const
 
void UpdateMinSize ()
 
bool HasWindows () const
 
bool CloseAllWindows ()
 
JSize GetWindowCount () const
 
bool GetWindow (const JIndex index, JXWindow **window)
 
void ShowPreviousWindow ()
 
void ShowNextWindow ()
 
bool WindowWillFit (JXWindow *w) const
 
bool Dock (JXWindowDirector *d, const bool reportError=false)
 
bool Dock (JXWindow *w, const bool reportError=false)
 
bool TransferAll (JXDockWidget *target)
 
void UndockAll ()
 
bool CloseAll ()
 
bool GetHorizChildPartition (JXHorizDockPartition **p) const
 
bool GetVertChildPartition (JXVertDockPartition **p) const
 
void SetChildPartition (JXPartition *p)
 
JIndex GetID () const
 
void SetID (const JIndex id)
 
JXWindowGetWindow () const
 
- Public Member Functions inherited from JXWidgetSet
 JXWidgetSet (JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXWidgetSet () override
 
void SetNeedsInternalFTC ()
 
- 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
 
virtual void HandleShortcut (const int key, const JXKeyModifiers &modifiers)
 
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
 
virtual void Activate ()
 
bool IsActive () const
 
void SetActive (const bool active)
 
bool WouldBeActive () const
 
virtual void Suspend ()
 
virtual void Resume ()
 
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 IsMenu () 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)
 

Static Public Attributes

static constexpr JCoordinate kDefaultMinSize = 10
 
- Static Public Attributes inherited from JXWidget
static const JUtf8BytekGotFocus = "GotFocus::JXWidget"
 
static const JUtf8BytekLostFocus = "LostFocus::JXWidget"
 

Protected Member Functions

bool WillAcceptDrop (const JArray< Atom > &typeList, Atom *action, const JPoint &pt, const Time time, const JXWidget *source) override
 
void HandleDNDDrop (const JPoint &pt, const JArray< Atom > &typeList, const Atom action, const Time time, const JXWidget *source) override
 
void HandleDNDLeave () override
 
void Draw (JXWindowPainter &p, const JRect &rect) override
 
void BoundsMoved (const JCoordinate dx, const JCoordinate dy) override
 
void BoundsResized (const JCoordinate dw, const JCoordinate dh) override
 
void Receive (JBroadcaster *sender, const Message &message) override
 
void ReceiveGoingAway (JBroadcaster *sender) override
 
- Protected Member Functions inherited from JXWidgetSet
void Draw (JXWindowPainter &p, const JRect &rect) override
 
void DrawBorder (JXWindowPainter &p, const JRect &frame) override
 
bool NeedsInternalFTC () const override
 
- 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 HandleMouseDown (const JPoint &pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers)
 
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 void HandleDNDEnter ()
 
virtual void HandleDNDHere (const JPoint &pt, 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 IncludeInFTC () const
 
virtual JCoordinate GetFTCMinContentSize (const bool horizontal) 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)
 

Additional Inherited Members

- Public Types inherited from JXWidget
enum  HSizingOption {
  kFixedLeft ,
  kFixedRight ,
  kHElastic
}
 
enum  VSizingOption {
  kFixedTop ,
  kFixedBottom ,
  kVElastic
}
 
- Static Public Member Functions inherited from JXContainer
static void DebugExpandToFitContent (const bool horiz)
 
static void DebugExpandToFitContentExtras (const bool noop, const bool overlap)
 

Detailed Description

Maintains a set of docked JXWindows.

Constructor & Destructor Documentation

◆ JXDockWidget()

JXDockWidget::JXDockWidget ( JXDockDirector director,
JXPartition partition,
const bool  isHorizPartition,
JXTabGroup tabGroup,
JXContainer enclosure,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)

◆ ~JXDockWidget()

JXDockWidget::~JXDockWidget ( )
override

Member Function Documentation

◆ BoundsMoved()

void JXDockWidget::BoundsMoved ( const JCoordinate  dx,
const JCoordinate  dy 
)
overrideprotectedvirtual

Implements JXContainer.

◆ BoundsResized()

void JXDockWidget::BoundsResized ( const JCoordinate  dw,
const JCoordinate  dh 
)
overrideprotectedvirtual

Implements JXContainer.

◆ CloseAll()

bool JXDockWidget::CloseAll ( )

◆ CloseAllWindows()

bool JXDockWidget::CloseAllWindows ( )

◆ Dock() [1/2]

bool JXDockWidget::Dock ( JXWindow w,
const bool  reportError = false 
)

◆ Dock() [2/2]

bool JXDockWidget::Dock ( JXWindowDirector d,
const bool  reportError = false 
)

◆ Draw()

void JXDockWidget::Draw ( JXWindowPainter p,
const JRect rect 
)
overrideprotectedvirtual

Implements JXContainer.

◆ GetDockDirector()

JXDockDirector * JXDockWidget::GetDockDirector ( ) const
inline

◆ GetHorizChildPartition()

bool JXDockWidget::GetHorizChildPartition ( JXHorizDockPartition **  p) const

◆ GetID()

JIndex JXDockWidget::GetID ( ) const
inline

◆ GetMinSize()

JPoint JXDockWidget::GetMinSize ( ) const

◆ GetTabGroup()

JXTabGroup * JXDockWidget::GetTabGroup ( ) const
inline

◆ GetVertChildPartition()

bool JXDockWidget::GetVertChildPartition ( JXVertDockPartition **  p) const

◆ GetWindow() [1/2]

JXWindow * JXContainer::GetWindow ( ) const
inline

◆ GetWindow() [2/2]

bool JXDockWidget::GetWindow ( const JIndex  index,
JXWindow **  window 
)
inline

◆ GetWindowCount()

JSize JXDockWidget::GetWindowCount ( ) const
inline

◆ HandleDNDDrop()

void JXDockWidget::HandleDNDDrop ( const JPoint pt,
const JArray< Atom > &  typeList,
const Atom  action,
const Time  time,
const JXWidget source 
)
overrideprotectedvirtual

This is called when the data is dropped. The data is accessed via the selection manager, just like Paste.

Since we only accept text/uri-list, we don't bother to check typeList.

Reimplemented from JXContainer.

◆ HandleDNDLeave()

void JXDockWidget::HandleDNDLeave ( )
overrideprotectedvirtual

Remove the blue border.

Reimplemented from JXContainer.

◆ HasWindows()

bool JXDockWidget::HasWindows ( ) const

◆ Receive()

void JXDockWidget::Receive ( JBroadcaster sender,
const Message message 
)
overrideprotectedvirtual

Process the given message from the given sender. This function is not pure virtual because not all classes will want to implement it.

Reimplemented from JBroadcaster.

◆ ReceiveGoingAway()

void JXDockWidget::ReceiveGoingAway ( JBroadcaster sender)
overrideprotectedvirtual

The given sender has been deleted.

Reimplemented from JBroadcaster.

◆ SetChildPartition()

void JXDockWidget::SetChildPartition ( JXPartition p)

◆ SetID()

void JXDockWidget::SetID ( const JIndex  id)

◆ ShowNextWindow()

void JXDockWidget::ShowNextWindow ( )

◆ ShowPreviousWindow()

void JXDockWidget::ShowPreviousWindow ( )

◆ TransferAll()

bool JXDockWidget::TransferAll ( JXDockWidget target)

Transfers as many windows as possible to the target docking location. Returns false if not all windows could be transferred.

◆ UndockAll()

void JXDockWidget::UndockAll ( )

◆ UpdateMinSize()

void JXDockWidget::UpdateMinSize ( )

Only call this when itsWindowList changes.

◆ WillAcceptDrop()

bool JXDockWidget::WillAcceptDrop ( const JArray< Atom > &  typeList,
Atom *  action,
const JPoint pt,
const Time  time,
const JXWidget source 
)
overrideprotectedvirtual

Accept JXDockDragData.

Reimplemented from JXContainer.

◆ WindowWillFit()

bool JXDockWidget::WindowWillFit ( JXWindow w) const

Member Data Documentation

◆ kDefaultMinSize

constexpr JCoordinate JXDockWidget::kDefaultMinSize = 10
staticconstexpr

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