Commit Graph

666 Commits

Author SHA1 Message Date
John Scipione 8f74b98905 MenuField: Remove unused variables
fSelected and fTransition
2013-08-25 00:09:16 -04:00
John Scipione 44dc533861 Menu: check numBytes == 1 on KeyDown 2013-08-25 00:08:44 -04:00
John Scipione cccc4076db Menu and friends: Style fixes, no functional
... changes intended.

* 80 char limit fixes
* Indentation fixes
* Braces style fixes
* Use ternary operator where appropriate
* Rename menuItem to just item and declare it once outside
  the loop
* Omit 3rd param of GetMouse() because it is default
* Rename variables eg state => focused and menu => submenu
* Indent comments below line they apply to
* Reword some comments
* Add some #pragmas
2013-08-25 00:05:02 -04:00
John Scipione 9422c92ea3 MenuField: Open the menu bar when the label is clicked
Fixes #6894

Private DrawLabel() method renamed to _DrawLabel() and rest of drawing
code moved to new private method _DrawMenuField(). These methods both
check to make sure that they are drawing in a valid rect that intersects
updateRect.

When label or menu is selected Draw a the label background in the selected
menu color matching the behavior of BeOS R5.

_DrawLabel() calls be_control_look->DrawLabel()

Update copyright year in MenuField.h
2013-08-21 04:20:58 -04:00
John Scipione 74577830da ColorControl: Implement keyboard navigation
Implements enhancement described in #9819

This feature works pretty much as it did on BeOS R5.

When you focus on the color control, the border is drawn blue and
the dot on the red ramp draws as an outline to show that it is
selected. You can push the up and down arrow keys to navigate to the
previous and next ramps respectively and can push right and left to
increment and decrement the color value of the selected ramp.

Clicking on the control no longer gives it focus.

In BeOS the left and right arrows would increment and decriment by 5,
on Haiku they increment and decrement by 1, but, by holding down the
key for a second or so the increment value increases to 5 allowing for
both course and fine adjustments.

On a technical note I split the int32 fFocusedComponent member variable
into 2 int16 member variables, fFocusedRamp and fClickedRamp. I did this
because I needed an entra variable, and can't  change the size of the
class without using up another reserved member variable slot. int16
should be more than enough for these variables as they store an index to
the currently focused or clicked on ramp (0-3). Please someone chime in
if this is not okay for FBC in some condition I didn't think about.
2013-08-17 03:40:58 -04:00
John Scipione 323523c4b9 BWindow: style fixes only, no functional change. 2013-07-26 18:36:00 -04:00
John Scipione e724b26f23 Remove enum elaborated type specifier
...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.
2013-07-08 19:29:11 -04:00
Rene Gollent d376554674 BBox: propagate alignment from child for the...
...FULL_{VERTICAL,HORIZONTAL} case.
2013-07-03 23:41:44 -04:00
Rene Gollent 46d6e9d9ed Interface Kit: Adjust max size and default alignment...
...on controls where it makes sense:
- BRadioButton and BCheckBox now return their preferred size as their
maximum.
- BRadioButton, BCheckBox and BTextControl now use left alignment by
default, as this is the most common use case for them.
2013-07-01 11:30:49 -04:00
John Scipione 1e6e124cb4 BView: Style fixes only, no functional change intended
Motivated by inconsistancies found while documenting BView.

Update copyright year, alphabetize

Variable names normalized:
* pt => point
* r => rect
* p => pattern
* c => color
* msg => message
* a, b and pt0, pt1 => start, end
* r, g, b, a => red, green, blue, alpha

A couple of white spaces fixes.

A couple of !pointer => pointer == NULL fixes.

GetPreferredSize params => _width and _height to indicate out params.
2013-06-28 22:59:17 -04:00
John Scipione 8b3b14fdfa BColorControl: Introduce a _PaletteFrame() method
... eliminating duplicate code.
2013-06-10 19:15:09 -04:00
John Scipione 62fec205dd BColorControl: Size text rect based on font size
* Also change kMinCellSize from a uint32 to a float so that it can be used
  with std::min() and std::max() instead of min_c() and max_c().
* Set the text controls sizes and margins based on the font size. Also rework
  _TextRectOffset() so that it will get the right spacing from by dividing the
  palette frame by 3.
* Replace bare numbers and refactor with calculation or magic constant.
* Create a private method _TextRectOffset() which calculates and
  returns the vertical text rect offset to use based on the font size.
