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

#include <JXHorizPartition.h>

Inheritance diagram for JXHorizPartition:
[legend]

Public Member Functions

 JXHorizPartition (const JArray< JCoordinate > &widths, const JIndex elasticIndex, const JArray< JCoordinate > &minWidths, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXHorizPartition () override
 
- Public Member Functions inherited from JXPartition
 ~JXPartition () override
 
JXContainerGetCompartment (const JIndex index) const
 
bool GetCompartmentIndex (JXContainer *compartment, JIndex *index) const
 
bool InsertCompartment (const JIndex index, const JCoordinate size, const JCoordinate minSize, JXContainer **newCompartment)
 
bool PrependCompartment (const JCoordinate size, const JCoordinate minSize, JXContainer **newCompartment)
 
bool AppendCompartment (const JCoordinate size, const JCoordinate minSize, JXContainer **newCompartment)
 
bool GetMinCompartmentSize (JXContainer *compartment, JCoordinate *minSize) const
 
JCoordinate GetMinCompartmentSize (JXContainer *compartment) const
 
void SetMinCompartmentSize (JXContainer *compartment, const JCoordinate minSize)
 
bool GetElasticCompartment (JXContainer **compartment) const
 
void SetElasticCompartment (JXContainer *compartment)
 
void DeleteCompartment (JXContainer *compartment)
 
void DeleteCompartment (const JIndex index)
 
- 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 ()
 
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)
 
- Public Member Functions inherited from JPartition
virtual ~JPartition ()
 
JSize GetCompartmentCount () const
 
JCoordinate GetCompartmentSize (const JIndex index) const
 
bool SetCompartmentSize (const JIndex index, const JCoordinate reqSize)
 
const JArray< JCoordinate > & GetCompartmentSizes () const
 
void SetCompartmentSizes (const JArray< JCoordinate > &sizes)
 
JCoordinate GetMinTotalSize () const
 
JCoordinate GetMinCompartmentSize (const JIndex index) const
 
void SetMinCompartmentSize (const JIndex index, const JCoordinate minSize)
 
const JArray< JCoordinate > & GetMinCompartmentSizes () const
 
void SetMinCompartmentSizes (const JArray< JCoordinate > &sizes)
 
bool GetElasticIndex (JIndex *index) const
 
void SetElasticIndex (const JIndex index)
 
bool FindCompartment (const JCoordinate coord, JIndex *index) const
 
void DeleteCompartment (const JIndex index)
 
void ReadGeometry (std::istream &input)
 
void WriteGeometry (std::ostream &output) const
 

Protected Member Functions

 JXHorizPartition (JXContainer *enclosure, const JArray< JCoordinate > &widths, const JIndex elasticIndex, const JArray< JCoordinate > &minWidths, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
void Draw (JXWindowPainter &p, const JRect &rect) override
 
void HandleMouseDown (const JPoint &pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers) override
 
void HandleMouseDrag (const JPoint &pt, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers) override
 
void HandleMouseUp (const JPoint &pt, const JXMouseButton button, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers) override
 
void AdjustCursor (const JPoint &pt, const JXKeyModifiers &modifiers) override
 
JCoordinate GetTotalSize () const override
 
JXWidgetSetCreateCompartment (const JIndex index, const JCoordinate position, const JCoordinate size) override
 
void UpdateCompartmentSizes () override
 
bool SaveGeometryForLater (const JArray< JCoordinate > &sizes) override
 
bool RunInternalFTC (const bool horizontal, JCoordinate *newSize) override
 
void FTCAdjustSize (const JCoordinate dw, const JCoordinate dh) override
 
- Protected Member Functions inherited from JXPartition
 JXPartition (const JArray< JCoordinate > &sizes, const JIndex elasticIndex, const JArray< JCoordinate > &minSizes, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
void CreateInitialCompartments ()
 
JPtrArray< JXContainer > * GetCompartments ()
 
void CreateCompartmentObject (const JIndex index, const JCoordinate position, const JCoordinate size) override
 
void DeleteCompartmentObject (const JIndex index) override
 
void ApertureResized (const JCoordinate dw, const JCoordinate dh) override
 
void RestoreGeometry (const JArray< JCoordinate > &sizes)
 
- 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)
 
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 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 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)
 
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)
 
