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 }