Remove the And/Or menu field when you remove a row

This commit is contained in:
John Scipione
2013-04-27 20:26:46 -04:00
parent 43f6509cd0
commit e94d7e41e8
+31 -4
View File
@@ -2046,12 +2046,39 @@ FindPanel::RemoveAttrRow()
if (view != NULL)
view->MakeFocus();
if (fAttrGrid->CountRows() != 1)
if (fAttrGrid->CountRows() > 1) {
// remove the And/Or menu field of the previous row
BLayoutItem* item = fAttrGrid->ItemAt(3, row - 1);
if (item == NULL)
return;
view = item->View();
if (view == NULL)
return;
view->RemoveSelf();
delete view;
return;
}
// only one row remains
// disable the remove button
BButton* button = dynamic_cast<BButton*>(FindView("remove button"));
if (button != NULL)
button->SetEnabled(false);
// remove the And/Or menu field
BLayoutItem* item = fAttrGrid->RemoveItem(3);
if (item == NULL)
return;
BButton* button = dynamic_cast<BButton*>(FindView("remove button"));
if (button)
button->SetEnabled(false);
view = item->View();
if (view == NULL)
return;
view->RemoveSelf();
delete view;
}