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
This commit is contained in:
John Scipione
2013-08-21 04:20:58 -04:00
parent 408c0ee4cd
commit 9422c92ea3
2 changed files with 57 additions and 30 deletions
+5 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2006-2011, Haiku, Inc. All rights reserved.
* Copyright 2006-2013, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _MENU_FIELD_H
@@ -121,9 +121,12 @@ private:
BMenuField(const char* label,
BMenu* menu, BMessage* message);
void _DrawLabel(BRect updateRect);
void _DrawMenuBar(BRect updateRect);
void InitObject(const char* label);
void InitObject2();
void DrawLabel(BRect updateRect);
static void InitMenu(BMenu* menu);
int32 _MenuTask();