JX Application Framework
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
JXTreeListWidget Class Referenceabstract

#include <JXTreeListWidget.h>

Inheritance diagram for JXTreeListWidget:
[legend]

Classes

class  NodeDblClicked
 

Public Member Functions

 JXTreeListWidget (JTreeList *treeList, JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXTreeListWidget () override
 
JTreeListGetTreeList ()
 
const JTreeListGetTreeList () const
 
JIndex GetToggleOpenColIndex () const
 
JIndex GetNodeColIndex () const
 
void ScrollToNode (const JTreeNode *node)
 
void ScrollToShowChildren (const JIndex index)
 
void GetSelectedNodes (JPtrArray< JTreeNode > *list) const
 
void SelectNodes (const JPtrArray< JTreeNode > &list)
 
void OpenSelectedNodes (const bool openSiblings=false, const bool openDescendants=false)
 
void CloseSelectedNodes (const bool closeSiblings=false, const bool closeDescendants=false)
 
void ToggleNode (const JIndex index, const bool siblings=false, const bool descendants=false)
 
JSize GetIndentWidth () const
 
void SetIndentWidth (const JSize width)
 
JSize GetNodeIndent (const JIndex index) const
 
JSize GetMaxOpenDepth () const
 
void SetMaxOpenDepth (const JSize maxDepth)
 
void HandleKeyPress (const JUtf8Character &c, const int keySym, const JXKeyModifiers &modifiers) override
 
bool IsSelectable (const JPoint &cell, const bool forExtend) const override
 
bool IsEditable (const JPoint &cell) const override
 
void ForceAdjustToTree ()
 
- Public Member Functions inherited from JXStyleTable
 JXStyleTable (JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXStyleTable () override
 
const JFontGetFont () const
 
void SetFont (const JString &name, const JSize size)
 
JFontStyle GetCellStyle (const JPoint &cell) const
 
void SetCellStyle (const JPoint &cell, const JFontStyle &style)
 
void SetAllCellStyles (const JFontStyle &style)
 
const JStyleTableDataGetStyleData () const
 
- Public Member Functions inherited from JXEditTable
 JXEditTable (const JCoordinate defRowHeight, const JCoordinate defColWidth, JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXEditTable () override
 
virtual bool WantsInputFieldKey (const JUtf8Character &c, const int keySym, const JXKeyModifiers &modifiers) const
 
JXTEBaseGetEditMenuHandler () const
 
- Public Member Functions inherited from JXTable
 JXTable (const JCoordinate defRowHeight, const JCoordinate defColWidth, JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXTable () override
 
- Public Member Functions inherited from JXScrollableWidget
 JXScrollableWidget (JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)
 
 ~JXScrollableWidget () override
 
void AlwaysShowScrollbars (const bool alwaysShow=true)
 
bool GetScrollbars (JXScrollbar **hScrollbar, JXScrollbar **vScrollbar) const
 
void UpdateScrollbars ()
 
void ReadScrollSetup (std::istream &input)
 
void WriteScrollSetup (std::ostream &output) const
 
DisplayState SaveDisplayState () const
 
void RestoreDisplayState (const DisplayState &state)
 
- 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
 
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)
 
- Public Member Functions inherited from JTable
 JTable (const JCoordinate defRowHeight, const JCoordinate defColWidth, const JColorID borderColor, const JColorID selectionColor)
 
 ~JTable () override
 
void SetTableData (const JTableData *data)
 
JSize GetRowCount () const
 
JCoordinate GetRowHeight (const JIndex index) const
 
void SetRowHeight (const JIndex index, const JCoordinate rowHeight)
 
void SetAllRowHeights (const JCoordinate rowHeight)
 
JCoordinate GetDefaultRowHeight () const
 
void SetDefaultRowHeight (const JCoordinate defRowHeight)
 
JSize GetColCount () const
 
JCoordinate GetColWidth (const JIndex index) const
 
void SetColWidth (const JIndex index, const JCoordinate colWidth)
 
void SetAllColWidths (const JCoordinate colWidth)
 
JCoordinate GetDefaultColWidth () const
 
void SetDefaultColWidth (const JCoordinate defColWidth)
 
bool GetCell (const JPoint &pt, JPoint *cell) const
 
JRect GetCellRect (const JPoint &cell) const
 
JCoordinate GetRowTop (const JIndex index) const
 
JCoordinate GetColLeft (const JIndex index) const
 
JTableSelectionGetTableSelection ()
 
const JTableSelectionGetTableSelection () const
 
void SelectSingleCell (const JPoint &cell, const bool scroll=true)
 
bool GetNextSelectableCell (JPoint *cell, const JPoint &delta, const bool forExtend) const
 
bool BeginEditing (const JPoint &cell, const bool scrollToCell=true)
 
bool ShiftEditing (const JCoordinate dx, const JCoordinate dy, const bool scrollToCell=true)
 
bool EndEditing ()
 
void CancelEditing ()
 
bool IsEditing () const
 
bool GetEditedCell (JPoint *editCell) const
 
void Print (JPagePrinter &p, const bool printRowHeader=true, const bool printColHeader=true)
 
void Print (JEPSPrinter &p, const bool printRowHeader=true, const bool printColHeader=true)
 
void DrawForPrint (JPainter &p, const JPoint &topLeft, const bool userPrintRowHeader, const bool userPrintColHeader)
 
void GetRowBorderInfo (JCoordinate *lineWidth, JColorID *color) const
 
void SetRowBorderInfo (const JCoordinate lineWidth, const JColorID color)
 
void GetColBorderInfo (JCoordinate *lineWidth, JColorID *color) const
 
void SetColBorderInfo (const JCoordinate lineWidth, const JColorID color)
 
JColorID GetSelectionColor () const
 
void SetSelectionColor (const JColorID color)
 
bool GetRowHeader (const JTable **table) const
 
void SetRowHeader (JTable *table)
 
bool GetColHeader (const JTable **table) const
 
void SetColHeader (JTable *table)
 
bool RowIndexValid (const JIndex index) const
 
bool ColIndexValid (const JIndex index) const
 
bool CellValid (const JPoint &cell) const
 
bool TableScrollToCell (const JPoint &cell, const bool centerInDisplay=false)
 
void RegisterAuxData (JTableData *auxData)
 
void RemoveAuxData (JTableData *auxData)
 

Static Public Member Functions

static JSize GetDefaultIndentWidth ()
 
- Static Public Member Functions inherited from JXScrollableWidget
static void SkipScrollSetup (std::istream &input)
 
- 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

static const JUtf8BytekNodeDblClicked = "NodeDblClicked::JXTreeListWidget"
 
- Static Public Attributes inherited from JXWidget
static const JUtf8BytekGotFocus = "GotFocus::JXWidget"
 
static const JUtf8BytekLostFocus = "LostFocus::JXWidget"
 
- Static Public Attributes inherited from JTable
static const JUtf8BytekRowHeightChanged = "RowHeightChanged::JTable"
 
static const JUtf8BytekAllRowHeightsChanged = "AllRowHeightsChanged::JTable"
 
static const JUtf8BytekRowsInserted = "RowsInserted::JTable"
 
static const JUtf8BytekRowsRemoved = "RowsRemoved::JTable"
 
static const JUtf8BytekRowMoved = "RowMoved::JTable"
 
static const JUtf8BytekRowBorderWidthChanged = "RowBorderWidthChanged::JTable"
 
static const JUtf8BytekColWidthChanged = "ColWidthChanged::JTable"
 
static const JUtf8BytekAllColWidthsChanged = "AllColWidthsChanged::JTable"
 
static const JUtf8BytekColsInserted = "ColsInserted::JTable"
 
static const JUtf8BytekColsRemoved = "ColsRemoved::JTable"
 
static const JUtf8BytekColMoved = "ColMoved::JTable"
 
static const JUtf8BytekColBorderWidthChanged = "ColBorderWidthChanged::JTable"
 
static const JUtf8BytekPrepareForTableDataMessage = "PrepareForTableDataMessage::JTable"
 
static const JUtf8BytekPrepareForTableDataChange = "PrepareForTableDataChange::JTable"
 
static const JUtf8BytekTableDataChanged = "TableDataChanged::JTable"
 

Protected Member Functions

bool WillDrawSelection () const
 
void ShouldDrawSelection (const bool draw)
 
JIndex GetElasticColIndex () const
 
void SetElasticColIndex (const JIndex index)
 
void NeedsAdjustToTree ()
 
virtual void AdjustToTree ()
 
virtual JSize GetMinCellWidth (const JPoint &cell) const =0
 
bool WantsToDrawCell (const JPoint &cell) const
 
void TableDrawCell (JPainter &p, const JPoint &cell, const JRect &rect) override
 
virtual void TLWDrawNode (JPainter &p, const JPoint &cell, const JRect &rect)=0
 
bool IsDraggingToggle () const
 
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
 
bool GetDNDTargetIndex (JIndex *index) const
 
void SetDNDTargetIndex (const JIndex index)
 
void ClearDNDTargetIndex ()
 
void ApertureResized (const JCoordinate dw, const JCoordinate dh) override
 
void Receive (JBroadcaster *sender, const Message &message) override
 
- Protected Member Functions inherited from JXStyleTable
JCoordinate GetMin1DVisibleWidth (const JPoint &cell) const override
 
- Protected Member Functions inherited from JXEditTable
bool CreateInputField (const JPoint &cell, const JRect &cellRect) override
 
void DeleteInputField () override
 
void PlaceInputField (const JCoordinate x, const JCoordinate y) override
 
void MoveInputField (const JCoordinate dx, const JCoordinate dy) override
 
void SetInputFieldSize (const JCoordinate w, const JCoordinate h) override
 
void ResizeInputField (const JCoordinate dw, const JCoordinate dh) override
 
virtual JXInputFieldCreateXInputField (const JPoint &cell, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h)=0
 
virtual void PrepareDeleteXInputField ()=0
 
bool GetXInputField (JXInputField **inputField) const
 
- Protected Member Functions inherited from JXTable
void Draw (JXWindowPainter &p, const JRect &rect) override
 
bool HitSamePart (const JPoint &pt1, const JPoint &pt2) const override
 
void TableRefresh () override
 
void TableRefreshRect (const JRect &rect) override
 
void TableSetGUIBounds (const JCoordinate w, const JCoordinate h) override
 
void TableSetScrollSteps (const JCoordinate hStep, const JCoordinate vStep) override
 
void TableHeightChanged (const JCoordinate y, const JCoordinate delta) override
 
void TableHeightScaled (const JFloat scaleFactor) override
 
void TableRowMoved (const JCoordinate origY, const JSize height, const JCoordinate newY) override
 
void TableWidthChanged (const JCoordinate x, const JCoordinate delta) override
 
void TableWidthScaled (const JFloat scaleFactor) override
 
void TableColMoved (const JCoordinate origX, const JSize width, const JCoordinate newX) override
 
bool TableScrollToCellRect (const JRect &cellRect, const bool centerInDisplay=false) override
 
JCoordinate TableGetApertureWidth () const override
 
void BeginSelectionDrag (const JPoint &cell, const JXMouseButton button, const JXKeyModifiers &modifiers)
 
void ContinueSelectionDrag (const JPoint &pt, const JXKeyModifiers &modifiers)
 
bool HandleSelectionKeyPress (const JUtf8Character &c, const JXKeyModifiers &modifiers)
 
- Protected Member Functions inherited from JXScrollableWidget
bool ScrollForDrag (const JPoint &pt)
 
bool ScrollForWheel (const JXMouseButton button, const JXKeyModifiers &modifiers)
 
bool ScrollForWheel (const JXMouseButton button, const JXKeyModifiers &modifiers, JXScrollbar *hScrollbar, JXScrollbar *vScrollbar)
 
void SetHorizStepSize (const JCoordinate hStep)
 
void SetHorizPageStepContext (const JCoordinate hPageContext)
 
void SetVertStepSize (const JCoordinate vStep)
 
void SetVertPageStepContext (const JCoordinate vPageContext)
 
void SetHorizJumpToScrolltabModifiers (const bool ctrl, const bool meta)
 
void SetVertJumpToScrolltabModifiers (const bool ctrl, const bool meta)
 
void DrawBorder (JXWindowPainter &p, const JRect &frame) override
 
void BoundsMoved (const JCoordinate dx, const JCoordinate dy) override
 
void BoundsResized (const JCoordinate dw, const JCoordinate dh) override
 
void ApertureMoved (const JCoordinate dx, const JCoordinate dy) override
 
void HandleDNDScroll (const JPoint &pt, const JXMouseButton scrollButton, const JXKeyModifiers &modifiers) 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
 
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 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)
 
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 bool NeedsInternalFTC () 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)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 
- Protected Member Functions inherited from JTable
void TableRefreshCell (const JPoint &cell)
 
void TableRefreshCell (const JIndex row, const JIndex col)
 
void TableRefreshCellRect (const JRect &cellRect)
 
void TableRefreshRow (const JIndex index)
 
void TableRefreshCol (const JIndex index)
 
bool WillActLike1DList () const
 
void ShouldActLike1DList (const bool act1D=true)
 
void SetDrawOrder (const DrawOrder order)
 
void TableDraw (JPainter &p, const JRect &r, const bool drawLowerRightBorder=false)
 
virtual void TablePrepareToDrawRow (const JIndex rowIndex, const JIndex firstCol, const JIndex lastCol)
 
virtual void TablePrepareToDrawCol (const JIndex colIndex, const JIndex firstRow, const JIndex lastRow)
 
bool Paginate (const JCoordinate pageWidth, const JCoordinate pageHeight, const bool userPrintRowHeader, JArray< JCoordinate > *rowBreakpts, bool *printRowHeader, const bool userPrintColHeader, JArray< JCoordinate > *colBreakpts, bool *printColHeader) const
 
void HilightIfSelected (JPainter &p, const JPoint &cell, const JRect &rect) const
 
void InsertRows (const JIndex index, const JSize count, const JCoordinate rowHeight=0)
 
void PrependRows (const JSize count, const JCoordinate rowHeight=0)
 
void AppendRows (const JSize count, const JCoordinate rowHeight=0)
 
void RemoveRow (const JIndex index)
 
void RemoveNextRows (const JIndex firstIndex, const JSize count)
 
void RemovePrevRows (const JIndex lastIndex, const JSize count)
 
void RemoveAllRows ()
 
void MoveRow (const JIndex origIndex, const JIndex newIndex)
 
void InsertCols (const JIndex index, const JSize count, const JCoordinate colWidth=0)
 
void PrependCols (const JSize count, const JCoordinate colWidth=0)
 
void AppendCols (const JSize count, const JCoordinate colWidth=0)
 
void RemoveCol (const JIndex index)
 
void RemoveNextCols (const JIndex firstIndex, const JSize count)
 
void RemovePrevCols (const JIndex lastIndex, const JSize count)
 
void RemoveAllCols ()
 
void MoveCol (const JIndex origIndex, const JIndex newIndex)
 
virtual bool ExtractInputData (const JPoint &cell)
 
virtual JCoordinate GetPrintHeaderHeight (JPagePrinter &p) const
 
virtual JCoordinate GetPrintFooterHeight (JPagePrinter &p) const
 
virtual void DrawPrintHeader (JPagePrinter &p, const JCoordinate headerHeight)
 
virtual void DrawPrintFooter (JPagePrinter &p, const JCoordinate footerHeight)
 
bool IsDraggingSelection () const
 
void SetSelectionBehavior (const bool allowMultiple, const bool allowDiscont)
 
void BeginSelectionDrag (const JPoint &cell, const bool extendSelection, const bool selectDiscont)
 
void ContinueSelectionDrag (const JPoint &cell)
 
void FinishSelectionDrag ()
 
bool HandleSelectionKeyPress (const JUtf8Character &key, const bool extendSelection)
 
void AdjustToTableData ()
 

Friends

class JXTLWAdjustToTreeTask
 

Additional Inherited Members

- Public Types inherited from JXWidget
enum  HSizingOption {
  kFixedLeft ,
  kFixedRight ,
  kHElastic
}
 
enum  VSizingOption {
  kFixedTop ,
  kFixedBottom ,
  kVElastic
}
 
- Protected Types inherited from JTable
enum  DrawOrder {
  kDrawByRow ,
  kDrawByCol
}
 

Detailed Description

Displays contents of JTreeList.

Derived classes must override:

    TLWDrawNode
        Draw the specified node inside the given rectangle.

    GetMinCellWidth
        Return the minimum width for the specified cell.  This is used
        to adjust the column widths.

Derived classes can also override:

    AdjustToTree
        Adjust the table to match the new state of the tree list.
        (The base class adjusts the width of the table.)

Constructor & Destructor Documentation

◆ JXTreeListWidget()

JXTreeListWidget::JXTreeListWidget ( JTreeList treeList,
JXScrollbarSet scrollbarSet,
JXContainer enclosure,
const HSizingOption  hSizing,
const VSizingOption  vSizing,
const JCoordinate  x,
const JCoordinate  y,
const JCoordinate  w,
const JCoordinate  h 
)

◆ ~JXTreeListWidget()

JXTreeListWidget::~JXTreeListWidget ( )
override

Member Function Documentation

◆ AdjustToTree()

void JXTreeListWidget::AdjustToTree ( )
protectedvirtual

Reimplemented in JXNamedTreeListWidget.

◆ ApertureResized()

void JXTreeListWidget::ApertureResized ( const JCoordinate  dw,
const JCoordinate  dh 
)
overrideprotectedvirtual

Reimplemented from JXScrollableWidget.

◆ ClearDNDTargetIndex()

void JXTreeListWidget::ClearDNDTargetIndex ( )
inlineprotected

◆ CloseSelectedNodes()

void JXTreeListWidget::CloseSelectedNodes ( const bool  closeSiblings = false,
const bool  closeDescendants = false 
)

◆ ForceAdjustToTree()

void JXTreeListWidget::ForceAdjustToTree ( )

This function is provided so that you can update the aperture immediately instead of waiting until the urgent task does it.

We need a while loop because AdjustToTree() is virtual so derived classes may trigger additional adjustments.

◆ GetDefaultIndentWidth()

JSize JXTreeListWidget::GetDefaultIndentWidth ( )
static

◆ GetDNDTargetIndex()

bool JXTreeListWidget::GetDNDTargetIndex ( JIndex index) const
inlineprotected

Allows derived classes to indicate the drop target independent of the selection if the icon is darkened when selected.

◆ GetElasticColIndex()

JIndex JXTreeListWidget::GetElasticColIndex ( ) const
inlineprotected

Set the index to zero to force all columns to their minimum width.

◆ GetIndentWidth()

JSize JXTreeListWidget::GetIndentWidth ( ) const
inline

This specified how far a nodes children should be indented relative to the node itself.

◆ GetMaxOpenDepth()

JSize JXTreeListWidget::GetMaxOpenDepth ( ) const
inline

This specifies the maximum depth to which a node should be opened when the arrow is meta-clicked.

◆ GetMinCellWidth()

virtual JSize JXTreeListWidget::GetMinCellWidth ( const JPoint cell) const
protectedpure virtual

Implemented in JXNamedTreeListWidget.

◆ GetNodeColIndex()

JIndex JXTreeListWidget::GetNodeColIndex ( ) const
inline

◆ GetNodeIndent()

JSize JXTreeListWidget::GetNodeIndent ( const JIndex  index) const

◆ GetSelectedNodes()

void JXTreeListWidget::GetSelectedNodes ( JPtrArray< JTreeNode > *  list) const

◆ GetToggleOpenColIndex()

JIndex JXTreeListWidget::GetToggleOpenColIndex ( ) const
inline

◆ GetTreeList() [1/2]

JTreeList * JXTreeListWidget::GetTreeList ( )
inline

◆ GetTreeList() [2/2]

const JTreeList * JXTreeListWidget::GetTreeList ( ) const
inline

◆ HandleKeyPress()

void JXTreeListWidget::HandleKeyPress ( const JUtf8Character c,
const int  keySym,
const JXKeyModifiers modifiers 
)
overridevirtual

Return - move down, TAB - move right, shift - opposite direction

Meta: arrows or keypad numbers move in obvious directions

Meta-Return: EndEditing()

Reimplemented from JXEditTable.

◆ HandleMouseDown()

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

The default is to support scrolling via a wheel mouse.

Reimplemented from JXScrollableWidget.

◆ HandleMouseDrag()

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

Reimplemented from JXContainer.

◆ HandleMouseUp()

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

Reimplemented from JXContainer.

◆ IsDraggingToggle()

bool JXTreeListWidget::IsDraggingToggle ( ) const
inlineprotected

◆ IsEditable()

bool JXTreeListWidget::IsEditable ( const JPoint cell) const
overridevirtual

Derived classes should override this if there are some cells that cannot be edited.

Reimplemented from JXEditTable.

◆ IsSelectable()

bool JXTreeListWidget::IsSelectable ( const JPoint cell,
const bool  forExtend 
) const
overridevirtual

The default is for all cells other than the ToggleOpen column to be selectable. forExtend is true if the cell will be selected as part of an "extend selection" operation.

Reimplemented from JTable.

◆ NeedsAdjustToTree()

void JXTreeListWidget::NeedsAdjustToTree ( )
protected

◆ OpenSelectedNodes()

void JXTreeListWidget::OpenSelectedNodes ( const bool  openSiblings = false,
const bool  openDescendants = false 
)

◆ Receive()

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

Because of multiple inheritance, we have to route the messages manually.

Reimplemented from JXTable.

◆ ScrollToNode()

void JXTreeListWidget::ScrollToNode ( const JTreeNode node)

◆ ScrollToShowChildren()

void JXTreeListWidget::ScrollToShowChildren ( const JIndex  index)

Scroll down as little as necessary to make the children of the specified node visible. Don't scroll the specified node beyond the top of the aperture.

◆ SelectNodes()

void JXTreeListWidget::SelectNodes ( const JPtrArray< JTreeNode > &  list)

This does not clear the selection before selecting the specified nodes.

◆ SetDNDTargetIndex()

void JXTreeListWidget::SetDNDTargetIndex ( const JIndex  index)
inlineprotected

◆ SetElasticColIndex()

void JXTreeListWidget::SetElasticColIndex ( const JIndex  index)
inlineprotected

◆ SetIndentWidth()

void JXTreeListWidget::SetIndentWidth ( const JSize  width)
inline

◆ SetMaxOpenDepth()

void JXTreeListWidget::SetMaxOpenDepth ( const JSize  maxDepth)
inline

◆ ShouldDrawSelection()

void JXTreeListWidget::ShouldDrawSelection ( const bool  draw)
inlineprotected

◆ TableDrawCell()

void JXTreeListWidget::TableDrawCell ( JPainter p,
const JPoint cell,
const JRect rect 
)
overrideprotectedvirtual

Implements JTable.

◆ TLWDrawNode()

virtual void JXTreeListWidget::TLWDrawNode ( JPainter p,
const JPoint cell,
const JRect rect 
)
protectedpure virtual

Implemented in JXNamedTreeListWidget.

◆ ToggleNode()

void JXTreeListWidget::ToggleNode ( const JIndex  index,
const bool  siblings = false,
const bool  descendants = false 
)

◆ WantsToDrawCell()

bool JXTreeListWidget::WantsToDrawCell ( const JPoint cell) const
inlineprotected

◆ WillDrawSelection()

bool JXTreeListWidget::WillDrawSelection ( ) const
inlineprotected

Friends And Related Symbol Documentation

◆ JXTLWAdjustToTreeTask

friend class JXTLWAdjustToTreeTask
friend

Member Data Documentation

◆ kNodeDblClicked

const JUtf8Byte * JXTreeListWidget::kNodeDblClicked = "NodeDblClicked::JXTreeListWidget"
static

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