#include <config.h>
-#include <stdlib.h>
-
#ifdef __GNUG__
#pragma implementation
#endif
-#include FORMS_H_LOCATION
#include "insetindex.h"
-#include "buffer.h"
-#include "debug.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;
-}
-
-
-
-/*---------------------------------------*/
-
-
-InsetIndex::InsetIndex(string const & key)
- : InsetCommand("index", key)
-{
-}
-
-
-InsetIndex::~InsetIndex()
-{
- if(index_form && index_form->index_form
- && index_form->index_form->visible
- && index_form->vdata == this)
- fl_hide_form(index_form->index_form);
-}
-
-void InsetIndex::Edit(int, 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"));
- }
-}
+InsetIndex::InsetIndex(InsetCommandParams const & p)
+ : InsetCommand(p)
+{}
-string InsetIndex::getScreenLabel() const
+string const InsetIndex::getScreenLabel() const
{
return _("Idx");
}
-//
-// InsetPrintIndex
-//
-
-InsetPrintIndex::InsetPrintIndex()
- : InsetCommand("printindex")
-{
- owner = 0;
-}
-
-
-InsetPrintIndex::InsetPrintIndex(Buffer *o)
- : InsetCommand("printindex"), owner(o)
+void InsetIndex::Edit(BufferView * bv, int, int, unsigned int)
{
+ bv->owner()->getDialogs()->showIndex( this );
}
-InsetPrintIndex::~InsetPrintIndex()
-{
-}
-
+InsetPrintIndex::InsetPrintIndex(InsetCommandParams const & p)
+ : InsetCommand(p)
+{}
-string InsetPrintIndex::getScreenLabel() const
+string const InsetPrintIndex::getScreenLabel() const
{
- return _("PrintIndex");
+ return _("Index");
}
-void InsetPrintIndex::Validate(LaTeXFeatures &features) const
+void InsetPrintIndex::Validate(LaTeXFeatures & features) const
{
features.makeidx = true;
}