Commit Graph

104 Commits

Author SHA1 Message Date
Axel Dörfler
ef5ab08df3 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
2005-08-21 14:44:53 +00:00
Stefano Ceccherini
16046321cc Implemented BPrivateScreen::ReadBitmap(), but the guts are still missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-13 22:33:52 +00:00
Stephan Aßmus
7dc436d8dd usability improvements to scrollbar, sorry had no time to include all of Stefanos drawing code yet, other visual improvements
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 14:33:19 +00:00
Axel Dörfler
508d8a847f Big cleanup, rewrote Shelf.h.
Fixed bug in BShelf::ReplicantAt() - it is supposed to test if any of
the variables passed in is NULL before writing to them.
Got rid of the _PR3_COMPATIBLE_ stuff - we definitely don't need that :)
Refactored the code a bit - moved the identical parts of the three
DeleteReplicant() variants into a separate method _DeleteReplicant(),
moved _rep_data_ code out of the class definition, replaced names like
"fView2" and "aBool" with something more meaningful.
Prefixed private methods with '_'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 00:43:52 +00:00
Stephan Aßmus
2e6a5805ba 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
2005-07-05 16:30:53 +00:00
Stefano Ceccherini
96f6ef632c The bar and knob frame are now calculated. That way we god rid of some billions fPrivateData->fThumbFrame.OffsetBy() calls
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 07:42:24 +00:00
Stefano Ceccherini
0ee76eaf12 More work on scrollbars. Some refactoring.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 14:08:33 +00:00
Stefano Ceccherini
267b721430 Started integration of new drawing code. Still so much work to do. Simplified some parts of the code. Scrollbars are broken in many ways, need refactoring
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 22:13:10 +00:00
Stefano Ceccherini
bb2ee4164b Forgot to commit the changed header too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 09:14:08 +00:00
Axel Dörfler
a00fcbcdf8 Improved BSlider class:
- rewrote GetPreferredSize(), it now actually works correctly
- BSlider is certainly not supposed to resize itself on creation
- fixed BarFrame() and ThumbFrame() to support a different view frame
  than the ideal one
- added SetBarThickness() support
- refactored constraining the mouse point to _ConstrainPoint() - it's
  now used by MouseDown() and MouseMoved() - because of that, tracking
  now works with vertical sliders as well
- still has some drawing problems, but less
- _ReservedSlider4() was defined public for the R5 build
Cleanup, more or less rewrote the header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 02:12:42 +00:00
Axel Dörfler
bb1336b44f 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
2005-06-28 23:02:44 +00:00
Axel Dörfler
85bd83a710 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
2005-06-28 01:14:39 +00:00
Axel Dörfler
9793d44045 Removed superfluous BView::findView() and moved its functionality to BView::FindView().
Fixed it on the way - it's a bad idea to pass NULL pointers to strcmp().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 01:54:12 +00:00
Axel Dörfler
62bb447ee0 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
2005-06-14 22:04:29 +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
8f9d0f685d Removed unused stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:48:49 +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
Axel Dörfler
a01d14b2db Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 15:15:42 +00:00
Stephan Aßmus
c10a3393e2 huge BSlider cleanup, it doesn't use an offscreen bitmap anymore by default (compile time switch), updated drawing for Haiku features and disabled look, work in progress
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:57:34 +00:00
Stephan Aßmus
0c3344f4a1 no Invalidate in BControl::SetValue, I figure more controls need to be updated for this change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:55:49 +00:00
Stefano Ceccherini
1d95a5ff3a Renamed the private BScrollBarPrivateData class to be an internal BScrollBar's class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 12:58:08 +00:00
Stephan Aßmus
85b226041a Added B_BITMAP_NO_SERVER_LINK to the BBitmap flags. It constructs a BBitmap without a server link, which consequently cannot be drawn by the app_server, but which is nevertheless very useful. It essentially does the same thing as RUN_WITHOUT_APP_SERVER. I also added a CleanUp() function and moved the cleanup code from InitObject() there. CleanUp() is now called in the destructor, which means that the app_server now knows when to free the server side bitmap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:10:20 +00:00
Michael Lotz
c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Stefano Ceccherini
370ca4b97c Corrected forward declaration
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:21:34 +00:00
Stephan Aßmus
0985210969 added this very useful compare function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:30:46 +00:00
Adi Oanca
a1ce489220 added a method for properly calling 'Attached' hooks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 20:05:47 +00:00
Adi Oanca
239fc54e70 changed one private method's prototype
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 22:44:06 +00:00
Ingo Weinhold
102267997c Vertical() can be const and should be, when invoked on a const instance.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 13:33:34 +00:00
Stefano Ceccherini
422c07914d Applied our style guide as someone (cough! *** Axel *** cough!) bugged me (correctly) about it :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-01 14:29:06 +00:00
Adi Oanca
2a8a80a764 Added BPortLink class as friend
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 09:34:59 +00:00
DarkWyrm
04ab15f96d Gave _font_control() friend status so we can init the system fonts
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 22:07:32 +00:00
Axel Dörfler
7f34794009 Reserved private virtuals don't really have to return a status code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 04:36:47 +00:00
Axel Dörfler
a4023b87c1 Reserved private virtuals don't really need to return a value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 04:27:57 +00:00
Axel Dörfler
9551dd1cd3 Added rgb_color == and != operators - inline only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 02:38:52 +00:00
Stefano Ceccherini
860ec9a8ac Moved BSeparatorItem's interface to its own file. Everything still builds, amazing :P
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-30 10:11:38 +00:00
DarkWyrm
01e4e91366 Stupidman strikes again. :D
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-29 23:51:28 +00:00
DarkWyrm
6c41be783c FBC fix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-29 23:40:20 +00:00
shatty
d601f6e882 rename RecalLineBreaks to RecalculateLineBreaks ; use ceil() when computing the origins for lines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-11 10:07:40 +00:00
Jérôme Duval
739131e728 clean up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 08:31:38 +00:00
DarkWyrm
da0209e2e4 Some fixes and tweaks by Kevin Field
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 22:36:54 +00:00
Jérôme Duval
2ba29ed514 R5 needs a 3 buttons map only
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:14:29 +00:00
DarkWyrm
3713534518 Tweak to FindClosestColor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-05 00:46:37 +00:00
DarkWyrm
5a9fed59c3 I hate forgetting to check in files. :(
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-12 12:43:36 +00:00
Jérôme Duval
f7128f5688 clean up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-29 12:43:30 +00:00
Adi Oanca
9839e74132 modified one method's name
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 20:42:03 +00:00
Axel Dörfler
d73fcb0e62 Removed deprecated BShape API as it broke the build.
If we intend to keep compatibility to this R4.5 API, we should complete
what I started in interface/Shape.cpp.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-27 22:55:28 +00:00
Adi Oanca
66c852a764 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
2004-06-22 22:03:11 +00:00
Axel Dörfler
28632c48ce Added a private static BorderSize() method. I wonder why those functions
are exposed at all...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 18:43:34 +00:00
Axel Dörfler
a76953d909 Renamed ModFlags() to ModifyFlags() and made it static (it's private anyway,
so this is no problem).
On second thought, I like "archive" better than "data" for the Archive message
name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 15:01:04 +00:00
Axel Dörfler
50a4d43e91 Removed the private InitObject() method - it's not even exported in R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 17:46:37 +00:00