|
| JXStringList (JXScrollbarSet *scrollbarSet, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h) |
|
| ~JXStringList () override |
|
const JPtrArray< JString > & | GetStringList () const |
|
void | SetStringList (const JPtrArray< JString > *list) |
|
const JFont & | GetFont () const |
|
void | SetFont (const JString &name, const JSize size) |
|
JFontStyle | GetStyle (const JIndex index) const |
|
void | SetStyle (const JIndex index, const JFontStyle &style) |
|
void | SetStyles (const JRunArray< JFontStyle > &styleList) |
|
void | SetAllStyles (const JFontStyle &style) |
|
void | HandleKeyPress (const JUtf8Character &c, const int keySym, const JXKeyModifiers &modifiers) override |
|
void | ClearIncrementalSearchBuffer () |
|
void | AdjustColWidth () |
|
| 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 |
|
| 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) |
|
| ~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 |
|
| ~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 |
|
JXDisplay * | GetDisplay () const |
|
JXWindow * | GetWindow () const |
|
JXContainer * | GetEnclosure () const |
|
JFontManager * | GetFontManager () const |
|
JXFontManager * | GetXFontManager () const |
|
JXSelectionManager * | GetSelectionManager () const |
|
JXDNDManager * | GetDNDManager () const |
|
JXMenuManager * | GetMenuManager () 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 |
|
| JBroadcaster () |
|
virtual | ~JBroadcaster () |
|
JBroadcaster & | operator= (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) |
|
| 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 |
|
JTableSelection & | GetTableSelection () |
|
const JTableSelection & | GetTableSelection () const |
|
virtual bool | IsSelectable (const JPoint &cell, const bool forExtend) const |
|
void | SelectSingleCell (const JPoint &cell, const bool scroll=true) |
|
bool | GetNextSelectableCell (JPoint *cell, const JPoint &delta, const bool forExtend) const |
|
virtual bool | IsEditable (const JPoint &cell) 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) |
|
|
void | TableDrawCell (JPainter &p, const JPoint &cell, const JRect &rect) override |
|
void | ApertureResized (const JCoordinate dw, const JCoordinate dh) override |
|
void | HandleFocusEvent () override |
|
void | Receive (JBroadcaster *sender, const Message &message) override |
|
void | ReceiveGoingAway (JBroadcaster *sender) override |
|
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) |
|
void | Receive (JBroadcaster *sender, const Message &message) override |
|
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 | HandleMouseDown (const JPoint &pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates &buttonStates, const JXKeyModifiers &modifiers) 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 |
|
| 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 | 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 |
|
JXDragPainter * | CreateDragInsidePainter () |
|
JXDragPainter * | CreateDragOutsidePainter () |
|
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) |
|
| 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 | 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) |
|
JXCursorAnimator * | CreateCursorAnimator () |
|
JXCursorAnimator * | GetCursorAnimator () 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) |
|
| 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) |
|
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 JCoordinate | GetMin1DVisibleWidth (const JPoint &cell) const |
|
virtual bool | CreateInputField (const JPoint &cell, const JRect &cellRect) |
|
virtual bool | ExtractInputData (const JPoint &cell) |
|
virtual void | DeleteInputField () |
|
virtual void | PlaceInputField (const JCoordinate x, const JCoordinate y) |
|
virtual void | MoveInputField (const JCoordinate dx, const JCoordinate dy) |
|
virtual void | SetInputFieldSize (const JCoordinate w, const JCoordinate h) |
|
virtual void | ResizeInputField (const JCoordinate dw, const JCoordinate dh) |
|
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 () |
|
Maintains a column of strings stored in a JPtrArray<JString>.
This is very different from a JStringTable which requires a JTableData
object.
Note that we can only receive notification when the elements of the
JPtrArray change. i.e. When the JString pointer changes, -not- when the
JString data changes.
Since recalculating the required width after every change would take
too much time, we update the width whenever we encounter a string
that is wider than our current width.