// -*- C++ -*-
/* This file is part of
- * ======================================================
+ * ======================================================
*
* LyX, The Document Processor
*
- * Copyright (C) 1995 Matthias Ettrich
+ * Copyright 1995 Matthias Ettrich
+ * Copyright 1995-1999 the LyX Team.
*
- *======================================================*/
-#ifndef _LYXINSET_H
-#define _LYXINSET_H
+ * ====================================================== */
+
+#ifndef LYXINSET_H
+#define LYXINSET_H
#ifdef __GNUG__
#pragma interface
#endif
-#include "definitions.h"
#include "gettext.h"
#include "lyxfont.h"
#include "lyxlex.h"
#include "lyxscreen.h"
+
class Buffer;
struct LaTeXFeatures;
/// Insets
class Inset {
public:
- /** This is not quite the correct place for this enum, but it is
- better than definitions.h. I think the correct would be to let
- each subclass of Inset declare its own enum code. Actually the
- notion of an Inset::Code should be avoided, but I am not sure how
- this could be done in a cleaner way. */
+ /** This is not quite the correct place for this enum. I think
+ the correct would be to let each subclass of Inset declare
+ its own enum code. Actually the notion of an Inset::Code
+ should be avoided, but I am not sure how this could be done
+ in a cleaner way. */
enum Code {
///
NO_CODE,
};
///
- virtual ~Inset(){};
+ virtual ~Inset() {}
///
- virtual int Ascent(LyXFont const &font) const=0;
+ virtual int Ascent(LyXFont const & font) const = 0;
///
- virtual int Descent(LyXFont const &font) const=0;
+ virtual int Descent(LyXFont const & font) const = 0;
///
- virtual int Width(LyXFont const& font) const=0;
+ virtual int Width(LyXFont const & font) const = 0;
///
virtual LyXFont ConvertFont(LyXFont font);
///
- virtual void Draw(LyXFont font, LyXScreen &scr, int baseline, float &x)=0;
- ///
- //virtual void setBuffer(Buffer const&) {;}
+ virtual void Draw(LyXFont font, LyXScreen & scr,
+ int baseline, float & x) = 0;
/// what appears in the minibuffer when opening
- virtual char const* EditMessage() {return _("Opened inset");}
+ virtual char const * EditMessage() const {return _("Opened inset");}
///
virtual void Edit(int, int);
///
///
virtual bool AutoDelete() const;
///
- virtual void Write(FILE *file)=0;
+ virtual void Write(ostream &) = 0;
///
- virtual void Read(LyXLex &lex)=0;
+ virtual void Read(LyXLex & lex) = 0;
/** returns the number of rows (\n's) of generated tex code.
fragile != 0 means, that the inset should take care about
fragile commands by adding a \protect before.
*/
- virtual int Latex(FILE *file, signed char fragile)=0;
- virtual int Latex(LString &file, signed char fragile)=0;
+ virtual int Latex(ostream &, signed char fragile) = 0;
+ ///
+ virtual int Latex(string & file, signed char fragile) = 0;
///
- virtual int Linuxdoc(LString &/*file*/) = 0;
+ virtual int Linuxdoc(string & /*file*/) = 0;
///
- virtual int DocBook(LString &/*file*/) = 0;
+ virtual int DocBook(string & /*file*/) = 0;
/// Updates needed features for this inset.
- virtual void Validate(LaTeXFeatures &features) const;
+ virtual void Validate(LaTeXFeatures & features) const;
///
virtual bool Deletable() const;
virtual Inset::Code LyxCode() const = 0;
/// Get the label that appears at screen
- virtual LString getLabel(int) const {
- return LString();
- }
-
- /// used for autocorrection
- virtual bool IsEqual(Inset* /*other*/){
- return false;
+ virtual string getLabel(int) const {
+ return string();
}
///
- virtual Inset* Clone()=0;
+ virtual Inset * Clone() const = 0;
/// returns true to override begin and end inset in file
virtual bool DirectWrite() const;
/// Returns true if the inset should be centered alone
- virtual bool Display() const { return false; }
-
+ virtual bool display() const { return false; }
/// Changes the display state of the inset
- virtual void SetDisplay(bool) { }
+ virtual void display(bool) {}
///
virtual int GetNumberOfLabels() const {
return 0;
class UpdatableInset: public Inset {
public:
///
- virtual ~UpdatableInset() { };
+ //virtual ~UpdatableInset() {}
///
virtual unsigned char Editable() const;
/// may call ToggleLockedInsetCursor
virtual void ToggleInsetCursor();
///
- virtual void GetCursorPos(int&, int&) { }
+ virtual void GetCursorPos(int &, int &) const {}
///
virtual void InsetButtonPress(int x, int y, int button);
///
virtual void InsetButtonRelease(int x, int y, int button);
///
- virtual void InsetKeyPress(XKeyEvent *ev);
+ virtual void InsetKeyPress(XKeyEvent * ev);
///
virtual void InsetMotionNotify(int x, int y, int state);
///
virtual void InsetUnlock();
/// An updatable inset could handle lyx editing commands
- virtual bool LocalDispatch(int, char const*) { return false; };
+ virtual bool LocalDispatch(int, char const *) { return false; };
//
bool isCursorVisible() const { return cursor_visible; }
protected:
///
bool cursor_visible;
};
-
-
#endif