summaryrefslogtreecommitdiffstats
path: root/languages/cpp/cppsupport_events.h
blob: 0c266726f0132fb03121cee53e684afb48c23406 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/***************************************************************************
*   Copyright (C) 2003 by Roberto Raggi                                   *
*   [email protected]                                                  *
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
***************************************************************************/

#ifndef __cppsupport_events_h
#define __cppsupport_events_h

#include "kdevdeepcopy.h"

#include <qevent.h>
#include <qvaluelist.h>

#if QT_VERSION < 0x030100
#include <kdevmutex.h>
#else
#include <qmutex.h>
#endif

enum
{
    Event_FileParsed = QEvent::User + 1000
};


class FileParsedEvent: public QCustomEvent
{
public:
	FileParsedEvent( const QString& fileName, const QValueList<Problem>& problems, bool fromDisk = false )
		: QCustomEvent( Event_FileParsed ), m_fileName( deepCopy( fileName ) ), m_fromDisk( fromDisk )
	{
		// the members are deep copies
		QValueListConstIterator<Problem> it = problems.begin();
		while ( it != problems.end() )
		{
			Problem p = *it;
			m_problems.append( Problem( deepCopy( p.text() ), p.line(), p.column(), p.level() ) );
  		    m_problems.back().setFileName( deepCopy( p.fileName() ) );
			++it;
		}
	}

	QString fileName() const
	{
		return m_fileName;
	}
	QValueList<Problem> problems() const
	{
		return m_problems;
	}

	bool fromDisk() {
		return m_fromDisk;
	}

private:
	QString m_fileName;
	QValueList<Problem> m_problems;
	bool m_fromDisk;

private:
	FileParsedEvent( const FileParsedEvent& source );
	void operator = ( const FileParsedEvent& source );
};


#endif // __cppsupport_events_h 
// kate: indent-mode csands; tab-width 4;