* Replace 2.0 with new kBevelSpacing constant where appropriate.
* fPaletteFrame calculation in _LayoutView() was refactored but should
  not have changed.
2013-06-10 19:15:07 -04:00
John Scipione 1186916f06 BColorControl: Create _SetCellSize() method
...eliminating duplicated code.
2013-06-10 19:15:07 -04:00
John Scipione 0289f92063 BColorControl: Style fixes
* Update copyright in header, add my name, alphabetize.
* Rename _ColorRamp() to _DrawColorRamp().
* Rename update parameter to updateRect
2013-06-10 19:15:06 -04:00
John Scipione fc77b031d7 Revert "BBox: Always offset the top border by the same amount"
This reverts commit 39899cf662.

Checked with BeOS R5, and this is not how it works, to remain
compatable we need to go back to how this was before.
2013-05-30 21:47:04 -04:00
John Scipione 39899cf662 BBox: Always offset the top border by the same amount
...so that the top border of BBox's with no labels, BBox's with
text labels, and BBox's with BControl labels will all line up.
2013-05-30 20:38:04 -04:00
John Scipione f9954bfc69 Style fixes to BBox, update copyright header 2013-05-30 20:35:42 -04:00
John Scipione f6d93b80f3 Remove the unused bounds parameter from DrawLabel
Also refactor BMenuField::Draw()
2013-05-09 21:29:13 -04:00
John Scipione 91810d8efd Use better variable names in SetDivider 2013-05-09 21:29:12 -04:00
John Scipione df5d08a718 Style fixes to BMenuField
Rename resize to resizingMode, whitespace fixes, compare to 0 explicitly
2013-05-09 21:29:12 -04:00
John Scipione d5c51ba676 Update header comments 2013-05-06 17:15:18 -04:00
John Scipione d97b434060 Style fixes to BMenu and related classes. 2013-05-06 17:15:17 -04:00
Axel Dörfler 3bf9915247 Removed superfluous class definitions from OutlineListView.h
* Why?
2013-05-03 13:24:30 +00:00
John Scipione f56bf5b03e Add class declarations to header 2013-05-02 20:13:47 -04:00
John Scipione 01b1b8bdaa BPopUpMenu style fixes 2013-05-01 22:18:56 -04:00
John Scipione f3decd2060 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).
2013-04-30 20:15:33 -04:00
John Scipione 6723d9fc94 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.
2013-04-30 20:15:32 -04:00
John Scipione 54153cc8b2 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.
2013-04-28 20:30:21 -04:00
Stefano Ceccherini 501201761b In case the BMenu is inside a BMenuField, override the items width to
span over the BMenuField's width. Note that if the BMenu is already
wider, we don't shrink it, at least for now.
Fixes #5015.
2013-04-13 10:31:20 +02:00
John Scipione 429ae1b151 A few more style fixes to ListView and ColorSet, thanks Axel 2013-04-09 19:24:51 -04:00
John Scipione 63f3755c5f Many style fixes to ListView 2013-04-09 00:17:37 -04:00
John Scipione 1b41173c8a Add diagonal arrows to ControlLook DrawArrowShape() method 2013-04-07 03:02:01 -04:00
John Scipione ab3c19541d Move B_COLOR_WHICH_COUNT to private ServerReadOnlyMemory header.
This means the B_COLOR_WHICH_COUNT goes from being a public constant to a
private one. It sill looks like a public constant starting with a B_ though.
I hope that's not a big deal. Too bad we can't get the count of an enum.
2013-04-06 17:13:36 -04:00
John Scipione 3302521556 Remove dependence on color constants in ServerReadOnlyMemory.
This fixes a maintainance problem where you have to update this otherwise
unrelated file to keep it in sync whenever you add a color constant.

I've added a B_COLOR_WHICH_COUNT constant to the color_which enum which should
be updated to point to the newest color constants as new ones are added. I
reworked ServerReadOnlyMemory to use this constant instead of using to the
current largest color constant directly. If you use B_COLOR_WHICH_COUNT to
refer to a color in your code expect to get unpredictable and nonsensical
results. Most likely you'll get an undefined result which will return black
but don't depend on it.

The net effect of this is that ServerReadOnlyMemory doesn't need to be updated
anymore when new color constants are introduced but will continue to produce
correct results.

