本文整理汇总了C++中BBox::Parent方法的典型用法代码示例。如果您正苦于以下问题:C++ BBox::Parent方法的具体用法?C++ BBox::Parent怎么用?C++ BBox::Parent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BBox
的用法示例。
在下文中一共展示了BBox::Parent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Parent
void
BRadioButton::SetValue(int32 value)
{
if (value != Value()) {
BControl::SetValueNoUpdate(value);
Invalidate(_KnobFrame());
}
if (value == 0)
return;
BView* parent = Parent();
BView* child = NULL;
if (parent != NULL) {
// If the parent is a BBox, the group parent is the parent of the BBox
BBox* box = dynamic_cast<BBox*>(parent);
if (box != NULL && box->LabelView() == this)
parent = box->Parent();
if (parent != NULL) {
BBox* box = dynamic_cast<BBox*>(parent);
// If the parent is a BBox, skip the label if there is one
if (box != NULL && box->LabelView())
child = parent->ChildAt(1);
else
child = parent->ChildAt(0);
} else
child = Window()->ChildAt(0);
} else if (Window() != NULL)
child = Window()->ChildAt(0);
while (child != NULL) {
BRadioButton* radio = dynamic_cast<BRadioButton*>(child);
if (radio != NULL && (radio != this))
radio->SetValue(B_CONTROL_OFF);
else {
// If the child is a BBox, check if the label is a radiobutton
BBox* box = dynamic_cast<BBox*>(child);
if (box != NULL && box->LabelView()) {
radio = dynamic_cast<BRadioButton*>(box->LabelView());
if (radio != NULL && (radio != this))
radio->SetValue(B_CONTROL_OFF);
}
}
child = child->NextSibling();
}
ASSERT(Value() == B_CONTROL_ON);
}