Skip to content

Instantly share code, notes, and snippets.

@jessicah
Created April 29, 2013 01:59
Show Gist options
  • Save jessicah/5479299 to your computer and use it in GitHub Desktop.
Save jessicah/5479299 to your computer and use it in GitHub Desktop.
Fix AddLogicMenu menufield size
void
FindPanel::AddLogicMenu(int32 index, bool selectAnd)
{
// add "AND/OR" menu
BPopUpMenu* menu = new BPopUpMenu("");
BMessage* message = new BMessage();
message->AddInt32("combine", B_AND);
BMenuItem* item = new BMenuItem(B_TRANSLATE("And"), message);
menu->AddItem(item);
item-SetMarked(true);
BSize andSize = menufield->MinSize();
message = new BMessage();
message->AddInt32("combine", B_OR);
item = new BMenuItem(B_TRANSLATE("Or"), message);
menu->AddItem(item);
item->SetMarked(true);
BSize orSize = menufield->MinSize();
if (selectAnd)
menu->ItemAt(0)->SetMarked(true);
menu->SetTargetForItems(this);
BMenuField* menufield = new BMenuField("Logic", "", menu, B_WILL_DRAW);
menufield->SetDivider(0.0f);
menufield->SetExplicitMaxSize(BSize(std::max(andSize.width, orSize.width),
std::max(andSize.height, orSize.height));
fAttrGrid->AddView(menufield, 3, index);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment