void DialogBuilder::LinkFlags(DialogItemEx *Parent, DialogItemEx *Target, FarDialogItemFlags Flags, bool LinkLabels) { Parent->Flags |= DIF_AUTOMATION; Parent->AddAutomation(Target->ID, Flags, DIF_NONE, DIF_NONE, Flags, DIF_NONE, DIF_NONE); if (!Parent->Selected) Target->Flags |= Flags; if (LinkLabels) { DialogItemBinding<DialogItemEx> *Binding = FindBinding(Target); if (Binding) { LinkFlagsByID(Parent, Binding->BeforeLabelID, Flags); LinkFlagsByID(Parent, Binding->AfterLabelID, Flags); } } }
void DialogBuilder::LinkFlags(DialogItemEx *Parent, DialogItemEx *Target, FARDIALOGITEMFLAGS Flags, bool LinkLabels) { Parent->Flags |= DIF_AUTOMATION; Parent->AddAutomation(Target, Flags, DIF_NONE, DIF_NONE, Flags, DIF_NONE, DIF_NONE); if (!Parent->Selected) Target->Flags |= Flags; if (LinkLabels) { if (const auto Binding = FindBinding(Target)) { if (Binding->BeforeLabelID != -1) LinkFlagsByID(Parent, &m_DialogItems[Binding->BeforeLabelID], Flags); if (Binding->AfterLabelID != -1) LinkFlagsByID(Parent, &m_DialogItems[Binding->AfterLabelID], Flags); } } }