1 #ifndef __LDVIEWERRORS_H__
2 #define __LDVIEWERRORS_H__
3 
4 #include <TCFoundation/TCTypedObjectArray.h>
5 #include <LDLoader/LDLError.h>
6 #include "ui_ErrorPanel.h"
7 
8 class Preferences;
9 
10 typedef TCTypedObjectArray<LDLError> LDLErrorArray;
11 
12 class LDViewErrors : public QMainWindow , Ui::ErrorPanel
13 {
14 	Q_OBJECT
15 public:
16 	LDViewErrors(QWidget *parent,Preferences *preferences);
17 	~LDViewErrors(void);
18 
19 	void clear(void);
20 	void addError(LDLError *error);
21 	int populateListView(void);
22     void reflectSettings(void);
23     void setValues(bool);
24     void doErrorClick(QCheckBox *button, LDLErrorType errorNumber);
25 
26 public slots:
generalError()27 	void generalError() {doErrorClick(generalErrorButton, LDLEGeneral);}
parseError()28 	void parseError()   {doErrorClick(parseErrorButton, LDLEParse);}
fileNotFound()29 	void fileNotFound() {doErrorClick(fileNotFoundButton, LDLEFileNotFound);}
singularMatrix()30 	void singularMatrix(){doErrorClick(singularMatrixButton, LDLEMatrix);}
partDeterminant()31 	void partDeterminant(){doErrorClick(partDeterminantButton, LDLEPartDeterminant);}
concaveQuad()32 	void concaveQuad()  {doErrorClick(concaveQuadButton, LDLEConcaveQuad);}
badVertexOrder()33 	void badVertexOrder(){doErrorClick(badVertexOrderButton, LDLEVertexOrder);}
colinearPoints()34 	void colinearPoints(){doErrorClick(colinearPointsButton, LDLEColinear);}
identicalVertices()35 	void identicalVertices(){doErrorClick(identicalVerticesButton,LDLEMatchingPoints);}
modelLoop()36 	void modelLoop()    {doErrorClick(modelLoopButton, LDLEModelLoop);}
metaCommand()37 	void metaCommand()  {doErrorClick(metaCommandProblemButton, LDLEMetaCommand);}
BFCWarning()38 	void BFCWarning()   {doErrorClick(BFCWarningButton, LDLEBFCWarning);}
BFCError()39 	void BFCError()     {doErrorClick(BFCErrorButton, LDLEBFCError);}
nonFlatQuad()40 	void nonFlatQuad()  {doErrorClick(nonFlatQuadButton, LDLENonFlatQuad);}
MPDError()41 	void MPDError()     {doErrorClick(MPDErrorButton, LDLEMPDError);}
whitespace()42 	void whitespace()   {doErrorClick(whitespaceButton, LDLEWhitespace);}
partrenamed()43 	void partrenamed()  {doErrorClick(partrenamedButton, LDLEMovedTo);}
unofficialpart()44 	void unofficialpart(){doErrorClick(unofficialPartButton, LDLEUnofficialPart);}
45 
46 	void showWarnings(void);
47 	void showAllError(void);
48 	void showNoneError(void);
49 
50 protected:
51 	void clearListView(void);
52 	bool addErrorToListView(LDLError *error);
53 	bool showsErrorType(LDLErrorType errorType);
54 	QTreeWidgetItem *addErrorLine(QTreeWidgetItem *parent, QString line,
55 	LDLError *error, int imageIndex = -1);
56 
57 	Preferences *preferences;
58 	LDLErrorArray *errors;
59 	bool listViewPopulated;
60 	QLabel *messageText;
61 };
62 
63 #endif // __LDVIEWERRORS_H__
64