1 // -*- C++ -*- 2 /** 3 * \file Layout.h 4 * This file is part of LyX, the document processor. 5 * Licence details can be found in the file COPYING. 6 * 7 * \author Lars Gullik Bjønnes 8 * \author Jean-Marc Lasgouttes 9 * \author André Pönitz 10 * 11 * Full author contact details are available in file CREDITS. 12 */ 13 14 #ifndef LAYOUTENUMS_H 15 #define LAYOUTENUMS_H 16 17 // Do not include anything here 18 19 namespace lyx { 20 21 /// The different output types 22 enum OutputType { 23 /// 24 LATEX = 1, 25 /// 26 DOCBOOK, 27 /// 28 LITERATE 29 }; 30 31 32 /// The different margin types 33 enum MarginType { 34 /// 35 MARGIN_MANUAL = 1, 36 /// 37 MARGIN_FIRST_DYNAMIC, 38 /// 39 MARGIN_DYNAMIC, 40 /// 41 MARGIN_STATIC, 42 /// 43 MARGIN_RIGHT_ADDRESS_BOX 44 }; 45 46 47 /// 48 enum LyXAlignment { 49 /// 50 LYX_ALIGN_NONE = 0, 51 /// 52 LYX_ALIGN_BLOCK = 1, 53 /// 54 LYX_ALIGN_LEFT = 2, 55 /// 56 LYX_ALIGN_RIGHT = 4, 57 /// 58 LYX_ALIGN_CENTER = 8, 59 /// 60 LYX_ALIGN_LAYOUT = 16, 61 /// 62 LYX_ALIGN_SPECIAL = 32, 63 /// 64 LYX_ALIGN_DECIMAL = 64 65 }; 66 67 68 /// Paragraph indendation control 69 enum ToggleIndentation { 70 /// Indentation can be toggled if document uses "indent" paragraph style 71 ITOGGLE_DOCUMENT_DEFAULT = 1, 72 /// Indentation cannot be toggled 73 ITOGGLE_NEVER, 74 /// Indentation can always be toggled 75 ITOGGLE_ALWAYS 76 }; 77 78 /// 79 inline void operator|=(LyXAlignment & la1, LyXAlignment la2) 80 { 81 la1 = static_cast<LyXAlignment>(la1 | la2); 82 } 83 84 85 /// 86 inline LyXAlignment operator|(LyXAlignment la1, LyXAlignment la2) 87 { 88 return static_cast<LyXAlignment>(int(la1) | int(la2)); 89 } 90 91 92 /// The different LaTeX-Types 93 enum LatexType { 94 /// 95 LATEX_PARAGRAPH = 1, 96 /// 97 LATEX_COMMAND, 98 /// 99 LATEX_ENVIRONMENT, 100 /// 101 LATEX_ITEM_ENVIRONMENT, 102 /// 103 LATEX_BIB_ENVIRONMENT, 104 /// 105 LATEX_LIST_ENVIRONMENT 106 }; 107 108 109 /// The different title types 110 enum TitleLatexType { 111 /// 112 TITLE_COMMAND_AFTER = 1, 113 /// 114 TITLE_ENVIRONMENT 115 }; 116 117 118 /// The different label types 119 enum LabelType { 120 /// 121 LABEL_NO_LABEL, 122 /// 123 LABEL_MANUAL, 124 /// 125 LABEL_BIBLIO, 126 /// 127 LABEL_ABOVE, 128 /// 129 LABEL_CENTERED, 130 /// 131 LABEL_STATIC, 132 /// 133 LABEL_SENSITIVE, 134 /// 135 LABEL_ENUMERATE, 136 /// 137 LABEL_ITEMIZE 138 }; 139 140 141 /// 142 enum EndLabelType { 143 /// 144 END_LABEL_NO_LABEL, 145 /// 146 END_LABEL_BOX, 147 /// 148 END_LABEL_FILLED_BOX, 149 /// 150 END_LABEL_STATIC 151 }; 152 153 /// 154 enum ArgPassThru { 155 /// 156 PT_INHERITED, 157 /// 158 PT_FALSE, 159 /// 160 PT_TRUE 161 }; 162 163 } // namespace lyx 164 165 #endif 166