Eliminate kNumColors constant, replace it with B_COLOR_WHICH_COUNT
2013-04-05 22:46:22 -04:00
John Scipione 9f24981a56 Add B_SCROLL_BAR_THUMB_COLOR constant.
This allows you to change the scrollbar thumb color in Appearance preferences.
The default color is 216, 216, 216 so the scroll bar thumb looks the same by
default. Perhaps someday this can be updated to something a bit more colorful.
2013-04-05 19:26:41 -04:00
John Scipione ab21cedcce Remove docs and refactor style of TextView class.
* Make pointer style consistent, const char* name instead of const char *name.
* Lots of parameter renaming.
* in parameters don't get anything special, just font, or length instead of
  inFont, inLength.
* out parameters get a leading _ so *outWidth becomes *_width for example.
* We don't detail private function in the Haiku book and this class has a bunch
  so keep the documentation in the file but use regular comments instead.
* Normalize the parameter names between cpp file and header.
* Some minor whitespace fixes.

No functional change intended.
2013-03-16 17:05:09 -04:00
Tri-Edge AI 49126a0e9b Added ResourceEdit and modified BColumnListView, BRow and BMenu.
Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-02-27 22:08:46 -05:00
Axel Dörfler 0b319bd6f3 Minor cleanup. 2013-02-05 00:22:52 +01:00
John Scipione 75dde2cf73 Fix some pedantic style issues in Font.h 2013-01-15 23:32:38 -05:00
Przemysław Buczkowski dc871e324d TextView:Cmd/Ctrl-Home/End Shift-selection support
Fixes #6859

Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>
2013-01-14 21:10:21 +01:00
John Scipione 78c12508e3 Rename the bounds parameter of the BDragger class to frame matching the BeBook 2012-12-21 21:24:46 -05:00
John Scipione aabb148183 Rename the resizingMask parameter of the BDragger constructor to resizingMode matching the BeBook. 2012-12-21 21:22:54 -05:00
Alex Smith 11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Joseph R. Prostko caddc641c1 Changes to allow Haiku source to build with GCC 4.7
* GCC 4.7 is more picky than GCC 4.6, so have to make changes accordingly
* Changes include addressing issues with scoping, redeclaration, etc.
Thanks Rene and Ingo for your input on these changes
2012-11-15 17:59:19 -05:00
John Scipione fcfe60b02e Renamed BMenuScrollView to TScrollArrowView and moved it into Deskbar
Also gave the Up Arrow and Down Arrow a scroll arrow. The up arrow works
but the down arrow doesn't because the sibling menu is stealing the
MouseDown event."
2012-11-12 22:03:18 -05:00
John Scipione afa1c29104 Tweaks, remove dead code. Menu and Menubar are stock again. 2012-11-12 22:03:18 -05:00
John Scipione 7ee3b479d1 Make the MenuScrollView a fixed size...
instead of trying to make it follow fExpando just make it a fixed
size on creation. It is invisible and extends to the bottom of the
screen. fExpando grows inside it, and the window follows fExpando.
When the window grows taller than the screenframe the arrows are
added. You can scroll with the mouse wheel, but I haven't yet gotten
scrolling to work from clicking. Deskbar still crashes when going
from Mini mode to vertical expando mode. I have no idea why.
2012-11-12 22:03:17 -05:00
John Scipione 49ff476d13 Make ScrollMenu not rely on Menu.cpp
Rename ScrollMenu.cpp to MenuScrollView.cpp

Half step towards making this class work as part of Deskbar without
extending any other classes. Scrolling works both with mouse and
scroll wheel. Redraws on scroll, need to make that work better.
Also need to move classes out of the Interface Kit and into Deskbar.
2012-11-12 22:03:17 -05:00
John Scipione cb55ef9fb5 WIP: Created a BScrollMenu class that works like BMenuWindow but works on a view instead of a window. Use this to implement a scrollable BarMenuBar in Deskbar. The basics work but there are issues still with sizing and other issues.
Modify the ScrollMenu class to use the layout kit by adding a constructor that doesn't take a view.

Get the BScrollMenu class to follow the size of the BMenu it is a parent of. Adjust the scrollers to appear in the right places. This is a WIP but it works in Deskbar, next step is to integrate this directly into BMenu with the scrollers as children of the menu instead of as children of the BScroller class.

Rebase changes on top of master

Deskbar scrolling works for the most part, just need to fix the
bottom arrow and clean up a bit.
2012-11-12 22:03:16 -05:00
Axel Dörfler 17ad59afd3 Added BLayoutBuilder::{Group|Grid}::SetExplicitAlignment(). 2012-11-05 12:50:04 +01:00
Axel Dörfler 09d87d9151 The text control is now more flexible with its layout items.
* Before, you had to have both, the text view layout item, and the label
  layout item or else nothing would ever be visible.
