blob: bb28ae40ce40df06a825aab34f5e5448ce1f77ee (
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/***************************************************************************
* Copyright (C) 2003-2005 by David Saxton *
* david@bluehaze.org *
* *
* 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 FLOWCODEDOCUMENT_H
#define FLOWCODEDOCUMENT_H
#include "icndocument.h"
#include <qguardedptr.h>
class KTechlab;
class FlowCode;
class MicroInfo;
class PicItem;
class FlowPart;
class MicroSettings;
class TextDocument;
class QString;
typedef QValueList<FlowPart*> FlowPartList;
typedef QMap<QString, int > StringIntMap;
/**
@short View for editing FlowCode
@author David Saxton
*/
class FlowCodeDocument : public ICNDocument
{
Q_OBJECT
public:
FlowCodeDocument( const QString &caption, KTechlab *ktechlab, const char *name = 0L);
~FlowCodeDocument();
virtual View *createView( ViewContainer *viewContainer, uint viewAreaId, const char *name = 0l );
/**
* Returns a pointer used for the MicroSettings in this FlowCode document
*/
MicroSettings *microSettings() const { return m_microSettings; }
/**
* Sets the type of PIC to be used. FlowCodeDocument se
virtual void convertToMicrobe();ts the internal MicroInfo pointer to that
* returned by MicroLibrary for the given id. The pic type must be set before anything useful
* (such as compilage) can be done.
*/
void setPicType( const QString &id );
enum ConvertToTarget
{
MicrobeOutput,
AssemblyOutput,
HexOutput,
PICOutput
};
#define protected public
signals:
void picTypeChanged();
#undef protected
signals:
void pinMappingsChanged();
public slots:
/**
* @param target as ConvertToTarget
*/
void slotConvertTo( int target );
void convertToMicrobe();
void convertToAssembly();
void convertToHex();
void convertToPIC();
/**
* Called when a variable name has changed (from an entry box)
*/
void varNameChanged( const QString &newValue, const QString &oldValue );
protected:
virtual bool isValidItem( Item *item );
virtual bool isValidItem( const QString &itemId );
private slots:
void setLastTextOutputTarget( TextDocument * target );
private:
QGuardedPtr<TextDocument> m_pLastTextOutputTarget;
MicroInfo *m_microInfo; // Stores information about the PIC
MicroSettings *m_microSettings; // Stores initial settings of the PIC
PicItem *m_picItem; // Allows the user to change the PIC settings
StringIntMap m_varNames;
};
#endif
|