/// <summary> /// Controls the count of linebreaks before an item /// These linebreaks are permananet and cannot be deleted by clean-up operations /// It is allowed that i_Item may be null ! /// </summary> public static void SetLinebreakBefore(ParseItem i_Item, int s32_Count) { if (i_Item == null || i_Item.Prev == null) // Don't insert linebreaks before the first item return; if (!i_Item.mi_Parser.mb_ModifyLineBR) return; // Assure at least s32_Count Linebreaks which are permanent for (int i=0; i<s32_Count; i++) { if (getType(i_Item.Prev) != eType.LineBreak) i_Item.InsertBefore(new ParseItem(i_Item.mi_Parser, "\n")); i_Item = i_Item.Prev; i_Item.Permanent = true; } }