Logo Search packages:      
Sourcecode: codeblocks version File versions  Download package

compilererrors.h

/*
 * This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
 * http://www.gnu.org/licenses/gpl-3.0.html
 */

#ifndef COMPILERERRORS_H
#define COMPILERERRORS_H

#include <wx/arrstr.h>
#include <wx/dynarray.h>
#include <wx/string.h>
#include "compiler.h" // CompilerLineType

class cbProject;

struct CompileError
{
    CompilerLineType lineType;
    cbProject* project;
      wxString filename;
      long int line;
      wxArrayString errors;
};
WX_DECLARE_OBJARRAY(CompileError, ErrorsArray);

class CompilerErrors
{
      public:
            CompilerErrors();
            virtual ~CompilerErrors();

            void AddError(CompilerLineType lt, cbProject* project, const wxString& filename, long int line, const wxString& error);

        void GotoError(int nr);
            void Next();
            void Previous();
            void Clear();
            bool HasNextError() const;
            bool HasPreviousError() const;
            int GetCount() const { return m_Errors.GetCount(); }
            wxString GetErrorString(int index);

            unsigned int GetCount(CompilerLineType lt) const;

        int GetFirstError() const;
        int GetFocusedError() const { return m_ErrorIndex; }
      private:
            void DoAddError(const CompileError& error);
            void DoGotoError(const CompileError& error);
            void DoClearErrorMarkFromAllEditors();
            int ErrorLineHasMore(const wxString& filename, long int line) const; // returns the index in the array
            ErrorsArray m_Errors;
            int m_ErrorIndex;
};

#endif // COMPILERERRORS_H


Generated by  Doxygen 1.6.0   Back to index