-void FormParagraph::free()
-{
- if (dialog_) {
- hide();
- if (general_) {
-// fl_free_form(general_->form);
- delete general_;
- general_ = 0;
- }
- if (extra_) {
-// fl_free_form(extra_->form);
- delete extra_;
- extra_ = 0;
- }
-// fl_free_form(dialog_->form);
- delete dialog_;
- dialog_ = 0;
- }
-}
-
-
-int FormParagraph::WMHideCB(FL_FORM * form, void *)
-{
- // Ensure that the signals (u and h) are disconnected even if the
- // window manager is used to close the popup.
- FormParagraph * pre = static_cast<FormParagraph*>(form->u_vdata);
- pre->hide();
- pre->bc_->hide();
- return FL_CANCEL;
-}
-
-
-void FormParagraph::OKCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->apply();
- pre->hide();
- pre->bc_->ok();
-}
-
-
-void FormParagraph::ApplyCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->apply();
- pre->bc_->apply();
-}
-
-
-void FormParagraph::CancelCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->cancel();
- pre->hide();
- pre->bc_->cancel();
-}
-
-
-void FormParagraph::RestoreCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->update();
- pre->bc_->undoAll();
-}
-
-
-void FormParagraph::InputCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->bc_->valid(pre->CheckParagraphInput(ob,0));
-}
-
-
-void FormParagraph::VSpaceCB(FL_OBJECT * ob, long)
-{
- FormParagraph * pre = static_cast<FormParagraph*>(ob->form->u_vdata);
- pre->bc_->valid(pre->CheckParagraphInput(ob,0));
-}
-
-
-bool FormParagraph::CheckParagraphInput(FL_OBJECT * ob, long)