History log of /haiku/headers/os/interface/Window.h
Revision Date Author Comments
# 3ef6915c 30-Jul-2022 John Scipione <jscipione@gmail.com>

IK: Propagate B_WORKSPACE_ACTIVATED to child views

... and B_WORKSPACES_CHANGED too.

hrev50148 propagated B_SCREEN_CHANGED messages to
children allowing them to respond to screen changes
fixing #8035 back in 2016.

This does the same thing for workspace messages only
I spelled propagate correctly this time.

Add private _PropagateMessageToChildViews() convinience
method to BWindow to do this work.

Call PostMessage() instead of calling MessageReceived()
directly which can work better in certain circumstances.

Change-Id: I5978c3fe674bbe75d9eafb7afb654a49ee3e0c11
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5516
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# e1304871 01-Jan-2017 John Scipione <jscipione@gmail.com>

Revert "BWindow: CenterOnScreen a bit above center"

This reverts commit a5be1832cc9f29a230e587c77793e624ec4fbd2a.


# a5be1832 31-Dec-2016 John Scipione <jscipione@gmail.com>

BWindow: CenterOnScreen a bit above center
BWindow docs: Document changes to CenterOnScreen()

https://68.media.tumblr.com/d8dff7a17b9d90b41e32c5a2a0312513/tumblr_oj2wg1tmKs1r0f0hfo1_1280.png

Will revert if not appreciated.


# 7f9368ca 09-Dec-2015 looncraz <looncraz@looncraz.net>

Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 8e96ec34 14-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BWindow::MoveOnScreen() now has a flags field.

* You can now specify whether or not you want to resize the window,
and move it on screen, or center it.
* Removed PulseWindow::MoveOnScreen() method.


# f7c2983e 08-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

HaikuDepot: change window frame setting.

* Moved entirely into MainWindow.
* Moved duplicated code into separate methods.
* Resize the main window on larger screens by default, as we can make
use of the extra space.
* Use BWindow::MoveOnScreen() instead of make_sure_frame_is_on_screen()
as the former has more info. And is even smarter now as it can
optionally resize windows to fit on screen.
* Center window on screen by default (ie. when there are no settings).


# ebf4cbe6 03-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Incredibly smart BWindow::MoveOnScreen() method added.

* Makes sure that the window is as complete as possible on screen.


# 99b4affa 30-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

Added BWindow::ResizeToPreferred().

* B_AUTO_UPDATE_SIZE_LIMITS only really makes sense for resizable
windows, and it only sets the minimum/maximum window size.
* ResizeToPreferred() resizes the window to its preferred size, and
also supports height-for-width layouts.


# 4198ccec 14-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace cleanup only.


# 1f424632 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# 057c8708 26-Oct-2013 Julian Harnath <julian.harnath@rwth-aachen.de>

Move B_MOUSE_IDLE generation to app_server.

* BWindow used to generate the B_MOUSE_IDLE events by sending a
delayed message with a one-shot BMessageRunner to itself.
Every creation and deletion of BMessageRunners causes synchronous
messaging between the application under the mouse cursor and the
registrar. This creates large amounts of calls to set_port_owner()
in the kernel whenever moving the mouse.

* Now, B_MOUSE_IDLE is sent by the cursor loop inside the app_server
instead. When the mouse wasn't moved for the tooltip delay time,
it inserts a B_MOUSE_IDLE message into the event stream.

* The tooltip delay thus becomes a system-wide constant and is not
configurable per-application anymore (no code currently in the
Haiku repo makes use of that anyhow).


# 94dc74b0 10-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More explicit denoting the BPrivate namespace


# 323523c4 26-Jul-2013 John Scipione <jscipione@gmail.com>

BWindow: style fixes only, no functional change.


# f3decd20 30-Apr-2013 John Scipione <jscipione@gmail.com>

Fix #9726 Revert CenterIn() and CenterOnScreen()

... back to their previous void returning roles. AlertPosition() is used instead to
check that an alert fits within the sides of the screen and all that.

Also add another CenterOnScreen() method that takes a Screen ID
so you can center a window on another monitor that the one it is currently on
(theoretically someday anyway).


# 6723d9fc 30-Apr-2013 John Scipione <jscipione@gmail.com>

Create a BWindow::AlertPosition() method and use it

...to position alert's and open/save dialogs nicely inside of the parent window,
or if that is unavailable, the screen frame.

AlertPosition() is private (for now) but BAlert and BFilePanel are BWindow's friends so
BWindow allows those classes to touch it's privates.


# 54153cc8 28-Apr-2013 John Scipione <jscipione@gmail.com>

Update CenterIn() and CenterOnScreen() methods in BWindow

* These methods now return the new point after centering.
* But more importantly CenterIn() does some new adjustments to keep the window
position inside the screen edge. If you pass the screen frame into CenterIn()
it skips these adjustments.


# 0619f34b 04-Nov-2012 Oliver Tappe <zooey@hirschkaefer.de>

Add BWindow::HasShortcut()


# 59347b7f 13-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Reverse the meaning of BWindow fShowLevel to match BView.

This also matches the client_window_info.show_hide_level field used in Deskbar
and other applications.

While doing this, keep fShowLevel fully in sync between BWindow and app_server,
use one message type for both hiding and showing, and make the decision to show
and hide the window in the app_server.

Lastly make minimize behave as described in the Be Book: hidden windows cannot
be minimized, and minimized windows which get hidden become unminimized.


# 48ae3e38 27-May-2011 Axel Dörfler <axeld@pinc-software.de>