* Now you can only create the text view item, and it will still work.
* Also, no matter the order you added the layout items, they would always
  put the label on the left, and the control to the right.
* You can place the label and text view layout items anywhere now, although
  you should keep in mind that the view spans over their frame unions; IOW
  they should always adjacent to each other, but not necessarily horizontally
  and left to right.
* No longer uses a fixed label spacing, but utilizes
  BControlLook::DefaultLabelSpacing() instead.
* However, the spacing is always added to the right of the label, no matter
  how you place it in the layout. Maybe one wants to add a SetLabelTextViewGap()
  like method.
2012-11-05 12:50:02 +01:00
Axel Dörfler 6643ead593 Made the BRect::*Copy() methods const as they should have been. 2012-11-05 12:50:02 +01:00
Axel Dörfler 2267b7e7fb Added Grid::AddGlue(), and SetExplicit*Size() methods. 2012-11-05 12:50:01 +01:00
Axel Dörfler 4656e550b0 Added method SetExplicitSize() for convenience. 2012-11-05 12:50:00 +01:00
Oliver Tappe 402c3b2c09 BTextView uses cmd instead of ctrl for navigation
* Adjust BTextView to use B_COMMAND_KEY instead of B_CONTROL_KEY
  for wordwise navigation and jumping to the top and bottom.
  This requires a shortcut, which is only installed if there is
  none already (for the groups B_LEFT_ARROW/B_RIGHT_ARROW and
  B_HOME/B_END). As a result, wordwise navigation no longer works
  in Mail, for instance.
2012-11-05 09:38:23 +01:00
Oliver Tappe 0619f34b52 Add BWindow::HasShortcut() 2012-11-05 09:38:23 +01:00
John Scipione b5446310e9 Remove the scroll bar knobs and corresponding setting 2012-11-04 15:37:57 -05:00
John Scipione dfa8cf8c05 Change SCROLL_KNOB_* constants to B_SCROLL_KNOB_* 2012-11-02 19:08:09 -04:00
John Scipione 4b5a6861f2 Add the scrollbar constants enum to the header.
Also make some minor tweaks in ScrollBar.cpp
2012-11-02 01:06:59 -04:00
John Scipione 91c78f092f Create and use new list view item colors
* B_LIST_BACKGROUND_COLOR
* B_LIST_SELECTED_BACKGROUND_COLOR
* B_LIST_ITEM_TEXT_COLOR
* B_LIST_SELECTED_ITEM_TEXT_COLOR
2012-08-22 00:28:24 -04:00
Alex Smith e688bf23d4 Merge branch 'master' into x86_64
Conflicts:
	src/servers/app/ServerWindow.cpp
2012-08-16 21:11:15 +01:00
Ryan Leavengood 59347b7f1b 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.
2012-08-15 23:45:15 -04:00
Alex Smith ac4525b2a5 Changed BRegion to use int32 instead of long.
There is no need for fCount and fDataSize to be long, not going to have
more than 2^32 rectangles in a region. Thanks Axel for pointing that
out.
2012-08-10 16:22:51 +01:00
Alex Smith 9be774b553 Compilation and 64-bit fixes to libbe.so sources.
Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.
2012-07-30 21:27:21 +01:00
Ryan Leavengood 6a03786cc9 Draw menus using the user chosen colors. 2012-07-28 23:02:17 -04:00
John Scipione 4bb5af765f Add control mark color setting. #8054
An enhancement adding a setting to Colors under Appearance to
set the mark color of radio button and check box controls.
2012-07-15 15:09:04 -04:00
Rene Gollent 639e18555f Fix indentation and match parameter names with .cpp. 2012-07-12 19:47:04 -04:00
Rene Gollent 0e20120117 Fix build, header changes were forgotten in previous commit. 2012-07-12 19:38:09 -04:00
Ryan Leavengood 9f5864ab09 Handle the scroll wheel changing over scrollbars.
* Extract the scrollbar change based on the mouse wheel delta into a protected
  method of BView.
* Call that method from BScrollBar's MessageReceived.

With this change it is now a bit easier to scroll horizontally around the
system by putting the mouse cursor over a horizontal scrollbar and using the
wheel.

