Commit Graph

984 Commits

Author SHA1 Message Date
Axel Dörfler
f19839c230 Some groundwork for overlay support. If someone wants to finish this, feel
free to continue (it would be nice to be notified before, though, in case
I get to it again in the next weeks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-01 21:20:57 +00:00
Axel Dörfler
5891e232e2 BTextView::SetFontAndColor() no longer crashes with a NULL font pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-01 17:39:08 +00:00
Axel Dörfler
383638eee9 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-01 17:38:40 +00:00
Axel Dörfler
bfe698736d * Implemented private do_window_action() function, used by the Deskbar to bring
windows to front (or minimize them).
* Desktop::ActivateWindow() no longer crashes in case the window to be activated
  is not on the current workspace - instead, it doesn't do anything at this
  point. IOW it doesn't handle workspace activation at all, yet.
* Renamed ServerWindow::GetWindowLayer() to ServerWindow::Window().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-28 18:31:16 +00:00
Axel Dörfler
2990d21b82 * Recognized any values instead of just boolean ones. This fixes bug #186.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-28 12:17:26 +00:00
Axel Dörfler
9b5a183539 * Fixed BWindow::Show()/Hide(): fShowLevel was changed and checked without
holding the window lock.
* Run() is now called before creating the window in the app_server when
  Show() is called for the first time (which is now checked with fRunCalled
  instead of some thread arithmetics).
* Minimize() now sends the show level of a window to the app_server, so that
  it can actually determine if minimizing or maximizing the window should
  have any effect. This fixes bug #225.
* fShowLevel's meaning is now reversed; when it's above zero, it now means
  the window is shown (before, a level less than 1 meant shown). This definitely
  better fits its name :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 16:45:58 +00:00
Axel Dörfler
db937cbed9 Fix for shortcut drawing in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 14:02:50 +00:00
Axel Dörfler
a41bc2d828 Removed trailing newline from window name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 14:00:18 +00:00
Axel Dörfler
2ed942c199 * Added LinkReceiver methods that return the length of the string.
* AS_GET_STRING_WIDTHS now uses this method to send the strings to the app_server;
  ie. it no longer sends the whole strings, and it saves sending the string length
  separately.
* BFont::StringWidth() will now always return 0.0f in case of an error (instead of
  some random value)
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 13:09:37 +00:00
Stephan Aßmus
588259b66d various changes to handling custom cursors:
* all cursors owned by a team are visually different,
  or (iaw) an already existing cursor is reused when
  it is set by the client again
* changed various occurances of cursor data from "int8*"
  to "uint8*"
* ServerCursors also remember the R5 data from which
  they were created
* the reference counting and destruction of
  ServerCursors changed: The cursor knows it is attached
  to a CursorManager and one can simply use
  ServerCursor::Acquire() and Release() and the reference
  counting and everything is being taken care of
* destroying a ViewLayer will now correctly release a set
  ServerCursor
* fixed a race condition when setting a cursor through
  BView::SetViewCursor(): If the client code looks like this:

  BCursor cursor(cursorData);
  someView->SetViewCursor(&cursor, false);

  there is a relatively high chance the BCursor destructor
  told the ServerApp thread to destroy the cursor before
  the ServerWindow thread got to "acquire" the cursor for
  use by the view layer. The very same problem is likely the
  reason that SetViewCursor works to unreliably on R5, even
  when the "sync" flag is set to "true" (although it should
  theoretically work in that case).

all these fixes make WonderBrush work fine again with the
new support of custom cursors.... coded by axeld and myself
(the joys of pair programming :-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-26 18:15:31 +00:00
Stephan Aßmus
3afffe04bb the thumb is more visible when the ScrollBar has the disabled look... my girlfriend suggested that so you all just have to accept it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-26 17:48:34 +00:00
Stephan Aßmus
10443b3306 fixed mouse tracking to not initiate a drag after mouse up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-26 17:47:02 +00:00
Stefano Ceccherini
8152e71214 BMenuItem draws the various elements in a more correct position, i.e. it doesn't draw the shortcut char over the submenu arrow. Fixes bug 206
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-25 21:02:25 +00:00
Jérôme Duval
3b07a76bbd forgot these ones
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-21 12:10:18 +00:00
Jérôme Duval
5d62b41983 more cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-21 11:33:15 +00:00
Jérôme Duval
d2f93d8c18 added checks in BListView::_Select() methods (ItemAt() can return NULL at any place)
style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-21 11:17:40 +00:00
Stefano Ceccherini
da13f34ea9 Shortcut chars and bitmaps were drawn too left
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-21 10:57:07 +00:00
Stefano Ceccherini
6b8c9f5708 Return B_ERROR in unimplemented methods
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 22:17:02 +00:00
Stefano Ceccherini
111b4fbcaf BTextControl was filling some part of the inner BTextView with the view color, thus hidding the text. This fixes bug 161
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 22:09:39 +00:00
Jérôme Duval
7a0de24359 added missing symbol B_NOTIFICATION_SENDER for Sequitur
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 22:08:55 +00:00
Stefano Ceccherini
56edd77bdd Implemented AutoResize(), probably not completely correct. Removed duplicated code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 22:07:58 +00:00
Jérôme Duval
d2350b2881 hmm fixed these bits, padded to multiple of 4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 20:45:37 +00:00
Stefano Ceccherini
8369eefa1b Changed return type of EnsureValidMessenger after Marcus's advice. Changed the semaptics of BPrintJob::SetSettings() to match R5 ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 09:06:34 +00:00
Jérôme Duval
5f71cfd4bc draws CTL/ALT and SHFT bitmaps, not clean yet (green pixels)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-19 18:58:18 +00:00
Stefano Ceccherini
de71e4da6d _BMCItem_ isn't used anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-18 09:13:22 +00:00
Axel Dörfler
05b9fbf51f Accidently broke the build with the previous revision...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-17 13:39:59 +00:00
Axel Dörfler
dd7b93c875 Window has to be locked when it's going down or its children are queried/changed.
This fixed bug #182.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-17 13:36:52 +00:00
Stefano Ceccherini
05883bf6dc more work in progress. This code has been sitting on some forgotten hard drive for some time already
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-17 11:07:29 +00:00
Stefano Ceccherini
1a9e66f8e1 Renamed class members to fit our style guidelines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-17 10:37:04 +00:00
Stefano Ceccherini
fc14c6808f EnsureValidMessenger returns a boolean value now. Fixed indentation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-17 10:23:21 +00:00
Stephan Aßmus
f282009d15 * _BMCItem_ is no longer used, but I didn't remove it
yet, just commented it out in BMenuField. As was expected,
  nothing changed in any obvious way
* made the _BMCMenuBar_ draw the popup marked. I changed it
  a bit, inspired from some mockup I saw, sorry I don't
  remember where. I hope you like it (it is easily changed
  back if you don't).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 22:57:19 +00:00
Stephan Aßmus
ccf81dc9d2 * made the button height proportional to the font
size instead of having a fixed spacing... should
  be more asthetical.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 22:55:02 +00:00
Axel Dörfler
0cd3fd40ec Speaking about bugs... removing views is now actually working again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 21:27:02 +00:00
Stefano Ceccherini
c86c09ddfe Added a TODO for bug 158. I can't do anything at the moment because I can't test how the bitmaps look like in beos
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 20:31:07 +00:00
Stefano Ceccherini
971af42f6f Fixed a memory leak (another)!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 20:29:30 +00:00
Stephan Aßmus
c72e7319b2 * have the MenuBar resize to preferred in
ResizeToPreferred()
* fix and sanitize GetPreferredSize()... people,
  think "simple"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 15:17:41 +00:00
Stephan Aßmus
e10bfa7a59 * round the top border offset
* actually use it inside the control too


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 15:15:59 +00:00
Axel Dörfler
62b5f42b35 * Fixed view deletion: _CreateSelf() and RemoveSelf() are now symmetrical, removing
all those error output from the app_server.
* AS_LAYER_DELETE now gets a token, no longer frightening choice of parent.
* Removed locking in RemoveChild(); it has to be called locked now.
* Removed AS_LAYER_DELETE_ROOT as it's no longer needed.
* Removed support from BView for being PR3 compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 14:43:33 +00:00
Axel Dörfler
aaa1e815fa * A separator item obviously has a "" label instead of NULL - this fixes bug #138.
* Made Tracker safe against a NULL item label, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-15 17:54:38 +00:00
Axel Dörfler
48e3cfa354 DrawString() no longer crashes when called with a NULL string.
This fixes bug #136.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-15 17:32:44 +00:00
Axel Dörfler
35e74831d4 * 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
2006-02-15 17:21:46 +00:00
Axel Dörfler
fa815db338 Followed Korli's suggestion and used noTint where possible.
BTW other controls should use the B_CONTROL_TEXT_COLOR as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-15 16:33:49 +00:00
Axel Dörfler
c432fbbbb7 Now uses B_CONTROL_TEXT_COLOR to draw the label instead of just black.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-15 12:40:34 +00:00
Axel Dörfler
aae7000d63 The previous fix also didn't work correctly; we can't use the text color used
in the BTextView as a base.
Instead we're now using the correct UI default colors.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-13 00:55:00 +00:00
Axel Dörfler
12aefeb42a This fixes the text color when disabled; B_DISABLED_LABEL_TINT is darkening the
color, not lightening it, it's supposed to be used with the background color,
not the text color.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-13 00:34:10 +00:00
Axel Dörfler
79c35b3912 SetEnabled() didn't set the text view's colors correctly anymore; _UpdateTextViewColors()
asked for IsEnabled() before it was set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-12 01:23:30 +00:00
Axel Dörfler
7c74b12b2a * Implemented BOutlineListView::FullListSortItems() and SortItemsUnder() - dunno
what Be's implementation did wrong but instead of taking almost 30 seconds to
  sort the MIME type database (roughly 1100 entries, and yes, that's why the
  original FileTypes is that slow when it has to show the internal types), this
  one needs only 4 ms for the same task (that's an amply 7500x speedup).
* Implemented some more missing functions - it's by no means complete yet, though.
* Rewrote OutlineListView.h, ListItem.h, and StringItem.h.
* Fixed some minor bugs, but there are probably a lot more.
* Major cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-11 15:23:23 +00:00
Jérôme Duval
2879eb37ec hopefully fixed ChannelSlider (size, drawing)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-10 22:12:06 +00:00
Stefano Ceccherini
38690d41b0 Renamed TPicture class to PicturePlayer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-10 21:38:53 +00:00
Stefano Ceccherini
2c2773c4c3 Fixed a bug which prevented BPictures to be drawn. Small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-10 21:18:53 +00:00