Stephan Aßmus
442992bf26
fixed some pretty bad bugs that prevented menus from working (they now do): The BMessage* in AddShortcut is taken in responsibility by the BWindow, so we cannot directly use the message from BMenuItem, the be_app was locked in InitData but never unlocked, it fixes BMenus only working once, and who knows what else it fixes. A little cleanup with _BCmdKey usage, also note that it is inefficient to RemoveItem()s from a list in the destructor of any class using a BList as data container! Simply delete the items and be done with it. The BList destructor will take care of the rest and free its storage in one go.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 13:19:28 +00:00
Axel Dörfler
e17b33e56b
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
2005-06-05 18:57:55 +00:00
Stephan Aßmus
59345e264f
huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:50:30 +00:00
Stefano Ceccherini
b9b38bc7b2
Fixed build with debug enabled. Renamed a static variable.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 14:15:33 +00:00
Stefano Ceccherini
38b35d9caa
BBitmap now uses the correct (private) BWindow constructor. Partially implemented that constructor. Fixed another typo in BView, verified and removed some TODOs
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 06:32:16 +00:00
Stefano Ceccherini
87ab5d5c6d
Now we delete the menu semaphore in the window's destructor
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 13:56:06 +00:00
Axel Dörfler
25500bdfd9
Fixed BWindow::UpdateIfNeeded() by moving the code from BView::GetMouse() over.
...
GetMouse() will now just call UpdateIfNeeded().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 17:20:36 +00:00
Axel Dörfler
bcd8a1fad9
Converted Window.cpp to our coding style guide and (unfortunately) fixed a
...
myriad of small bugs here and there, as well as some very odd coding techniques:
- the "Minimize" property was not handled
- the "Minimize" property was not settable
- the property/scripting stuff was horrible, anyway
- there are more and better error codes than B_ERROR (could someone tell the
app_server guys? :))
- added some ToDo items here and there
- and much more I don't remember
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:53:21 +00:00
Axel Dörfler
3405fff2a9
Implemented private function BWindow::DequeueAll() which reads all pending
...
messages from the port.
BView::GetMouse() now calls this function if it was called from the window's
thread and thus blocking the message loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 16:54:56 +00:00
Stephan Aßmus
ad6b480400
Work in Progress. The server keeps the client window up to date on layer movement/resizing. This fixes quite a few problems and brings support for FrameMoved and Resized hooks. But implementing it this way has its own set of problem, most importantly: When a BView calles Window()->CurrentMessage() in its FrameMoved/Resized hooks, it will see something very different from what it would see in R5. This needs to be fixed, but I have not had a good idea how to do this other than faking the current message in BWindow, which I didn't look into.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 15:39:58 +00:00
Stephan Aßmus
d557af5b96
Fixes to my fixes of BView::MakeFocus(), the previous focus BView needs to be unfocused of course so the derived classes implementation gets called. Simplified BWindow::setFocus(). BView calls FrameResized() and FrameMoved() if it has no parent, I don't know how R5 handles it, but I added a TODO...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 11:59:42 +00:00
Stefano Ceccherini
7bdfb0d996
Added handler for _MENUS_DONE_
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-07 13:24:25 +00:00
Stephan Aßmus
fc72699071
added some safety checks, cosmetic changes - please note that it is safe to call delete with a NULL pointer, unlike free(), so please don't clutter the code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:54:44 +00:00
Stephan Aßmus
1596a167c0
work around for layers not being moved that have not yet been added to the tree. See WinBorder::MoveTo for the explaination. The same problem should be at other places and most likely for normal views as well. This fixes BWindow::MoveXX() when it is not yet Show()n
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 23:56:40 +00:00
Stephan Aßmus
9715a3e1bf
fixed BWindow::MoveXX(), BWindow::ResizeXX() and BView::ConvertToScreen()
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 12:31:25 +00:00
Stephan Aßmus
3505574164
Added some TODO comments in Window.cpp, improved coordinate conversion in View.cpp. I'm not sure if this really works correctly, I need to write more tests. The scrolling test actually does more of what it is supposed to. At least the scrolling properly follows the mouse now. Missing are the movement of child views, the rebuilding of clipping, and I think that the scrolling needs to be synced to update requests having been fullfilled, or else some parts of the View will be CopyBits()ed which have not been drawn after having been scrolled into view by previous calls to ScrollBy(). Any insights appreciated.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 23:27:37 +00:00
Stephan Aßmus
28930a1240
small changes and fixes here and there
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 17:25:29 +00:00
Adi Oanca
6141cc1d5a
Adjusted SetFeel() to current server implementation
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-21 18:59:14 +00:00
Adi Oanca
e86740b699
Forward message to the handler set inside task_looper() no to fFocus
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-14 21:17:07 +00:00
Adi Oanca
94b849e1e2
No more B_MESSAGE_NOT_UNDERSTOOD on B_UNMAPPED_KEY_DOWN, B_UNMAPPED_KEY_UP, B_MODIFIERS_CHANGED events
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-14 18:05:54 +00:00
Adi Oanca
be9241bf17
Added server support for Workspaces() and SetWorkspaces()
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-10 18:56:02 +00:00
Adi Oanca
9f7e77bd63
Forgot a warning message
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:39:18 +00:00
Adi Oanca
52bd978684
Send only one AS_BEGIN/END_UPDATE message, not for every view
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:36:34 +00:00
Michael Lotz
3c46b74895
Remove debug leftover.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 21:29:55 +00:00
Michael Lotz
cd970020cb
Implement the BWindow::task_loop again. I know that this is code duplication, but look at
...
the TODO item for an explanation. We could do this as a hack in Looper.cpp though.
Also implement the determine_target function (incomplete).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 21:08:38 +00:00
Adi Oanca
27e3da2fac
BWindow's frame events hooks work now. Frame gets updated on window move/resize.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:16:31 +00:00
Michael Lotz
ed16bb7885
Fix KeyDown/KeyUp calls so that we don't always get numBytes = 0.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 02:07:02 +00:00
Adi Oanca
642d7ca95e
Implemented BView::SetEventMask()
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-21 20:26:44 +00:00
Adi Oanca
494d1b2a5a
This fixes a problem with window's contents not being redrawn after a Show(), Hide and Show() again
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:22:23 +00:00
Axel Dörfler
f51f1dda88
Fixed some weird includes (no need or even support to specify "posix" as part of the include path).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-05 13:37:13 +00:00
Adi Oanca
7b76dd8073
mouse & keyboard messages now use the full power of application_kit
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-07 00:32:32 +00:00
Adi Oanca
79c8040e93
BView::MouseUp/KeyDown/KeyUp() hook methods are called for the BView for which the action takes place
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 22:46:58 +00:00
Adi Oanca
0e835651a5
BView::MouseDown() finally gets called
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 21:41:09 +00:00
Adi Oanca
6e8a11dda4
Keyboard messages are dispached to BWindow's handler if no focus view
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 17:58:09 +00:00
DarkWyrm
e09fd76fe6
Added some changes for the new mouse wheel support
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-06 19:45:49 +00:00
DarkWyrm
f9ed3ba7d5
Fixed a stupid mistake in the message to create a window
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-22 00:10:44 +00:00
DarkWyrm
38e110b124
Client-server messaging fixes
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-08 22:35:25 +00:00
haydentech
f073f5d156
Fix 2 instances of mismatched locking
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-02 21:07:55 +00:00
DarkWyrm
3ceb31b96a
Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:15:27 +00:00
Stefano Ceccherini
26b5401027
Added implementation of _set_menu_sem_() to Window.cpp (should it go to a different place ?), thus fixing the build (at least here, I hope I didn't forget anything else).
...
Thanks to Bill Hayden for reporting and sorry again for the trouble.
Changed a comment in PopUpMenu.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-14 07:41:47 +00:00
Adi Oanca
7c680a3569
Implemented a method for the update process. Rearanged some code.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 20:39:03 +00:00
Axel Dörfler
71786a380c
Added missing private AddShortcut variant.
...
Minor style update.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-27 21:32:52 +00:00
Adi Oanca
5b7dc94cde
chnaged a mesage code
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-19 13:09:08 +00:00
Adi Oanca
5929c56ed0
::MoveBy() fixed.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 18:10:07 +00:00
Adi Oanca
1889be2a4d
hidden state was wrongly reported
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 11:53:44 +00:00
Adi Oanca
a3c6cfb7b7
Changed internal protocol. Ha ha. Just deleted a line. :-)))
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 14:41:15 +00:00
Adi Oanca
f23d8d6216
Major code cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 06:45:13 +00:00
Adi Oanca
d7113e23eb
modified Resize methods
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 19:07:12 +00:00
Adi Oanca
7a71a81c84
modified the way top_view sends its data to app_server. It now send _all_ is data
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-03 14:57:39 +00:00
Adi Oanca
a7d9589ff2
* Modified a little the protocol for AS_LAYER_CREATE_ROOT message. Replaced PortLink with BSession. Was
...
necessary!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-28 14:49:12 +00:00