lyx_mirror/src/insets/insetindex.h

101 lines
1.8 KiB
C
Raw Normal View History

// -*- C++ -*-
/* This file is part of*
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1996-2000 the LyX Team.
*
* ====================================================== */
#ifndef INSET_INDEX_H
#define INSET_INDEX_H
#ifdef __GNUG__
#pragma interface
#endif
#include "insetcommand.h"
class Buffer;
struct LaTeXFeatures;
struct FD_index_form;
// Created by Lgb 970227
/** Used to insert index labels
*/
class InsetIndex: public InsetCommand {
public:
///
InsetIndex() : InsetCommand("index") {}
///
explicit
InsetIndex(string const & key);
///
~InsetIndex();
///
Inset * Clone() const { return new InsetIndex(getContents());}
///
void Edit(BufferView *, int, int, unsigned int);
///
EDITABLE Editable() const
{
return IS_EDITABLE;
}
///
string getScreenLabel() const;
///
void callback( FD_index_form *, long );
///
struct Holder {
InsetIndex * inset;
BufferView * view;
};
private:
///
Holder holder;
};
class InsetPrintIndex : public InsetCommand {
public:
///
InsetPrintIndex();
///
InsetPrintIndex(Buffer *);
///
~InsetPrintIndex();
/// Updates needed features for this inset.
void Validate(LaTeXFeatures & features) const;
///
void Edit(BufferView *, int, int, unsigned int) {}
///
EDITABLE Editable() const{
return IS_EDITABLE;
}
/// WHY is clone missing? (Lgb)
///
bool display() const { return true; }
///
Inset::Code LyxCode() const;
///
string getScreenLabel() const;
private:
///
Buffer * owner;
};
// this was shifted here rather than a separate
// file because its little and only need by
// insetindex.C and lyx_gui_misc.C ARRae 981020
struct FD_index_form {
FL_FORM * index_form;
FL_OBJECT * key;
};
extern FD_index_form * index_form;
#endif