Fixed issue #1507: Submodule Diff Dialog should show dirty state only on working...
[TortoiseGit.git] / src / TortoiseMerge / ViewData.cpp
blob41bcd31524dbebc08733ce3f37a93c8675fd19e4
1 // TortoiseMerge - a Diff/Patch program
3 // Copyright (C) 2007 - TortoiseSVN
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #include "StdAfx.h"
20 #include "ViewData.h"
22 CViewData::CViewData(void)
26 CViewData::~CViewData(void)
30 void CViewData::AddData(const CString& sLine, DiffStates state, int linenumber, EOL ending)
32 viewdata data;
33 data.sLine = sLine;
34 data.state = state;
35 data.linenumber = linenumber;
36 data.ending = ending;
37 return AddData(data);
40 void CViewData::AddData(const viewdata& data)
42 return m_data.push_back(data);
45 void CViewData::InsertData(int index, const CString& sLine, DiffStates state, int linenumber, EOL ending)
47 viewdata data;
48 data.sLine = sLine;
49 data.state = state;
50 data.linenumber = linenumber;
51 data.ending = ending;
52 return InsertData(index, data);
55 void CViewData::InsertData(int index, const viewdata& data)
57 m_data.insert(m_data.begin()+index, data);
60 int CViewData::FindLineNumber(int number)
62 for(size_t i = 0; i < m_data.size(); ++i)
63 if (m_data[i].linenumber >= number)
64 return (int)i;
65 return -1;