Commit Graph

79 Commits

Author SHA1 Message Date
Axel Dörfler
aa1f543799 Some work on cursors:
* Fixed a myriad of bugs all over the place, ranging from locking errors to
  deleting objects that don't belong to the one deleting them (hello HWInterface!)
* Almost all ServerWindow cursor stuff was broken; I've replaced all commands
  to set a cursor with a single one AS_SET_CURSOR.
* Renamed some cursor commands.
* Changed the (broken) way ServerApp::fAppCursor was maintained - the application
  cursor is now NULL as long as possible.
* Removed superfluous ServerCursor app signature stuff.
* The BApplication will no longer duplicate the default/I-beam cursors, it will
  just reuse the default ones which now have fixed tokens.
* As a result, changing the cursor is now working as expected, closing bug #102.
* Rewrote Cursor.h, renamed private members to match our style guide.
* Minor cleanup.

What's still left to be done is reference counting the cursor objects to make them
work right and reliable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 18:14:14 +00:00
Axel Dörfler
5edcfe9619 Cleanup!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:23:08 +00:00
Stefano Ceccherini
17adbf1f0c Misc style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 17:56:56 +00:00
Axel Dörfler
14d02d22f6 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
2005-11-21 16:58:36 +00:00
Axel Dörfler
3cace414ad Removed run_task(), as it's not really needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 12:35:30 +00:00
Axel Dörfler
e489029756 * made the dano and r5 message more similar to use (naming).
* coding style changes to structure naming.
* but no bug fixes yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 22:24:03 +00:00
Axel Dörfler
4ceb1e519c * 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
2005-11-20 16:24:23 +00:00
Axel Dörfler
1ba67cc8c6 * almost rewrote BMessageQueue; simplified code, removed over-extensive documentation,
cleanup.
* made BMessageQueue::IsLocked() const - the non-const version is still provided
  for binary compatibility.
* Both BMessageQueue::FindMessage() versions are now thread safe, the queue's BLocker
  is now mutable to allow for this.
* renamed BMessage::link to fQueueLink as the "Message4" implementation uses it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 13:01:59 +00:00
Michael Lotz
cf10934e5f Introducing Message4. The changes to the related sources are ifdefed with USING_MESSAGE4 which is defined in Message4.h. To use Message4 the Message4.cpp, Message4.h, MessageUtils4.cpp, MessageUtils4.h and MessagePrivate4.h have to be linked to their counterparts without 4 suffix. Then MessageBody.cpp and MessageField.cpp have to be commented out in the app kit Jamfile and r5_message.cpp has to be added. There remain some bugs to be found. Feel free to change that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 11:31:07 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Axel Dörfler
12119222aa struct entry_ref was used without defining it.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 20:30:58 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Ingo Weinhold
2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold
a13df0dc01 Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:23:28 +00:00
Ingo Weinhold
553ea30124 * Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
  by more general ones using the new interface MessagingTargetSet to represent
  a set of targets. This simplifies the usage in cases where the caller doesn't
  already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
  GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:17:40 +00:00
Ingo Weinhold
925d069d23 * Added BRoster::ShutDown().
* Adjusted the shutdown command to use BRoster::ShutDown(). Removed
  the alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:04:47 +00:00
Ingo Weinhold
a60ea28262 * Made BApplication::Private public. Should not have worked before (probably
a compiler bug).
* Don't try to cleanup the app server connection stuff, when compiled
  with RUN_WITHOUT_APP_SERVER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:53:59 +00:00
Ingo Weinhold
9351453415 * Added a private API class BServer, a BApplication subclass especially
for servers, that don't have a GUI or want to control when the app server
  connection is established.
* BServer is necessarily a friend of BApplication, for it uses a private
  constructor. Hence BApplication::Private::InitGUIContext() is no longer
  needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:53:29 +00:00
