Commit Graph

24 Commits

Author SHA1 Message Date
Richard Heck
a51525c416 Add empty InsetLayout for undefined cases. Should avoid possible bugs caused by empty layout_ pointer in InsetCollapsable.
NOTE: Some cleanup is needed here, and I'll do it shortly. Doing it properly, though, requires making InsetLayout a proper class. (At the moment, it's just a C-style struct.) That should be committed separately.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23103 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 16:31:59 +00:00
Abdelrazak Younes
8d5bcad767 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23046 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-17 20:17:33 +00:00
Richard Heck
b9670d7209 Fix previous commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22990 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-14 03:49:12 +00:00
Richard Heck
3dc5bc09dd Make sure we write a valid file even if InsetFlex is undefined.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22989 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-14 03:42:54 +00:00
Stefan Schimanski
2f1699747a * Do not keep pointers to data structures around if you don't know
whether the data structure outlives the pointer:

  InsetLayouts are really owned by the corresponding TextClass. So
  keep the TextClass alive by keeping a TextClassPtr around for the
  pointers lifetime. This fixes Bug #4538.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22782 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-05 10:34:01 +00:00
Jean-Marc Lasgouttes
11bea5a763 Use a set<string> instead of a vecctor<string> for list of features. This
allows to simplify the code to some extent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22734 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-01 15:12:04 +00:00
Jürgen Spitzmüller
9e5eebc14c *** Requires tag for classes, layouts and custom insets ***
* src/TextClass{cpp,h}:
	- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
	- implement Requires tag for layouts.
	- increase layouts format to 6.
* src/Paragraph.cpp:
	- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
	- add some packages needed by modules.
	- remove Preamble method for InsetLayout. This is now done
	  in InsetFlex::validate.
* src/BufferParams.cpp (validate):
	- request required features for the class.
* src/insets/InsetLayout.h:
	- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
	- implement validate method and request required features and preamble snippets.

* lib/layouts/*.{layout,module,inc}:
	- increase layouts format to 6.
	- use Requires tags in some modules (more can be done later).

* lib/doc/Customization.lyx:
	- document Requires tag.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 16:59:10 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
Abdelrazak Younes
adfa69440d Get rid of InsetFlexParams
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21432 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 10:14:19 +00:00
Abdelrazak Younes
041313e3b5 remove two FIXME.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21401 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 11:40:41 +00:00
Abdelrazak Younes
dc2a6f95ff Transfer some code from InsetFlex to InsetCollapsable. Add some safeguards and FIXMEs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21400 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 09:03:08 +00:00
Abdelrazak Younes
a3f8b0f171 Fix copy&paste of Insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21397 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 00:56:48 +00:00
Abdelrazak Younes
85f80979fc Further cleanup of InsetFlex, InsetCollapsable and InsetLayout:
- Getting rid of some unneeded init() methods.
- InsetCollapsable::layout_ is now a const pointer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21396 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 00:35:07 +00:00
Martin Vermeer
3d443b4c9d Implement ForceLtR; cleanup of collapsable insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21285 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-30 12:30:46 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
Abdelrazak Younes
eea79637c7 Move Color::color enum to ColorCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21198 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 12:41:02 +00:00
Martin Vermeer
5a2deb94c3 Fix bug, and introduce MultiPar parameter for flex insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20869 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-09 17:07:24 +00:00
Jean-Marc Lasgouttes
1a53e1099a * src/paragraph_funcs.cpp (breakParagraph): change parameter 'flag' to
simpler 'keep_layout'

	* src/Text.cpp (breakParagraph): change parameter keep_layout to 
	inverse_logic.

	* src/Text3.cpp (dispatch): remove LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT;
	implement "inverse" flag to LFUN_BREAK_PARAGRAPH.

	* src/LyXAction.cpp:
	* src/insets/InsetCaption.cpp (doDispatch):
	* src/insets/InsetFlex.cpp (doDispatch):
	* src/insets/InsetTabular.cpp (doDispatch): 
	* src/insets/InsetIndex.cpp (doDispatch):
	* src/lfuns.h: remove all traces of LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT.

	* lib/bind/cua.bind:
	* lib/bind/xemacs.bind: 
	* lib/bind/emacs.bind:
	* lib/bind/mac.bind: adapt bindings.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20846 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-08 13:17:15 +00:00
Abdelrazak Younes
237c132c1e * Inset:
- get rid of the cached Dimension. Text inset dimensions are saved in ParagraphMetrics and mathed maintain their own dimension where needed.
- width(), ascent(), descent(): deleted.
- dimension(): now needs a valid BufferView.
- metrics(): now void.

* BufferView::getCoveringInset(): simplify.

* ParagraphMetrics(): now cache inset dimensions.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20420 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-21 20:39:47 +00:00
Abdelrazak Younes
4c82dd1fc8 Inset coords shall not be recorded in Inset::draw() because this can create problems with inheritance (which often modify the coords but not the Inset pointer itself). Right now there three kind of inset containers: paragraphs, tables and math arrays. The coords caching is fixed in the first two.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20376 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 10:58:38 +00:00
Martin Vermeer
2e5355e4c2 Convert CharStyle to Flex also in file format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20138 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 13:01:29 +00:00
Martin Vermeer
12e1d4bc8d Name change CharStyle -> Flex
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20072 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-05 15:29:04 +00:00