* Followed Ingo's suggestion, and added a BWindow::Layout() method.
* Changed ShowImage to use that function.
+alpha in case Ingo gives his okay :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41782 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 58bee544 19-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed _CheckSizeLimits() to UpdateSizeLimits() and made it public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39495 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d6c7b6c 17-Aug-2010 Alex Wilson <yourpalal2@gmail.com>

Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts.
a few highlights:
* BLayout now derives publicly from BLayoutItem
* Added BAbstractLayout class, which our layouts now derive from
* updated layout builders to avoid creating views when they don't need to
* updated layout classes
* updated AboutSystem to fix a little regression
* more details on #6407
* please tell me about any regressions, I've tried to find them all, but some
may have slipped by.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5836cd75 17-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a BWindowStack interface class. Please review if adding a BWindowStack as a friend of BWindow in Window.h is ok.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38171 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 09749e95 18-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Added a BWindow::InViewTransaction() that determines whether or not the
window is currently updating its drawings as suggested by Stippi.
* Add this method to decide whether to call _FontChanged() in
BListView::SetFont().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34109 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 75a6d1db 26-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Optimized includes. For example, BeBuild.h is almost always already included
via SupportDefs.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32748 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89208c77 27-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Finished unifying the Interface Kit headers:
* Fixed copyrights (puncuation and capitalization, removed authors from
headers)
* Updated indentation style
* Unified pointer/reference style
* Re-ordered some methods for better grouping where it could be done
(abd adopted source accordingly)
* Small coding style fixes here and there

No functional change intended.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32745 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19bce722 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Remove the forced resizing to preferred size when CenterIn is called, and
instead just check if the size limits need to be set. The code that previously
did this when processing the B_LAYOUT_WINDOW message was extracted into a
private method, which is called from both places.

This may be slightly wasteful in some cases (since the size limits may be set
multiple times), but it is definitely needed because without it both of the
current test apps (DiskProbe and Screenshot) did not have properly centered
windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32622 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0586d61 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Remove useless BRect* version of CenterIn, make remaining version take a const
BRect reference.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32614 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ff62714 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Finally implemented BWindow::CenterOnScreen, with associated CenterIn(BRect)
methods as well as Size(). To avoid the problem of centering the window before
it has been resized by the layout system, I force the resizing early. If there
is a better way to do this or some way to avoid doing it repeatedly, let me
know. But I figure the Center* methods should not be called that often.

