- bool const def_place = fl_get_button(dialog_->check_default);
- bool const wide_float = fl_get_button(dialog_->check_wide);
- // with wide floats, h[ere] is not allowed
- // b[ottom] is allowed (only) for figure* in multicolumn, don't
- // disallow it therefore
- bool const wide_options = (fl_get_button(dialog_->check_top)
- || fl_get_button(dialog_->check_bottom)
- || fl_get_button(dialog_->check_page));
- // The !-option is only allowed together with h, t, b, or p
- // We have to take this into account
- bool const standard_options = (wide_options || fl_get_button(dialog_->check_here));
-
- if (ob == dialog_->check_default) {
- if (def_place) {
- fl_set_button(dialog_->check_top, false);
- fl_set_button(dialog_->check_bottom, false);
- fl_set_button(dialog_->check_page, false);
- fl_set_button(dialog_->check_here, false);
- fl_set_button(dialog_->check_force, false);
- fl_set_button(dialog_->check_here_definitely, false);
- }
- setEnabled(dialog_->check_top, !def_place);
- setEnabled(dialog_->check_bottom, !def_place);
- setEnabled(dialog_->check_page, !def_place);
- setEnabled(dialog_->check_here, !def_place && !wide_float);
- setEnabled(dialog_->check_force, !def_place && standard_options);
- setEnabled(dialog_->check_here_definitely, !def_place && !wide_float);