Fixes #8631.
2012-06-24 10:50:42 -04:00
Michael Lotz bfc18b1ecd Add missing space before opening brace. 2012-06-24 16:17:32 +02:00
czeidler 31f768577e The layout checks the target view now if the layout invalidation has been disabled in the view. 2012-05-10 10:36:41 +12:00
Axel Dörfler 2f2f3fa042 Moved stable tool tip concept into the BToolManager class.
* This removes the fVisibleToolTip member from BView, and fixes bug #5669;
  BToolTipManager::ShowTip() now gets the owner of the tool tip as an extra
  parameter.
* Removed the work-around to hide that bug.
* Improved ToolTipTest application to include more test cases like a view that
  periodically update its tool tip via SetToolTip(const char*), and one that
  sets a new tool tip every second.
* Furthermore, added a test that shows that inner views inherit the tool tip
  of their parents.
* Fixed another bug in BToolTipManager::ShowTip() that would release an
  extra reference to the tool tip currently shown.
2012-04-28 22:14:03 +02:00
John Scipione a884b43bb1 Added support for buttons and menuframes with rounded corners.
* Not turned on for default buttons and menuframes right now.
* Updated Deskcalc and Keymap to use buttons with rounded corners.
* Overloaded methods with radium parameters are not virtual right
  now so as to not break vtables. Added /*virtual*/ before each
  method that should be made virtual in ControlLook.h
* Added a light line to the left border of the down arrow frame
  on menu frames as a small visual tweak.
* Replace StrokeRect() with StrokeRoundRect() when drawing the
  default button indicator. This gives them a rounded
  appearance if the button is also rounded.
* Added protected methods _DrawMenuFieldBackgroundOutside and
  _DrawMenuFieldBackgroundInside.
* Created some protected methods to get the edge, frame, and bevel
  colors from a passed in base color because it was a mess and I
  needed to calculate the colors from mutiple methods. It is much
  cleaner now.
* Added myself to ControlLook.cpp authors list. Assigned copyright
  to Haiku, Inc. Stippi also retains his copyright.
* Tons of style fixes.
  - Change all instances of `if (flags & B_FLAG)` to
    `if ((flags & B_FLAG) != 0)`
  - Reorder some methods.
  - Reorder includes.
  - Spacing.
  - Updated comments.
2012-04-16 02:10:03 -04:00
John Scipione a2bea84d34 Override the LayoutAlignment method in BStringView.
Left align StringViews using layout API by default falling back
to the alignment settings set by SetAlignment() only if
SetExplicitAlignment() is not used.

This way StringViews are left-aligned by default, can be changed
using the Layout API, and the pre-Layout API legacy method is used
as a fallback.

See this thread for details:
http://www.freelists.org/post/haiku-development/Can-we-make-BStringViews-MaxSize-BSizeB-SIZE-UNLIMITED-B-SIZE-UNSET-by-default
2012-04-15 16:06:29 -04:00
Axel Dörfler d452ff664c Added some reserved fields to BControlLook.
* This makes future changes less troublesome, although we should also add
  some virtual slots there (probably just dozens of it, though, that's why
  I was being lazy).
* Don't pass messages by value; they are copied twice this way.
* Minor coding style corrections, automatic whitespace cleanup.
2012-02-26 14:58:52 +01:00
Philippe Saint-Pierre d63b75faf8 Outline of labels/strings drawn to desktop
* Rather than duplicating the decision taking logic involving wheter or not to draw
the outline or glow in every replicant, update be_control_look to make it more
generic.
* The Monitoring of the background preferences is now only done in Tracker (where it
was already being done).
* Add a BControlLook::B_IGNORE_OUTLINE flag to avoid this new behaviour.
* Remove that said logic from ActivityMonitor and use be_control_look.
* Use the ignore flag in DeskCalc to avoid the outline in its case.

Should fix #7716, #7291.
2012-02-22 19:06:22 -05:00
czeidler 40c34878fa Reconnect BPicture to the app_server.
* maintain a list of all BPictures to do so
* BView downloads the BPicture data after recording the picture. This could probably done more efficiently using shared memory in the first place.
2012-01-22 15:30:15 +13:00
czeidler 577f58763b Make it possible to reconnect BBitmap to the app_server.
* maintain a list of all BBitmaps
* refactor the client memory allocator class, its possible now to just clone existing client area
2012-01-22 15:30:15 +13:00
Alexander von Gluck IV 69001466e2 interface: Clean up public headers; No functional change.
* Whitespace / Tab cleanup
* Better document color space
* Let me know if anything looks wrong
2012-01-12 16:26:15 -06:00
Alex Wilson a84e14ca84 Merge branch 'master' of git://github.com/haiku/haiku 2011-12-15 20:50:28 -07:00
Alex Wilson 29ef6eb52d Fix BMenu behaviour/ABI by reinstating BMenu::InvalidateLayout()
It turns out,this is an old method added by Be, and is not really related to BView::InvalidateLayout(bool). In fact BMenu::InvalidateLayout() does something separate, but related to the BView method. I was wrong to delete this method, since it needs to have action taken each time it is called, so moving these actions into LayoutInvalidated() only worked sometimes (when the BView was considered to have a valid layout).

