|
| | JXToolBar (JPrefsManager *prefsMgr, const JPrefID &id, JXMenuBar *menuBar, JXContainer *enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h) |
| |
| | ~JXToolBar () override |
| |
| JXWidgetSet * | GetWidgetEnclosure () const |
| |
| void | LoadPrefs () |
| |
| bool | IsEmpty () const |
| |
| void | AppendButton (JXTextMenu *menu, const JIndex index) |
| |
| void | AppendButton (JXTextMenu *menu, const JString &id) |
| |
| void | NewGroup () |
| |
| void | Edit () |
| |
| bool | IsUsingSmallButtons () const |
| |
| void | UseSmallButtons (const bool useSmall) |
| |
| bool | ToolBarVisible () const |
| |
| void | ShowToolBar (const bool show) |
| |
| JXToolBarButton::Type | GetButtonType () const |
| |
| void | SetButtonType (const JXToolBarButton::Type type) |
| |
| | 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 () |
| |
| | ~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 |
| |
| | ~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) |
| |
| | JPrefObject (JPrefsManager *prefsMgr, const JPrefID &id) |
| |
| virtual | ~JPrefObject () |
| |
| bool | PrefInfoValid () const |
| |
| bool | GetPrefInfo (JPrefsManager **mgr, JIndex *id) const |
| |
| void | SetPrefInfo (JPrefsManager *prefsMgr, const JPrefID &id) |
| |
| void | ReadPrefs () |
| |
| void | WritePrefs () const |
| |
|
| void | Receive (JBroadcaster *sender, const Message &message) override |
| |
| void | ReadPrefs (std::istream &is) override |
| |
| void | WritePrefs (std::ostream &os) const override |
| |
| void | ApertureResized (const JCoordinate dw, const JCoordinate dh) override |
| |
| void | Draw (JXWindowPainter &p, const JRect &rect) override |
| |
| void | DrawBorder (JXWindowPainter &p, const JRect &frame) override |
| |
| bool | NeedsInternalFTC () const 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 | 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 |
| |
| 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 |
| |
| 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) |
| |
| | 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 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) |
| |
| 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) |
| |
| virtual void | ReceiveGoingAway (JBroadcaster *sender) |
| |
Implements a user-configurable button toolbar. The basic idea is that
one creates a JXToolBar below the JXMenuBar, and places one's own widgets
inside the JXWidgetSet returned by JXToolBar::GetWidgetEnclosure().
(This is similar to the way JXScrollbarSet works.) Since the space
required by the buttons changes its height when the window's width changes,
one has to provide the minimum window size (excluding the toolbar's
height) so the toolbar can call JXWindow::SetMinSize() to keep anything
from shrinking to zero.
After creating JXToolBar, one should call LoadPrefs(). If IsEmpty()
returns true after this, then one should use AppendButton() and NewGroup()
to set up a default toolbar. A menu item should be provided to call
Edit() so the user can change the configuration.
Every menu item accessible from the given JXMenuBar that has an ID
will be included in the editor dialog. If the menu item has an image,
the "show image" and "show text" checkboxes will control what is displayed
on the button. Otherwise, the menu item's text will always be displayed.