#ifndef INSETCHARSTYLE_H
#define INSETCHARSTYLE_H
-
#include "insetcollapsable.h"
#include "lyxtextclass.h"
- struct InsetCharStyleParams {
+namespace lyx {
+
+
+class InsetCharStyleParams {
+public:
///
void write(std::ostream & os) const;
///
LyXFont font;
///
LyXFont labelfont;
+ ///
+ bool show_label;
};
*/
class InsetCharStyle : public InsetCollapsable {
public:
+ /// Construct an undefined character style
+ InsetCharStyle(BufferParams const &, std::string const);
///
-
-
InsetCharStyle(BufferParams const &, CharStyles::iterator);
- /// Copy constructor
- InsetCharStyle(InsetCharStyle const &);
- ///
- virtual std::auto_ptr<InsetBase> clone() const;
+ /// Is this character style defined in the document's textclass?
+ /// May be wrong after textclass change or paste from another document
+ bool undefined() const;
+ /// Set the character style to "undefined"
+ void setUndefined();
+ /// (Re-)set the character style parameters from \p cs
+ void setDefined(CharStyles::iterator cs);
///
- std::string const editMessage() const;
+ virtual docstring const editMessage() const;
///
- InsetOld::Code lyxCode() const { return InsetOld::CHARSTYLE_CODE; }
+ InsetBase::Code lyxCode() const { return InsetBase::CHARSTYLE_CODE; }
///
void write(Buffer const &, std::ostream &) const;
///
void read(Buffer const & buf, LyXLex & lex);
///
- void metrics(MetricsInfo &, Dimension &) const;
+ bool metrics(MetricsInfo &, Dimension &) const;
///
void draw(PainterInfo &, int, int) const;
///
void getDrawFont(LyXFont &) const;
///
- int latex(Buffer const &, std::ostream &,
- OutputParams const &) const;
+ bool forceDefaultParagraphs(idx_type) const { return true; }
///
- int linuxdoc(Buffer const &, std::ostream &,
- OutputParams const &) const;
+ int latex(Buffer const &, odocstream &,
+ OutputParams const &) const;
///
- int docbook(Buffer const &, std::ostream &,
+ int docbook(Buffer const &, odocstream &,
OutputParams const &) const;
///
- int plaintext(Buffer const &, std::ostream &,
+ int plaintext(Buffer const &, odocstream &,
OutputParams const &) const;
+ /// the string that is passed to the TOC
+ virtual int textString(Buffer const &, odocstream &,
+ OutputParams const &) const;
///
void validate(LaTeXFeatures &) const;
///
InsetCharStyleParams const & params() const { return params_; }
+ /// should paragraph indendation be ommitted in any case?
+ bool neverIndent(Buffer const &) const { return true; }
+
protected:
+ InsetCharStyle(InsetCharStyle const &);
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
///
- virtual
- DispatchResult
- priv_dispatch(BufferView & bv, FuncRequest const & cmd);
+ bool getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus &) const;
private:
friend class InsetCharStyleParams;
+ virtual std::auto_ptr<InsetBase> doClone() const;
+
/// used by the constructors
void init();
///
InsetCharStyleParams params_;
- ///
- bool has_label_;
};
+
+} // namespace lyx
+
#endif