I have added a comment for future hackers so that they don't delete this method.
2011-12-08 14:09:35 -07:00
Alex Wilson 182e2ee973 Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
Alex Wilson d56e7bd64d Make archiving hooks protected in layout classes.
Furthermore,
* remove a stray blank line in Layout.cpp
* make BLayoutItem::SetLayout() private, as it should have been
2011-12-01 20:45:50 -07:00
Rene Gollent 7b27c8fc41 Adjust method naming. 2011-11-17 09:12:47 -05:00
Rene Gollent 6beb27d4a1 Add {Get,Set}ItemVisible() accessors and setters. 2011-11-16 22:19:02 -05:00
Rene Gollent 6d16dcfa0c Add GetCollapsible() accessor to BSplitView/Layout. 2011-11-16 21:43:35 -05:00
John Scipione 30d17caa9d Added support for colored window tabs in the default decorator. 2011-11-13 14:58:21 -05:00
John Scipione 8abe72fb66 Changes the menu key bitmap from CTL to CTRL and SHFT to SHIFT.
This is coming from but does not close #7967

Adds a new (currently unused) Menu key bitmap.

Instead of having a single AltAsCommandKey() method the menus now
show the correct bitmap when you switch between your control,
windows/option, and alt/command keys. This is really not flushed
out yet since it only works when you switch those keys and not
other combinations like say switching the control and caps lock
keys but it is a step in the right direction.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 01:46:42 +00:00
Alex Wilson 53617d366d Override a bunch of methods in layout related classes for FBC stability.
* Especially made sure to override archiving methods, since these are called rarely, so the cost is very minimal
* Otherwise, the closer a class is to a base class, the more likely I was to give it all the overrides.
2011-11-05 14:25:06 -06:00
Alex Wilson 121a15ea8f By convention, Perform() methods are public, make this true for BLayout. 2011-11-05 01:58:56 -06:00
Alex Wilson 0c8b758c09 Add a BView::LayoutChanged() method, called after layout of this view and children.
Fixes #7683.
2011-11-05 01:03:07 -06:00
Alex Wilson fceb7ee27e Add FBC padding + Perform() methods to GridView and GroupView.
We probably won't need these, but these additions are cheap.
2011-11-04 23:08:11 -06:00
Alex Wilson e044d51aa8 Forbid copying and assignment in layout classes.
Specifically in:
 * BAbstractLayout
 * BAbstractLayoutItem
 * BGridLayout
 * BGridView
 * BGroupLayout
 * BGroupView
 * BLayout
 * BSplitView
 * BTwoDimensionalLayout
2011-11-04 22:23:22 -06:00
Rene Gollent 0d973a90bc Add CountItems() convenience function to BSplitView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:41:55 +00:00
Alex Wilson 8151838e38 Add FBC padding to all (I think..) of the visible Layout related classes. 2011-11-02 00:29:33 -06:00
Alex Wilson a851b3ad54 Add Perform() methods to all the layout-related classes that needed them. 2011-10-31 14:57:30 -06:00
Niels Sascha Reedijk 1326b9d0b4 Apply the patch by jscipione on ticket #7994.
* Update BScreen class style and variable names
 * Remove documentation from Screen.cpp file
 * Create Screen.dox documentation file



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 21:51:43 +00:00
Alex Wilson 0843fb4572 Revirtualize BLayout::Relayout(), since it is in fact inherited from BLayoutItem and virtual anyway.
Also add a comment to make this obvious.
2011-10-28 14:17:05 -06:00
Alex Wilson e7b0dc78f7 Now that child classes aren't overriding the various InvalidateLayout() methods, we can take advantage of some guarantees to simplify/clean/optimize the layout invalidation propagation mechanisms! 2011-10-28 14:16:54 -06:00
Alex Wilson c74faed432 Add BLayoutItem::LayoutInvalidated() hook. Leave BLayoutItem::InvalidateLayout() (and therefore BLayout::InvalidateLayout()) virtual. This is needed to let BLayout override it for invalidation propagations. 2011-10-28 14:16:52 -06:00