X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBullet.h;h=c4c8203f8bb423c61d4c7a8f618fd2234457da33;hb=e059c633b01937f450ff9fa873cfc6b773aa74cc;hp=0b796b4bcba2f3ea439902d4f003bd8fc0156e25;hpb=6f8422af71ddb2c40aa7e8f186190dba77a7b228;p=lyx.git diff --git a/src/Bullet.h b/src/Bullet.h index 0b796b4bcb..c4c8203f8b 100644 --- a/src/Bullet.h +++ b/src/Bullet.h @@ -6,7 +6,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * This file Copyright 1997-1999 * Allan Rae @@ -27,20 +27,17 @@ class Bullet { public: /// - Bullet(const int f = -1, const int c = -1, const int s = -1); + Bullet(int f = -1, int c = -1, int s = -1); /// - Bullet(string const &); + explicit Bullet(string const &); /// - ~Bullet(); - - /// - void setCharacter(const int); + void setCharacter(int); /// - void setFont(const int); + void setFont(int); /// - void setSize(const int); + void setSize(int); /// void setText(string const &); /// @@ -54,54 +51,49 @@ public: /// string getText(); /// - char const * c_str(); + char const * c_str() const; /// - Bullet & operator = (const Bullet &); + Bullet & operator = (Bullet const &); /// - friend bool operator == (const Bullet &, const Bullet &); + friend bool operator==(Bullet const &, Bullet const &); /// - friend bool operator != (const Bullet & b1, const Bullet & b2) - { - return !(b1 == b2); - } - - + friend bool operator!=(Bullet const & b1, Bullet const & b2) { + return !(b1 == b2); + } 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 { + 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 + // } + } #endif - private: /** - This enum makes adding additional panels or changing panel sizes - easier. Since you only need change these values for all tests to - be correct for the new values. - - Note: MAX means the size of the array so to test you need: - (x < MAX) *not* (x <= MAX) - */ + This enum makes adding additional panels or changing panel sizes + easier. Since you only need change these values for all tests to + be correct for the new values. + + Note: MAX means the size of the array so to test you need: + (x < MAX) *not* (x <= MAX) + */ enum { /// MIN = -1, @@ -112,14 +104,14 @@ private: /// SIZEMAX = 10 }; - + /// void generateText(); /// - static string const & bulletSize(const short &); + static string bulletSize(short int); /// - static string const & bulletEntry(const short &, const short &); - + static string bulletEntry(short int, short int); + /// short font; /// @@ -129,28 +121,29 @@ private: // size, character and font are array indices to access // the predefined arrays of LaTeX equivalent strings. - + /** flag indicates if user has control of text (1) - or if I can use it to generate strings (0) - or have already (-1) - */ + or if I can use it to generate strings (0) + or have already (-1) + */ short user_text; - + //NOTE: Arranging these four shorts above to be together // like this should ensure they are in a single cache line - + /** text may contain a user-defined LaTeX symbol command - or one generated internally from the font, character - and size settings. - */ + or one generated internally from the font, character + and size settings. + */ string text; }; /*----------------Inline Bullet Member Functions------------------*/ -inline Bullet::Bullet(string const & t) - : font(MIN), character(MIN), size(MIN), user_text(1), text(t) +inline +Bullet::Bullet(string const & t) + : font(MIN), character(MIN), size(MIN), user_text(1), text(t) { #ifdef ENABLE_ASSERTIONS testInvariant(); @@ -158,16 +151,12 @@ inline Bullet::Bullet(string const & t) } -inline Bullet::~Bullet() -{} - - -inline void Bullet::setCharacter(const int c) +inline +void Bullet::setCharacter(int c) { if (c < MIN || c >= CHARMAX) { character = MIN; - } - else { + } else { character = c; } user_text = 0; @@ -177,12 +166,12 @@ inline void Bullet::setCharacter(const int c) } -inline void Bullet::setFont(const int f) +inline +void Bullet::setFont(int f) { if (f < MIN || f >= FONTMAX) { font = MIN; - } - else { + } else { font = f; } user_text = 0; @@ -192,12 +181,12 @@ inline void Bullet::setFont(const int f) } -inline void Bullet::setSize(const int s) +inline +void Bullet::setSize(int s) { if (s < MIN || s >= SIZEMAX) { size = MIN; - } - else { + } else { size = s; } user_text = 0; @@ -207,7 +196,8 @@ inline void Bullet::setSize(const int s) } -inline void Bullet::setText(string const & t) +inline +void Bullet::setText(string const & t) { font = character = size = MIN; user_text = 1; @@ -218,31 +208,36 @@ inline void Bullet::setText(string const & t) } -inline int Bullet::getCharacter() const +inline +int Bullet::getCharacter() const { return character; } -inline int Bullet::getFont() const +inline +int Bullet::getFont() const { return font; } -inline int Bullet::getSize() const +inline +int Bullet::getSize() const { return size; } -inline string Bullet::getText() const +inline +string Bullet::getText() const { return text; } -inline Bullet & Bullet::operator = (const Bullet & b) +inline +Bullet & Bullet::operator=(Bullet const & b) { #ifdef ENABLE_ASSERTIONS b.testInvariant(); @@ -253,13 +248,14 @@ inline Bullet & Bullet::operator = (const Bullet & b) user_text = b.user_text; text = b.text; #ifdef ENABLE_ASSERTIONS - this->testInvariant(); + this->testInvariant(); #endif return *this; } -inline char const * Bullet::c_str() +inline +char const * Bullet::c_str() const { return this->getText().c_str(); } @@ -267,10 +263,7 @@ inline char const * Bullet::c_str() /*-----------------End Bullet Member Functions-----------------*/ -/** The four LaTeX itemize environment default bullets - */ -static Bullet const ITEMIZE_DEFAULTS[4] = { Bullet( 0, 8 ),//"\\(\\bullet\\)" - Bullet( 0, 0 ),//"\\normalfont\\bfseries{--}" - Bullet( 0, 6 ),//"\\(\\ast\\)" - Bullet( 0, 10 ) };//"\\(\\cdot\\)" +extern +Bullet const ITEMIZE_DEFAULTS[]; + #endif /* BULLET_H_ */