-}
-
-
-void InsetExternal::editCB(FL_OBJECT * ob, long)
-{
- Holder * holder = static_cast<Holder*>(ob->form->u_vdata);
- InsetExternal * inset = holder->inset;
- inset->doApply(holder->view);
- inset->doEdit(holder->view);
-}
-
-
-void InsetExternal::viewCB(FL_OBJECT * ob, long)
-{
- Holder * holder = static_cast<Holder*>(ob->form->u_vdata);
- InsetExternal * inset = holder->inset;
- inset->doApply(holder->view);
- inset->doView(holder->view);
-}
-
-
-void InsetExternal::updateCB(FL_OBJECT * ob, long)
-{
- Holder * holder = static_cast<Holder*>(ob->form->u_vdata);
- InsetExternal * inset = holder->inset;
- inset->doApply(holder->view);
- inset->doUpdate(holder->view);
-}
-
-
-void InsetExternal::okCB(FL_OBJECT * ob, long data)
-{
- Holder * holder = static_cast<Holder*>(ob->form->u_vdata);
- InsetExternal * inset = holder->inset;
- inset->doApply(holder->view);
- cancelCB(ob,data);
-}
-
-
-void InsetExternal::doApply(BufferView * bufview)
-{
- bool update = false;
- if (templatename != getCurrentTemplate()) {
- templatename = getCurrentTemplate();
- update = true;
- }
- if (filename != fl_get_input(form_external->filename)) {
- filename = fl_get_input(form_external->filename);
- update = true;
- }
- if (parameters != fl_get_input(form_external->parameters)) {
- parameters = fl_get_input(form_external->parameters);
- update = true;
- }
-
- if (update) {
- // The text might have change,
- // so we should update the button look
- bufview->updateInset(this, true);
- }
-}
-
-
-void InsetExternal::cancelCB(FL_OBJECT * ob, long)
-{
- Holder * holder = static_cast<Holder*>(ob->form->u_vdata);
-
- InsetExternal * inset = holder->inset;
- // BufferView * bv = holder->view;
-
- if (inset->form_external) {
- fl_hide_form(inset->form_external->form_external);
- fl_free_form(inset->form_external->form_external);
- inset->form_external = 0;
- }
-}
-
-
-char const * InsetExternal::EditMessage() const
-{
- ExternalTemplate const & et = getTemplate(templatename);
- return doSubstitution(0, et.guiName).c_str();
-}
-
-
-void InsetExternal::Edit(BufferView * bv,
- int /*x*/, int /*y*/, unsigned int /*button*/)
-{
- static int ow = -1, oh;
-
- if (bv->buffer()->isReadonly())
- WarnReadonly(bv->buffer()->fileName());
-
- if (!form_external) {
- form_external = create_form_form_external();
- holder.inset = this;
- // form_external->ok->u_vdata = &holder;
- form_external->form_external->u_vdata = &holder;
- fl_set_form_atclose(form_external->form_external,
- CancelCloseBoxCB, 0);
- }
- holder.view = bv;
- fl_addto_choice(form_external->templatechoice,
- getTemplateString().c_str());
- fl_set_input(form_external->filename, filename.c_str());
- fl_set_input(form_external->parameters, parameters.c_str());
- if (!templatename.empty()) {
- fl_set_choice(form_external->templatechoice,
- getTemplateNumber(templatename));
- }
- // Update the help text
- templateCB(form_external->templatechoice, 0);
-
- ExternalTemplate const & et = getTemplate(templatename);
- if (et.automaticProduction) {
- fl_deactivate_object(form_external->update);
- fl_set_object_lcol(form_external->update, FL_INACTIVE);
- } else {
- fl_activate_object(form_external->update);
- fl_set_object_lcol(form_external->update, FL_BLACK);