virtual void Receive (JBroadcaster *sender, const Message &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 
- Protected Member Functions inherited from JPartition
 JPartition (const JArray< JCoordinate > &sizes, const JIndex elasticIndex, const JArray< JCoordinate > &minSizes)
 
bool InsertCompartment (const JIndex index, const JCoordinate size, const JCoordinate minSize)
 
void SetElasticSize ()
 
void PrepareToDrag (const JCoordinate coord, JCoordinate *minDragCoord, JCoordinate *maxDragCoord)
 
void AdjustCompartmentsAfterDrag (const JCoordinate coord)
 
void PrepareToDragAll (const JCoordinate coord, JCoordinate *minDragCoord, JCoordinate *maxDragCoord)
 
void AdjustCompartmentsAfterDragAll (const JCoordinate coord)
 
virtual void PTBoundsChanged ()
 

Friends

class JXRestorePartitionGeometry
 

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)
 
- Static Public Attributes inherited from JXWidget
static const JUtf8BytekGotFocus = "GotFocus::JXWidget"
 
static const JUtf8BytekLostFocus = "LostFocus::JXWidget"
 
- Static Public Attributes inherited from JPartition
static const JCoordinate kDragRegionSize = 5
 

Detailed Description

Interface for the JXHorizPartition class

Maintains a set of compartments arranged horizontally.  The user can drag
the regions between compartments to reallocate space.

Constructor & Destructor Documentation

◆ JXHorizPartition() [1/2]

JXHorizPartition::JXHorizPartition ( const JArray< JCoordinate > &  widths,
const JIndex  elasticIndex,
const JArray< JCoordinate > &  minWidths,
JXContainer enclosure,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)

The second version is for use by derived classes who need to call CreateInitialCompartments() themselves in order to use their version of CreateCompartment().

◆ ~JXHorizPartition()

JXHorizPartition::~JXHorizPartition ( )
override

◆ JXHorizPartition() [2/2]

JXHorizPartition::JXHorizPartition ( JXContainer enclosure,
const JArray< JCoordinate > &  widths,
const JIndex  elasticIndex,
const JArray< JCoordinate > &  minWidths,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)
protected

Member Function Documentation

◆ AdjustCursor()

void JXHorizPartition::AdjustCursor ( const JPoint pt,
const JXKeyModifiers modifiers 
)
overrideprotectedvirtual

Derived classes can override to adjust the cursor as appropriate.

Should not be called if cursor animator is active.

Reimplemented from JXContainer.

◆ CreateCompartment()

JXWidgetSet * JXHorizPartition::CreateCompartment ( const JIndex  index,
const JCoordinate  position,
const JCoordinate  size 
)
overrideprotectedvirtual

Implements JXPartition.

◆ Draw()

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

Draw 2 vertical lines in each drag region.

Implements JXContainer.

◆ FTCAdjustSize()

void JXHorizPartition::FTCAdjustSize ( const JCoordinate  dw,
const JCoordinate  dh 
)
overrideprotectedvirtual

Reimplemented from JXContainer.

◆ GetTotalSize()

JCoordinate JXHorizPartition::GetTotalSize ( ) const
overrideprotectedvirtual

Implements JPartition.

◆ HandleMouseDown()

void JXHorizPartition::HandleMouseDown ( const JPoint pt,
const JXMouseButton  button,
const JSize  clickCount,
const JXButtonStates buttonStates,
const JXKeyModifiers modifiers 
)
overrideprotectedvirtual

Any mouse click that we receive means start dragging.

Reimplemented from JXContainer.

◆ HandleMouseDrag()

void JXHorizPartition::HandleMouseDrag ( const JPoint pt,
const JXButtonStates buttonStates,
const JXKeyModifiers modifiers 
)
overrideprotectedvirtual

Reimplemented from JXContainer.

◆ HandleMouseUp()

void JXHorizPartition::HandleMouseUp ( const JPoint pt,
const JXMouseButton  button,
const JXButtonStates buttonStates,
const JXKeyModifiers modifiers 
)
overrideprotectedvirtual

We set the column width to itsPrevPt because that is what the user saw.

Reimplemented from JXContainer.

◆ RunInternalFTC()

bool JXHorizPartition::RunInternalFTC ( const bool  horizontal,
JCoordinate newSize 
)
overrideprotectedvirtual

Expand and return new size.

Reimplemented from JXContainer.

◆ SaveGeometryForLater()

bool JXHorizPartition::SaveGeometryForLater ( const JArray< JCoordinate > &  sizes)
overrideprotectedvirtual

Implements JPartition.

◆ UpdateCompartmentSizes()

void JXHorizPartition::UpdateCompartmentSizes ( )
overrideprotectedvirtual

Adjust the width of each compartment.

Implements JPartition.

Friends And Related Symbol Documentation

◆ JXRestorePartitionGeometry

friend class JXRestorePartitionGeometry
friend

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