+void FormDocument::cancel()
+{
+ // this avoids confusion when reopening
+ BufferParams & param = lv_->buffer()->params;
+ param.temp_bullets[0] = param.user_defined_bullets[0];
+ param.temp_bullets[1] = param.user_defined_bullets[1];
+ param.temp_bullets[2] = param.user_defined_bullets[2];
+ param.temp_bullets[3] = param.user_defined_bullets[3];
+ hide();
+}
+
+
+void FormDocument::update()
+{
+ if (!dialog_)
+ return;
+
+ checkReadOnly();
+
+ BufferParams const & params = lv_->buffer()->params;
+
+ class_update(params);
+ paper_update(params);
+ language_update(params);
+ options_update(params);
+ bullets_update(params);
+}
+
+
+bool FormDocument::input( FL_OBJECT * ob, long data )
+{
+ State cb = static_cast<State>( data );
+
+ switch (cb) {
+ case CHECKCHOICECLASS:
+ CheckChoiceClass(ob, 0);
+ break;
+ case CHOICEBULLETSIZE:
+ ChoiceBulletSize(ob, 0);
+ break;
+ case INPUTBULLETLATEX:
+ InputBulletLaTeX(ob, 0);
+ break;
+ case BULLETDEPTH1:
+ case BULLETDEPTH2:
+ case BULLETDEPTH3:
+ case BULLETDEPTH4:
+ BulletDepth(ob, cb);
+ break;
+ case BULLETPANEL1:
+ case BULLETPANEL2:
+ case BULLETPANEL3:
+ case BULLETPANEL4:
+ case BULLETPANEL5:
+ case BULLETPANEL6:
+ BulletPanel(ob, cb);
+ break;
+ case BULLETBMTABLE:
+ BulletBMTable(ob, 0);
+ break;
+ default:
+ break;
+ }
+
+ switch (data) {
+ case INPUT:
+ case CHECKCHOICECLASS:
+ case CHOICEBULLETSIZE:
+ case INPUTBULLETLATEX:
+ case BULLETBMTABLE:
+ return CheckDocumentInput(ob, 0);
+ default:
+ break;
+ }
+
+ return true;
+}
+
+
+void FormDocument::ComboInputCB(int, void * v, Combox * combox)
+{
+ FormDocument * pre = static_cast<FormDocument*>(v);
+ if (combox == pre->combo_doc_class)
+ pre->CheckChoiceClass(0, 0);
+ pre->bc_.valid(pre->CheckDocumentInput(0,0));
+}
+
+