File indexing completed on 2024-05-12 16:41:06

0001 /********************************************************************************************
0002     begin                : Sunday Jun 27 2008
0003     copyright            : (C) 2008 by Mathias Soeken (msoeken@informatik.uni-bremen.de)
0004     copyright            : (C) 2005-2006 by Holger Danielsson (holger.danielsson@t-online.de)
0005  ********************************************************************************************/
0006 
0007 /***************************************************************************
0008  *                                                                         *
0009  *   This program is free software; you can redistribute it and/or modify  *
0010  *   it under the terms of the GNU General Public License as published by  *
0011  *   the Free Software Foundation; either version 2 of the License, or     *
0012  *   (at your option) any later version.                                   *
0013  *                                                                         *
0014  ***************************************************************************/
0015 
0016 #include "multicolumnborderhelper.h"
0017 
0018 namespace KileDialog {
0019 
0020 MultiColumnBorderHelper::MultiColumnBorderHelper()
0021     : m_FirstNumber(-2), m_LastNumber(-2)
0022 {
0023 }
0024 
0025 void MultiColumnBorderHelper::addColumn(int column)
0026 {
0027     if(column == m_LastNumber + 1) { // enlarge range
0028         m_LastNumber = column;
0029     } else {
0030         if(m_LastNumber != -2) {
0031             m_SpanColumns.append(std::make_pair(m_FirstNumber, m_LastNumber));
0032         }
0033         m_FirstNumber = m_LastNumber = column;
0034     }
0035 }
0036 
0037 void MultiColumnBorderHelper::finish()
0038 {
0039     if(m_LastNumber != -2) {
0040         m_SpanColumns.append(std::make_pair(m_FirstNumber, m_LastNumber));
0041     }
0042 }
0043 
0044 QString MultiColumnBorderHelper::toLaTeX() const
0045 {
0046     QString result;
0047     QVector<std::pair<int,int> >::const_iterator it;
0048     for(it = m_SpanColumns.constBegin(); it != m_SpanColumns.constEnd(); ++it) {
0049         result += "\\cline{" + QString::number(it->first + 1) + '-' +
0050                   QString::number(it->second + 1) + '}';
0051     }
0052     return result;
0053 }
0054 
0055 }