X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fxforms%2FFormUrl.C;h=276965721708acc310ef2b43e0c74594d0292b05;hb=3e39bef2c13125023f3b72532d90575bbe307335;hp=cbcf1046d4f9b4ec43b6ee8bf98a230097c654f3;hpb=9c36dd0f40f2e2e90fce8b2f33519a5d99d9be8b;p=lyx.git diff --git a/src/frontends/xforms/FormUrl.C b/src/frontends/xforms/FormUrl.C index cbcf1046d4..2769657217 100644 --- a/src/frontends/xforms/FormUrl.C +++ b/src/frontends/xforms/FormUrl.C @@ -1,112 +1,73 @@ -// -*- C++ -*- -/* This file is part of - * ====================================================== +/** + * \file xforms/FormUrl.C + * Copyright 2000-2001 The LyX Team. + * See the file COPYING. * - * LyX, The Document Processor - * - * Copyright 2000 The LyX Team. - * - * ====================================================== + * \author Angus Leeming, a.leeming@ic.ac.uk */ -#include -#include FORMS_H_LOCATION +#include #ifdef __GNUG__ #pragma implementation #endif -#include "Dialogs.h" +#include "xformsBC.h" +#include "ControlUrl.h" #include "FormUrl.h" -#include "LyXView.h" -#include "buffer.h" #include "form_url.h" -#include "lyxfunc.h" - -FormUrl::FormUrl(LyXView * lv, Dialogs * d) - : FormCommand(lv, d, _("Url")) -{ - // let the dialog be shown - // These are permanent connections so we won't bother - // storing a copy because we won't be disconnecting. - d->showUrl.connect(slot(this, &FormUrl::showInset)); - d->createUrl.connect(slot(this, &FormUrl::createInset)); -} +typedef FormCB > base_class; -FL_FORM * FormUrl::form() const -{ - if (dialog_.get()) return dialog_->form; - return 0; -} +FormUrl::FormUrl(ControlUrl & c) + : base_class(c, _("Url")) +{} -void FormUrl::connect() -{ - fl_set_form_maxsize(form(), 2 * minw_, minh_); - FormCommand::connect(); -} - - void FormUrl::build() { dialog_.reset(build_url()); - // Workaround dumb xforms sizing bug - minw_ = form()->w; - minh_ = form()->h; + fl_set_input_return(dialog_->input_name, FL_RETURN_CHANGED); + fl_set_input_return(dialog_->input_url, FL_RETURN_CHANGED); - fl_set_input_return(dialog_->name, FL_RETURN_CHANGED); - fl_set_input_return(dialog_->url, FL_RETURN_CHANGED); + setPrehandler(dialog_->input_name); + setPrehandler(dialog_->input_url); - // Manage the ok, apply, restore and cancel/close buttons + // Manage the ok, apply, restore and cancel/close buttons bc().setOK(dialog_->button_ok); bc().setApply(dialog_->button_apply); - bc().setCancel(dialog_->button_cancel); - bc().setUndoAll(dialog_->button_restore); - bc().refresh(); + bc().setCancel(dialog_->button_close); + bc().setRestore(dialog_->button_restore); - bc().addReadOnly(dialog_->name); - bc().addReadOnly(dialog_->url); - bc().addReadOnly(dialog_->radio_html); + bc().addReadOnly(dialog_->input_name); + bc().addReadOnly(dialog_->input_url); + bc().addReadOnly(dialog_->check_html); } void FormUrl::update() { - fl_set_input(dialog_->url, params.getContents().c_str()); - fl_set_input(dialog_->name, params.getOptions().c_str()); + fl_set_input(dialog_->input_url, + controller().params().getContents().c_str()); + fl_set_input(dialog_->input_name, + controller().params().getOptions().c_str()); - if (params.getCmdName() == "url") - fl_set_button(dialog_->radio_html, 0); + if (controller().params().getCmdName() == "url") + fl_set_button(dialog_->check_html, 0); else - fl_set_button(dialog_->radio_html, 1); - - bc().readOnly(lv_->buffer()->isReadonly()); + fl_set_button(dialog_->check_html, 1); } void FormUrl::apply() { - if (lv_->buffer()->isReadonly()) return; - - params.setContents(fl_get_input(dialog_->url)); - params.setOptions(fl_get_input(dialog_->name)); + controller().params().setContents(fl_get_input(dialog_->input_url)); + controller().params().setOptions(fl_get_input(dialog_->input_name)); - if (fl_get_button(dialog_->radio_html)) - params.setCmdName("htmlurl"); + if (fl_get_button(dialog_->check_html)) + controller().params().setCmdName("htmlurl"); else - params.setCmdName("url"); - - if (inset_ != 0) { - // Only update if contents have changed - if (params != inset_->params()) { - inset_->setParams(params); - lv_->view()->updateInset(inset_, true); - } - } else { - lv_->getLyXFunc()->Dispatch(LFUN_INSERT_URL, - params.getAsString()); - } + controller().params().setCmdName("url"); }