- fl_set_input_return(general_->input_space_above, FL_RETURN_CHANGED);
- fl_set_input_return(general_->input_space_below, FL_RETURN_CHANGED);
- fl_set_input_return(general_->input_labelwidth, FL_RETURN_CHANGED);
-
- bc_.addReadOnly (general_->group_radio_alignment);
- // bc_.addReadOnly (general_->radio_align_right);
- // bc_.addReadOnly (general_->radio_align_left);
- // bc_.addReadOnly (general_->radio_align_block);
- // bc_.addReadOnly (general_->radio_align_center);
- bc_.addReadOnly (general_->check_lines_top);
- bc_.addReadOnly (general_->check_lines_bottom);
- bc_.addReadOnly (general_->check_pagebreaks_top);
- bc_.addReadOnly (general_->check_pagebreaks_bottom);
- bc_.addReadOnly (general_->choice_space_above);
- bc_.addReadOnly (general_->input_space_above);
- bc_.addReadOnly (general_->check_space_above);
- bc_.addReadOnly (general_->choice_space_below);
- bc_.addReadOnly (general_->input_space_below);
- bc_.addReadOnly (general_->check_space_below);
- bc_.addReadOnly (general_->choice_linespacing);
- bc_.addReadOnly (general_->input_linespacing);
- bc_.addReadOnly (general_->check_noindent);
- bc_.addReadOnly (general_->input_labelwidth);
-
- fl_set_input_filter(general_->input_linespacing, fl_unsigned_float_filter);
-
- // now make them fit together
- fl_addto_tabfolder(dialog_->tabbed_folder,_("General"), general_->form);
-}
-
+ fl_set_input_return(dialog_->input_space_above, FL_RETURN_CHANGED);
+ fl_set_input_return(dialog_->input_space_below, FL_RETURN_CHANGED);
+ fl_set_input_return(dialog_->input_labelwidth, FL_RETURN_CHANGED);
+ fl_set_input_return(dialog_->input_linespacing, FL_RETURN_CHANGED);
+ fl_set_input_filter(dialog_->input_linespacing, fl_unsigned_float_filter);
+
+ setPrehandler(dialog_->input_space_above);
+ setPrehandler(dialog_->input_space_below);
+ setPrehandler(dialog_->input_labelwidth);
+ setPrehandler(dialog_->input_linespacing);
+
+ // Create the contents of the unit choices
+ // Don't include the "%" terms...
+ vector<string> units_vec = getLatexUnits();
+#if 0
+ for (vector<string>::iterator it = units_vec.begin();
+ it != units_vec.end(); ++it) {
+ if (contains(*it, "%"))
+ it = units_vec.erase(it, it+1) - 1;
+ }
+#else
+ // Something similar to this is a better way to erase
+ vector<string>::iterator del =
+ remove_if(units_vec.begin(), units_vec.end(),
+ bind2nd(contains_functor(), "%"));
+ units_vec.erase(del, units_vec.end());
+#endif
+
+ string units = getStringFromVector(units_vec, "|");