Files
haiku-beta6/headers/private/interface/BMCPrivate.h
T

64 lines
1.4 KiB
C++
Raw Normal View History

/*
* Copyright 2001-2006, Haiku, Inc.
* Distributed under the terms of the MIT License.
*
* Authors:
* Marc Flerackers ([email protected])
* Stephan Aßmus <[email protected]>
*/
2003-06-16 08:32:55 +00:00
#ifndef _BMC_PRIVATE_H
#define _BMC_PRIVATE_H
2003-06-16 08:32:55 +00:00
#include <BeBuild.h>
#include <MenuBar.h>
#include <MenuItem.h>
#include <MessageFilter.h>
2003-06-16 08:32:55 +00:00
class BMessageRunner;
class _BMCFilter_ : public BMessageFilter {
public:
_BMCFilter_(BMenuField *menuField, uint32 what);
virtual ~_BMCFilter_();
filter_result Filter(BMessage *message, BHandler **handler);
private:
_BMCFilter_ &operator=(const _BMCFilter_ &);
BMenuField *fMenuField;
};
2003-06-16 08:32:55 +00:00
class _BMCMenuBar_ : public BMenuBar {
public:
_BMCMenuBar_(BRect frame, bool fixed_size,
BMenuField *menuField);
_BMCMenuBar_(BMessage *data);
virtual ~_BMCMenuBar_();
2003-06-16 08:32:55 +00:00
static BArchivable *Instantiate(BMessage *data);
2003-06-16 08:32:55 +00:00
virtual void AttachedToWindow();
virtual void Draw(BRect updateRect);
virtual void FrameResized(float width, float height);
virtual void MessageReceived(BMessage* msg);
virtual void MakeFocus(bool focused = true);
2003-06-16 08:32:55 +00:00
void TogglePopUpMarker(bool show) { fShowPopUpMarker = show; }
bool IsPopUpMarkerShown() const { return fShowPopUpMarker; }
virtual BSize MaxSize();
2003-06-16 08:32:55 +00:00
private:
_BMCMenuBar_&operator=(const _BMCMenuBar_ &);
BMenuField *fMenuField;
bool fFixedSize;
BMessageRunner *fRunner;
bool fShowPopUpMarker;
float fPreviousWidth;
2003-06-16 08:32:55 +00:00
};
#endif // _BMC_PRIVATE_H