summaryrefslogtreecommitdiffstats
path: root/languages/java/javasupport_events.h
blob: c267b8e596421e8d39e7119eba467348058f5322 (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
/***************************************************************************
 *   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 __javasupport_events_h
#define __javasupport_events_h

#include "driver.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 )
    : QCustomEvent(Event_FileParsed), m_fileName( deepCopy(fileName) )
    {
        // 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()));
            ++it;
        }
    }

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

private:
    QString m_fileName;
    QValueList<Problem> m_problems;

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


#endif // __javasupport_events_h