Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members
|
Window is the base class for all widgets in FOX. More...
#include <FXWindow.h>
Public Types | |
enum | WindowClass { ClassNormal, ClassGraphic, ClassSpecial, ClassRoot, ClassShell, ClassPopup, ClassToolTip, ClassMain, ClassDialog, ClassToolBar, ClassSplash, ClassNotify, ClassPanel, ClassDesktop } |
Window classes. More... | |
enum | { ID_NONE, ID_HIDE, ID_SHOW, ID_TOGGLESHOWN, ID_LOWER, ID_RAISE, ID_DELETE, ID_DISABLE, ID_ENABLE, ID_TOGGLEENABLED, ID_UNCHECK, ID_CHECK, ID_UNKNOWN, ID_UPDATE, ID_TIPTIMER, ID_SETVALUE, ID_SETINTVALUE, ID_SETLONGVALUE, ID_SETREALVALUE, ID_SETSTRINGVALUE, ID_SETICONVALUE, ID_SETINTRANGE, ID_SETREALRANGE, ID_GETINTVALUE, ID_GETLONGVALUE, ID_GETREALVALUE, ID_GETSTRINGVALUE, ID_GETICONVALUE, ID_GETINTRANGE, ID_GETREALRANGE, ID_SETHELPSTRING, ID_GETHELPSTRING, ID_SETTIPSTRING, ID_GETTIPSTRING, ID_QUERY_MENU, ID_HOTKEY, ID_ACCEL, ID_UNPOST, ID_POST, ID_MDI_TILEHORIZONTAL, ID_MDI_TILEVERTICAL, ID_MDI_CASCADE, ID_MDI_MAXIMIZE, ID_MDI_MINIMIZE, ID_MDI_RESTORE, ID_MDI_CLOSE, ID_MDI_WINDOW, ID_MDI_MENUWINDOW, ID_MDI_MENUMINIMIZE, ID_MDI_MENURESTORE, ID_MDI_MENUCLOSE, ID_MDI_NEXT, ID_MDI_PREV, ID_LAST } |
Public Member Functions | |
long | onPaint (FXObject *, FXSelector, void *) |
long | onMap (FXObject *, FXSelector, void *) |
long | onUnmap (FXObject *, FXSelector, void *) |
long | onConfigure (FXObject *, FXSelector, void *) |
long | onUpdate (FXObject *, FXSelector, void *) |
long | onMotion (FXObject *, FXSelector, void *) |
long | onMouseWheel (FXObject *, FXSelector, void *) |
long | onEnter (FXObject *, FXSelector, void *) |
long | onLeave (FXObject *, FXSelector, void *) |
long | onLeftBtnPress (FXObject *, FXSelector, void *) |
long | onLeftBtnRelease (FXObject *, FXSelector, void *) |
long | onMiddleBtnPress (FXObject *, FXSelector, void *) |
long | onMiddleBtnRelease (FXObject *, FXSelector, void *) |
long | onRightBtnPress (FXObject *, FXSelector, void *) |
long | onRightBtnRelease (FXObject *, FXSelector, void *) |
long | onSpaceBallMotion (FXObject *, FXSelector, void *) |
long | onSpaceBallButtonPress (FXObject *, FXSelector, void *) |
long | onSpaceBallButtonRelease (FXObject *, FXSelector, void *) |
long | onBeginDrag (FXObject *, FXSelector, void *) |
long | onEndDrag (FXObject *, FXSelector, void *) |
long | onDragged (FXObject *, FXSelector, void *) |
long | onKeyPress (FXObject *, FXSelector, void *) |
long | onKeyRelease (FXObject *, FXSelector, void *) |
long | onUngrabbed (FXObject *, FXSelector, void *) |
long | onDestroy (FXObject *, FXSelector, void *) |
long | onFocusSelf (FXObject *, FXSelector, void *) |
long | onFocusIn (FXObject *, FXSelector, void *) |
long | onFocusOut (FXObject *, FXSelector, void *) |
long | onSelectionLost (FXObject *, FXSelector, void *) |
long | onSelectionGained (FXObject *, FXSelector, void *) |
long | onSelectionRequest (FXObject *, FXSelector, void *) |
long | onClipboardLost (FXObject *, FXSelector, void *) |
long | onClipboardGained (FXObject *, FXSelector, void *) |
long | onClipboardRequest (FXObject *, FXSelector, void *) |
long | onDNDEnter (FXObject *, FXSelector, void *) |
long | onDNDLeave (FXObject *, FXSelector, void *) |
long | onDNDMotion (FXObject *, FXSelector, void *) |
long | onDNDDrop (FXObject *, FXSelector, void *) |
long | onDNDRequest (FXObject *, FXSelector, void *) |
long | onQueryHelp (FXObject *, FXSelector, void *) |
long | onQueryTip (FXObject *, FXSelector, void *) |
long | onCmdShow (FXObject *, FXSelector, void *) |
long | onCmdHide (FXObject *, FXSelector, void *) |
long | onUpdToggleShown (FXObject *, FXSelector, void *) |
long | onCmdToggleShown (FXObject *, FXSelector, void *) |
long | onCmdRaise (FXObject *, FXSelector, void *) |
long | onCmdLower (FXObject *, FXSelector, void *) |
long | onCmdEnable (FXObject *, FXSelector, void *) |
long | onCmdDisable (FXObject *, FXSelector, void *) |
long | onUpdToggleEnabled (FXObject *, FXSelector, void *) |
long | onCmdToggleEnabled (FXObject *, FXSelector, void *) |
long | onCmdUpdate (FXObject *, FXSelector, void *) |
long | onUpdYes (FXObject *, FXSelector, void *) |
long | onCmdDelete (FXObject *, FXSelector, void *) |
FXWindow (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0) | |
Constructor. | |
FXWindow * | getParent () const |
Return a pointer to the parent window. | |
FXWindow * | getOwner () const |
Return a pointer to the owner window. | |
FXWindow * | getNext () const |
Return a pointer to the next (sibling) window, if any. | |
FXWindow * | getPrev () const |
Return a pointer to the previous (sibling) window , if any. | |
FXWindow * | getFirst () const |
Return a pointer to this window's first child window , if any. | |
FXWindow * | getLast () const |
Return a pointer to this window's last child window, if any. | |
FXWindow * | getFocus () const |
Return a pointer to the currently focused child window. | |
FXWindow * | getShell () const |
Return a pointer to the shell window. | |
FXWindow * | getRoot () const |
Return a pointer to the root window. | |
virtual WindowClass | getWindowClass () const |
Get window class. | |
void | setKey (FXuint k) |
Change window key. | |
FXuint | getKey () const |
Return window key. | |
FXWindow * | getChildWithKey (FXuint k) const |
Return child window with given window key. | |
void | setTarget (FXObject *t) |
Set the message target object for this window. | |
FXObject * | getTarget () const |
Get the message target object for this window, if any. | |
void | setSelector (FXSelector sel) |
Set the message identifier for this window. | |
FXSelector | getSelector () const |
Get the message identifier for this window. | |
FXint | getX () const |
Get this window's x-coordinate, in the parent's coordinate system. | |
FXint | getY () const |
Get this window's y-coordinate, in the parent's coordinate system. | |
virtual FXint | getDefaultWidth () |
Return the default width of this window. | |
virtual FXint | getDefaultHeight () |
Return the default height of this window. | |
virtual FXint | getWidthForHeight (FXint givenheight) |
Return width for given height. | |
virtual FXint | getHeightForWidth (FXint givenwidth) |
Return height for given width. | |
void | setX (FXint x) |
Set this window's x-coordinate, in the parent's coordinate system. | |
void | setY (FXint y) |
Set this window's y-coordinate, in the parent's coordinate system. | |
void | setWidth (FXint w) |
Set the window width; and flag the widget as being in need of layout by its parent. More... | |
void | setHeight (FXint h) |
Set the window height; and flag the widget as being in need of layout by its parent. More... | |
void | setLayoutHints (FXuint lout) |
Set layout hints for this window. | |
FXuint | getLayoutHints () const |
Get layout hints for this window. | |
FXAccelTable * | getAccelTable () const |
Return a pointer to the accelerator table. | |
void | setAccelTable (FXAccelTable *acceltable) |
Set the accelerator table. | |
void | addHotKey (FXHotKey code) |
Add a hot key. | |
void | remHotKey (FXHotKey code) |
Remove a hot key. | |
void | setHelpTag (const FXString &text) |
Change help tag for this widget. | |
const FXString & | getHelpTag () const |
Get the help tag for this widget. | |
FXbool | isShell () const |
Return true if window is a shell window. | |
FXbool | isOwnerOf (const FXWindow *window) const |
Return true if specified window is owned by this window. | |
FXbool | isChildOf (const FXWindow *window) const |
Return true if specified window is ancestor of this window. | |
FXbool | containsChild (const FXWindow *child) const |
Return true if this window contains child in its subtree. | |
FXWindow * | getChildAt (FXint x, FXint y) const |
Return the child window at specified coordinates. | |
FXint | numChildren () const |
Return the number of child windows for this window. | |
FXint | indexOfChild (const FXWindow *window) const |
Return the index (starting from zero) of the specified child window, or -1 if the window is not a child or NULL. | |
FXWindow * | childAtIndex (FXint index) const |
Return the child window at specified index, or NULL if the index is negative or out of range. | |
FXComposeContext * | getComposeContext () const |
Return compose context. | |
void | createComposeContext () |
Create compose context. | |
void | destroyComposeContext () |
Destroy compose context. | |
FXbool | cursorShown () const |
Is cursor shown. | |
void | showCursor (FXbool flag=true) |
Show or hide the cursor. | |
void | setDefaultCursor (FXCursor *cur) |
Set the default cursor for this window. | |
FXCursor * | getDefaultCursor () const |
Return the default cursor for this window. | |
void | setDragCursor (FXCursor *cur) |
Set the drag cursor for this window. | |
FXCursor * | getDragCursor () const |
Return the drag cursor for this window. | |
FXbool | getCursorPosition (FXint &x, FXint &y, FXuint &buttons) const |
Return the cursor position and mouse button-state. | |
FXbool | setCursorPosition (FXint x, FXint y) |
Warp the cursor to the new position. | |
FXbool | isActive () const |
Return true if the window is active. | |
virtual FXbool | canFocus () const |
Return true if this window is a control capable of receiving the focus. | |
FXbool | hasFocus () const |
Return true if this window has the focus. | |
FXbool | inFocusChain () const |
Return true if this window is in focus chain. | |
virtual void | setFocus () |
Move the focus to this window. | |
virtual void | killFocus () |
Remove the focus from this window. | |
FXbool | isDefault () const |
Return true if this is the default window. | |
virtual void | setDefault (FXuchar flag=true) |
This changes the default window which responds to the Return key in a dialog. More... | |
FXWindow * | findDefault () const |
Find default window among this window's children. | |
FXbool | isInitial () const |
Return true if this is the initial default window. | |
void | setInitial (FXbool flag=true) |
Make this window the initial default window. | |
FXWindow * | findInitial () const |
Find inital default window among this window's children. | |
FXbool | isEnabled () const |
Return true if this window is able to receive mouse and keyboard events. | |
virtual void | enable () |
Enable the window to receive mouse and keyboard events. | |
virtual void | disable () |
Disable the window from receiving mouse and keyboard events. | |
virtual void | create () |
Create all of the server-side resources for this window. | |
virtual void | attach (FXID w) |
Attach foreign window handle to this window. | |
virtual void | detach () |
Detach the server-side resources for this window. | |
virtual void | destroy () |
Destroy the server-side resources for this window. | |
virtual void | setShape (const FXRegion ®ion) |
Set window shape by means of region. | |
virtual void | setShape (FXBitmap *bitmap) |
Set window shape by means of bitmap. | |
virtual void | setShape (FXIcon *icon) |
Set window shape by means of icon. | |
virtual void | clearShape () |
Clear window shape. | |
virtual void | raise () |
Raise this window to the top of the stacking order. | |
virtual void | lower () |
Lower this window to the bottom of the stacking order. | |
virtual void | move (FXint x, FXint y) |
Move the window immediately, in the parent's coordinate system. More... | |
virtual void | resize (FXint w, FXint h) |
Resize the window to the specified width and height immediately, updating the server representation as well, if the window was realized. More... | |
virtual void | position (FXint x, FXint y, FXint w, FXint h) |
Move and resize the window immediately, in the parent's coordinate system. More... | |
virtual void | recalc () |
Mark this window's layout as dirty for later layout. | |
virtual void | layout () |
Perform layout immediately. | |
void | forceRefresh () |
Generate a SEL_UPDATE message for the window and its children. | |
virtual void | reparent (FXWindow *father, FXWindow *other=nullptr) |
Reparent this window under new father before other. | |
void | scroll (FXint x, FXint y, FXint w, FXint h, FXint dx, FXint dy) const |
Scroll rectangle x,y,w,h by a shift of dx,dy. | |
void | update (FXint x, FXint y, FXint w, FXint h) const |
Mark the specified rectangle to be repainted later. | |
void | update () const |
Mark the entire window to be repainted later. | |
void | repaint (FXint x, FXint y, FXint w, FXint h) const |
Process any outstanding repaint messages immediately, for the given rectangle. | |
void | repaint () const |
Process any outstanding repaint messages immediately. | |
FXbool | grabbed () const |
Return true if the window has been grabbed. | |
void | grab () |
Grab the mouse to this window; future mouse events will be reported to this window even while the cursor goes outside of this window. | |
void | ungrab () |
Release the mouse grab. | |
FXbool | grabbedKeyboard () const |
Return true if active grab is in effect. | |
void | grabKeyboard () |
Grab keyboard device. | |
void | ungrabKeyboard () |
Ungrab keyboard device. | |
FXbool | shown () const |
Return true if the window is shown. | |
virtual void | show () |
Show this window. | |
virtual void | hide () |
Hide this window. | |
virtual FXbool | isComposite () const |
Return true if the window is composite. | |
FXbool | underCursor () const |
Return true if the window is under the cursor. | |
FXbool | hasSelection () const |
Return true if this window owns the primary selection. | |
FXbool | acquireSelection (const FXDragType *types, FXuint numtypes) |
Try to acquire the primary selection, given a list of drag types. | |
FXbool | releaseSelection () |
Release the primary selection. | |
FXbool | hasClipboard () const |
Return true if this window owns the clipboard. | |
FXbool | acquireClipboard (const FXDragType *types, FXuint numtypes) |
Try to acquire the clipboard, given a list of drag types. | |
FXbool | releaseClipboard () |
Release the clipboard. | |
FXbool | isDropEnabled () const |
Return true if this window is able to receive drops. | |
virtual void | dropEnable () |
Enable this window to receive drops. | |
virtual void | dropDisable () |
Disable this window from receiving drops. | |
FXbool | isDragging () const |
Return true if a drag operaion has been initiated from this window. | |
FXbool | beginDrag (const FXDragType *types, FXuint numtypes) |
Initiate a drag operation with a list of previously registered drag types. | |
FXbool | handleDrag (FXint x, FXint y, FXDragAction action=DRAG_COPY) |
When dragging, inform the drop-target of the new position and the drag action. | |
FXDragAction | endDrag (FXbool drop=true) |
Terminate the drag operation with or without actually dropping the data Returns the action performed by the target. | |
FXbool | isDropTarget () const |
Return true if this window is the target of a drop. | |
void | setDragRectangle (FXint x, FXint y, FXint w, FXint h, FXbool wantupdates=true) const |
When being dragged over, indicate that no further SEL_DND_MOTION messages are required while the cursor is inside the given rectangle. | |
void | clearDragRectangle () const |
When being dragged over, indicate we want to receive SEL_DND_MOTION messages every time the cursor moves. | |
void | acceptDrop (FXDragAction action=DRAG_ACCEPT) const |
When being dragged over, indicate acceptance or rejection of the dragged data. | |
FXDragAction | didAccept () const |
The target accepted our drop. | |
void | dropFinished (FXDragAction action=DRAG_REJECT) const |
Sent by the drop target in response to SEL_DND_DROP. More... | |
FXbool | inquireDNDTypes (FXDNDOrigin origin, FXDragType *&types, FXuint &numtypes) const |
When being dragged over, inquire the drag types which are being offered. | |
FXbool | offeredDNDType (FXDNDOrigin origin, FXDragType type) const |
When being dragged over, return true if we are offered the given drag type. | |
FXDragAction | inquireDNDAction () const |
When being dragged over, return the drag action. | |
FXbool | setDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *data, FXuint size) const |
Set DND data; the array must be allocated with allocElms() and ownership is transferred to the system. | |
FXbool | setDNDData (FXDNDOrigin origin, FXDragType type, const FXString &string) const |
Set DND data from string value. | |
FXbool | getDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *&data, FXuint &size) const |
Get DND data; the caller becomes the owner of the array and must free it with freeElms(). | |
FXbool | getDNDData (FXDNDOrigin origin, FXDragType type, FXString &string) const |
Get DND data into string value. | |
virtual FXbool | contains (FXint parentx, FXint parenty) const |
Return true if window logically contains the given point. | |
void | translateCoordinatesFrom (FXint &tox, FXint &toy, const FXWindow *fromwindow, FXint fromx, FXint fromy) const |
Translate coordinates from fromwindow's coordinate space to this window's coordinate space. | |
void | translateCoordinatesTo (FXint &tox, FXint &toy, const FXWindow *towindow, FXint fromx, FXint fromy) const |
Translate coordinates from this window's coordinate space to towindow's coordinate space. | |
virtual void | setBackColor (FXColor clr) |
Set window background color. | |
FXColor | getBackColor () const |
Get background color. | |
virtual FXbool | doesSaveUnder () const |
Does save-unders. | |
virtual const FXchar * | tr (const FXchar *text, const FXchar *hint=nullptr, FXint count=-1) const FX_FORMAT(2) |
Translate message for localization; using the current FXTranslator, an attempt is made to translate the given message into the current language. More... | |
virtual void | save (FXStream &store) const |
Save window to stream. | |
virtual void | load (FXStream &store) |
Restore window from stream. | |
virtual | ~FXWindow () |
Destroy window. | |
Public Member Functions inherited from FX::FXDrawable | |
FXVisual * | getVisual () const |
Get the visual. | |
FXint | getWidth () const |
Width of drawable. | |
FXint | getHeight () const |
Height of drawable. | |
void | setVisual (FXVisual *vis) |
Change visual. | |
virtual | ~FXDrawable () |
Cleanup. | |
Public Member Functions inherited from FX::FXId | |
FXApp * | getApp () const |
Get application. | |
FXID | id () const |
Get XID handle. | |
void | setUserData (FXptr ptr) |
Set user data pointer. | |
FXptr | getUserData () const |
Get user data pointer. | |
virtual | ~FXId () |
Destructor. | |
Public Member Functions inherited from FX::FXObject | |
const FXchar * | getClassName () const |
Get class name of some object. | |
FXbool | isMemberOf (const FXMetaClass *metaclass) const |
Check if object is member of metaclass. | |
virtual long | tryHandle (FXObject *sender, FXSelector sel, void *ptr) |
Try handle message safely, catching certain exceptions. | |
virtual long | onDefault (FXObject *, FXSelector, void *) |
Called for unhandled messages. | |
virtual | ~FXObject () |
Virtual destructor. | |
Static Public Member Functions | |
static FXWindow * | commonAncestor (FXWindow *a, FXWindow *b) |
Return the common ancestor of window a and window b. | |
static FXbool | before (const FXWindow *a, const FXWindow *b) |
Return true if sibling a <= sibling b in list. | |
static FXbool | after (const FXWindow *a, const FXWindow *b) |
Return true if sibling a >= sibling b in list. | |
Protected Member Functions | |
virtual FXbool | doesOverrideRedirect () const |
void | addColormapWindows () |
void | remColormapWindows () |
FXWindow (FXApp *a, FXVisual *vis) | |
FXWindow (FXApp *a, FXWindow *own, FXuint opts, FXint x, FXint y, FXint w, FXint h) | |
Protected Member Functions inherited from FX::FXDrawable | |
FXDrawable (FXApp *a, FXint w, FXint h) | |
Protected Member Functions inherited from FX::FXId | |
FXId (FXApp *a) | |
Protected Attributes | |
FXComposeContext * | composeContext |
FXCursor * | defaultCursor |
FXCursor * | dragCursor |
FXAccelTable * | accelTable |
FXObject * | target |
FXSelector | message |
FXint | xpos |
FXint | ypos |
FXColor | backColor |
FXString | tag |
FXuint | flags |
FXuint | options |
Protected Attributes inherited from FX::FXDrawable | |
FXVisual * | visual |
FXint | width |
FXint | height |
Protected Attributes inherited from FX::FXId | |
FXID | xid |
Friends | |
class | FXApp |
Window is the base class for all widgets in FOX.
All widgets are organized in a tree structure, with a single root window at the top. Each window links to its parent window, next and previous siblings windows, as well as its first and last child windows. A window also has an owner window, which is the window responsible for its creation and destruction. In most cases, the owner window will be the same as the parent window, except for top-level windows. The focus window determines to which child keyboard messages are delegated if the window is a composite window (i.e. if it has children). Windows are geometrically arranged by their immediate parent window; the actual method of placement is determined by the type of layout supported by the parent window, as well as the window's layout hints. The position of a window is determined relative to its immediate parent window; A window can send a message to its target object when an event happens.
Window classes.
void FX::FXWindow::dropFinished | ( | FXDragAction | action = DRAG_REJECT | ) | const |
Sent by the drop target in response to SEL_DND_DROP.
The drag action should be the same as the action the drop target reported to the drag source in reponse to the SEL_DND_MOTION message. This function notifies the drag source that its part of the drop transaction is finished, and that it is free to release any resources involved in the drag operation. Calling dropFinished() is advisable in cases where the drop target needs to perform complex processing on the data received from the drag source, prior to returning from the SEL_DND_DROP message handler.
|
virtual |
Move the window immediately, in the parent's coordinate system.
Update the server representation as well if the window is realized. Perform layout of the children when necessary.
Reimplemented in FX::FXTopWindow, FX::FXMDIChild, and FX::FXRootWindow.
|
virtual |
Move and resize the window immediately, in the parent's coordinate system.
Update the server representation as well if the window is realized. Perform layout of the children when necessary.
Reimplemented in FX::FXIconList, FX::FXTopWindow, FX::FXMDIChild, and FX::FXRootWindow.
|
virtual |
Resize the window to the specified width and height immediately, updating the server representation as well, if the window was realized.
Perform layout of the children when necessary.
Reimplemented from FX::FXDrawable.
Reimplemented in FX::FXIconList, FX::FXTopWindow, FX::FXMDIChild, and FX::FXRootWindow.
|
virtual |
This changes the default window which responds to the Return key in a dialog.
If the flag is true, this window becomes the default window; when the flag is false, this window will be no longer the default window. Finally, when the flag is maybe, the default window will revert to the initial default window.
Reimplemented in FX::FXButton.
void FX::FXWindow::setHeight | ( | FXint | h | ) |
Set the window height; and flag the widget as being in need of layout by its parent.
This does not immediately update the server- side representation of the widget.
void FX::FXWindow::setWidth | ( | FXint | w | ) |
Set the window width; and flag the widget as being in need of layout by its parent.
This does not immediately update the server- side representation of the widget.
|
virtual |
Translate message for localization; using the current FXTranslator, an attempt is made to translate the given message into the current language.
An optional hint may be passed to break any ties in case more than one translation is possible for the given message text. In addition, the name of the widget is passed as context name so that translations for a single dialog may be grouped together.
Copyright © 1997-2022 Jeroen van der Zijp |