mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 13:46:43 +00:00
0d43ba149a
For one, it still contains a few things that are already in CVS (the 'brown paperbag' changes). Secondly, this changes the ParagraphList to a std::vector but does not yet take full advantage of it except removing LyXText::parOffset() and similar. I had an extensive talk with my profiler and we are happy nevertheless. This also moves almost all Cut&Paste specific stuff from text.C to CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is now lyx::cap::. Was inconsistent with the rest.... Make ParagraphList a proper class. We'll need this later for a specialized erase/insert. Remove some unneeded prototypes and function declarations Use ParameterStruct directly instead of ShareContainer<ParameterStruct> Inline a few accesses to CursorSlice members as suggested by the profiler. Fix commandline conversion crash reported by Kayvan. Replace PosIterator by DocumentIterator. The latter can also iterate through math and nested text in math... Remove math specific hack from Documentiterator Derive InsetCollapsable from InsetText instead of using an InsetText member. This give us the opportunity to get rid of the InsetOld::owner_ backpointer. Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices off an empty selection anchor). Add a few asserts. Remove all 'manual' update calls. We do now one per user interaction which is completely sufficient. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
120 lines
2.1 KiB
C++
120 lines
2.1 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file ParagraphParameters.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Lars Gullik Bjønnes
|
|
* \author Angus Leeming
|
|
* \author John Levon
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef PARAGRAPHPARAMETERS_H
|
|
#define PARAGRAPHPARAMETERS_H
|
|
|
|
#include "layout.h"
|
|
#include "lyxlength.h"
|
|
#include "Spacing.h"
|
|
|
|
#include "support/types.h"
|
|
|
|
#include <iosfwd>
|
|
#include <string>
|
|
|
|
class BufferView;
|
|
class LyXLength;
|
|
class LyXLex;
|
|
class Paragraph;
|
|
class Spacing;
|
|
|
|
|
|
///
|
|
class ParagraphParameters {
|
|
public:
|
|
///
|
|
ParagraphParameters();
|
|
///
|
|
void clear();
|
|
///
|
|
bool sameLayout(ParagraphParameters const &) const;
|
|
///
|
|
Spacing const & spacing() const;
|
|
///
|
|
void spacing(Spacing const &);
|
|
///
|
|
bool noindent() const;
|
|
///
|
|
void noindent(bool);
|
|
///
|
|
LyXAlignment align() const;
|
|
///
|
|
void align(LyXAlignment);
|
|
///
|
|
typedef lyx::depth_type depth_type;
|
|
///
|
|
depth_type depth() const;
|
|
///
|
|
void depth(depth_type);
|
|
///
|
|
bool startOfAppendix() const;
|
|
///
|
|
void startOfAppendix(bool);
|
|
///
|
|
bool appendix() const;
|
|
///
|
|
void appendix(bool);
|
|
///
|
|
std::string const & labelString() const;
|
|
///
|
|
void labelString(std::string const &);
|
|
///
|
|
std::string const & labelWidthString() const;
|
|
///
|
|
void labelWidthString(std::string const &);
|
|
///
|
|
LyXLength const & leftIndent() const;
|
|
///
|
|
void leftIndent(LyXLength const &);
|
|
|
|
/// read the parameters from a lex
|
|
void read(LyXLex & lex);
|
|
|
|
/// write out the parameters to a stream
|
|
void write(std::ostream & os) const;
|
|
|
|
//friend bool operator==(ParameterStruct const & ps1,
|
|
//ParameterStruct const & ps2);
|
|
|
|
private:
|
|
///
|
|
Spacing spacing_;
|
|
///
|
|
bool noindent_;
|
|
///
|
|
bool start_of_appendix_;
|
|
///
|
|
bool appendix_;
|
|
///
|
|
LyXAlignment align_;
|
|
///
|
|
depth_type depth_;
|
|
///
|
|
std::string labelstring_;
|
|
///
|
|
std::string labelwidthstring_;
|
|
///
|
|
LyXLength leftindent_;
|
|
};
|
|
|
|
|
|
|
|
/** Generate a string \param data from \param par's ParagraphParameters.
|
|
The function also generates some additional info needed by the
|
|
Paragraph dialog.
|
|
*/
|
|
void params2string(Paragraph const & par, std::string & data);
|
|
|
|
#endif
|