mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 14:32:04 +00:00
500a5f959f
* buffer.C: increase LyX format to 257. * lyxtextclass.C: increase FORMAT format to 3. * buffer_funcs.C: - setCaptionLabels(): new recursive function - setCaptions(): new function - updateLabels(): call setCaptions() for each paragraph. * InsetCaption: - add a virtual destructor - overload InsetText' getStatus() and wide(). - setLabel(): only set the new private member label_. - metrics(): don't set label here and correct for title metrics. - draw(): don't set label here - latex(): fix optional argument. - plaintext(): implement! * InsetText: - add a virtual destructor - add virtual to getStatus() and wide(). * output_latex.[Ch]: move latexOptArgInsets() out of anon namespace. * text3.C: enable LFUN_CAPTION_INSERT git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16948 a592a061-630c-0410-9148-cb99ea01b6c8
105 lines
2.1 KiB
C++
105 lines
2.1 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file insetcaption.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Lars Gullik Bjønnes
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef INSETCAPTION_H
|
|
#define INSETCAPTION_H
|
|
|
|
#include "insettext.h"
|
|
#include "lyxtextclass.h"
|
|
|
|
|
|
namespace lyx {
|
|
|
|
/** A caption inset
|
|
*/
|
|
class InsetCaption : public InsetText {
|
|
public:
|
|
///
|
|
InsetCaption(BufferParams const &);
|
|
///
|
|
virtual ~InsetCaption() {}
|
|
///
|
|
void write(Buffer const & buf, std::ostream & os) const;
|
|
///
|
|
void read(Buffer const & buf, LyXLex & lex);
|
|
///
|
|
virtual bool display() const;
|
|
///
|
|
virtual bool neverIndent(Buffer const &) const { return true; }
|
|
///
|
|
virtual InsetBase::Code lyxCode() const;
|
|
///
|
|
virtual docstring const editMessage() const;
|
|
///
|
|
virtual void cursorPos(BufferView const & bv,
|
|
CursorSlice const & sl, bool boundary, int & x, int & y) const;
|
|
///
|
|
bool descendable() const { return true; }
|
|
///
|
|
virtual bool metrics(MetricsInfo & mi, Dimension & dim) const;
|
|
///
|
|
virtual void draw(PainterInfo & pi, int x, int y) const;
|
|
///
|
|
virtual void edit(LCursor & cur, bool left);
|
|
///
|
|
virtual InsetBase * editXY(LCursor & cur, int x, int y);
|
|
///
|
|
virtual bool getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus &) const;
|
|
///
|
|
virtual bool wide() const { return false; }
|
|
///
|
|
virtual int latex(Buffer const & buf, odocstream & os,
|
|
OutputParams const &) const;
|
|
///
|
|
int plaintext(Buffer const & buf, odocstream & os,
|
|
OutputParams const & runparams) const;
|
|
///
|
|
int docbook(Buffer const & buf, odocstream & os,
|
|
OutputParams const & runparams) const;
|
|
///
|
|
void setCount(int c) { counter_ = c; }
|
|
///
|
|
void setLabel(docstring const & label);
|
|
|
|
private:
|
|
///
|
|
virtual std::auto_ptr<InsetBase> doClone() const;
|
|
///
|
|
mutable docstring full_label_;
|
|
///
|
|
mutable int labelwidth_;
|
|
///
|
|
docstring label_;
|
|
///
|
|
int counter_;
|
|
///
|
|
LyXTextClass const & textclass_;
|
|
};
|
|
|
|
|
|
inline
|
|
bool InsetCaption::display() const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
|
|
inline
|
|
InsetBase::Code InsetCaption::lyxCode() const
|
|
{
|
|
return CAPTION_CODE;
|
|
}
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
#endif
|