* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* This file Copyright 1997-1999
* Allan Rae
#include "LString.h"
-#include "support/LAssert.h"
-
///
class Bullet {
public:
protected:
#ifdef ENABLE_ASSERTIONS
///
- void testInvariant() const {
- Assert(font >= MIN);
- Assert(font < FONTMAX);
- Assert(character >= MIN);
- Assert(character < CHARMAX);
- Assert(size >= MIN);
- Assert(size < SIZEMAX);
- Assert(user_text >= -1);
- Assert(user_text <= 1);
- // now some relational/operational tests
- if (user_text == 1) {
- Assert(font == -1 && (character == -1 && size == -1));
- // Assert(!text.empty()); // this isn't necessarily an error
- }
- // else if (user_text == -1) {
- // Assert(!text.empty()); // this also isn't necessarily an error
- // }
- // else {
- // // user_text == 0
- // Assert(text.empty()); // not usually true
- // }
- }
+ void testInvariant() const;
#endif
private:
/**
static string const bulletEntry(short int, short int);
///
- short font;
+ int font;
///
- short character;
+ int character;
///
- short size;
+ int size;
// size, character and font are array indices to access
// the predefined arrays of LaTeX equivalent strings.
};
-/*----------------Inline Bullet Member Functions------------------*/
-
-inline
-Bullet::Bullet(string const & t)
- : font(MIN), character(MIN), size(MIN), user_text(1), text(t)
-{
-#ifdef ENABLE_ASSERTIONS
- testInvariant();
-#endif
-}
-
-
-inline
-void Bullet::setCharacter(int c)
-{
- if (c < MIN || c >= CHARMAX) {
- character = MIN;
- } else {
- character = c;
- }
- user_text = 0;
-#ifdef ENABLE_ASSERTIONS
- testInvariant();
-#endif
-}
-
-
-inline
-void Bullet::setFont(int f)
-{
- if (f < MIN || f >= FONTMAX) {
- font = MIN;
- } else {
- font = f;
- }
- user_text = 0;
-#ifdef ENABLE_ASSERTIONS
- testInvariant();
-#endif
-}
-
-
-inline
-void Bullet::setSize(int s)
-{
- if (s < MIN || s >= SIZEMAX) {
- size = MIN;
- } else {
- size = s;
- }
- user_text = 0;
-#ifdef ENABLE_ASSERTIONS
- testInvariant();
-#endif
-}
-
-
-inline
-void Bullet::setText(string const & t)
-{
- font = character = size = MIN;
- user_text = 1;
- text = t;
-#ifdef ENABLE_ASSERTIONS
- testInvariant();
-#endif
-}
-
-
-inline
-int Bullet::getCharacter() const
-{
- return character;
-}
-
-
-inline
-int Bullet::getFont() const
-{
- return font;
-}
-
-
-inline
-int Bullet::getSize() const
-{
- return size;
-}
-
-
-inline
-Bullet & Bullet::operator=(Bullet const & b)
-{
-#ifdef ENABLE_ASSERTIONS
- b.testInvariant();
-#endif
- font = b.font;
- character = b.character;
- size = b.size;
- user_text = b.user_text;
- text = b.text;
-#ifdef ENABLE_ASSERTIONS
- this->testInvariant();
-#endif
- return *this;
-}
-
-/*-----------------End Bullet Member Functions-----------------*/
-
inline
bool operator!=(Bullet const & b1, Bullet const & b2)
{