Пример #1
0
void
BMenuField::_InitMenuBar(const BMessage* archive)
{
	bool fixed;
	if (archive->FindBool("be:fixeds", &fixed) == B_OK)
		fFixedSizeMB = fixed;

	fMenuBar = (BMenuBar*)FindView("_mc_mb_");
	if (!fMenuBar) {
		_InitMenuBar(new BMenu(""), BRect(0, 0, 100, 15), fFixedSizeMB);
		InitObject2();
	} else {
		fMenuBar->AddFilter(new _BMCFilter_(this, B_MOUSE_DOWN));
			// this is normally done in InitObject2()
	}

	fMenu = fMenuBar->SubmenuAt(0);

	bool disable;
	if (archive->FindBool("_disable", &disable) == B_OK)
		SetEnabled(!disable);

	bool dmark = false;
	archive->FindBool("be:dmark", &dmark);
	if (_BMCMenuBar_* menuBar = dynamic_cast<_BMCMenuBar_*>(fMenuBar))
		menuBar->TogglePopUpMarker(dmark);
}
Пример #2
0
//! Copy&Paste error, should be removed at some point (already private)
BMenuField::BMenuField(const char* label, BMenu* menu, BMessage* message)
	:
	BView(NULL, B_WILL_DRAW | B_NAVIGABLE | B_FRAME_EVENTS)
{
	InitObject(label);

	_InitMenuBar(menu, BRect(0, 0, 100, 15), true);

	InitObject2();
}
Пример #3
0
BMenuField::BMenuField(const char* label, BMenu* menu, uint32 flags)
	:
	BView(NULL, flags | B_FRAME_EVENTS)
{
	InitObject(label);

	_InitMenuBar(menu, BRect(0, 0, 100, 15), true);

	InitObject2();
}
Пример #4
0
BMenuField::BMenuField(BRect frame, const char* name, const char* label,
		BMenu* menu, bool fixedSize, uint32 resize, uint32 flags)
	:
	BView(frame, name, resize, flags)
{
	InitObject(label);

	fFixedSizeMB = fixedSize;

	frame.OffsetTo(B_ORIGIN);
	_InitMenuBar(menu, frame, fixedSize);

	InitObject2();
}
Пример #5
0
BMenuField::BMenuField(BRect frame, const char* name, const char* label,
		BMenu* menu, uint32 resize, uint32 flags)
	:
	BView(frame, name, resize, flags)
{
	CALLED();

	TRACE("frame.width: %.2f, height: %.2f\n", frame.Width(), frame.Height());

	InitObject(label);

	frame.OffsetTo(B_ORIGIN);
	_InitMenuBar(menu, frame, false);

	InitObject2();
}
Пример #6
0
//------------------------------------------------------------------------------
BMenuField::BMenuField(BMessage *data)
	:	BView(data)
{
	const char *label = NULL;

	data->FindString("_label", &label);
	
	InitObject(label);

	fMenuBar = (BMenuBar*)FindView("_mc_mb_");
	fMenu = fMenuBar->SubmenuAt(0);

	InitObject2();

	bool disable;

	if (data->FindBool("_disable", &disable) == B_OK)
		SetEnabled(!disable);

	int32 align;

	data->FindInt32("_align", &align);
		SetAlignment((alignment)align);

	data->FindFloat("_divide", &fDivider);

	bool fixed;
	
	if (data->FindBool("be:fixeds", &fixed) == B_OK)
		fFixedSizeMB = fixed;

	BMenuItem *item = fMenuBar->ItemAt(0);

	if (!item)
		return;

	_BMCItem_ *bmcitem = dynamic_cast<_BMCItem_*>(item);

	if (!bmcitem)
		return;
	
	bool dmark;

	if (data->FindBool("be:dmark", &dmark))
		bmcitem->fShowPopUpMarker = dmark;
}
Пример #7
0
//------------------------------------------------------------------------------
BMenuField::BMenuField(BRect frame, const char *name, const char *label,
					   BMenu *menu, uint32 resize, uint32 flags)
	:	BView(frame, name, resize, flags)
{
	InitObject(label);
	SetFont(be_plain_font);
	fMenu = menu;
	InitMenu(menu);

	frame.OffsetTo(0.0f, 0.0f);
	fMenuBar = new _BMCMenuBar_(BRect(frame.left + fDivider + 2.0f,
		frame.top + kVMargin, frame.right - 2.0f, frame.bottom - kVMargin),
		false, this);

	AddChild(fMenuBar);
	fMenuBar->AddItem(menu);

	fMenuBar->SetFont(be_plain_font);

	InitObject2();
}