mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 18:43:37 +00:00
d5a5fbb8ee
* New TOC "math-macro". This means that math macros can now be accessed in the
outline pane in their order of appearance or in alphabetical order, and can be
searched using the filter.
* Lists of floats now show subfloats deeper in the navigation menu
* The arbitrary 30 element cut-off after which nothing is shown except "Open
Navigator..." is removed. Menus now have no limit in size, so Qt may display
them scrollable. In exchange, we always show "Open outliner..." at the
beginning. I tested for performance issues with a rather complex document and
it is fine; but this does not exclude corner cases with lots of TOC entries of
a certain kind. If necessary, populating the navigation sub-menu should be
delayed like the main menu.
* Elements that do not contribute to the output (e.g. in a note, a disabled
branch) are now preceded with a symbol indicating this status. (The machinery
was already there; I wonder why it was not implemented already.) I have chosen
U+274E NEGATIVE SQUARED CROSS MARK.
* Fix the contextual menus in the outliner (bug introduced at 94e992c5
).
* Toc item now move to the caption when present, but first center on the float,
to prevent the situation where the caption is at the top of the screen and the
contents of the float is off-screen above the caption.
(Internally, the action of the toc items can now be customised)
* Fix the LyXHTML output. Disabled captions no longer appear in the list of
figures.
119 lines
2.7 KiB
C++
119 lines
2.7 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file InsetNote.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Angus Leeming
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef INSET_NOTE_H
|
|
#define INSET_NOTE_H
|
|
|
|
#include "InsetCollapsable.h"
|
|
|
|
|
|
namespace lyx {
|
|
|
|
class InsetNoteParams
|
|
{
|
|
public:
|
|
enum Type {
|
|
Note,
|
|
Comment,
|
|
Greyedout
|
|
};
|
|
/// \c type defaults to Note
|
|
InsetNoteParams();
|
|
///
|
|
void write(std::ostream & os) const;
|
|
///
|
|
void read(Lexer & lex);
|
|
///
|
|
Type type;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// InsetNote
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
/// The PostIt note inset, and other annotations
|
|
class InsetNote : public InsetCollapsable
|
|
{
|
|
public:
|
|
///
|
|
InsetNote(Buffer *, std::string const &);
|
|
///
|
|
~InsetNote();
|
|
///
|
|
static std::string params2string(InsetNoteParams const &);
|
|
///
|
|
static void string2params(std::string const &, InsetNoteParams &);
|
|
///
|
|
InsetNoteParams const & params() const { return params_; }
|
|
private:
|
|
///
|
|
InsetCode lyxCode() const { return NOTE_CODE; }
|
|
///
|
|
docstring layoutName() const;
|
|
///
|
|
DisplayType display() const;
|
|
/** returns false if, when outputing LaTeX, font changes should
|
|
be closed before generating this inset. This is needed for
|
|
insets that may contain several paragraphs */
|
|
bool inheritFont() const { return params_.type == InsetNoteParams::Note; }
|
|
/// Is the content of this inset part of the output document?
|
|
bool producesOutput() const
|
|
{ return params_.type == InsetNoteParams::Greyedout; }
|
|
///
|
|
bool allowSpellCheck() const;
|
|
///
|
|
FontInfo getFont() const;
|
|
///
|
|
void write(std::ostream &) const;
|
|
///
|
|
void read(Lexer & lex);
|
|
/// show the note dialog
|
|
bool showInsetDialog(BufferView * bv) const;
|
|
///
|
|
bool isMacroScope() const;
|
|
///
|
|
void latex(otexstream &, OutputParams const &) const;
|
|
///
|
|
int plaintext(odocstringstream & ods, OutputParams const & op,
|
|
size_t max_length = INT_MAX) const;
|
|
///
|
|
int docbook(odocstream &, OutputParams const &) const;
|
|
///
|
|
docstring xhtml(XHTMLStream &, OutputParams const &) const;
|
|
///
|
|
void validate(LaTeXFeatures &) const;
|
|
///
|
|
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
|
|
///
|
|
void addToToc(DocIterator const & di, bool output_active,
|
|
UpdateType utype) const;
|
|
///
|
|
void doDispatch(Cursor & cur, FuncRequest & cmd);
|
|
///
|
|
Inset * clone() const { return new InsetNote(*this); }
|
|
/// used by the constructors
|
|
void init();
|
|
///
|
|
std::string contextMenuName() const;
|
|
///
|
|
friend class InsetNoteParams;
|
|
|
|
///
|
|
InsetNoteParams params_;
|
|
};
|
|
|
|
} // namespace lyx
|
|
|
|
#endif // INSET_NOTE_H
|