@@ -0,0 +1,62 | |||||
|
1 | #include "genericbinaryfilewidget.h" | |||
|
2 | #include "ui_genericbinaryfilewidget.h" | |||
|
3 | #include <QFileDialog> | |||
|
4 | #include <QFile> | |||
|
5 | #include "srec/srecfile.h" | |||
|
6 | ||||
|
7 | genericBinaryFileWidget::genericBinaryFileWidget(QWidget *parent) : | |||
|
8 | QWidget(parent), | |||
|
9 | ui(new Ui::genericBinaryFileWidget) | |||
|
10 | { | |||
|
11 | ui->setupUi(this); | |||
|
12 | } | |||
|
13 | ||||
|
14 | genericBinaryFileWidget::~genericBinaryFileWidget() | |||
|
15 | { | |||
|
16 | delete ui; | |||
|
17 | } | |||
|
18 | ||||
|
19 | void genericBinaryFileWidget::openFile() | |||
|
20 | { | |||
|
21 | QStringList filesNames = QFileDialog::getOpenFileNames( | |||
|
22 | this, | |||
|
23 | "Select one or more files to open", | |||
|
24 | NULL, | |||
|
25 | "Binary Files (*.bin);;SREC Files (*.srec);;Elf Files (*)"); | |||
|
26 | ||||
|
27 | for(int i=0;i<filesNames.count();i++) | |||
|
28 | { | |||
|
29 | QFile file(filesNames.at(i)); | |||
|
30 | if(file.open(QIODevice::ReadOnly)) | |||
|
31 | { | |||
|
32 | char magic[4]; | |||
|
33 | file.read(magic,4); | |||
|
34 | QString line; | |||
|
35 | switch((int)magic[0]) | |||
|
36 | { | |||
|
37 | case 'e': | |||
|
38 | if((magic[1]=='l') && (magic[2]=='f')) | |||
|
39 | { | |||
|
40 | files.append(new FileListElement(filesNames.at(i),false,Type_Elf,NULL)); | |||
|
41 | } | |||
|
42 | break; | |||
|
43 | case 'S': | |||
|
44 | file.seek(0); | |||
|
45 | line = file.readLine(); | |||
|
46 | if(srecFile::checkSum(line)) | |||
|
47 | { | |||
|
48 | files.append(new FileListElement(filesNames.at(i),false,Type_SREC,NULL)); | |||
|
49 | } | |||
|
50 | break; | |||
|
51 | default: | |||
|
52 | files.append(new FileListElement(filesNames.at(i),false,Type_Bin,NULL)); | |||
|
53 | break; | |||
|
54 | } | |||
|
55 | } | |||
|
56 | } | |||
|
57 | ||||
|
58 | } | |||
|
59 | ||||
|
60 | ||||
|
61 | ||||
|
62 |
@@ -0,0 +1,42 | |||||
|
1 | #ifndef GENERICBINARYFILEWIDGET_H | |||
|
2 | #define GENERICBINARYFILEWIDGET_H | |||
|
3 | ||||
|
4 | #include <QWidget> | |||
|
5 | #include <QString> | |||
|
6 | #include <QStringList> | |||
|
7 | #include <abstractbinfile.h> | |||
|
8 | ||||
|
9 | namespace Ui { | |||
|
10 | class genericBinaryFileWidget; | |||
|
11 | } | |||
|
12 | ||||
|
13 | typedef enum {Type_SREC,Type_Bin,Type_Elf}FileTypeEnum; | |||
|
14 | class FileListElement | |||
|
15 | { | |||
|
16 | public: | |||
|
17 | FileListElement() {} | |||
|
18 | FileListElement(QString fileName,bool isOpened,FileTypeEnum FileType,abstractBinFileWidget* viewer) | |||
|
19 | :fileName(fileName),isOpened(isOpened),FileType(FileType),viewer(viewer){} | |||
|
20 | QString fileName; | |||
|
21 | bool isOpened; | |||
|
22 | FileTypeEnum FileType; | |||
|
23 | abstractBinFileWidget* viewer; | |||
|
24 | }; | |||
|
25 | ||||
|
26 | class genericBinaryFileWidget : public QWidget | |||
|
27 | { | |||
|
28 | Q_OBJECT | |||
|
29 | ||||
|
30 | public: | |||
|
31 | explicit genericBinaryFileWidget(QWidget *parent = 0); | |||
|
32 | ~genericBinaryFileWidget(); | |||
|
33 | ||||
|
34 | public slots: | |||
|
35 | void openFile(); | |||
|
36 | ||||
|
37 | private: | |||
|
38 | Ui::genericBinaryFileWidget *ui; | |||
|
39 | QList<FileListElement*> files; | |||
|
40 | }; | |||
|
41 | ||||
|
42 | #endif // GENERICBINARYFILEWIDGET_H |
@@ -0,0 +1,103 | |||||
|
1 | <?xml version="1.0" encoding="UTF-8"?> | |||
|
2 | <ui version="4.0"> | |||
|
3 | <class>genericBinaryFileWidget</class> | |||
|
4 | <widget class="QWidget" name="genericBinaryFileWidget"> | |||
|
5 | <property name="geometry"> | |||
|
6 | <rect> | |||
|
7 | <x>0</x> | |||
|
8 | <y>0</y> | |||
|
9 | <width>878</width> | |||
|
10 | <height>360</height> | |||
|
11 | </rect> | |||
|
12 | </property> | |||
|
13 | <property name="acceptDrops"> | |||
|
14 | <bool>false</bool> | |||
|
15 | </property> | |||
|
16 | <property name="windowTitle"> | |||
|
17 | <string>Form</string> | |||
|
18 | </property> | |||
|
19 | <layout class="QGridLayout" name="gridLayout_2"> | |||
|
20 | <item row="0" column="0"> | |||
|
21 | <widget class="QSplitter" name="splitter"> | |||
|
22 | <property name="orientation"> | |||
|
23 | <enum>Qt::Horizontal</enum> | |||
|
24 | </property> | |||
|
25 | <widget class="QWidget" name="widget" native="true"> | |||
|
26 | <layout class="QGridLayout" name="gridLayout"> | |||
|
27 | <item row="1" column="0"> | |||
|
28 | <widget class="QPushButton" name="openFileQpb"> | |||
|
29 | <property name="text"> | |||
|
30 | <string/> | |||
|
31 | </property> | |||
|
32 | <property name="icon"> | |||
|
33 | <iconset resource="../SocExplorerCommon.qrc"> | |||
|
34 | <normaloff>:/images/add.svg</normaloff>:/images/add.svg</iconset> | |||
|
35 | </property> | |||
|
36 | <property name="iconSize"> | |||
|
37 | <size> | |||
|
38 | <width>32</width> | |||
|
39 | <height>32</height> | |||
|
40 | </size> | |||
|
41 | </property> | |||
|
42 | </widget> | |||
|
43 | </item> | |||
|
44 | <item row="1" column="1"> | |||
|
45 | <widget class="QPushButton" name="removeFileQpb"> | |||
|
46 | <property name="text"> | |||
|
47 | <string/> | |||
|
48 | </property> | |||
|
49 | <property name="icon"> | |||
|
50 | <iconset resource="../SocExplorerCommon.qrc"> | |||
|
51 | <normaloff>:/images/trash.svg</normaloff>:/images/trash.svg</iconset> | |||
|
52 | </property> | |||
|
53 | <property name="iconSize"> | |||
|
54 | <size> | |||
|
55 | <width>32</width> | |||
|
56 | <height>32</height> | |||
|
57 | </size> | |||
|
58 | </property> | |||
|
59 | </widget> | |||
|
60 | </item> | |||
|
61 | <item row="1" column="2"> | |||
|
62 | <spacer name="horizontalSpacer"> | |||
|
63 | <property name="orientation"> | |||
|
64 | <enum>Qt::Horizontal</enum> | |||
|
65 | </property> | |||
|
66 | <property name="sizeHint" stdset="0"> | |||
|
67 | <size> | |||
|
68 | <width>40</width> | |||
|
69 | <height>20</height> | |||
|
70 | </size> | |||
|
71 | </property> | |||
|
72 | </spacer> | |||
|
73 | </item> | |||
|
74 | <item row="0" column="0" colspan="3"> | |||
|
75 | <widget class="QTableWidget" name="tableWidget"> | |||
|
76 | <column> | |||
|
77 | <property name="text"> | |||
|
78 | <string>File</string> | |||
|
79 | </property> | |||
|
80 | </column> | |||
|
81 | <column> | |||
|
82 | <property name="text"> | |||
|
83 | <string>Type</string> | |||
|
84 | </property> | |||
|
85 | </column> | |||
|
86 | </widget> | |||
|
87 | </item> | |||
|
88 | </layout> | |||
|
89 | </widget> | |||
|
90 | <widget class="QTabWidget" name="fileViewerTab"> | |||
|
91 | <property name="currentIndex"> | |||
|
92 | <number>-1</number> | |||
|
93 | </property> | |||
|
94 | </widget> | |||
|
95 | </widget> | |||
|
96 | </item> | |||
|
97 | </layout> | |||
|
98 | </widget> | |||
|
99 | <resources> | |||
|
100 | <include location="../SocExplorerCommon.qrc"/> | |||
|
101 | </resources> | |||
|
102 | <connections/> | |||
|
103 | </ui> |
@@ -5,13 +5,13 | |||||
5 | #include "qhexedit/qhexedit.h" |
|
5 | #include "qhexedit/qhexedit.h" | |
6 | #include "SocExplorerPlot.h" |
|
6 | #include "SocExplorerPlot.h" | |
7 | #include "tcp_terminal_client.h" |
|
7 | #include "tcp_terminal_client.h" | |
8 | #include "elf/elfparser.h" |
|
|||
9 | #include "abstractbinfile.h" |
|
|||
10 | #include "elf/elffile.h" |
|
|||
11 | #include "elf/elffilewidget.h" |
|
|||
12 | #include "elf/elfinfowdgt.h" |
|
|||
13 | #include "QCustomPlot/qcustomplot.h" |
|
8 | #include "QCustomPlot/qcustomplot.h" | |
14 | #include "srec/srecfile.h" |
|
9 | #include "genericBinaryFiles/abstractbinfile.h" | |
15 | #include "srec/srecfilewidget.h" |
|
10 | #include "genericBinaryFiles/elf/elfparser.h" | |
16 |
#include " |
|
11 | #include "genericBinaryFiles/elf/elffile.h" | |
17 |
#include " |
|
12 | #include "genericBinaryFiles/elf/elffilewidget.h" | |
|
13 | #include "genericBinaryFiles/elf/elfinfowdgt.h" | |||
|
14 | #include "genericBinaryFiles/srec/srecfile.h" | |||
|
15 | #include "genericBinaryFiles/srec/srecfilewidget.h" | |||
|
16 | #include "genericBinaryFiles/BinFile/binaryfile.h" | |||
|
17 | #include "genericBinaryFiles/BinFile/binaryfilewidget.h" |
@@ -96,7 +96,8 HEADERS += \ | |||||
96 | genericBinaryFiles/srec/srecfilewidget.h \ |
|
96 | genericBinaryFiles/srec/srecfilewidget.h \ | |
97 | genericBinaryFiles/abstractbinfile.h \ |
|
97 | genericBinaryFiles/abstractbinfile.h \ | |
98 | genericBinaryFiles/BinFile/binaryfile.h \ |
|
98 | genericBinaryFiles/BinFile/binaryfile.h \ | |
99 | genericBinaryFiles/BinFile/binaryfilewidget.h |
|
99 | genericBinaryFiles/BinFile/binaryfilewidget.h \ | |
|
100 | genericBinaryFiles/genericbinaryfilewidget.h | |||
100 |
|
101 | |||
101 |
|
102 | |||
102 | SOURCES += \ |
|
103 | SOURCES += \ | |
@@ -120,12 +121,14 SOURCES += \ | |||||
120 | genericBinaryFiles/srec/srecfilewidget.cpp \ |
|
121 | genericBinaryFiles/srec/srecfilewidget.cpp \ | |
121 | genericBinaryFiles/abstractbinfile.cpp \ |
|
122 | genericBinaryFiles/abstractbinfile.cpp \ | |
122 | genericBinaryFiles/BinFile/binaryfile.cpp \ |
|
123 | genericBinaryFiles/BinFile/binaryfile.cpp \ | |
123 | genericBinaryFiles/BinFile/binaryfilewidget.cpp |
|
124 | genericBinaryFiles/BinFile/binaryfilewidget.cpp \ | |
|
125 | genericBinaryFiles/genericbinaryfilewidget.cpp | |||
124 |
|
126 | |||
125 | FORMS += \ |
|
127 | FORMS += \ | |
126 | genericBinaryFiles/elf/elffilewidget.ui \ |
|
128 | genericBinaryFiles/elf/elffilewidget.ui \ | |
127 | genericBinaryFiles/srec/srecfilewidget.ui \ |
|
129 | genericBinaryFiles/srec/srecfilewidget.ui \ | |
128 | genericBinaryFiles/BinFile/binaryfilewidget.ui |
|
130 | genericBinaryFiles/BinFile/binaryfilewidget.ui \ | |
|
131 | genericBinaryFiles/genericbinaryfilewidget.ui | |||
129 |
|
132 | |||
130 | OTHER_FILES += \ |
|
133 | OTHER_FILES += \ | |
131 | ./pythongenerator.sh \ |
|
134 | ./pythongenerator.sh \ | |
@@ -133,3 +136,5 OTHER_FILES += \ | |||||
133 |
|
136 | |||
134 |
|
137 | |||
135 |
|
138 | |||
|
139 | ||||
|
140 |
@@ -25,15 +25,18 | |||||
25 |
|
25 | |||
26 | srecFile::srecFile() |
|
26 | srecFile::srecFile() | |
27 | { |
|
27 | { | |
|
28 | p_mergingRecords = true; | |||
28 | } |
|
29 | } | |
29 |
|
30 | |||
30 | srecFile::srecFile(const QString &File) |
|
31 | srecFile::srecFile(const QString &File) | |
31 | { |
|
32 | { | |
|
33 | p_mergingRecords = true; | |||
32 | openFile(File); |
|
34 | openFile(File); | |
33 | } |
|
35 | } | |
34 |
|
36 | |||
35 | srecFile::srecFile(const QStringList &Files) |
|
37 | srecFile::srecFile(const QStringList &Files) | |
36 | { |
|
38 | { | |
|
39 | p_mergingRecords = true; | |||
37 | openFiles(Files); |
|
40 | openFiles(Files); | |
38 | } |
|
41 | } | |
39 |
|
42 | |||
@@ -101,9 +104,9 bool srecFile::toSrec(QList<codeFragment | |||||
101 | for(int i=0;i<fragments.count();i++) |
|
104 | for(int i=0;i<fragments.count();i++) | |
102 | { |
|
105 | { | |
103 | codeFragment *fragment = fragments.at(i); |
|
106 | codeFragment *fragment = fragments.at(i); | |
104 |
for(int j=0;j<((int)(fragment->size));j+ |
|
107 | for(int j=0;j<((int)(fragment->size)/16);j++) | |
105 | { |
|
108 | { | |
106 | stream << buildRecord(3,fragment->address+j,fragment->data+j,16); |
|
109 | stream << buildRecord(3,fragment->address+(j*16),fragment->data+(j*16),16); | |
107 | } |
|
110 | } | |
108 | int rem = fragment->size % 16; |
|
111 | int rem = fragment->size % 16; | |
109 | if(rem) |
|
112 | if(rem) | |
@@ -186,6 +189,16 bool srecFile::getFragmentData(int index | |||||
186 | return false; |
|
189 | return false; | |
187 | } |
|
190 | } | |
188 |
|
191 | |||
|
192 | bool srecFile::mergingRecords() | |||
|
193 | { | |||
|
194 | return p_mergingRecords; | |||
|
195 | } | |||
|
196 | ||||
|
197 | void srecFile::setMergingRecords(bool enabled) | |||
|
198 | { | |||
|
199 | p_mergingRecords = enabled; | |||
|
200 | } | |||
|
201 | ||||
189 | bool srecFile::isSREC() |
|
202 | bool srecFile::isSREC() | |
190 | { |
|
203 | { | |
191 | return p_isSrec & isopened(); |
|
204 | return p_isSrec & isopened(); | |
@@ -205,6 +218,7 bool srecFile::isSREC(const QString &Fil | |||||
205 | return false; |
|
218 | return false; | |
206 | } |
|
219 | } | |
207 |
|
220 | |||
|
221 | ||||
208 | void srecFile::parseFile(QFile *file) |
|
222 | void srecFile::parseFile(QFile *file) | |
209 | { |
|
223 | { | |
210 | if(file->isOpen()) |
|
224 | if(file->isOpen()) | |
@@ -212,6 +226,7 void srecFile::parseFile(QFile *file) | |||||
212 | this->p_lineCount = 0; |
|
226 | this->p_lineCount = 0; | |
213 | file->seek(0); |
|
227 | file->seek(0); | |
214 | codeFragment* fragment=NULL; |
|
228 | codeFragment* fragment=NULL; | |
|
229 | bool newFragment=true; | |||
215 | char* data; |
|
230 | char* data; | |
216 | quint64 size=0; |
|
231 | quint64 size=0; | |
217 | quint64 address=-1; |
|
232 | quint64 address=-1; | |
@@ -233,22 +248,16 void srecFile::parseFile(QFile *file) | |||||
233 | { |
|
248 | { | |
234 | if((rectype>=1) && (rectype<=3)) |
|
249 | if((rectype>=1) && (rectype<=3)) | |
235 | { |
|
250 | { | |
236 |
|
|
251 | if(p_mergingRecords) | |
|
252 | { | |||
237 | //Could I merge it with an other fragment? |
|
253 | //Could I merge it with an other fragment? | |
238 |
|
|
254 | bool merged = false; | |
239 | for(int i=0;i<p_fragments.count();i++) |
|
255 | for(int i=0;i<p_fragments.count();i++) | |
240 | { |
|
256 | { | |
241 | codeFragment* frag = p_fragments.at(i); |
|
257 | codeFragment* frag = p_fragments.at(i); | |
242 | if(((frag->address+frag->size)==address) && (merged==false) && (size!=0)) |
|
258 | if(((frag->address+frag->size)==address) && (merged==false) && (size!=0)) | |
243 | { |
|
259 | { | |
244 |
|
|
260 | merged = mergeFragment(frag,data,size); | |
245 | memcpy(mergedData,frag->data,frag->size); |
|
|||
246 | memcpy(mergedData+frag->size,data,size); |
|
|||
247 | free(frag->data); |
|
|||
248 | free(data); |
|
|||
249 | frag->data = mergedData; |
|
|||
250 | frag->size = frag->size+size; |
|
|||
251 | merged = true; |
|
|||
252 | } |
|
261 | } | |
253 | } |
|
262 | } | |
254 | if(!merged) |
|
263 | if(!merged) | |
@@ -260,12 +269,33 void srecFile::parseFile(QFile *file) | |||||
260 | } |
|
269 | } | |
261 | else |
|
270 | else | |
262 | { |
|
271 | { | |
|
272 | if(newFragment) | |||
|
273 | { | |||
|
274 | fragment = new codeFragment(data,size,address); | |||
|
275 | fragment->header = header; | |||
|
276 | p_fragments.append(fragment); | |||
|
277 | newFragment = false; | |||
|
278 | } | |||
|
279 | else | |||
|
280 | { | |||
|
281 | codeFragment* frag = p_fragments.last(); | |||
|
282 | mergeFragment(frag,data,size); | |||
|
283 | } | |||
|
284 | } | |||
263 |
|
285 | |||
264 | } |
|
286 | } | |
|
287 | else | |||
|
288 | { | |||
|
289 | if((rectype>=7) && (rectype<=9)) | |||
|
290 | { | |||
|
291 | newFragment = true; | |||
|
292 | } | |||
265 | } |
|
293 | } | |
266 | } |
|
294 | } | |
267 | } |
|
295 | } | |
268 | } |
|
296 | } | |
|
297 | } | |||
|
298 | ||||
269 |
|
299 | |||
270 | int srecFile::parseLine(const QString &record, quint64 *address, char **data, quint64 *size) |
|
300 | int srecFile::parseLine(const QString &record, quint64 *address, char **data, quint64 *size) | |
271 | { |
|
301 | { | |
@@ -340,6 +370,7 int srecFile::parseLine(const QString &r | |||||
340 | return recType; |
|
370 | return recType; | |
341 | } |
|
371 | } | |
342 |
|
372 | |||
|
373 | ||||
343 | char srecFile::lineCheckSum(const QString &line) |
|
374 | char srecFile::lineCheckSum(const QString &line) | |
344 | { |
|
375 | { | |
345 | char sum=0; |
|
376 | char sum=0; | |
@@ -363,8 +394,14 bool srecFile::checkSum(const QString &l | |||||
363 | scp.remove('\r'); |
|
394 | scp.remove('\r'); | |
364 | char ck2 = (char)scp.mid(scp.count()-2,2).toInt(0,16); |
|
395 | char ck2 = (char)scp.mid(scp.count()-2,2).toInt(0,16); | |
365 | char ck=lineCheckSum(scp.remove(scp.count()-2,2)); |
|
396 | char ck=lineCheckSum(scp.remove(scp.count()-2,2)); | |
366 |
|
|
397 | if(ck==ck2) | |
|
398 | { | |||
|
399 | return true; | |||
367 | } |
|
400 | } | |
|
401 | return false; | |||
|
402 | // return (ck2==ck); | |||
|
403 | } | |||
|
404 | ||||
368 |
|
405 | |||
369 | QString srecFile::buildRecord(int recType, int address,const char *data, int size) |
|
406 | QString srecFile::buildRecord(int recType, int address,const char *data, int size) | |
370 | { |
|
407 | { | |
@@ -401,3 +438,19 QString srecFile::buildRecord(int recTyp | |||||
401 | return record.toUpper(); |
|
438 | return record.toUpper(); | |
402 | } |
|
439 | } | |
403 |
|
440 | |||
|
441 | bool srecFile::mergeFragment(codeFragment *fragment, char *data, int size) | |||
|
442 | { | |||
|
443 | char* mergedData=(char*)malloc(size+fragment->size); | |||
|
444 | if(mergedData!=NULL) | |||
|
445 | { | |||
|
446 | memcpy(mergedData,fragment->data,fragment->size); | |||
|
447 | memcpy(mergedData+fragment->size,data,size); | |||
|
448 | free(fragment->data); | |||
|
449 | free(data); | |||
|
450 | fragment->data = mergedData; | |||
|
451 | fragment->size = fragment->size+size; | |||
|
452 | return true; | |||
|
453 | } | |||
|
454 | return false; | |||
|
455 | } | |||
|
456 |
@@ -51,8 +51,11 public: | |||||
51 | QString getFragmentHeader(int index); |
|
51 | QString getFragmentHeader(int index); | |
52 | bool getFragmentData(int index, char **buffer); |
|
52 | bool getFragmentData(int index, char **buffer); | |
53 |
|
53 | |||
|
54 | bool mergingRecords(); | |||
|
55 | void setMergingRecords(bool enabled); | |||
54 | bool isSREC(); |
|
56 | bool isSREC(); | |
55 | static bool isSREC(const QString& File); |
|
57 | static bool isSREC(const QString& File); | |
|
58 | static bool checkSum(const QString& line); | |||
56 | signals: |
|
59 | signals: | |
57 |
|
60 | |||
58 | public slots: |
|
61 | public slots: | |
@@ -60,13 +63,14 private: | |||||
60 | void parseFile(QFile* file); |
|
63 | void parseFile(QFile* file); | |
61 | static int parseLine(const QString& record, quint64 *address, char** data, quint64 *size); |
|
64 | static int parseLine(const QString& record, quint64 *address, char** data, quint64 *size); | |
62 | static char lineCheckSum(const QString& line); |
|
65 | static char lineCheckSum(const QString& line); | |
63 | static bool checkSum(const QString& line); |
|
|||
64 | static QString buildRecord(int recType,int address,const char* data,int size); |
|
66 | static QString buildRecord(int recType,int address,const char* data,int size); | |
|
67 | static bool mergeFragment(codeFragment* fragment, char* data, int size); | |||
65 | QStringList p_fileNames; |
|
68 | QStringList p_fileNames; | |
66 | QList<QFile*>p_files; |
|
69 | QList<QFile*>p_files; | |
67 | QList<codeFragment*> p_fragments; |
|
70 | QList<codeFragment*> p_fragments; | |
68 | int p_lineCount; |
|
71 | int p_lineCount; | |
69 | bool p_isSrec; |
|
72 | bool p_isSrec; | |
|
73 | bool p_mergingRecords; | |||
70 |
|
74 | |||
71 | }; |
|
75 | }; | |
72 |
|
76 |
@@ -46,6 +46,12 | |||||
46 | <property name="contextMenuPolicy"> |
|
46 | <property name="contextMenuPolicy"> | |
47 | <enum>Qt::ActionsContextMenu</enum> |
|
47 | <enum>Qt::ActionsContextMenu</enum> | |
48 | </property> |
|
48 | </property> | |
|
49 | <attribute name="horizontalHeaderVisible"> | |||
|
50 | <bool>true</bool> | |||
|
51 | </attribute> | |||
|
52 | <attribute name="verticalHeaderVisible"> | |||
|
53 | <bool>false</bool> | |||
|
54 | </attribute> | |||
49 | <column> |
|
55 | <column> | |
50 | <property name="text"> |
|
56 | <property name="text"> | |
51 | <string>Index</string> |
|
57 | <string>Index</string> |
@@ -7701,6 +7701,11 int PythonQtWrapper_srecFile::lineCount | |||||
7701 | return ( theWrappedObject->lineCount()); |
|
7701 | return ( theWrappedObject->lineCount()); | |
7702 | } |
|
7702 | } | |
7703 |
|
7703 | |||
|
7704 | bool PythonQtWrapper_srecFile::mergingRecords(srecFile* theWrappedObject) | |||
|
7705 | { | |||
|
7706 | return ( theWrappedObject->mergingRecords()); | |||
|
7707 | } | |||
|
7708 | ||||
7704 | bool PythonQtWrapper_srecFile::openFile(srecFile* theWrappedObject, const QString& File) |
|
7709 | bool PythonQtWrapper_srecFile::openFile(srecFile* theWrappedObject, const QString& File) | |
7705 | { |
|
7710 | { | |
7706 | return ( ((PythonQtPublicPromoter_srecFile*)theWrappedObject)->promoted_openFile(File)); |
|
7711 | return ( ((PythonQtPublicPromoter_srecFile*)theWrappedObject)->promoted_openFile(File)); | |
@@ -7711,6 +7716,11 bool PythonQtWrapper_srecFile::openFile | |||||
7711 | return ( theWrappedObject->openFiles(Files)); |
|
7716 | return ( theWrappedObject->openFiles(Files)); | |
7712 | } |
|
7717 | } | |
7713 |
|
7718 | |||
|
7719 | void PythonQtWrapper_srecFile::setMergingRecords(srecFile* theWrappedObject, bool enabled) | |||
|
7720 | { | |||
|
7721 | ( theWrappedObject->setMergingRecords(enabled)); | |||
|
7722 | } | |||
|
7723 | ||||
7714 | bool PythonQtWrapper_srecFile::toBinary(srecFile* theWrappedObject, const QString& File) |
|
7724 | bool PythonQtWrapper_srecFile::toBinary(srecFile* theWrappedObject, const QString& File) | |
7715 | { |
|
7725 | { | |
7716 | return ( ((PythonQtPublicPromoter_srecFile*)theWrappedObject)->promoted_toBinary(File)); |
|
7726 | return ( ((PythonQtPublicPromoter_srecFile*)theWrappedObject)->promoted_toBinary(File)); |
@@ -778,12 +778,12 codeFragment* new_codeFragment(char* da | |||||
778 | void delete_codeFragment(codeFragment* obj) { delete obj; } |
|
778 | void delete_codeFragment(codeFragment* obj) { delete obj; } | |
779 | void py_set_size(codeFragment* theWrappedObject, quint64 size){ theWrappedObject->size = size; } |
|
779 | void py_set_size(codeFragment* theWrappedObject, quint64 size){ theWrappedObject->size = size; } | |
780 | quint64 py_get_size(codeFragment* theWrappedObject){ return theWrappedObject->size; } |
|
780 | quint64 py_get_size(codeFragment* theWrappedObject){ return theWrappedObject->size; } | |
|
781 | void py_set_address(codeFragment* theWrappedObject, quint64 address){ theWrappedObject->address = address; } | |||
|
782 | quint64 py_get_address(codeFragment* theWrappedObject){ return theWrappedObject->address; } | |||
|
783 | void py_set_data(codeFragment* theWrappedObject, char* data){ theWrappedObject->data = data; } | |||
|
784 | char* py_get_data(codeFragment* theWrappedObject){ return theWrappedObject->data; } | |||
781 | void py_set_header(codeFragment* theWrappedObject, QString header){ theWrappedObject->header = header; } |
|
785 | void py_set_header(codeFragment* theWrappedObject, QString header){ theWrappedObject->header = header; } | |
782 | QString py_get_header(codeFragment* theWrappedObject){ return theWrappedObject->header; } |
|
786 | QString py_get_header(codeFragment* theWrappedObject){ return theWrappedObject->header; } | |
783 | void py_set_data(codeFragment* theWrappedObject, char* data){ theWrappedObject->data = data; } |
|
|||
784 | char* py_get_data(codeFragment* theWrappedObject){ return theWrappedObject->data; } |
|
|||
785 | void py_set_address(codeFragment* theWrappedObject, quint64 address){ theWrappedObject->address = address; } |
|
|||
786 | quint64 py_get_address(codeFragment* theWrappedObject){ return theWrappedObject->address; } |
|
|||
787 | }; |
|
787 | }; | |
788 |
|
788 | |||
789 |
|
789 | |||
@@ -976,8 +976,10 void delete_srecFile(srecFile* obj) { de | |||||
976 | bool static_srecFile_isSREC(const QString& File); |
|
976 | bool static_srecFile_isSREC(const QString& File); | |
977 | bool isopened(srecFile* theWrappedObject); |
|
977 | bool isopened(srecFile* theWrappedObject); | |
978 | int lineCount(srecFile* theWrappedObject); |
|
978 | int lineCount(srecFile* theWrappedObject); | |
|
979 | bool mergingRecords(srecFile* theWrappedObject); | |||
979 | bool openFile(srecFile* theWrappedObject, const QString& File); |
|
980 | bool openFile(srecFile* theWrappedObject, const QString& File); | |
980 | bool openFiles(srecFile* theWrappedObject, const QStringList& Files); |
|
981 | bool openFiles(srecFile* theWrappedObject, const QStringList& Files); | |
|
982 | void setMergingRecords(srecFile* theWrappedObject, bool enabled); | |||
981 | bool toBinary(srecFile* theWrappedObject, const QString& File); |
|
983 | bool toBinary(srecFile* theWrappedObject, const QString& File); | |
982 | bool static_srecFile_toSrec(QList<codeFragment* > fragments, const QString& File); |
|
984 | bool static_srecFile_toSrec(QList<codeFragment* > fragments, const QString& File); | |
983 | bool toSrec(srecFile* theWrappedObject, const QString& File); |
|
985 | bool toSrec(srecFile* theWrappedObject, const QString& File); |
@@ -3,4 +3,4 | |||||
3 | #export QTDIR=/usr/include |
|
3 | #export QTDIR=/usr/include | |
4 | #export QTDIR=/usr/include/qt5 |
|
4 | #export QTDIR=/usr/include/qt5 | |
5 |
|
5 | |||
6 | pythonqt_generator --include-paths=./genericBinaryFiles/elf:./genericBinaryFiles/srec:./genericBinaryFiles/BinFile:/usr/include/qt5:/usr/include/qt5/QtCore:/usr/include/qt5/QtWidgets --output-directory=pythonQtOut PySocExplorer.h pythonQtgeneratorCfg.txt |
|
6 | pythonqt_generator --include-paths=./genericBinaryFiles/:./genericBinaryFiles/elf:./genericBinaryFiles/srec:./genericBinaryFiles/BinFile:/usr/include/qt5:/usr/include/qt5/QtCore:/usr/include/qt5/QtWidgets --output-directory=pythonQtOut PySocExplorer.h pythonQtgeneratorCfg.txt |
General Comments 0
You need to be logged in to leave comments.
Login now