/************************************************************************ * * HeadingMap.java * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Copyright: 2002-2006 by Henrik Just * * All Rights Reserved. * * Version 0.5 (2006-11-02) * */ package writer2latex.latex.util; /** This class contains data for the mapping of OOo headings to LaTeX headings. A LaTeX heading is characterized by a name and a level. The heading is inserted with \name{...} or \name[...]{...} The headings are supposed to be "normal" LaTeX headings, ie. the names are also counter names, and the headings can be reformatted using \@startsection etc. Otherwise max-level should be zero. */ public class HeadingMap { private int nMaxLevel; private String[] sName; private int[] nLevel; /** Constructor: Create a new HeadingMap @param nMaxLevel the maximal level of headings that are mapped */ public HeadingMap(int nMaxLevel) { reset(nMaxLevel); } /** Clear all data associated with this HeadingMap (in order to reuse it) */ public void reset(int nMaxLevel) { this.nMaxLevel = nMaxLevel; sName = new String[nMaxLevel+1]; nLevel = new int[nMaxLevel+1]; } /** Set data associated with a specific heading level */ public void setLevelData(int nWriterLevel, String sName, int nLevel) { this.sName[nWriterLevel] = sName; this.nLevel[nWriterLevel] = nLevel; } /** Returns the maximal Writer level associated with this HeadingMap */ public int getMaxLevel() { return nMaxLevel; } /** Return the name (for counter and \@startsection) for this level */ public String getName(int nWriterLevel) { return sName[nWriterLevel]; } /** Return the LaTeX level for this Writer level (for \@startsection) */ public int getLevel(int nWriterLevel) { return nLevel[nWriterLevel]; } }