Rob Lahaye wrote:
> Angus Leeming wrote:
> 
>>
>> But, sure, this is a sample piece of code. You may find this preferable:
>>     CheckedGlueLength(FL_OBJECT * input,
>>             FL_OBJECT * choice,
>>             FL_OBJECT * label=input);
>> Ie, the default value for the third arg is the same as the first, so 
>> you can get away with writing just two.
>>
>> Or, indeed, this
>>     CheckedGlueLength(FL_OBJECT * input,
>>             FL_OBJECT * choice,
>>             FL_OBJECT * label=0);
>>
>> although that means you'd have to alter checked_widgets.C a little too.
> 
> 
> I prefer to use the "label = input". May I then take it from here and add
> new code to your patch in my tree?

Angus,

I tried:

    class CheckedGlueLength : public CheckedWidget {
    public:
         CheckedGlueLength(FL_OBJECT * input,
                           FL_OBJECT * label = input);


but my compiler doesn't like this and complains that the second "input"
is unknown. Is my compiler funny, or is this example code wrong?

To avoid the error, I do now:

    class CheckedGlueLength : public CheckedWidget {
    public:
         CheckedGlueLength(FL_OBJECT * input,
                           FL_OBJECT * label = NULL);

and

    CheckedGlueLength::CheckedGlueLength(FL_OBJECT * input,
                                         FL_OBJECT * label)
                : input_(input), label_(label ? label : input)
    {
           lyx::Assert(input && input->objclass == FL_INPUT);
    }

Is that acceptable C++ coding?


As you can see here, I already removed the choice parameters to the
functions and works fine. So I guess they may go.

----------

BTW: since this works great, shall I now remove all the text_warning
stuff in the Forms. Your checkedWidgets code does automagically the
"isValid" checks. But for the text_warnings I have to do that again in
each FormFoobar.C to display the proper text.
Feels like by keeping the text_warnings we are forced to do things double.

The red coloring of the error-input widgets should be enough to indicate
that input is wrong. So: text_warnings shall go?

Regards,
Rob.

Reply via email to