I'm not trying to make life harder for you here!!! But: FloatParams::FloatParams() - : placement("htbp") + : placement("htbp"), wide() {} What default do you want for bool wide? true or false? As you have it, wide is undefined I think.
FloatParams::FloatParams() - : placement("htbp") + : placement("htbp"), wide(false) {} Also, why store string placement since this makes it hard (pointless) to check (p1.placement == p2.placement) in case the order is wrong. Why not store bool here; bool top; bool bottom; etc. Then your check will be easy. +int C_FormFloatFeedbackCB(FL_OBJECT * ob, int event, + FL_Coord, FL_Coord, int, void *) This is nice enough, but what do people think about all this feedback stuff? Would it be nicer as a bubble-help? This is dead easy to do with xforms 0.89 but is a bit more convoluted for 0.88. Nonetheless, we could provide a wrapper for this. Shall I do so? FormFloat::build() { ... setBubbleHelp(dialog_->radio_top, "some silly text"); ... } FormBase::FormBase() { #if FL_REVISION < 89 bubble_timer = 0; #endif } FormBase::setBubbleHelp(FL_OBJECT * ob, string const & help) { #if FL_REVISION >= 89 fl_set_object_helper(ob, help.c_str()); #else if (bubble_timer == 0) bubble_timer = fl_add_timer(FL_HIDDEN_TIMER, xpos, ypos, 0, 0, "Timer"); fl_set_object_posthandler(ob, C_Toolbar_BubblePost); obj->u_cdata = reinterpret_cast<char *>(bubble_timer); #endif }