X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetindex.C;h=486aeb23111eb845002f76c2d95d5f78f60f3c40;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=c47a53bc7226fbcbd81782a7a477846e134313a0;hpb=0eccdd1c3613e5170deb77b22174dd0afde833e9;p=lyx.git diff --git a/src/insets/insetindex.C b/src/insets/insetindex.C index c47a53bc72..486aeb2311 100644 --- a/src/insets/insetindex.C +++ b/src/insets/insetindex.C @@ -1,161 +1,72 @@ #include -#include - #ifdef __GNUG__ #pragma implementation #endif -#include FORMS_H_LOCATION #include "insetindex.h" -#include "buffer.h" -#include "error.h" +#include "BufferView.h" +#include "LyXView.h" +#include "frontends/Dialogs.h" #include "LaTeXFeatures.h" #include "gettext.h" -#include "LString.h" -#include "lyx_gui_misc.h" // WarnReadonly() - -extern BufferView *current_view; -extern void UpdateInset(Inset* inset, bool mark_dirty = true); - -FD_index_form *index_form = 0; - -static -void index_cb(FL_OBJECT *, long data) -{ - InsetIndex *inset = (InsetIndex*)index_form->vdata; - - switch (data) { -// - case 0: fl_hide_form(index_form->index_form); break; -// - case 1: -// - { -// - inset->setContents(fl_get_input(index_form->key)); -// - fl_hide_form(index_form->index_form); -// - UpdateInset(inset); -// - break; -// - } - case 1: // OK - if(!current_view->currentBuffer()->isReadonly()) { - string tmp = fl_get_input(index_form->key); - if(tmp != inset->getContents()) { - inset->setContents(tmp); - fl_hide_form(index_form->index_form); - UpdateInset(inset); - break; - } - } // fall through to Cancel on RO - case 0: // Cancel - fl_hide_form(index_form->index_form); break; - } -} - - -static -FD_index_form *create_form_index_form() -{ - FL_OBJECT *obj; - FD_index_form *fdui = (FD_index_form *) fl_calloc(1, sizeof(FD_index_form)); - - fdui->index_form = fl_bgn_form(FL_NO_BOX, 258, 196); - obj = fl_add_box(FL_UP_BOX,0,0,258,196,""); - fdui->key = obj = fl_add_input(FL_NORMAL_INPUT,93,26,130,30, - idex(_("Keyword:|#K"))); - fl_set_object_shortcut(obj,scex(_("Keyword:|#K")),1); - fl_set_object_lsize(obj,FL_NORMAL_SIZE); - obj = fl_add_button(FL_RETURN_BUTTON,50,140,80,30,_("OK")); - obj->u_vdata = index_form; - fl_set_object_callback(obj,index_cb,1); - obj = fl_add_button(FL_NORMAL_BUTTON,150,140,80,30, - idex(_("Cancel|^["))); - fl_set_object_shortcut(obj,scex(_("Cancel|^[")),1); - obj->u_vdata = index_form; - fl_set_object_callback(obj,index_cb,0); - fl_end_form(); - - return fdui; -} - - +#include "support/LOstream.h" -/*---------------------------------------*/ +using std::ostream; - -InsetIndex::InsetIndex(string const & key) - : InsetCommand("index", key) -{ -} +InsetIndex::InsetIndex(InsetCommandParams const & p, bool) + : InsetCommand(p) +{} -InsetIndex::~InsetIndex() +string const InsetIndex::getScreenLabel(Buffer const *) const { - if(index_form && index_form->index_form - && index_form->index_form->visible - && index_form->vdata == this) - fl_hide_form(index_form->index_form); + return _("Idx"); } -void InsetIndex::Edit(int, int) +void InsetIndex::edit(BufferView * bv, int, int, unsigned int) { - if(current_view->currentBuffer()->isReadonly()) - WarnReadonly(); - - if (!index_form) - index_form = create_form_index_form(); - - index_form->vdata = this; - fl_set_input(index_form->key, getContents().c_str()); - if (index_form->index_form->visible) { - fl_raise_form(index_form->index_form); - } else { - fl_show_form(index_form->index_form, - FL_PLACE_MOUSE, FL_FULLBORDER, - _("Index")); - } + bv->owner()->getDialogs()->showIndex(this); } -string InsetIndex::getScreenLabel() const +void InsetIndex::edit(BufferView * bv, bool) { - return _("Idx"); + edit(bv, 0, 0, 0); } -// -// InsetPrintIndex -// - -InsetPrintIndex::InsetPrintIndex() - : InsetCommand("printindex") +int InsetIndex::docbook(Buffer const *, ostream & os) const { - owner = 0; + os << "" << getContents() << ""; + return 0; } -InsetPrintIndex::InsetPrintIndex(Buffer *o) - : InsetCommand("printindex"), owner(o) +Inset::Code InsetIndex::lyxCode() const { + return Inset::INDEX_CODE; } -InsetPrintIndex::~InsetPrintIndex() -{ -} +InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p, bool) + : InsetCommand(p) +{} - -string InsetPrintIndex::getScreenLabel() const +string const InsetPrintIndex::getScreenLabel(Buffer const *) const { - return _("PrintIndex"); + return _("Index"); } -void InsetPrintIndex::Validate(LaTeXFeatures &features) const +void InsetPrintIndex::validate(LaTeXFeatures & features) const { - features.makeidx = true; + features.require("makeidx"); } -Inset::Code InsetPrintIndex::LyxCode() const +Inset::Code InsetPrintIndex::lyxCode() const { - return Inset::INDEX_CODE; + return Inset::INDEX_PRINT_CODE; }