Updated Screenshot and DiskProbe to use this new method as a test. It certainly
cleaned up DiskProbe. I will update other code over the next few days (if
anyone wants to help, please do :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32612 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 87da7984 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Contrl-~ now switches between application windows. This is handier than the
mechanism used in BeOS, that is to press Control+Option-Tab (which didn't
work on Haiku, though).
* Did not change the window switch logic, though, so it's still not really
nice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32524 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8318af01 03-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Added a basic tool tip API, and implementation.
* The BView API can probably be regarded as good enough; the implementation
might need to be improved over time (also, some things as archivability
aren't fully implemented yet). The ToolTip.h header should get public once
finalized.
* Added new B_MOUSE_IDLE message that is sent to a BView after a certain
time has passed (BToolTipManager::ShowDelay()).
* Added small test app (ToolTipTest) that shows what is already working.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e343673a 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* The app_server implements modifiers for performing decorator actions anywhere
inside the window. These are Command + Alt. In X11, it's just Alt, but that
is already used in various Haiku/BeOS apps.
* Introduced new window flag B_NO_SERVER_SIDE_WINDOW_MODIFIERS to disable the
above.
* Made click to front in FFM mode less strict, you can slightly move the mouse
now and still click windows to front.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2471136 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Added DecoratorFrame() method, which returns the outer frame of the window
on screen (ie including the decorator border and tab). Plus the necessary
refactoring as well as some TODO notes about windows with the tab on the left
side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29820 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aa87523e 29-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* This should have been part of r29776 and fixes the build. Thanks Alexandre!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d7513239 18-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* reintroduce member fOffscreen which got removed in r2917
* check if locking the offscreen window succeeds before calling delete on it
* don't return offscreen windows in CountWindows and WindowAt (works now as on R5)

fixes ticket 1522, 1591, 1946, 2318 and propably more

While creating an BBitmap in BApplication the bitmaps window looper would
be added to the applications gLooperList, thus calling Quit() on that window
and later delete on a stale window pointer in BBitmaps dtor. The Lock() check
would fix the problem, but tests on R5 have shown that BApplication hides the
offscreen window in CountWindows() and WindowAt().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28236 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a02979bb 18-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71ea6c92 12-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

* Refactored a method for getting the transit from a mouse moved message.
* In _StealMouseMessage(), don't maintain fLastMouseMovedView, instead,
prevent B_MOUSE_MOVED message from being stolen that are important for
detecting transit changes. The point is that some apps (like Tracker) are
shooting themselves in the foot because they steal mouse messages via
GetMouse() in one place, but then rely on sane transit values in another
place. The way it works now, the view in question may get notified of the
same mouse moved coordinate twice, once via GetMouse() and once via
MouseMoved().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28002 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6b03685 19-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Move the now used boolean to the old place in order to avoid different padding
to happen and therefor changing the object size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eaa6da1e 19-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Use a flag in BWindow to store whether an update to a view (Invalidate()) has
been requested. The first call to a BView::Invalidate() will flush the link
so that app_server is notified as soon as possible. It makes no sense for
further calls to Invalidate() to flush also, since Flush() is not cheap. This
trick makes Invalidate() about 3.2 times faster, making it a cheaper operation.
I could not see any negative effects, I tested with apps that invalidate
multiple different parts inside a window in reaction to something. Thanks go to
Ingo who had the idea.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26020 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 838c73ba 11-Apr-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed unused BWindow friend classes, renamed some BView member
variables to fit our guidelines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24912 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb93378 04-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Ingo broke binary compatibility of Window.h in r18649, thanks to Stefano
for finding this. This should fix bug #1734.
* Removed unused BWindow members and the temporary PrintToStream() method.
* Indentation cleanup (DirectWindow.h had some spaces instead of tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b7364864 14-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed the TODO added by Ingo in r21957: locking the application didn't even make any
sense. Instead, we now lock its app_server connection only. The deadlock as exposed
by starting Icon-O-Matic twice is now gone, at last.
* Fixed the TODO added by Ingo in r21953: moved the thread/handler renaming code in a
dedicated method _SetName() which is now called from _InitData() and SetTitle(); the
"w>" is no longer lost.
* Unlike the BeBook states, BMessageQueue::RemoveMessage() is indeed not supposed to
delete the message it removes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 288e1788 03-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented B_CLOSE_ON_ESCAPE as mentioned on the mailing list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21308 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c53b9343 15-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed indentation of the layout related methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21140 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a720453 17-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

One step closer to the Switcher - still doesn't work, though, but at least the
BWindow code looks okay now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ecf9d1c 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fa407130 24-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Now this should nail down bug #762 pretty well: BView::GetMouse() no calls the
private BWindow::_StealMouseMessage() which makes sure only messages for the
preferred handler are stolen, and also, that nothing gets lost that shouldn't
get lost.
Also updates the fLastMouseMoved view in case the message is actually removed
due to GetMouse().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a502e8cd 27-May-2006 Stephan Aßmus <superstippi@gmx.de>

sorry, forgot about this change... fixes build

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17604 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b30e9021 24-May-2006 Stephan Aßmus <superstippi@gmx.de>

added a way for BWindow to store and restore arbitrary decor settings,
currently those include only the tab location


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17583 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ecf9f948 11-Mar-2006 Stephan Aßmus <superstippi@gmx.de>

* cleaned up fPulseRunner stuff, I have no idea why fPulseEnabled was
useful... so I removed it
* fixed memory leak with SetPulseRate(0), fPulseRunner is now
properly freed in the Window destructor
* fTitle is now freed as well
* fix some potential leaks in BView destructor as well

I wrote a stress test app, which I'm soon going to commit as well...
it shows that not all memory leaks are fixed by this patch, I could
use some help with this...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16713 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35e74831 15-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Shortcut messages now add a boolean "shutdown" field to the message - this
prevents Tracker from being quit by Command+Q.
* Also, it's now possible (as on R5) to remove the Command+Q shortcut.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c81d2e7a 09-Feb-2006 Stephan Aßmus <superstippi@gmx.de>

* fixed window zooming/unzooming behaviour
* fixed FrameResized() and FrameMoved() not
being called anymore in response to ResizeTo()
and MoveTo() since I introduced a check in
DispatchMessage() (fixes bug #123)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16312 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 463e791c 09-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Added new window flag B_SAME_POSITION_IN_ALL_WORKSPACES.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 715476b7 06-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

The resize code now works correctly, finally - it temporarily did harm ;)
The BViews must be resized directly after every change in the window size - we
cannot wait until B_WINDOW_RESIZED, since subsequent calls have wrong view
sizes, then.
B_WINDOW_RESIZED is only really useful for app_server caused window resizing.
Added TODO to SetLook(): it may change the window size as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15385 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6450b76d 23-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Next big step in the event handling:
* RootLayer's mouse event processing is now at its minimum - the
EventDispatcher handles them now. As a result, a window will now
get only one message per event.
* RootLayer adds "_view_token" to mouse moved messages that specify
the view currently under the cursor.
* There is now a mouse event layer in RootLayer that gets preferred
when it's set - this is now used for the window moving instead of
the previous mechanism.
* changed the previous DistributeMessage() to an UnpackMessage()
method following Adi's suggestion.
* caveat: some things might be functionally broken in RootLayer now
because of removing the mouse notification stuff.
* "be:transit" handling is now done completely client side by
BWindow::_SanitizeMessage(() (similar to what the input_server does).
This should also make the mechanism pretty robust, since every
B_MOUSE_MOVED message can now trigger the view transit (in case a
message is lost). B_WINDOW_ACTIVATED messages should be generated
client side as well.
* renamed AS_LAYER_GET_MOUSE_COORDS to AS_GET_MOUSE as it's not a
layer specific command, and also gets the mouse buttons.
* B_MOUSE_* messages from the up server now contain only a "screen_where"
field; "where" (in window's coordinates) and "be:view_where" are
added in BMessage::_SanitizeMessage().
* messages that don't have a valid target in the looper are now
dropped instead of being sent to the looper - this should be done
in BLooper as well, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15087 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0952015 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* changed the way a message is forwarded to the focus view (instead of adding
a suspend focus field to the message, there is now a "feed focus" field in
case the message should be forwarded).
* added a comment to the BPoint version of _FindView() (since it's broken)
* _DistributeMessage() is now called after _DetermineTarget() - so that it
can prevent sending the message twice to the focus view.
* removed BWindow::DoUpdate() as it's no longer used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15066 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14d02d22 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Huge cleanup and fixes:
* attachView() is now called _CreateSelf() and creates the app_server
view counterpart for itself, and no longer for a child view.
* removed superfluous deleteView().
* moved drawing from BWindow::DoUpdate() to BView::_Draw().
* made the recursive hook call functions consistent.
* fixed BWindow::DispatchMessage() to send public messages to the intended
target (instead of always handling them itself directly).
* DispatchMessage() no longer eats unmapped key events that were targeted
at the window directly.
* B_KEY_DOWN and B_KEY_UP events are now send to the target view as well
(this couldn't work before as BMessages were broken with B_PREFERRED_TOKEN).
* the default button is now correctly targeted by BWindow::_DetermineTarget()
(previously, the enter key was hacked to get through via _HandleKeyDown()).
* removing a view now also makes sure it won't have focus any longer.
* also, the DetachedFromWindow() hooks are now called first, so that any
changes made there cannot mess up our window anymore.
* removed BView::SetPattern(); _UpdatePattern() now does its job.
* renamend private methods to match our preferred style.
* removed unused methods and variables.
* more consistent naming overall.
* removed _PR3_COMPATIBLE_ stuff - there is definitely no need for us to be
compatible to that one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15060 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ceb1e51 20-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and
task_looper() again.
* removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately,
you don't have to do that anymore - use B_PREFERRED_TOKEN instead.
* fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument
in case of failure.
* Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher
counterpart to the app_server (the other will be _DetermineTarget()).
* Made it easier to use Michael's Message4 implementation: just add the following line
to your UserBuildConfig:
AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ;
* Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will
target the client handler, while the other will target the preferred handler of the
client looper (usually the view having focus).
* Fixed dano message unflattening in the Message4 code.
* Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation.
* I hope that's all - it's a huge change, but it's all connected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ace01f86 19-Nov-2005 Adi Oanca <adioanca@nowhere.fake>

Removed BWindow::_DetermineTarget(). BWindow's task_looper() just calls BLooper's one. Took Message4 stuff from BWindow's task_looper() and put it in BLooper::task_looper() - guess this is wanted...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15037 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 292d5ced 12-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* Rewrote shortkey handling - it now actually works as expected.
* Some work on _DetermineTarget(), more to come.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14869 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41258688 29-Oct-2005 Adi Oanca <adioanca@nowhere.fake>

cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14566 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef5ab08d 21-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed keyboard navigation; it should now behave pretty much like R5 AFAICT:
- moved standard keyboard navigation into the BView::KeyDown() hook
- the window now only handles tab+option/command key
- B_COMMAND_KEY triggers group jumping, not B_CONTROL_KEY (that activates the switcher,
but directly in the app_server)
- fixed broken group navigation: (modifiers & B_COMMAND_KEY & B_SHIFT_KEY) is different
to (modifiers & (B_COMMAND_KEY | B_SHIFT_KEY)) and is just never true with these
constants.
That allows the tab key completion to be used again in Terminal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14038 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e6a5805 05-Jul-2005 Stephan Aßmus <superstippi@gmx.de>

MenuField layouts the menu bar better with respect to fDivider, it aligns better with other controls. fDivider in TextControl is an integer number now, small fix and small cleanup in Menu, Window::InitData takes an optional BBitmap token to construct an offscreen window, fixed PrivateScreen IndexForColor, View prevents being located at fractional coordinates as in R5, BBitmap unlocks its offscreen window since it is never Show()n and needs manual unlocking, fixed Slider offscreen window mode and improved triange thumb drawing, ScrollView would not crash when passing a NULL target just for kicks, the private MenuBar class now implements Draw to draw itself a little differently inside the BMenuField (dark right and bottom side) - though how it currently sets the clipping region prevents the text controls to draw in Playground, needs fixing

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13450 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb1336b4 28-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Some refactoring and cleanup:
- renamed some members and methods to fit our style guide
- moved removeSelf() to RemoveSelf() (as those two are essentially
the same), and fixed it on the way: the state of the child views
is now also updated by the new _UpdateStateForRemove() method
- Moved BWindow::sendPulse() and activateView() to BView::_Pulse()
and BView::_Activate()
- some minor stuff

This also fixes the broken previous commit - I forgot to update
View.h; this update contains the previous changes as well. Sorry
for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 85bd83a7 27-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

AS_CREATE_WINDOW now also gets the actual frame width and size limits of
the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62bb447e 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

In order to be binary compatible, one should not change the location
of private members if the class has friends (and BWindow has a lot of
them...), stupid Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd10337f 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f9d0f68 12-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed unused stuff

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e17b33e5 05-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

The window was removing the app_server connection too early, and thus hang in Quit().
Removed the stopConnection() method.
Cleaned up header a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 370ca4b9 31-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Corrected forward declaration

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 239fc54e 03-Feb-2005 Adi Oanca <adioanca@nowhere.fake>

changed one private method's prototype


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11240 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a9fed59 11-Aug-2004 DarkWyrm <darkwyrm@gmail.com>

I hate forgetting to check in files. :(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8552 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9839e741 05-Jul-2004 Adi Oanca <adioanca@nowhere.fake>

modified one method's name


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8322 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66c852a7 22-Jun-2004 Adi Oanca <adioanca@nowhere.fake>

Forgot about this one. Removed ReadMessageFromPort() 'cause there is no need for it. BLooper does already a great job, we will not complicate things. As you may have seen I also removed some code from Window.cpp because it really was not needed, for the same reason.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8133 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0c894a0 07-Dec-2003 DarkWyrm <darkwyrm@gmail.com>

Added a member PortLink for non-streamed communications with the server


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5621 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 98b01e2f 24-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

removed ReadRawFromPort(...)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4797 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f274814 08-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

use diff. I don't remembr now the differences


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4570 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3c09a41 03-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

changed something... I do not remember now... check with diff


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4486 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b95458fd 31-Aug-2003 Adi Oanca <adioanca@nowhere.fake>

modified some methods names


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4421 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1b739004 17-Apr-2003 DarkWyrm <darkwyrm@gmail.com>

Checkin for Adrian Oanca


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2304894 14-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Check-in for Adrian Oanca


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2917 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e4a7010 11-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Swapped unused _BSession_ pointer for a PortLink pointer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8e96ec340bee0b8279e3776c8cba1c3e37e7a956 14-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BWindow::MoveOnScreen() now has a flags field.

* You can now specify whether or not you want to resize the window,
and move it on screen, or center it.
* Removed PulseWindow::MoveOnScreen() method.


# f7c2983edc4573504fece2e673f10a0258789a15 08-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

HaikuDepot: change window frame setting.

* Moved entirely into MainWindow.
* Moved duplicated code into separate methods.
* Resize the main window on larger screens by default, as we can make
use of the extra space.
* Use BWindow::MoveOnScreen() instead of make_sure_frame_is_on_screen()
as the former has more info. And is even smarter now as it can
optionally resize windows to fit on screen.
* Center window on screen by default (ie. when there are no settings).


# ebf4cbe6e75f7317ff9be2371212eec0c94f7b4a 03-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Incredibly smart BWindow::MoveOnScreen() method added.

* Makes sure that the window is as complete as possible on screen.


# 99b4affab6fbabb0917abd76cb9a08b55a128e56 30-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

Added BWindow::ResizeToPreferred().

* B_AUTO_UPDATE_SIZE_LIMITS only really makes sense for resizable
windows, and it only sets the minimum/maximum window size.
* ResizeToPreferred() resizes the window to its preferred size, and
also supports height-for-width layouts.


# 4198ccecf3e2f6f19ec577af97a083162ed8e15d 14-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace cleanup only.


# 1f424632be5dcad5b81a23080eb205ab6471cd7b 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# 057c8708f216514c6874b7c49f6ca170760b3cf0 26-Oct-2013 Julian Harnath <julian.harnath@rwth-aachen.de>

Move B_MOUSE_IDLE generation to app_server.

* BWindow used to generate the B_MOUSE_IDLE events by sending a
delayed message with a one-shot BMessageRunner to itself.
Every creation and deletion of BMessageRunners causes synchronous
messaging between the application under the mouse cursor and the
registrar. This creates large amounts of calls to set_port_owner()
in the kernel whenever moving the mouse.

* Now, B_MOUSE_IDLE is sent by the cursor loop inside the app_server
instead. When the mouse wasn't moved for the tooltip delay time,
it inserts a B_MOUSE_IDLE message into the event stream.

* The tooltip delay thus becomes a system-wide constant and is not
configurable per-application anymore (no code currently in the
Haiku repo makes use of that anyhow).


# 94dc74b027f8689bc67d616bf771fb4415350453 10-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More explicit denoting the BPrivate namespace


# 323523c4b9de8889fd783b6a8ae40a984e1bd025 26-Jul-2013 John Scipione <jscipione@gmail.com>

BWindow: style fixes only, no functional change.


# f3decd20605e769ce37ef3dd2bfa71bb9c196a81 30-Apr-2013 John Scipione <jscipione@gmail.com>

Fix #9726 Revert CenterIn() and CenterOnScreen()

... back to their previous void returning roles. AlertPosition() is used instead to
check that an alert fits within the sides of the screen and all that.

Also add another CenterOnScreen() method that takes a Screen ID
so you can center a window on another monitor that the one it is currently on
(theoretically someday anyway).


# 6723d9fc948b0abd71cb55b46f8c73586d8494f1 30-Apr-2013 John Scipione <jscipione@gmail.com>

Create a BWindow::AlertPosition() method and use it

...to position alert's and open/save dialogs nicely inside of the parent window,
or if that is unavailable, the screen frame.

AlertPosition() is private (for now) but BAlert and BFilePanel are BWindow's friends so
BWindow allows those classes to touch it's privates.


# 54153cc8b27318d70d05601ac0024ecbea295b1f 28-Apr-2013 John Scipione <jscipione@gmail.com>

Update CenterIn() and CenterOnScreen() methods in BWindow

* These methods now return the new point after centering.
* But more importantly CenterIn() does some new adjustments to keep the window
position inside the screen edge. If you pass the screen frame into CenterIn()
it skips these adjustments.


# 0619f34b525cc9dae8febf61cdc30a371496116b 04-Nov-2012 Oliver Tappe <zooey@hirschkaefer.de>

Add BWindow::HasShortcut()


# 59347b7f1bad11b684ce8c6ed594781f5d2eb4e2 13-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Reverse the meaning of BWindow fShowLevel to match BView.

This also matches the client_window_info.show_hide_level field used in Deskbar
and other applications.

While doing this, keep fShowLevel fully in sync between BWindow and app_server,
use one message type for both hiding and showing, and make the decision to show
and hide the window in the app_server.

Lastly make minimize behave as described in the Be Book: hidden windows cannot
be minimized, and minimized windows which get hidden become unminimized.


# 48ae3e3808d235e6bea5efdf254eefaff892920d 27-May-2011 Axel Dörfler <axeld@pinc-software.de>

* Followed Ingo's suggestion, and added a BWindow::Layout() method.
* Changed ShowImage to use that function.
+alpha in case Ingo gives his okay :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41782 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 58bee544222b1124a21e1910d1caf2622cdac75e 19-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed _CheckSizeLimits() to UpdateSizeLimits() and made it public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39495 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d6c7b6cb6f46c2672074ff137a18833d4dd3041 17-Aug-2010 Alex Wilson <yourpalal2@gmail.com>

Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts.
a few highlights:
* BLayout now derives publicly from BLayoutItem
* Added BAbstractLayout class, which our layouts now derive from
* updated layout builders to avoid creating views when they don't need to
* updated layout classes
* updated AboutSystem to fix a little regression
* more details on #6407
* please tell me about any regressions, I've tried to find them all, but some
may have slipped by.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5836cd75c258263c14eb31fb0a2d1d27dc3b1682 17-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a BWindowStack interface class. Please review if adding a BWindowStack as a friend of BWindow in Window.h is ok.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38171 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 09749e95dc8747b3850cb5d1a3bded774d0880cc 18-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Added a BWindow::InViewTransaction() that determines whether or not the
window is currently updating its drawings as suggested by Stippi.
* Add this method to decide whether to call _FontChanged() in
BListView::SetFont().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34109 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 75a6d1db99fe8ea432c7ff8d80cfc095710d02f5 26-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Optimized includes. For example, BeBuild.h is almost always already included
via SupportDefs.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32748 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89208c77f10235d43fda0c7b3fd6751db02cc12c 27-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Finished unifying the Interface Kit headers:
* Fixed copyrights (puncuation and capitalization, removed authors from
headers)
* Updated indentation style
* Unified pointer/reference style
* Re-ordered some methods for better grouping where it could be done
(abd adopted source accordingly)
* Small coding style fixes here and there

No functional change intended.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32745 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19bce7226ad66127e6639b89959c469f223a460c 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Remove the forced resizing to preferred size when CenterIn is called, and
instead just check if the size limits need to be set. The code that previously
did this when processing the B_LAYOUT_WINDOW message was extracted into a
private method, which is called from both places.

This may be slightly wasteful in some cases (since the size limits may be set
multiple times), but it is definitely needed because without it both of the
current test apps (DiskProbe and Screenshot) did not have properly centered
windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32622 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0586d610aef2303e09c095164853e54af7b4971 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Remove useless BRect* version of CenterIn, make remaining version take a const
BRect reference.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32614 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ff62714d017b620b7d452a686f3667662b143f2 22-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Finally implemented BWindow::CenterOnScreen, with associated CenterIn(BRect)
methods as well as Size(). To avoid the problem of centering the window before
it has been resized by the layout system, I force the resizing early. If there
is a better way to do this or some way to avoid doing it repeatedly, let me
know. But I figure the Center* methods should not be called that often.

Updated Screenshot and DiskProbe to use this new method as a test. It certainly
cleaned up DiskProbe. I will update other code over the next few days (if
anyone wants to help, please do :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32612 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 87da7984dc830d44b9d611680d84d474726d861b 19-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Contrl-~ now switches between application windows. This is handier than the
mechanism used in BeOS, that is to press Control+Option-Tab (which didn't
work on Haiku, though).
* Did not change the window switch logic, though, so it's still not really
nice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32524 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8318af01b99f0c1c6622b7bf33db02794b7eaa20 03-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Added a basic tool tip API, and implementation.
* The BView API can probably be regarded as good enough; the implementation
might need to be improved over time (also, some things as archivability
aren't fully implemented yet). The ToolTip.h header should get public once
finalized.
* Added new B_MOUSE_IDLE message that is sent to a BView after a certain
time has passed (BToolTipManager::ShowDelay()).
* Added small test app (ToolTipTest) that shows what is already working.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e343673a0b6b93a49c03164157af838c5758e308 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* The app_server implements modifiers for performing decorator actions anywhere
inside the window. These are Command + Alt. In X11, it's just Alt, but that
is already used in various Haiku/BeOS apps.
* Introduced new window flag B_NO_SERVER_SIDE_WINDOW_MODIFIERS to disable the
above.
* Made click to front in FFM mode less strict, you can slightly move the mouse
now and still click windows to front.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f247113640c6b692023a316913c73a89b04c3a31 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Added DecoratorFrame() method, which returns the outer frame of the window
on screen (ie including the decorator border and tab). Plus the necessary
refactoring as well as some TODO notes about windows with the tab on the left
side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29820 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aa87523e3c1471dc1d5f3476dda5473f35388eee 29-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* This should have been part of r29776 and fixes the build. Thanks Alexandre!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d751323939575160b39a145750ddde4eb6f02b39 18-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* reintroduce member fOffscreen which got removed in r2917
* check if locking the offscreen window succeeds before calling delete on it
* don't return offscreen windows in CountWindows and WindowAt (works now as on R5)

fixes ticket 1522, 1591, 1946, 2318 and propably more

While creating an BBitmap in BApplication the bitmaps window looper would
be added to the applications gLooperList, thus calling Quit() on that window
and later delete on a stale window pointer in BBitmaps dtor. The Lock() check
would fix the problem, but tests on R5 have shown that BApplication hides the
offscreen window in CountWindows() and WindowAt().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28236 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a02979bb3f339a9dd1b1d7dae4b2e856a4f73b77 18-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71ea6c922905bb76862bf956e63ec44728cd14a5 12-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

* Refactored a method for getting the transit from a mouse moved message.
* In _StealMouseMessage(), don't maintain fLastMouseMovedView, instead,
prevent B_MOUSE_MOVED message from being stolen that are important for
detecting transit changes. The point is that some apps (like Tracker) are
shooting themselves in the foot because they steal mouse messages via
GetMouse() in one place, but then rely on sane transit values in another
place. The way it works now, the view in question may get notified of the
same mouse moved coordinate twice, once via GetMouse() and once via
MouseMoved().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28002 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6b036858b1c090f1179a25c451f225bd2a01514 19-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Move the now used boolean to the old place in order to avoid different padding
to happen and therefor changing the object size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eaa6da1ef750d815d4318870eb24ccabc326c4c8 19-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Use a flag in BWindow to store whether an update to a view (Invalidate()) has
been requested. The first call to a BView::Invalidate() will flush the link
so that app_server is notified as soon as possible. It makes no sense for
further calls to Invalidate() to flush also, since Flush() is not cheap. This
trick makes Invalidate() about 3.2 times faster, making it a cheaper operation.
I could not see any negative effects, I tested with apps that invalidate
multiple different parts inside a window in reaction to something. Thanks go to
Ingo who had the idea.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26020 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 838c73ba76ad83ae603837e65739eb975eb522b8 11-Apr-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed unused BWindow friend classes, renamed some BView member
variables to fit our guidelines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24912 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb933783558adeee749d0a42ca35d0fe630b82d 04-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Ingo broke binary compatibility of Window.h in r18649, thanks to Stefano
for finding this. This should fix bug #1734.
* Removed unused BWindow members and the temporary PrintToStream() method.
* Indentation cleanup (DirectWindow.h had some spaces instead of tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b73648647dbeca06a9894c275b114b7e8fbace7a 14-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed the TODO added by Ingo in r21957: locking the application didn't even make any
sense. Instead, we now lock its app_server connection only. The deadlock as exposed
by starting Icon-O-Matic twice is now gone, at last.
* Fixed the TODO added by Ingo in r21953: moved the thread/handler renaming code in a
dedicated method _SetName() which is now called from _InitData() and SetTitle(); the
"w>" is no longer lost.
* Unlike the BeBook states, BMessageQueue::RemoveMessage() is indeed not supposed to
delete the message it removes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 288e17885a07678d7c9eab93abb3401c6c14c5f8 03-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented B_CLOSE_ON_ESCAPE as mentioned on the mailing list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21308 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c53b9343299555784ad756d0352a8ed271b8d54c 15-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed indentation of the layout related methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21140 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a720453e153637622866d3f382c01a16bf12155 17-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

One step closer to the Switcher - still doesn't work, though, but at least the
BWindow code looks okay now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ecf9d1c1d4888d341a6eac72112c72d1ae3a4cb 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fa407130aaf427956a50adf6b31781d26e8fb52d 24-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Now this should nail down bug #762 pretty well: BView::GetMouse() no calls the
private BWindow::_StealMouseMessage() which makes sure only messages for the
preferred handler are stolen, and also, that nothing gets lost that shouldn't
get lost.
Also updates the fLastMouseMoved view in case the message is actually removed
due to GetMouse().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a502e8cd6e9c7cf22d12540a3f362f553e8247ab 27-May-2006 Stephan Aßmus <superstippi@gmx.de>

sorry, forgot about this change... fixes build

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17604 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b30e90211eddde5fc96258dfaf8364f2fefd9695 24-May-2006 Stephan Aßmus <superstippi@gmx.de>

added a way for BWindow to store and restore arbitrary decor settings,
currently those include only the tab location


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17583 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ecf9f948002cda853199de279dde5255737e4124 11-Mar-2006 Stephan Aßmus <superstippi@gmx.de>

* cleaned up fPulseRunner stuff, I have no idea why fPulseEnabled was
useful... so I removed it
* fixed memory leak with SetPulseRate(0), fPulseRunner is now
properly freed in the Window destructor
* fTitle is now freed as well
* fix some potential leaks in BView destructor as well

I wrote a stress test app, which I'm soon going to commit as well...
it shows that not all memory leaks are fixed by this patch, I could
use some help with this...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16713 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35e74831d430fe6520a915c567dc8b4e045d49af 15-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Shortcut messages now add a boolean "shutdown" field to the message - this
prevents Tracker from being quit by Command+Q.
* Also, it's now possible (as on R5) to remove the Command+Q shortcut.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c81d2e7a59238a41ebbd349c29ff320b35f2f391 09-Feb-2006 Stephan Aßmus <superstippi@gmx.de>

* fixed window zooming/unzooming behaviour
* fixed FrameResized() and FrameMoved() not
being called anymore in response to ResizeTo()
and MoveTo() since I introduced a check in
DispatchMessage() (fixes bug #123)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16312 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 463e791c29e39e60a43489463a4cc449f8286ce8 09-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Added new window flag B_SAME_POSITION_IN_ALL_WORKSPACES.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 715476b7efd237a7d0ac3e92f7c2fdaabca3dd2f 06-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

The resize code now works correctly, finally - it temporarily did harm ;)
The BViews must be resized directly after every change in the window size - we
cannot wait until B_WINDOW_RESIZED, since subsequent calls have wrong view
sizes, then.
B_WINDOW_RESIZED is only really useful for app_server caused window resizing.
Added TODO to SetLook(): it may change the window size as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15385 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6450b76dd4cef8cf04e8d31471517b40a35fa09a 23-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Next big step in the event handling:
* RootLayer's mouse event processing is now at its minimum - the
EventDispatcher handles them now. As a result, a window will now
get only one message per event.
* RootLayer adds "_view_token" to mouse moved messages that specify
the view currently under the cursor.
* There is now a mouse event layer in RootLayer that gets preferred
when it's set - this is now used for the window moving instead of
the previous mechanism.
* changed the previous DistributeMessage() to an UnpackMessage()
method following Adi's suggestion.
* caveat: some things might be functionally broken in RootLayer now
because of removing the mouse notification stuff.
* "be:transit" handling is now done completely client side by
BWindow::_SanitizeMessage(() (similar to what the input_server does).
This should also make the mechanism pretty robust, since every
B_MOUSE_MOVED message can now trigger the view transit (in case a
message is lost). B_WINDOW_ACTIVATED messages should be generated
client side as well.
* renamed AS_LAYER_GET_MOUSE_COORDS to AS_GET_MOUSE as it's not a
layer specific command, and also gets the mouse buttons.
* B_MOUSE_* messages from the up server now contain only a "screen_where"
field; "where" (in window's coordinates) and "be:view_where" are
added in BMessage::_SanitizeMessage().
* messages that don't have a valid target in the looper are now
dropped instead of being sent to the looper - this should be done
in BLooper as well, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15087 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0952015032d9df40d5f92a5cef46398abb401d9 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* changed the way a message is forwarded to the focus view (instead of adding
a suspend focus field to the message, there is now a "feed focus" field in
case the message should be forwarded).
* added a comment to the BPoint version of _FindView() (since it's broken)
* _DistributeMessage() is now called after _DetermineTarget() - so that it
can prevent sending the message twice to the focus view.
* removed BWindow::DoUpdate() as it's no longer used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15066 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14d02d22f66d08946519ad2b073be23fa78fc0c3 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Huge cleanup and fixes:
* attachView() is now called _CreateSelf() and creates the app_server
view counterpart for itself, and no longer for a child view.
* removed superfluous deleteView().
* moved drawing from BWindow::DoUpdate() to BView::_Draw().
* made the recursive hook call functions consistent.
* fixed BWindow::DispatchMessage() to send public messages to the intended
target (instead of always handling them itself directly).
* DispatchMessage() no longer eats unmapped key events that were targeted
at the window directly.
* B_KEY_DOWN and B_KEY_UP events are now send to the target view as well
(this couldn't work before as BMessages were broken with B_PREFERRED_TOKEN).
* the default button is now correctly targeted by BWindow::_DetermineTarget()
(previously, the enter key was hacked to get through via _HandleKeyDown()).
* removing a view now also makes sure it won't have focus any longer.
* also, the DetachedFromWindow() hooks are now called first, so that any
changes made there cannot mess up our window anymore.
* removed BView::SetPattern(); _UpdatePattern() now does its job.
* renamend private methods to match our preferred style.
* removed unused methods and variables.
* more consistent naming overall.
* removed _PR3_COMPATIBLE_ stuff - there is definitely no need for us to be
compatible to that one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15060 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ceb1e519c0447147b1d8b54a324bb7fedd3a606 20-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and
task_looper() again.
* removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately,
you don't have to do that anymore - use B_PREFERRED_TOKEN instead.
* fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument
in case of failure.
* Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher
counterpart to the app_server (the other will be _DetermineTarget()).
* Made it easier to use Michael's Message4 implementation: just add the following line
to your UserBuildConfig:
AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ;
* Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will
target the client handler, while the other will target the preferred handler of the
client looper (usually the view having focus).
* Fixed dano message unflattening in the Message4 code.
* Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation.
* I hope that's all - it's a huge change, but it's all connected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ace01f864b2b7923d770d6af1331cfc3adc05eee 19-Nov-2005 Adi Oanca <adioanca@nowhere.fake>

Removed BWindow::_DetermineTarget(). BWindow's task_looper() just calls BLooper's one. Took Message4 stuff from BWindow's task_looper() and put it in BLooper::task_looper() - guess this is wanted...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15037 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 292d5ced0eb76e06613201fc563de16ef812ef18 12-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* Rewrote shortkey handling - it now actually works as expected.
* Some work on _DetermineTarget(), more to come.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14869 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 412586888e7707cae3c47f85c7ee2e37653ba04e 29-Oct-2005 Adi Oanca <adioanca@nowhere.fake>

cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14566 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef5ab08df309a3a9ddf7211df822bfd8eec42c6e 21-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed keyboard navigation; it should now behave pretty much like R5 AFAICT:
- moved standard keyboard navigation into the BView::KeyDown() hook
- the window now only handles tab+option/command key
- B_COMMAND_KEY triggers group jumping, not B_CONTROL_KEY (that activates the switcher,
but directly in the app_server)
- fixed broken group navigation: (modifiers & B_COMMAND_KEY & B_SHIFT_KEY) is different
to (modifiers & (B_COMMAND_KEY | B_SHIFT_KEY)) and is just never true with these
constants.
That allows the tab key completion to be used again in Terminal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14038 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e6a5805ba8db3b072d81257cc44f966def5fd37 05-Jul-2005 Stephan Aßmus <superstippi@gmx.de>

MenuField layouts the menu bar better with respect to fDivider, it aligns better with other controls. fDivider in TextControl is an integer number now, small fix and small cleanup in Menu, Window::InitData takes an optional BBitmap token to construct an offscreen window, fixed PrivateScreen IndexForColor, View prevents being located at fractional coordinates as in R5, BBitmap unlocks its offscreen window since it is never Show()n and needs manual unlocking, fixed Slider offscreen window mode and improved triange thumb drawing, ScrollView would not crash when passing a NULL target just for kicks, the private MenuBar class now implements Draw to draw itself a little differently inside the BMenuField (dark right and bottom side) - though how it currently sets the clipping region prevents the text controls to draw in Playground, needs fixing

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13450 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb1336b44fd1e4de56ac33d3c8b66787083243d0 28-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Some refactoring and cleanup:
- renamed some members and methods to fit our style guide
- moved removeSelf() to RemoveSelf() (as those two are essentially
the same), and fixed it on the way: the state of the child views
is now also updated by the new _UpdateStateForRemove() method
- Moved BWindow::sendPulse() and activateView() to BView::_Pulse()
and BView::_Activate()
- some minor stuff

This also fixes the broken previous commit - I forgot to update
View.h; this update contains the previous changes as well. Sorry
for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13334 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 85bd83a71069c8719f31d5ddfb0477a6bc1f4ebc 27-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

AS_CREATE_WINDOW now also gets the actual frame width and size limits of
the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62bb447ee0835ebbfa2eeea495faa060e45ca4d9 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

In order to be binary compatible, one should not change the location
of private members if the class has friends (and BWindow has a lot of
them...), stupid Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd10337fd005a67a4947714fdeecf2121485b91d 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f9d0f685d1a1c1ae165863d748d49cb54038298 12-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed unused stuff

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e17b33e56b74c192b47ed694aa367c56a816eb2a 05-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

The window was removing the app_server connection too early, and thus hang in Quit().
Removed the stopConnection() method.
Cleaned up header a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 370ca4b97ccfb7a6df7f724ed4b7e00fc4225e60 31-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Corrected forward declaration

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 239fc54e70b4174b9de2e9288f7f0a1663e9fad3 03-Feb-2005 Adi Oanca <adioanca@nowhere.fake>

changed one private method's prototype


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11240 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a9fed59c3b7b1947ec5cafb2f6e71807563e784 11-Aug-2004 DarkWyrm <darkwyrm@gmail.com>

I hate forgetting to check in files. :(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8552 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9839e74132ff0d681f5979fcca1f84a19e5218ba 05-Jul-2004 Adi Oanca <adioanca@nowhere.fake>

modified one method's name


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8322 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66c852a764aaddea0c78699e44103a38f1477229 22-Jun-2004 Adi Oanca <adioanca@nowhere.fake>

Forgot about this one. Removed ReadMessageFromPort() 'cause there is no need for it. BLooper does already a great job, we will not complicate things. As you may have seen I also removed some code from Window.cpp because it really was not needed, for the same reason.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8133 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0c894a08887a563f024169caefa8937cb6918a4 07-Dec-2003 DarkWyrm <darkwyrm@gmail.com>

Added a member PortLink for non-streamed communications with the server


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5621 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 98b01e2f1644c0ba0c2f2e47a1fc24872b7147d1 24-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

removed ReadRawFromPort(...)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4797 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f274814d1c9c0ad51466fca7c0f50fd96a1f6fc 08-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

use diff. I don't remembr now the differences


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4570 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3c09a41f627a470adffc29287ddbbc4aef8f3bf 03-Sep-2003 Adi Oanca <adioanca@nowhere.fake>

changed something... I do not remember now... check with diff


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4486 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b95458fd6ccc8bce6baebaf86a1dd218d41e2e8f 31-Aug-2003 Adi Oanca <adioanca@nowhere.fake>

modified some methods names


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4421 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1b7390044f43f9b85007a90b56fa18880972d064 17-Apr-2003 DarkWyrm <darkwyrm@gmail.com>

Checkin for Adrian Oanca


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d230489402278bb900ae68703ff64585e1fb9c4c 14-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Check-in for Adrian Oanca


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2917 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e4a70109a3d7895b5ad33227d79a1b82f0c070b 11-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Swapped unused _BSession_ pointer for a PortLink pointer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96