Allan,
why have you made ButtonController::valid() a "Passthrough function --
returns its input value"? It isn't used as such. Can I make it a void
function please?
I think that I'll modify my trigger_change_ vector and associated methods to
dont_trigger_change_ because FL_OBJECTs that trigger a callback to InputCB
but shoudn't trigger a change in the state of the Ok,Apply buttons are much
rarer than those that should.
What do you mean by "I think you're attacking the problem from the wrong
end"? Do you mean that callbacks from these FL_OBJECTs should not be dealt
with by input(), but by another method, say internalInput(). This would be
exactly equivalent to my solution I think.
Angus
aleem@pneumon:xforms-> grep -n "valid(" *.C | grep -v nvalid
ButtonController.C:151:bool ButtonController::valid(bool v, FL_OBJECT * obj)
ButtonController.C:180: valid(false);
FormBase.C:173: pre->bc_.valid(pre->input(ob, data), ob);
FormDocument.C:396: pre->bc_.valid(pre->CheckDocumentInput(0,0));
FormInset.C:98: bc_.valid(); // so that the user can press Ok
FormPreferences.C:1855:
pre->bc_.valid(pre->input(reinterpret_cast<FL_OBJECT
*>(combox), 0));
FormPrint.C:199: bc_.valid();
FormTabularCreate.C:57: bc_.valid(true);