BMCMenuBar: Refactor MakeFocus()
Get rid of unused fRunner variable. It is very basic now, it just works. Also, renamed msg to message in MessageReceived() and declared MakeFocus() above it (alphabetically).
This commit is contained in:
@@ -19,9 +19,6 @@
|
|||||||
static const float kVMargin = 2.0f;
|
static const float kVMargin = 2.0f;
|
||||||
|
|
||||||
|
|
||||||
class BMessageRunner;
|
|
||||||
|
|
||||||
|
|
||||||
class _BMCFilter_ : public BMessageFilter {
|
class _BMCFilter_ : public BMessageFilter {
|
||||||
public:
|
public:
|
||||||
_BMCFilter_(BMenuField* menuField, uint32 what);
|
_BMCFilter_(BMenuField* menuField, uint32 what);
|
||||||
@@ -49,8 +46,8 @@ public:
|
|||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
virtual void Draw(BRect updateRect);
|
virtual void Draw(BRect updateRect);
|
||||||
virtual void FrameResized(float width, float height);
|
virtual void FrameResized(float width, float height);
|
||||||
virtual void MessageReceived(BMessage* msg);
|
|
||||||
virtual void MakeFocus(bool focused = true);
|
virtual void MakeFocus(bool focused = true);
|
||||||
|
virtual void MessageReceived(BMessage* message);
|
||||||
virtual void SetMaxContentWidth(float width);
|
virtual void SetMaxContentWidth(float width);
|
||||||
virtual void SetEnabled(bool enabled);
|
virtual void SetEnabled(bool enabled);
|
||||||
|
|
||||||
@@ -69,7 +66,6 @@ private:
|
|||||||
|
|
||||||
BMenuField* fMenuField;
|
BMenuField* fMenuField;
|
||||||
bool fFixedSize;
|
bool fFixedSize;
|
||||||
BMessageRunner* fRunner;
|
|
||||||
bool fShowPopUpMarker;
|
bool fShowPopUpMarker;
|
||||||
float fPreviousWidth;
|
float fPreviousWidth;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ _BMCMenuBar_::_BMCMenuBar_(BRect frame, bool fixedSize, BMenuField* menuField)
|
|||||||
!fixedSize),
|
!fixedSize),
|
||||||
fMenuField(menuField),
|
fMenuField(menuField),
|
||||||
fFixedSize(fixedSize),
|
fFixedSize(fixedSize),
|
||||||
fRunner(NULL),
|
|
||||||
fShowPopUpMarker(true)
|
fShowPopUpMarker(true)
|
||||||
{
|
{
|
||||||
_Init();
|
_Init();
|
||||||
@@ -79,7 +78,6 @@ _BMCMenuBar_::_BMCMenuBar_(BMenuField* menuField)
|
|||||||
BMenuBar("_mc_mb_", B_ITEMS_IN_ROW),
|
BMenuBar("_mc_mb_", B_ITEMS_IN_ROW),
|
||||||
fMenuField(menuField),
|
fMenuField(menuField),
|
||||||
fFixedSize(true),
|
fFixedSize(true),
|
||||||
fRunner(NULL),
|
|
||||||
fShowPopUpMarker(true)
|
fShowPopUpMarker(true)
|
||||||
{
|
{
|
||||||
_Init();
|
_Init();
|
||||||
@@ -91,7 +89,6 @@ _BMCMenuBar_::_BMCMenuBar_(BMessage* data)
|
|||||||
BMenuBar(data),
|
BMenuBar(data),
|
||||||
fMenuField(NULL),
|
fMenuField(NULL),
|
||||||
fFixedSize(true),
|
fFixedSize(true),
|
||||||
fRunner(NULL),
|
|
||||||
fShowPopUpMarker(true)
|
fShowPopUpMarker(true)
|
||||||
{
|
{
|
||||||
SetFlags(Flags() | B_FRAME_EVENTS);
|
SetFlags(Flags() | B_FRAME_EVENTS);
|
||||||
@@ -104,7 +101,6 @@ _BMCMenuBar_::_BMCMenuBar_(BMessage* data)
|
|||||||
|
|
||||||
_BMCMenuBar_::~_BMCMenuBar_()
|
_BMCMenuBar_::~_BMCMenuBar_()
|
||||||
{
|
{
|
||||||
delete fRunner;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -215,9 +211,19 @@ _BMCMenuBar_::FrameResized(float width, float height)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
_BMCMenuBar_::MessageReceived(BMessage* msg)
|
_BMCMenuBar_::MakeFocus(bool focused)
|
||||||
{
|
{
|
||||||
switch (msg->what) {
|
if (IsFocus() == focused)
|
||||||
|
return;
|
||||||
|
|
||||||
|
BMenuBar::MakeFocus(focused);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
_BMCMenuBar_::MessageReceived(BMessage* message)
|
||||||
|
{
|
||||||
|
switch (message->what) {
|
||||||
case 'TICK':
|
case 'TICK':
|
||||||
{
|
{
|
||||||
BMenuItem* item = ItemAt(0);
|
BMenuItem* item = ItemAt(0);
|
||||||
@@ -235,42 +241,12 @@ _BMCMenuBar_::MessageReceived(BMessage* msg)
|
|||||||
}
|
}
|
||||||
// fall through
|
// fall through
|
||||||
default:
|
default:
|
||||||
BMenuBar::MessageReceived(msg);
|
BMenuBar::MessageReceived(message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
_BMCMenuBar_::MakeFocus(bool focused)
|
|
||||||
{
|
|
||||||
if (IsFocus() == focused)
|
|
||||||
return;
|
|
||||||
|
|
||||||
BMenuBar::MakeFocus(focused);
|
|
||||||
|
|
||||||
if (focused) {
|
|
||||||
BMessage message('TICK');
|
|
||||||
//fRunner = new BMessageRunner(BMessenger(this, NULL, NULL), &message,
|
|
||||||
// 50000, -1);
|
|
||||||
} else if (fRunner) {
|
|
||||||
//delete fRunner;
|
|
||||||
fRunner = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (focused)
|
|
||||||
return;
|
|
||||||
|
|
||||||
fMenuField->fSelected = false;
|
|
||||||
fMenuField->fTransition = true;
|
|
||||||
|
|
||||||
BRect bounds(fMenuField->Bounds());
|
|
||||||
|
|
||||||
fMenuField->Invalidate(BRect(bounds.left, bounds.top, fMenuField->fDivider,
|
|
||||||
bounds.bottom));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
_BMCMenuBar_::SetMaxContentWidth(float width)
|
_BMCMenuBar_::SetMaxContentWidth(float width)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user