#ifndef INSETCHARSTYLE_H
#define INSETCHARSTYLE_H
-
#include "insetcollapsable.h"
#include "lyxtextclass.h"
- struct InsetCharStyleParams {
+class InsetCharStyleParams {
+public:
///
void write(std::ostream & os) const;
///
*/
class InsetCharStyle : public InsetCollapsable {
public:
+ /// Construct an undefined character style
+ InsetCharStyle::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;
///
- 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 setButtonLabel();
- ///
void metrics(MetricsInfo &, Dimension &) const;
///
+ void draw(PainterInfo &, int, int) const;
+ ///
void getDrawFont(LyXFont &) const;
///
int latex(Buffer const &, std::ostream &,
///
int plaintext(Buffer const &, std::ostream &,
OutputParams const &) const;
+ /// the string that is passed to the TOC
+ virtual int textString(Buffer const &, std::ostream & os,
+ OutputParams const &) const;
///
void validate(LaTeXFeatures &) const;
///
InsetCharStyleParams const & params() const { return params_; }
+ /// should paragraph indendation be ommitted in any case?
+ bool neverIndent() const { return true; }
+
protected:
+ InsetCharStyle(InsetCharStyle const &);
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
///
- virtual
- DispatchResult
- priv_dispatch(FuncRequest const &, idx_type &, pos_type &);
+ 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_;
};
#endif