Ingo Weinhold
c8e7f53e08 * Radically culled the list of BApplication friends and introduced a
BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:55:16 +00:00
Axel Dörfler
b7e162e93a We definitely don't need the FIX_FOR_4_6, whatever that was about.
Also restored the original locations of the class members I broke before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:12:32 +00:00
Axel Dörfler
dd10337fd0 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
2005-06-14 21:28:56 +00:00
Stefano Ceccherini
941cf68a79 this looks like the right time to remove this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:47:26 +00:00
Ingo Weinhold
75393a9870 Named the fReplyTo struct so that we can create other vars of this type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 13:06:42 +00:00
Ingo Weinhold
efbea3a07a Moved the functionality to flatten and unflatten a BMessage header into
a separate class. This allowed to improve _SendFlattenedMessage() to
deal properly with flattened BMessages as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:19:50 +00:00
Ingo Weinhold
534ef684d9 Turned _init_message_(), _delete_message_(), and _clean_msg_cache_() into
proper private static BMessage members and made them accessible through
BMessage::Private. Got rid of unused _reconstruct_message_().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 15:05:44 +00:00
Ingo Weinhold
377872556d * Added support for unflatting from flattened KMessages. At least when
a buffer is given.
* Added method for sending flattened messages. The KMessage support is
  complete, but for BMessages this is a bit tricky. We currently unflatten
  the BMessages and send those.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:16:44 +00:00
Ingo Weinhold
054e7d17d7 * Got rid of all friends save the Private inner class.
* Turned the private constructor into a private SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:41:50 +00:00
Ingo Weinhold
77cbf881fc * Got rid of the BClipboard::fCount. It was modified, but never read.
Renamed fSystemCount to fCount.
* be_clipboard is now initialized by init_clipboard().
* Documented at least {Local,System}Count(), since their meaning wasn't
  very obvious to me (neither helped the BeBook description).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:54:00 +00:00
Ingo Weinhold
5090f23182 Got rid of one of BMessengers friends. Poor BMessenger. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:06:15 +00:00
Axel Dörfler
13cdd48215 Added B_REDO constant (as found in Dano/Zeta).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 15:32:16 +00:00
DarkWyrm
6d6540131a Added a couple of private, internal message defs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-18 23:55:41 +00:00
ejakowatz
19cdc4570f How the glaring fubar in MessagePrivate.h got past me is a mystery.
Nonetheless, here is new BMessenger-related goodness to smooth is all out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-25 23:33:02 +00:00
ejakowatz
e9e500cb9e Minor tweak to BHandler::UnlockLooper()
Added calls to _init_message_(), _delete_message_(), and
_msg_cache_cleanup() to InitTerminateLibBe.cpp
Finished first implementation of BMessage::SendReply(), BMessage::_send_(),
and BMessage::_send_message()
Add BMessage to app.src, removed BBlockCache from support.src.
New BMessage::Private class has functions for twiddling BMessage internals


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-25 07:55:52 +00:00
DarkWyrm
82d4312974 Moved cursor_which defs to a private header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-14 14:38:03 +00:00
shadow303
603aaee5fc fix for gcc 3
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:02:56 +00:00
Ingo Weinhold
3161d380ef Moved the declaration of the Private subclass into the public section where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 16:08:37 +00:00
Ingo Weinhold
f15efa78ef Missed one default parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-06 15:44:43 +00:00
Ingo Weinhold
eee5628778 Sorry, forgot the default parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 20:45:28 +00:00
beveloper
5014c4dcdd added default parameter to be able to compile media_server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 00:24:16 +00:00
Ingo Weinhold
c41e89d3da Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:08:11 +00:00
Ingo Weinhold
e89cde31e4 Rewrote the header from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:05:21 +00:00
Ingo Weinhold
5eb035ebfa Header is derived from BeOS R5 header. Removed it and going to rewrite it from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:37:00 +00:00
Ingo Weinhold
c2d22f44c7 Rewrote the header from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:29:23 +00:00
Ingo Weinhold
69691a2fa9 Removing the header since it is derived from the one of BeOS R5. I'm going to rewrite it from the scratch, but I suspect, it will look exacly the same. Anyway, that gives me a better feeling.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:18:22 +00:00
ejakowatz
80e966963f Little tweaks and fixes too numerous to count, but mostly involved with
adding entry_refs and BMessages.  Lots of stuff for specifiers and also for
sending replies (with thanks to Mike Nordell).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-23 23:13:02 +00:00
DarkWyrm
8204df2aa7 Made our BAppServerLink a friend class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-23 18:53:33 +00:00
ejakowatz
9862b5925d Resolved a minor conflict.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-19 04:38:03 +00:00
DarkWyrm
13772dd6bc Tweaks to get it to build proplery
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-16 21:41:19 +00:00
Ingo Weinhold
2ed834e3f6 Cleaned up BRoster's friends mess. All access to private BRoster functionality is now done through the newly added BRoster::Private class, which is BRoster's only friend (poor BRoster ;-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:29:21 +00:00
DarkWyrm
9bbede1078 One more necessary attribute for cursor_which
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-23 14:01:34 +00:00