Window base class. More...
Inherits BLooper.
Inherited by BAlert, BDirectWindow, and BWindowScreen.
Public Member Functions | |
BWindow (BMessage *archive) | |
Archive constructor. | |
BWindow (BRect frame, const char *title, window_look look, window_feel feel, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE) | |
Creates a new BWindow object with the specified look and feel. | |
BWindow (BRect frame, const char *title, window_type type, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE) | |
Creates a new BWindow object. | |
virtual | ~BWindow () |
Destroys the BWindow object and all attached views. | |
void | Activate (bool=true) |
Activates or deactivates the window based on active. | |
void | AddChild (BLayoutItem *child) |
Add the child layout item to the view hierarchy. | |
void | AddChild (BView *child, BView *before=NULL) |
Adds child to the view hierarchy immediately before before. | |
status_t | AddToSubset (BWindow *window) |
Adds window to be in the subset of the BWindow. | |
virtual status_t | Archive (BMessage *archive, bool deep=true) const |
Archives the object into the data message. | |
void | BeginViewTransaction () |
Stall updates to App Server allowing you to batch drawing commands to limit flickering. | |
BRect | Bounds () const |
Returns the bounding rectangle of the window. | |
void | CenterIn (const BRect &rect) |
Center the window in rect. | |
void | CenterOnScreen () |
Centers the window on the screen the window is currently on. | |
void | CenterOnScreen (screen_id id) |
Centers the window on the screen with the passed in id. | |
BView * | ChildAt (int32 index) const |
Returns a pointer to the child view found at index. | |
void | Close () |
Deprecated alias for BWindow::Quit(). | |
void | ConvertFromScreen (BPoint *point) const |
Convert point from the screen's coordinate system to the window's coordinate system in place. | |
BPoint | ConvertFromScreen (BPoint point) const |
Returns point converted from the screen's coordinate system to the window's coordinate system. | |
void | ConvertFromScreen (BRect *rect) const |
Convert rect from the screen's coordinate system to the window's coordinate system in place. | |
BRect | ConvertFromScreen (BRect rect) const |
Returns rect converted from the screen's coordinate system to the window's coordinate system. | |
void | ConvertToScreen (BPoint *point) const |
Convert point to the screen's coordinate system in place. | |
BPoint | ConvertToScreen (BPoint point) const |
Returns point converted to the screen's coordinate system. | |
void | ConvertToScreen (BRect *rect) const |
Convert rect to the screen's coordinate system in place. | |
BRect | ConvertToScreen (BRect rect) const |
Returns rect converted to the screen's coordinate system. | |
int32 | CountChildren () const |
Returns the number of child views that the window has. | |
BView * | CurrentFocus () const |
Returns a pointer to the current focus view of the window. | |
BRect | DecoratorFrame () const |
Returns the frame rectangle of the window decorator. | |
BButton * | DefaultButton () const |
Returns a pointer to the default button set on the window. | |
void | DisableUpdates () |
Suppresses drawing within the window. | |
virtual void | DispatchMessage (BMessage *message, BHandler *handler) |
Window's central message-processing method. | |
void | EnableUpdates () |
Re-enable drawing within the window. | |
void | EndViewTransaction () |
Ends a view transaction allowing update to go to App Server again. | |
window_feel | Feel () const |
Returns the current window feel flag. | |
BView * | FindView (BPoint) const |
Returns a pointer to the attached view located at the specified point. | |
BView * | FindView (const char *viewName) const |
Returns the attached view with the specified viewName. | |
uint32 | Flags () const |
Returns the current window flags. | |
void | Flush () const |
Flushes the window's connection to App Server causing any pending messages to be processed then returns immediately. | |
BRect | Frame () const |
Returns the frame rectangle of the window. | |
virtual void | FrameMoved (BPoint newPosition) |
Hook method that gets called when the window is moved. | |
virtual void | FrameResized (float newWidth, float newHeight) |
Hook method that gets called when the window is resized. | |
status_t | GetDecoratorSettings (BMessage *settings) const |
Fill out the window's decorator settings into settings. | |
BLayout * | GetLayout () const |
Get the layout of the window. | |
void | GetSizeLimits (float *minWidth, float *maxWidth, float *minHeight, float *maxHeight) |
Fills out the size limits set on the window. | |
virtual status_t | GetSupportedSuites (BMessage *data) |
Reports the suites of messages and specifiers understood by the window. | |
status_t | GetWindowAlignment (window_alignment *mode=NULL, int32 *h=NULL, int32 *hOffset=NULL, int32 *width=NULL, int32 *widthOffset=NULL, int32 *v=NULL, int32 *vOffset=NULL, int32 *height=NULL, int32 *heightOffset=NULL) const |
Fills out the pointers with the alignment of the content of the window on the screen. | |
virtual void | Hide () |
Removes the window from the screen, removes it from Deskbar's window list, and passes active status to another window. | |
void | InvalidateLayout (bool descendants=false) |
Invalidate layout. | |
bool | InViewTransaction () const |
Returns whether or not the window is currently in a view transaction. | |
bool | IsActive () const |
Returns whether or not the window is active. | |
bool | IsFloating () const |
Returns whether or not the window is floating. | |
bool | IsFront () const |
Returns whether or not the window is the frontmost on screen. | |
bool | IsHidden () const |
Returns whether or not the window is hidden. | |
bool | IsMinimized () const |
Returns whether or not the window is minimized. | |
bool | IsModal () const |
Returns whether or not the window is modal. | |
bool | IsOffscreenWindow () const |
Tests if window is used for drawing into a BBitmap. This is mostly used by the Interface Kit itself. | |
BMenuBar * | KeyMenuBar () const |
Returns a pointer to the key menu bar set to the window. | |
BView * | LastMouseMovedView () const |
Returns a pointer to the attached view that most recently received a B_MOUSE_MOVED message. | |
void | Layout (bool force) |
Update the size limits and do the layout of the topmost view attached to the window. | |
window_look | Look () const |
Returns the current window look flag. | |
virtual void | MenusBeginning () |
Hook method that gets called just before a menu owned by the window is shown. | |
virtual void | MenusEnded () |
Hook method that gets called just before a menu owned by the window is hidden. | |
virtual void | MessageReceived (BMessage *message) |
Handle message received by the associated looper. | |
virtual void | Minimize (bool minimize) |
Minimizes or un-minimizes the window based on minimize. | |
void | MoveBy (float dx, float dy) |
Move the window by dx pixels horizontally and dy pixels vertically. | |
void | MoveOnScreen (uint32 flags=0) |
Update window size and position to make it visible on screen. | |
void | MoveTo (BPoint) |
Move the window to point. | |
void | MoveTo (float x, float y) |
Move the window to the specified x and y coordinates. | |
bool | NeedsUpdate () const |
Returns whether or not any of the attached views need to be updated. | |
virtual status_t | Perform (perform_code code, void *data) |
Internal method. | |
bigtime_t | PulseRate () const |
Returns the pulse rate of the window. | |
virtual void | Quit () |
Deletes the window and all child views, destroys the window thread, removes the window's connection to the Application Server, and deletes the object. | |
virtual bool | QuitRequested () |
Hook method that gets called when the window receives a B_QUIT_REQUESTED message. | |
bool | RemoveChild (BView *child) |
Removes child from the view hierarchy. | |
status_t | RemoveFromSubset (BWindow *window) |
Remove window from the subset of the BWindow. | |
void | ResizeBy (float dx, float dy) |
Resize the window by dx pixels horizontally and dy pixels vertically. | |
void | ResizeTo (float width, float height) |
Resize the window to the specified width and height. | |
void | ResizeToPreferred () |
Resize the window to the preferred size of the window's layout. | |
virtual BHandler * | ResolveSpecifier (BMessage *message, int32 index, BMessage *specifier, int32 what, const char *property) |
virtual thread_id | Run () |
Spawns the message loop thread and starts the window running. | |
virtual void | ScreenChanged (BRect screenSize, color_space depth) |
Hook method that is called when the screen that the window is located on changes size or location or the color space of the screen changes. | |
status_t | SendBehind (const BWindow *window) |
Moves the BWindow object behind window. | |
status_t | SetDecoratorSettings (const BMessage &settings) |
Set the window decorator settings according to settings. | |
void | SetDefaultButton (BButton *button) |
Set the default button of the window to button. | |
status_t | SetFeel (window_feel feel) |
Changes the window feel set in the constructor to feel. | |
status_t | SetFlags (uint32) |
Changes the window flags set in the constructor to flags. | |
void | SetKeyMenuBar (BMenuBar *bar) |
Set the specified menu bar as the key menu bar for the window. | |
virtual void | SetLayout (BLayout *layout) |
Sets the layout of the window. | |
status_t | SetLook (window_look look) |
Changes the window look set in the constructor to look. | |
void | SetPulseRate (bigtime_t rate) |
Sets how often B_PULSE messages are posted to the window. | |
void | SetSizeLimits (float minWidth, float maxWidth, float minHeight, float maxHeight) |
Set size limits on the window. | |
void | SetTitle (const char *title) |
Sets the window title to title. | |
status_t | SetType (window_type type) |
Changes the window type set in the constructor to type. | |
status_t | SetWindowAlignment (window_alignment mode, int32 h, int32 hOffset=0, int32 width=0, int32 widthOffset=0, int32 v=0, int32 vOffset=0, int32 height=0, int32 heightOffset=0) |
Sets the alignment of the content of the window on the screen. | |
void | SetWorkspaces (uint32) |
Sets the set of workspaces where the window can be displayed. | |
void | SetZoomLimits (float maxWidth, float maxHeight) |
Sets the maximum size that the window will zoom to when Zoom() is called. | |
virtual void | Show () |
Shows the window on screen, places it frontmost on the screen, adds the window to Deskbar's window list, and makes it the active window. | |
BSize | Size () const |
Returns the size of the window. | |
void | Sync () const |
Synchronizes the attached window's connection to App Server causing any pending messages to be processed and then waits for the App Server to respond. | |
const char * | Title () const |
Returns the window title as set by the constructor or SetTitle(). | |
window_type | Type () const |
Returns the current window type flag. | |
void | UpdateIfNeeded () |
Invokes Draw() immediately on each child view that needs updating. | |
void | UpdateSizeLimits () |
Updates the window's size limits from the minimum and maximum sizes of its top view. | |
virtual void | WindowActivated (bool focus) |
Hook method that gets called when the window becomes activated or deactivated. | |
virtual void | WorkspaceActivated (int32 workspace, bool state) |
Hook method that gets called when the active workspace changes. | |
uint32 | Workspaces () const |
Returns the set of workspaces where the window can be displayed. | |
virtual void | WorkspacesChanged (uint32 oldWorkspaces, uint32 newWorkspaces) |
Hook method that gets called whenever the workspaces the window is in changes. | |
void | Zoom () |
Resize the window to the minimum of the screen size, the maximum values set by SetSizeLimits(), and the maximum values set by SetZoomLimits(). | |
virtual void | Zoom (BPoint origin, float width, float height) |
Move window to origin, then resize to width and height. | |
Public Member Functions inherited from BLooper | |
BLooper (const char *name=NULL, int32 priority=B_NORMAL_PRIORITY, int32 portCapacity=B_LOOPER_PORT_DEFAULT_CAPACITY) | |
Construct a new BLooper with a priority and an capacity. | |
virtual | ~BLooper () |
Destruct the looper. | |
virtual status_t | Perform (perform_code d, void *arg) |
Internal method. | |
status_t | PostMessage (uint32 command) |
Post a message with the command as what identifier to this looper. | |
status_t | PostMessage (BMessage *message) |
Post a message to this looper. | |
status_t | PostMessage (uint32 command, BHandler *handler, BHandler *replyTo=NULL) |
Sends a message with command what identifier to the handler associated with this looper. A response may be sent to the replyTo handler asynchronously. | |
status_t | PostMessage (BMessage *message, BHandler *handler, BHandler *replyTo=NULL) |
Send a message to the handler associated with this looper. A response may be sent to the replyTo handler asynchronously. | |
BMessage * | CurrentMessage () const |
Retrieve the current message. | |
BMessage * | DetachCurrentMessage () |
Get ownership of the message currently being processed. | |
void | DispatchExternalMessage (BMessage *message, BHandler *handler, bool &_detached) |
Internal method to support single-threaded GUI toolkits. | |
BMessageQueue * | MessageQueue () const |
Get a pointer to the internal message queue of this looper. | |
bool | IsMessageWaiting () const |
Check if there is a message waiting. | |
void | AddHandler (BHandler *handler) |
Associate a handler to this looper. | |
bool | RemoveHandler (BHandler *handler) |
Disassociate a handler from this looper. | |
int32 | CountHandlers () const |
Get the number of handlers associated with this looper. | |
BHandler * | HandlerAt (int32 index) const |
Get the handler at an index of the list of associated handlers. | |
int32 | IndexOf (BHandler *handler) const |
Get the index of the handler that is in the associated handler list. | |
BHandler * | PreferredHandler () const |
Get the preferred handler. | |
void | SetPreferredHandler (BHandler *handler) |
Set a preferred handler. | |
thread_id | LockingThread () const |
Return the thread id of the thread that currently holds the lock. | |
int32 | CountLocks () const |
Return the number of recursive locks that are currently being held on this looper. | |
int32 | CountLockRequests () const |
Return the number of pending locks. | |
sem_id | Sem () const |
Return the id of the semaphore that is used to lock this looper. | |
virtual void | AddCommonFilter (BMessageFilter *filter) |
Add a common filter to the list of filters that are applied to all incoming messages. | |
virtual bool | RemoveCommonFilter (BMessageFilter *filter) |
Remove a filter from the common message filter list. | |
virtual void | SetCommonFilterList (BList *filters) |
Set a new list of filters that need to be applied to all incoming messages. | |
BList * | CommonFilterList () const |
Return a list of filters applied to all incoming messages. | |
BLooper (BMessage *data) | |
Construct a looper from an archived message. | |
void | Loop () |
Run the event loop in the current thread. | |
bool | Lock () |
Lock the looper. | |
void | Unlock () |
Unlock a locked looper. | |
bool | IsLocked () const |
Check if a looper is locked. | |
status_t | LockWithTimeout (bigtime_t timeout) |
Lock a looper with a timeout. | |
thread_id | Thread () const |
Return the thread id of the internal message looper thread. | |
team_id | Team () const |
Return the team id in which this looper exists. | |
Public Member Functions inherited from BHandler | |
BHandler (const char *name=NULL) | |
Construct a new handler with a name. | |
virtual | ~BHandler () |
Free the filters of this handler, as well as the list of observers. | |
virtual status_t | Perform (perform_code d, void *arg) |
Perform some action (Internal method defined for binary compatibility purposes). | |
BHandler (BMessage *data) | |
Construct a handler from an archived message. | |
BLooper * | Looper () const |
Return a pointer to the looper that this handler is associated with. | |
void | SetName (const char *name) |
Set or change the name of this handler. | |
const char * | Name () const |
Return the name of this handler. | |
virtual void | SetNextHandler (BHandler *handler) |
Set the next handler in the chain that the message is passed on to if this handler cannot process it. | |
BHandler * | NextHandler () const |
Return the next hander in the chain to which the message is passed on. | |
virtual void | AddFilter (BMessageFilter *filter) |
Add filter as a prerequisite to this handler. | |
virtual bool | RemoveFilter (BMessageFilter *filter) |
Remove filter from the filter list. | |
virtual void | SetFilterList (BList *filters) |
Set the internal list of filters to filters. | |
BList * | FilterList () |
Return a pointer to the list of filters. | |
bool | LockLooper () |
Lock the looper associated with this handler. | |
status_t | LockLooperWithTimeout (bigtime_t timeout) |
Lock the looper associated with this handler, with a time out value. | |
void | UnlockLooper () |
Unlock the looper. | |
status_t | StartWatching (BMessenger target, uint32 what) |
Subscribe this handler to watch a specific state change of a target. | |
status_t | StartWatchingAll (BMessenger target) |
Subscribe this handler to watch a target for all events. | |
status_t | StopWatching (BMessenger target, uint32 what) |
Unsubscribe this handler from watching a specific state. | |
status_t | StopWatchingAll (BMessenger target) |
Unsubscribe this handler from watching all states. | |
status_t | StartWatching (BHandler *observer, uint32 what) |
Subscribe an observer for a specific state change of this handler. | |
status_t | StartWatchingAll (BHandler *observer) |
Subscribe an observer for a all state changes. | |
status_t | StopWatching (BHandler *observer, uint32 what) |
Unsubscribe an observer from watching a specific state. | |
status_t | StopWatchingAll (BHandler *observer) |
Unsubscribe an observer from watching all states. | |
virtual void | SendNotices (uint32 what, const BMessage *notice=NULL) |
Emit a state change to the observers. | |
bool | IsWatched () const |
Check if there are any observers watching this handler. | |
Public Member Functions inherited from BArchivable | |
BArchivable () | |
Constructor. Does nothing. | |
BArchivable (BMessage *from) | |
Constructor. Does important behind-the-scenes work in the unarchiving process. | |
virtual | ~BArchivable () |
Destructor. Does nothing. | |
virtual status_t | AllArchived (BMessage *archive) const |
Method relating to the use of BArchiver . | |
virtual status_t | AllUnarchived (const BMessage *archive) |
Method relating to the use of BUnarchiver . | |
virtual status_t | Archive (BMessage *into, bool deep=true) const |
Archive the object into a BMessage. | |
virtual status_t | Perform (perform_code d, void *arg) |
Perform some action (Internal method defined for binary compatibility purposes). | |
Static Public Member Functions | |
static BArchivable * | Instantiate (BMessage *archive) |
Creates a new BWindow object from the data message. | |
Static Public Member Functions inherited from BLooper | |
static BArchivable * | Instantiate (BMessage *data) |
Static method to instantiate a looper from an archived message. | |
static BLooper * | LooperForThread (thread_id thread) |
Static method to retrieve a BLooper for a specified thread. | |
Static Public Member Functions inherited from BHandler | |
static BArchivable * | Instantiate (BMessage *data) |
Static method to instantiate a handler from an archived message. | |
Static Public Member Functions inherited from BArchivable | |
static BArchivable * | Instantiate (BMessage *archive) |
Static member to restore objects from messages. | |
Shortcut Methods | |
The key parameter is specified in the form of a Unicode code point. This is generally an ASCII character such as 'A' or a key constant such as | |
void | AddShortcut (uint32 key, uint32 modifiers, BMessage *message) |
Creates a keyboard shortcut that sends a message to the window. | |
void | AddShortcut (uint32 key, uint32 modifiers, BMessage *message, BHandler *target) |
Creates a keyboard shortcut that sends a message to the specified target. | |
bool | HasShortcut (uint32 key, uint32 modifiers) |
Returns whether or not the specified shortcut is set on the window. | |
void | RemoveShortcut (uint32 key, uint32 modifiers) |
Removes the specified shortcut from the window. | |
Additional Inherited Members | |
Protected Member Functions inherited from BLooper | |
BMessage * | MessageFromPort (bigtime_t=B_INFINITE_TIMEOUT) |
Hook method to retrieve a message from the looper's port. | |
Window base class.
A BWindow is an on-screen window which contains views and is the target of keyboard and mouse events. A BWindow instance is nearly always subclassed.
BWindow draws by talking to App Server. If you want draw directly into the graphics card by-passing App Server, you need to use a BDirectWindow or BWindowScreen.
Despite the fact that BWindow inherits from BLooper, you should not invoke Run() on a BWindow, instead, call Show() to get the message loop started and show the window on screen. Once you've called Show() you may remove a window from the screen without interrupting the message loop by calling Hide(). Other message loop details such as locking and quitting are detailed in the BLooper class.
BWindow has the following built-in shortcuts:
Shortcut | Action | Handler |
---|---|---|
Command+X | Cut | Focus view |
Command+C | Copy | Focus view |
Command+V | Paste | Focus view |
Command+A | Select All | Focus view |
Command+W | Close | Window (if closable) |
Command+Q | Quit | Application (non-modal windows only) |
Command+Control+M | Minimize | Window (if minimizable) |
Command+Control+Z | Zoom | Window (if zoomable) |
Command+Control+H | Hide | Window |
Command+Control+F | Send to front | Window |
Command+Control+B | Send behind | Window |
Command+Control+← | Go to left workspace | Desktop window |
Command+Control+→ | Go to right workspace | Desktop window |
Command+Control+↑ | Go to above workspace | Desktop window |
Command+Control+↓ | Go to below workspace | Desktop window |
Command+Control+Shift+← | Send window and go to left workspace | Desktop window |
Command+Control+Shift+→ | Send window and go to right workspace | Desktop window |
Command+Control+Shift+↑ | Send window and go to above workspace | Desktop window |
Command+Control+Shift+↓ | Send window and go to below workspace | Desktop window |
BWindow::BWindow | ( | BRect | frame, |
const char * | title, | ||
window_type | type, | ||
uint32 | flags, | ||
uint32 | workspace = B_CURRENT_WORKSPACE |
||
) |
Creates a new BWindow object.
frame | The inner frame rectangle in the screen coordinate system. |
title | The window title and thread title as "w>title". |
type | window_type flag, one of the following:
|
flags | Mask that defines window attributes:
|
workspace | Mask that indicates which of the 32 potential workspace(s) the window should be displayed in or B_CURRENT_WORKSPACE or B_ALL_WORKSPACES constants. |
BWindow::BWindow | ( | BRect | frame, |
const char * | title, | ||
window_look | look, | ||
window_feel | feel, | ||
uint32 | flags, | ||
uint32 | workspace = B_CURRENT_WORKSPACE |
||
) |
Creates a new BWindow object with the specified look and feel.
frame | The inner frame rectangle in the screen coordinate system. |
title | The window title and thread title as "w>title". |
look | The window_look flags, one of the following:
|
feel | The window_feel flags, one of the following:
|
flags | Mask that defines window attributes:
|
workspace | Mask that indicates which of the 32 potential workspace(s) the window should be displayed in or B_CURRENT_WORKSPACE or B_ALL_WORKSPACES constants. |
|
virtual |
Destroys the BWindow object and all attached views.
BWindow::BWindow | ( | BMessage * | data | ) |
Archive constructor.
data | A pointer to the BMessage object to build the object from. |
void BWindow::Activate | ( | bool | active = true | ) |
Activates or deactivates the window based on active.
The title tab of the active window is drawn more brightly, the window is made frontmost, and it becomes the target of keyboard events. Calling Show() automatically activates the window calling the WindowActivated() hook method.
active | true to activate the window, false to deactivate the window. |
void BWindow::AddChild | ( | BLayoutItem * | child | ) |
Add the child layout item to the view hierarchy.
child | The child layout item to add. |
Adds child to the view hierarchy immediately before before.
A view may only have one parent at a time so child must not have already been added to the view hierarchy. If before is NULL
then child is added to the end of the view hierarchy.
The AttachedToWindow() method is invoked on child and all of its descendent views.
child | The child view to add. |
before | The sibling view to add child before. |
Creates a keyboard shortcut that sends a message to the window.
key | The character that activates the shortcut, case-insensitive. |
modifiers | A bit mask of modifiers in addition to B_COMMAND_KEY , options include:
|
message | The message to send when the shortcut is activated. The BWindow takes ownership of the message. |
Creates a keyboard shortcut that sends a message to the specified target.
key | The character that activates the shortcut, case-insensitive. |
modifiers | A bit mask of modifiers in addition to B_COMMAND_KEY , options include one or more of the following:
|
message | The message to send when the shortcut is activated. The BWindow takes ownership of the message. |
target | The handler to send the message to. |
Adds window to be in the subset of the BWindow.
B_OK | window was added as a subset of the BWindow. |
B_BAD_VALUE | window is not B_NORMAL_WINDOW_FEEL or the BWindow object's feel is not set to B_MODAL_SUBSET_WINDOW_FEEL or B_FLOATING_SUBSET_WINDOW_FEEL . |
B_ERROR | Could not lock the BWindow object. |
Archives the object into the data message.
data | A pointer to the BMessage object to archive the object into. |
deep | Whether or not to archive child views as well. |
B_OK
if the object was archived or an error code otherwise.Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
void BWindow::BeginViewTransaction | ( | ) |
Stall updates to App Server allowing you to batch drawing commands to limit flickering.
Unlike DisableUpdates() the messages are sent but are not processed.
BRect BWindow::Bounds | ( | ) | const |
void BWindow::CenterIn | ( | const BRect & | rect | ) |
Center the window in rect.
rect | The rectangle to center the window in. |
void BWindow::CenterOnScreen | ( | ) |
Centers the window on the screen the window is currently on.
void BWindow::CenterOnScreen | ( | screen_id | id | ) |
Centers the window on the screen with the passed in id.
Returns a pointer to the child view found at index.
index | The index of the child view to return a pointer of. |
NULL
if not found.
|
inline |
Deprecated alias for BWindow::Quit().
The advised way to close a window is to use BWindow::Quit().
References Quit().
void BWindow::ConvertFromScreen | ( | BPoint * | point | ) | const |
Convert point from the screen's coordinate system to the window's coordinate system in place.
point | A pointer to a BPoint object to convert. |
void BWindow::ConvertFromScreen | ( | BRect * | rect | ) | const |
Convert rect from the screen's coordinate system to the window's coordinate system in place.
rect | A pointer to a BRect object to convert. |
void BWindow::ConvertToScreen | ( | BPoint * | point | ) | const |
Convert point to the screen's coordinate system in place.
point | A pointer to a BPoint object to convert. |
void BWindow::ConvertToScreen | ( | BRect * | rect | ) | const |
Convert rect to the screen's coordinate system in place.
rect | A pointer to a BRect object to convert. |
int32 BWindow::CountChildren | ( | ) | const |
Returns the number of child views that the window has.
BView * BWindow::CurrentFocus | ( | ) | const |
Returns a pointer to the current focus view of the window.
NULL
if not found.BRect BWindow::DecoratorFrame | ( | ) | const |
Returns the frame rectangle of the window decorator.
BButton * BWindow::DefaultButton | ( | ) | const |
Returns a pointer to the default button set on the window.
NULL
if it doesn't have one.void BWindow::DisableUpdates | ( | ) |
Suppresses drawing within the window.
If you want the results of several drawing operations to appear in the window all at once you disable updates, draw, and then re-enable updates.
Window's central message-processing method.
This method called automatically as messages arrive in the queue, you should never call DispatchMessage() yourself.
Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
void BWindow::EnableUpdates | ( | ) |
Re-enable drawing within the window.
If you want the results of several drawing operations to appear in the window all at once you disable updates, draw, and then re-enable updates.
void BWindow::EndViewTransaction | ( | ) |
Ends a view transaction allowing update to go to App Server again.
window_feel BWindow::Feel | ( | ) | const |
Returns the current window feel flag.
Returns a pointer to the attached view located at the specified point.
point | The point to get the view at in the window's coordinate system. |
NULL
if no view is found.BView * BWindow::FindView | ( | const char * | viewName | ) | const |
Returns the attached view with the specified viewName.
viewName | The name of the attached view to look for. |
NULL
if no view is found.uint32 BWindow::Flags | ( | ) | const |
Returns the current window flags.
void BWindow::Flush | ( | ) | const |
Flushes the window's connection to App Server causing any pending messages to be processed then returns immediately.
BRect BWindow::Frame | ( | ) | const |
|
virtual |
Hook method that gets called when the window is moved.
newPosition | The point of the top left corner of the frame rectangle that the window has been moved to. |
Reimplemented in BDirectWindow.
|
virtual |
Hook method that gets called when the window is resized.
newWidth | The new width of the window. |
newHeight | The new height of the window. |
Reimplemented in BDirectWindow, and BAlert.
Fill out the window's decorator settings into settings.
settings | A pointer to a BMessage object to fill out. |
B_OK
if the decorator settings were filled out successfully or an error code otherwise.BLayout * BWindow::GetLayout | ( | ) | const |
Get the layout of the window.
void BWindow::GetSizeLimits | ( | float * | _minWidth, |
float * | _maxWidth, | ||
float * | _minHeight, | ||
float * | _maxHeight | ||
) |
Fills out the size limits set on the window.
_minWidth | The minimum width of the window. |
_maxWidth | The maximum width of the window. |
_minHeight | The minimum height of the window. |
_maxHeight | The maximum height of the window. |
Reports the suites of messages and specifiers understood by the window.
Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
status_t BWindow::GetWindowAlignment | ( | window_alignment * | mode = NULL , |
int32 * | h = NULL , |
||
int32 * | hOffset = NULL , |
||
int32 * | width = NULL , |
||
int32 * | widthOffset = NULL , |
||
int32 * | v = NULL , |
||
int32 * | vOffset = NULL , |
||
int32 * | height = NULL , |
||
int32 * | heightOffset = NULL |
||
) | const |
Fills out the pointers with the alignment of the content of the window on the screen.
Returns whether or not the specified shortcut is set on the window.
key | The character to check, case-insensitive. |
modifiers | A bit mask of modifiers in addition to B_COMMAND_KEY , options include one or more of the following:
|
true
if the window has the specified shortcut, false
otherwise.
|
virtual |
Removes the window from the screen, removes it from Deskbar's window list, and passes active status to another window.
Calls to Hide() and Show() are cumulative.
Reimplemented in BDirectWindow.
|
static |
void BWindow::InvalidateLayout | ( | bool | descendants = false | ) |
Invalidate layout.
descendants | Also invalidate its children windows. |
bool BWindow::InViewTransaction | ( | ) | const |
Returns whether or not the window is currently in a view transaction.
true
if the window is currently in a view transaction, false
otherwise.bool BWindow::IsActive | ( | ) | const |
Returns whether or not the window is active.
true
if the window is active, false
otherwise.bool BWindow::IsFloating | ( | ) | const |
Returns whether or not the window is floating.
true
if the window is floating, false
otherwise.bool BWindow::IsFront | ( | ) | const |
Returns whether or not the window is the frontmost on screen.
true
if window is the frontmost on screen, false
otherwise.bool BWindow::IsHidden | ( | ) | const |
Returns whether or not the window is hidden.
Windows are hidden by default, you must call Show() to show the window starting the message loop going.
bool BWindow::IsMinimized | ( | ) | const |
Returns whether or not the window is minimized.
true
if the window is minimized, false
otherwise.bool BWindow::IsModal | ( | ) | const |
Returns whether or not the window is modal.
true
if the window is modal, false
otherwise.bool BWindow::IsOffscreenWindow | ( | ) | const |
BMenuBar * BWindow::KeyMenuBar | ( | ) | const |
Returns a pointer to the key menu bar set to the window.
If the window contains only one menu bar it is automatically considered to be the key menu bar for the window. If more than one menu bar is attached to the window then the last one added to the window's view hierarchy is considered to be the key menu bar for the window.
To explicitly set a menu bar as the key menu bar call SetKeyMenuBar().
NULL
is not is set.BView * BWindow::LastMouseMovedView | ( | ) | const |
Returns a pointer to the attached view that most recently received a B_MOUSE_MOVED
message.
B_MOUSE_MOVED
message or NULL
if not found.void BWindow::Layout | ( | bool | force | ) |
Update the size limits and do the layout of the topmost view attached to the window.
force | If true , layout even if valid. |
window_look BWindow::Look | ( | ) | const |
Returns the current window look flag.
|
virtual |
Hook method that gets called just before a menu owned by the window is shown.
B_MENUS_BEGINNING
flag.Reimplemented in BDirectWindow.
|
virtual |
Hook method that gets called just before a menu owned by the window is hidden.
B_MENUS_ENDED
flag.Reimplemented in BDirectWindow.
|
virtual |
Handle message received by the associated looper.
message | The message received by the looper. |
Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
|
virtual |
Minimizes or un-minimizes the window based on minimize.
Unlike Hide() an Show(), Minimize() dims and un-dims the entry for the window in Deskbar's window list rather than removing it. Also Minimize() calls are not cumulative like Hide() and Show(); one false
call will undo multiple true
calls.
Minimize() also acts as a hook method that is invoked when the user double- clicks on the title tab of the window or selects the window from the DeskBar window list. The minimize parameter is true
if the window is about to be hidden and false
if it is about to be shown.
If you override Minimize() and you want to inherit BWindow's behavior, you must call BWindow::Minimize().
Reimplemented in BDirectWindow.
void BWindow::MoveBy | ( | float | dx, |
float | dy | ||
) |
Move the window by dx pixels horizontally and dy pixels vertically.
dx and dy must be integral units.
dx | The number of pixels to move the window vertically. |
dy | The number of pixels to move the window horizontally. |
void BWindow::MoveOnScreen | ( | uint32 | flags = 0 | ) |
Update window size and position to make it visible on screen.
This convenience method helps you to automatically move and resize a window to make it visible on the screen, in case the window is partially off screen because of its size or its position. This method will do nothing if the window fits on the screen.
The default behavior is as follows:
Note that this does not affect window size and positions for windows that are currently visible on the screen. Also note that this method does not affect whether the window is covered by other windows that are on top. You can use BWindow::Activate() to bring a window to the top.
The behavior of this method can be altered by passing either or both of the following modifiers in the flags parameter:
flags | Can be 0 for the default behavior, or a any combination of B_DO_NOT_RESIZE_TO_FIT and B_MOVE_IF_PARTIALLY_OFFSCREEN . |
void BWindow::MoveTo | ( | BPoint | point | ) |
Move the window to point.
point | the location to move the window in the screen's coordinate system. |
void BWindow::MoveTo | ( | float | x, |
float | y | ||
) |
Move the window to the specified x and y coordinates.
x and y must be integral units.
x | The horizontal coordinate to move the window to in the screen's coordinate system. |
y | The vertical coordinate to move the window to in the screen's coordinate system. |
bool BWindow::NeedsUpdate | ( | ) | const |
Returns whether or not any of the attached views need to be updated.
true
if an attached view needs to be updated, false
otherwise.
|
virtual |
Internal method.
Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
bigtime_t BWindow::PulseRate | ( | ) | const |
Returns the pulse rate of the window.
B_PULSE
messages are sent by default every 500,000 microseconds provided that no other messages are pending.
|
virtual |
Deletes the window and all child views, destroys the window thread, removes the window's connection to the Application Server, and deletes the object.
Use this method to destroy a window rather than using the delete operator.
This method works much like the BLooper::Quit(), it doesn't return when called from the BWindow's thread and it returns after all messages have been processed when called from another thread and the BWindow and its thread has been destroyed.
Reimplemented from BLooper.
Reimplemented in BDirectWindow, and BAlert.
Referenced by Close().
|
virtual |
Hook method that gets called when the window receives a B_QUIT_REQUESTED message.
Reimplemented from BLooper.
Reimplemented in BAlert.
bool BWindow::RemoveChild | ( | BView * | child | ) |
Removes child from the view hierarchy.
child | The child view to remove. |
Remove window from the subset of the BWindow.
B_OK | window was removed from the subset of the BWindow. |
B_BAD_VALUE | window is not B_NORMAL_WINDOW_FEEL or the BWindow object's feel is not set to B_MODAL_SUBSET_WINDOW_FEEL or B_FLOATING_SUBSET_WINDOW_FEEL . |
B_ERROR | Could not lock the BWindow object. |
Removes the specified shortcut from the window.
The memory used by the shortcut message is freed.
key | The character to remove, case-insensitive. |
modifiers | A bit mask of modifiers in addition to B_COMMAND_KEY , options include one or more of the following:
|
void BWindow::ResizeBy | ( | float | dx, |
float | dy | ||
) |
Resize the window by dx pixels horizontally and dy pixels vertically.
dx and dy must be integral units.
dx The number of pixels to resize the window horizontally.
dy The number of pixels to resize the window vertically.
void BWindow::ResizeTo | ( | float | width, |
float | height | ||
) |
Resize the window to the specified width and height.
width and height must be integral units.
width | The width to resize the window to. |
height | The height to resize the window to. |
void BWindow::ResizeToPreferred | ( | ) |
Resize the window to the preferred size of the window's layout.
|
virtual |
Determine the proper handler for a scripting message.
message | The scripting message to determine the handler. |
index | The index of the specifier. |
specifier | The message which contains the specifier. |
what | The 'what' field of the specifier message. |
property | The name of the target property. |
Reimplemented from BLooper.
Reimplemented in BAlert, and BDirectWindow.
|
virtual |
Spawns the message loop thread and starts the window running.
Reimplemented from BLooper.
|
virtual |
Hook method that is called when the screen that the window is located on changes size or location or the color space of the screen changes.
screenSize | The new screen size in the screen's coordinate system. |
depth | The new color space of the screen. |
Reimplemented in BDirectWindow.
Moves the BWindow object behind window.
window | A pointer to the window to move behind. |
B_OK
on success or B_ERROR
on failure.Set the window decorator settings according to settings.
settings | The decorator settings message to set. |
B_OK
if the decorator settings were set successfully or an error code otherwise.void BWindow::SetDefaultButton | ( | BButton * | button | ) |
Set the default button of the window to button.
The default button has a grey outline and is activated by the user pushing the Enter key. The user can activate the default button even if another view is currently set to be the focus view of the window.
A window may only have one default button at a time, to remove the current default without setting another button you may pass in NULL
.
button | A pointer to the button to set as the default or NULL to unset. |
status_t BWindow::SetFeel | ( | window_feel | feel | ) |
Changes the window feel set in the constructor to feel.
B_OK
on success or an error code on failure.Changes the window flags set in the constructor to flags.
B_OK
on success or an error code on failure.void BWindow::SetKeyMenuBar | ( | BMenuBar * | bar | ) |
Set the specified menu bar as the key menu bar for the window.
The key menu bar is the one located at the top of the window at the root of the menu hierarchy that the user can navigate with the keyboard.
bar | A pointer to the menu bar to set as as the key menu bar for the window. |
|
virtual |
Sets the layout of the window.
layout | The layout to set. |
Referenced by BLayoutBuilder::Cards< ParentBuilder >::Cards(), BLayoutBuilder::Grid< ParentBuilder >::Grid(), and BLayoutBuilder::Group< ParentBuilder >::Group().
status_t BWindow::SetLook | ( | window_look | look | ) |
Changes the window look set in the constructor to look.
B_OK
on success or an error code on failure.void BWindow::SetPulseRate | ( | bigtime_t | rate | ) |
Sets how often B_PULSE
messages are posted to the window.
All BViews attached to a window share the same pulse rate.
rate should not be set to less than 100,000 microseconds, differences less than 50,000 microseconds may not be noticeable.
Setting the rate to 0 disables pulsing for all views attache to the window.
rate | The pulse rate to set. |
void BWindow::SetSizeLimits | ( | float | minWidth, |
float | maxWidth, | ||
float | minHeight, | ||
float | maxHeight | ||
) |
Set size limits on the window.
The user won't be able to resize the window beyond the limits set by this method. SetSizeLimits() constrains the user, not the programmer, you may still resize the window outside of the size limits set by this method by calling ResizeBy() or ResizeTo().
minWidth | The minimum width of the window to set. |
maxWidth | The maximum width of the window to set. |
minHeight | The minimum height of the window to set. |
maxHeight | The maximum height of the window to set. |
void BWindow::SetTitle | ( | const char * | title | ) |
Sets the window title to title.
Also renames the window thread to "w>title" where "title" is the passed in title string.
status_t BWindow::SetType | ( | window_type | type | ) |
Changes the window type set in the constructor to type.
B_OK
on success or an error code on failure.status_t BWindow::SetWindowAlignment | ( | window_alignment | mode, |
int32 | h, | ||
int32 | hOffset = 0 , |
||
int32 | width = 0 , |
||
int32 | widthOffset = 0 , |
||
int32 | v = 0 , |
||
int32 | vOffset = 0 , |
||
int32 | height = 0 , |
||
int32 | heightOffset = 0 |
||
) |
Sets the alignment of the content of the window on the screen.
void BWindow::SetWorkspaces | ( | uint32 | workspaces | ) |
Sets the set of workspaces where the window can be displayed.
workspaces |
|
void BWindow::SetZoomLimits | ( | float | maxWidth, |
float | maxHeight | ||
) |
Sets the maximum size that the window will zoom to when Zoom() is called.
The window will zoom to the minimum of the screen size, the maximum values set by SetSizeLimits(), and the maximum values set by this method.
/see Zoom()
|
virtual |
Shows the window on screen, places it frontmost on the screen, adds the window to Deskbar's window list, and makes it the active window.
If this is the first time Show() has been called on the window the message loop is started and it is unlocked.
Calls to Hide() and Show() are cumulative.
Reimplemented in BDirectWindow.
BSize BWindow::Size | ( | ) | const |
Returns the size of the window.
void BWindow::Sync | ( | ) | const |
Synchronizes the attached window's connection to App Server causing any pending messages to be processed and then waits for the App Server to respond.
const char * BWindow::Title | ( | ) | const |
Returns the window title as set by the constructor or SetTitle().
window_type BWindow::Type | ( | ) | const |
Returns the current window type flag.
void BWindow::UpdateIfNeeded | ( | ) |
Invokes Draw() immediately on each child view that needs updating.
This method is synchronous, it waits for each child view to update before returning. This method is ignored unless it is called from within the message loop of the thread that the BWindow is running in.
You may call this method as part of a hook function such as MouseMoved() or KeyDown() to force invalid views to be immediately redrawn without having to wait for the hook function to finish.
void BWindow::UpdateSizeLimits | ( | ) |
Updates the window's size limits from the minimum and maximum sizes of its top view.
This method does nothing unless the B_AUTO_UPDATE_SIZE_LIMITS
window flag is set.
The method is called automatically after a layout invalidation. Since it is invoked asynchronously, calling this method manually is necessary, if it is desired to adjust the limits (and as a possible side effect the window size) earlier, e.g. before the first call to the Show() method.)
|
virtual |
Hook method that gets called when the window becomes activated or deactivated.
active | true if the window has become activated, false if the window has become deactivated. |
Reimplemented in BDirectWindow.
|
virtual |
Hook method that gets called when the active workspace changes.
This method is only called when a workspace in which the window resides is activated or deactivated.
workspace | The workspace number that was activated/deactivated. |
state | true if activated, false if deactivated. |
Reimplemented in BDirectWindow.
uint32 BWindow::Workspaces | ( | ) | const |
Returns the set of workspaces where the window can be displayed.
Hook method that gets called whenever the workspaces the window is in changes.
oldWorkspaces | The old set of workspaces the window was visible in. |
newWorkspaces | The new set of workspaces the window is visible in. |
Reimplemented in BDirectWindow.
void BWindow::Zoom | ( | ) |
Resize the window to the minimum of the screen size, the maximum values set by SetSizeLimits(), and the maximum values set by SetZoomLimits().
You may call Zoom() even if the window has the B_NOT_ZOOMABLE
flag set.
This is the method called when the user clicks the window's zoom button. It can also be called programmatically.
The window dimensions are calculated from the smallest of three rectangles:
However if the window frame already matches these new dimensions, Zoom() uses the previous size and location of the window instead.
This method calls Zoom(BPoint, float, float) to do the actualy zooming.
|
virtual |
Move window to origin, then resize to width and height.
You may call Zoom() even if the window has the B_NOT_ZOOMABLE
flag set.
This method may move and resize the window resulting in both the FrameMoved() and FrameResized() hook methods to be called.
You can override this method to change how your window behaves when the user clicks the zoom button or when Zoom() is called.
origin | The point that the window was moved to. |
width | The new width of the window. |
height | The new height of the window. |
Reimplemented in BDirectWindow.