hardsploit_gui 2.3 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -22
  3. data/Rakefile +1 -1
  4. data/bin/hardsploit_gui +3 -3
  5. data/lib/Firmwares/FPGA/I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd +0 -0
  6. data/lib/Firmwares/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd +0 -0
  7. data/lib/Firmwares/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd +0 -0
  8. data/lib/Firmwares/FPGA/SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd +0 -0
  9. data/lib/Firmwares/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd +0 -0
  10. data/lib/Firmwares/FPGA/UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd +0 -0
  11. data/lib/Firmwares/FPGA/VersionFPGA.rb +5 -5
  12. data/lib/Firmwares/UC/VersionUC.rb +12 -12
  13. data/lib/HardsploitAPI/Core/HardsploitAPI.rb +210 -210
  14. data/lib/HardsploitAPI/Core/HardsploitAPI_CONSTANT.rb +150 -150
  15. data/lib/HardsploitAPI/Core/HardsploitAPI_ERROR.rb +109 -109
  16. data/lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb +305 -305
  17. data/lib/HardsploitAPI/Core/HardsploitAPI_PROGRESS.rb +28 -28
  18. data/lib/HardsploitAPI/Core/HardsploitAPI_USB_COMMUNICATION.rb +166 -166
  19. data/lib/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C.rb +356 -356
  20. data/lib/HardsploitAPI/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY.rb +206 -206
  21. data/lib/HardsploitAPI/Modules/NRF24L01/HardsploitAPI_NRF24L01.rb +306 -306
  22. data/lib/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb +340 -340
  23. data/lib/HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER.rb +83 -83
  24. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD.rb +367 -367
  25. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_DEBUG.rb +89 -89
  26. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_MEM_AP.rb +61 -61
  27. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_STM32.rb +121 -121
  28. data/lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb +98 -98
  29. data/lib/HardsploitAPI/Modules/UART/HardsploitAPI_UART.rb +196 -196
  30. data/lib/Hardsploit_gui.rb +96 -96
  31. data/lib/LICENSE.txt +674 -674
  32. data/lib/README.md +22 -22
  33. data/lib/TRADEMARK +2 -2
  34. data/lib/class/Chip_editor.rb +304 -304
  35. data/lib/class/Chip_management.rb +496 -496
  36. data/lib/class/Command_editor.rb +216 -216
  37. data/lib/class/Command_table.rb +233 -233
  38. data/lib/class/Console.rb +26 -26
  39. data/lib/class/ErrorMsg.rb +312 -312
  40. data/lib/class/Export.rb +140 -140
  41. data/lib/class/Export_manager.rb +124 -124
  42. data/lib/class/Firmware.rb +70 -70
  43. data/lib/class/Generic_commands.rb +260 -260
  44. data/lib/class/{i2c → I2C}/I2c_command.rb +51 -51
  45. data/lib/class/{i2c → I2C}/I2c_export.rb +95 -95
  46. data/lib/class/{i2c → I2C}/I2c_import.rb +117 -117
  47. data/lib/class/{i2c → I2C}/I2c_scanner.rb +114 -114
  48. data/lib/class/{i2c → I2C}/I2c_settings.rb +148 -148
  49. data/lib/class/Import.rb +193 -193
  50. data/lib/class/{parallel → PARALLEL}/Parallel_export.rb +118 -118
  51. data/lib/class/{parallel → PARALLEL}/Parallel_import.rb +113 -113
  52. data/lib/class/{parallel → PARALLEL}/Parallel_settings.rb +81 -81
  53. data/lib/class/Progress_bar.rb +32 -32
  54. data/lib/class/{spi → SPI}/Spi_export.rb +108 -108
  55. data/lib/class/{spi → SPI}/Spi_import.rb +159 -159
  56. data/lib/class/{spi → SPI}/Spi_settings.rb +108 -108
  57. data/lib/class/{spi → SPI}/Spi_sniffer.rb +101 -101
  58. data/lib/class/Signal_mapper.rb +120 -120
  59. data/lib/class/Wire_helper.rb +230 -230
  60. data/lib/class/swd/Swd.rb +125 -125
  61. data/lib/class/swd/Swd_scanner.rb +121 -121
  62. data/lib/class/swd/Swd_settings.rb +76 -76
  63. data/lib/class/uart/Uart_baudrate.rb +62 -62
  64. data/lib/class/uart/Uart_console.rb +115 -115
  65. data/lib/class/uart/Uart_settings.rb +102 -102
  66. data/lib/db/associations.rb +138 -138
  67. data/lib/db/database.rb +4 -4
  68. data/lib/db/development.sqlite3 +0 -0
  69. data/lib/db/migrate/004_create_manufacturers.rb +13 -13
  70. data/lib/db/migrate/005_create_packages.rb +13 -13
  71. data/lib/db/migrate/006_create_chip_types.rb +11 -11
  72. data/lib/db/migrate/007_create_buses.rb +11 -11
  73. data/lib/db/migrate/008_create_signals.rb +14 -14
  74. data/lib/db/migrate/009_create_chips.rb +25 -25
  75. data/lib/db/migrate/010_create_commands.rb +21 -21
  76. data/lib/db/migrate/011_create_bytes.rb +19 -19
  77. data/lib/db/migrate/012_create_i2c_settings.rb +21 -21
  78. data/lib/db/migrate/013_create_spi_settings.rb +26 -26
  79. data/lib/db/migrate/014_create_parallel_settings.rb +21 -21
  80. data/lib/db/migrate/015_create_pins.rb +19 -19
  81. data/lib/db/migrate/016_create_uses.rb +17 -17
  82. data/lib/db/migrate/017_create_swd_settings.rb +19 -19
  83. data/lib/db/migrate/018_create_uart_settings.rb +22 -22
  84. data/lib/db/schema.rb +157 -157
  85. data/lib/db/seeds.rb +161 -161
  86. data/lib/gui/gui_chip_editor.rb +349 -349
  87. data/lib/gui/gui_chip_management.rb +377 -377
  88. data/lib/gui/gui_command_editor.rb +219 -219
  89. data/lib/gui/gui_export.rb +132 -132
  90. data/lib/gui/gui_export_manager.rb +93 -93
  91. data/lib/gui/gui_generic_commands.rb +202 -202
  92. data/lib/gui/gui_generic_export.rb +164 -164
  93. data/lib/gui/gui_generic_import.rb +142 -142
  94. data/lib/gui/gui_i2c_command.rb +116 -116
  95. data/lib/gui/gui_i2c_settings.rb +230 -230
  96. data/lib/gui/gui_import.rb +131 -131
  97. data/lib/gui/gui_parallel_settings.rb +195 -195
  98. data/lib/gui/gui_progress_bar.rb +85 -85
  99. data/lib/gui/gui_signal_mapper.rb +121 -121
  100. data/lib/gui/gui_signal_scanner.rb +146 -146
  101. data/lib/gui/gui_spi_import.rb +126 -126
  102. data/lib/gui/gui_spi_settings.rb +313 -313
  103. data/lib/gui/gui_spi_sniffer.rb +112 -112
  104. data/lib/gui/gui_swd_settings.rb +166 -166
  105. data/lib/gui/gui_uart_baudrate.rb +114 -114
  106. data/lib/gui/gui_uart_console.rb +164 -164
  107. data/lib/gui/gui_uart_settings.rb +243 -243
  108. data/lib/gui/gui_wire_helper.rb +99 -99
  109. data/lib/gui_designer/gui_chip_editor.ui +549 -549
  110. data/lib/gui_designer/gui_chip_management.ui +886 -886
  111. data/lib/gui_designer/gui_command_editor.ui +350 -350
  112. data/lib/gui_designer/gui_export.ui +171 -171
  113. data/lib/gui_designer/gui_export_manager.ui +115 -115
  114. data/lib/gui_designer/gui_generic_commands.ui +342 -342
  115. data/lib/gui_designer/gui_generic_export.ui +202 -202
  116. data/lib/gui_designer/gui_generic_import.ui +165 -165
  117. data/lib/gui_designer/gui_i2c_command.ui +148 -148
  118. data/lib/gui_designer/gui_i2c_settings.ui +292 -292
  119. data/lib/gui_designer/gui_import.ui +168 -168
  120. data/lib/gui_designer/gui_parallel_settings.ui +247 -247
  121. data/lib/gui_designer/gui_progress_bar.ui +86 -86
  122. data/lib/gui_designer/gui_signal_mapper.ui +179 -179
  123. data/lib/gui_designer/gui_signal_scanner.ui +261 -261
  124. data/lib/gui_designer/gui_spi_settings.ui +446 -446
  125. data/lib/gui_designer/gui_spi_sniffer.ui +156 -156
  126. data/lib/gui_designer/gui_swd_settings.ui +189 -189
  127. data/lib/gui_designer/gui_uart_baudrate.ui +161 -161
  128. data/lib/gui_designer/gui_uart_console.ui +284 -284
  129. data/lib/gui_designer/gui_uart_settings.ui +280 -280
  130. data/lib/gui_designer/gui_wire_helper.ui +117 -117
  131. data/lib/images/search.png +0 -0
  132. data/lib/logs/error.log +0 -63
  133. data/lib/models/bus.rb +19 -19
  134. data/lib/models/byte.rb +29 -29
  135. data/lib/models/chip.rb +41 -41
  136. data/lib/models/chip_type.rb +14 -14
  137. data/lib/models/command.rb +20 -20
  138. data/lib/models/i2c_setting.rb +41 -41
  139. data/lib/models/manufacturer.rb +14 -14
  140. data/lib/models/package.rb +26 -26
  141. data/lib/models/parallel_setting.rb +37 -37
  142. data/lib/models/pin.rb +14 -14
  143. data/lib/models/signall.rb +20 -20
  144. data/lib/models/spi_setting.rb +67 -67
  145. data/lib/models/swd_setting.rb +25 -25
  146. data/lib/models/uart_setting.rb +52 -52
  147. data/lib/models/use.rb +6 -6
  148. data/lib/startHardsploit.rb +10 -10
  149. metadata +14 -14
@@ -1,350 +1,350 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ui version="4.0">
3
- <class>Command_editor</class>
4
- <widget class="QWidget" name="Command_editor">
5
- <property name="windowModality">
6
- <enum>Qt::ApplicationModal</enum>
7
- </property>
8
- <property name="geometry">
9
- <rect>
10
- <x>0</x>
11
- <y>0</y>
12
- <width>540</width>
13
- <height>440</height>
14
- </rect>
15
- </property>
16
- <property name="windowTitle">
17
- <string>Hardsploit - Command editor</string>
18
- </property>
19
- <layout class="QGridLayout" name="gridLayout">
20
- <item row="0" column="0">
21
- <layout class="QVBoxLayout" name="vl">
22
- <item>
23
- <layout class="QVBoxLayout" name="vl2">
24
- <item>
25
- <layout class="QFormLayout" name="fl">
26
- <item row="2" column="0">
27
- <widget class="QLabel" name="lbl_chip">
28
- <property name="text">
29
- <string>Current chip:</string>
30
- </property>
31
- </widget>
32
- </item>
33
- <item row="2" column="1">
34
- <widget class="QLabel" name="lbl_chip_val">
35
- <property name="text">
36
- <string>[CHIP]</string>
37
- </property>
38
- </widget>
39
- </item>
40
- <item row="3" column="0">
41
- <widget class="QLabel" name="lbl_cmd">
42
- <property name="text">
43
- <string>Current command:</string>
44
- </property>
45
- </widget>
46
- </item>
47
- <item row="3" column="1">
48
- <widget class="QLabel" name="lbl_cmd_val">
49
- <property name="text">
50
- <string>[CMD]</string>
51
- </property>
52
- </widget>
53
- </item>
54
- <item row="6" column="0">
55
- <widget class="QLabel" name="lbl_name">
56
- <property name="text">
57
- <string>Name:</string>
58
- </property>
59
- </widget>
60
- </item>
61
- <item row="6" column="1">
62
- <widget class="QLineEdit" name="lie_name">
63
- <property name="maximumSize">
64
- <size>
65
- <width>300</width>
66
- <height>16777215</height>
67
- </size>
68
- </property>
69
- <property name="inputMask">
70
- <string/>
71
- </property>
72
- <property name="maxLength">
73
- <number>25</number>
74
- </property>
75
- </widget>
76
- </item>
77
- <item row="7" column="0">
78
- <widget class="QLabel" name="lbl_description">
79
- <property name="text">
80
- <string>Description:</string>
81
- </property>
82
- </widget>
83
- </item>
84
- <item row="7" column="1">
85
- <widget class="QLineEdit" name="lie_description">
86
- <property name="maximumSize">
87
- <size>
88
- <width>300</width>
89
- <height>16777215</height>
90
- </size>
91
- </property>
92
- <property name="maxLength">
93
- <number>200</number>
94
- </property>
95
- </widget>
96
- </item>
97
- </layout>
98
- </item>
99
- <item>
100
- <layout class="QVBoxLayout" name="vl3">
101
- <item>
102
- <widget class="QLabel" name="label">
103
- <property name="text">
104
- <string>Command bytes array:</string>
105
- </property>
106
- </widget>
107
- </item>
108
- <item>
109
- <widget class="QTableWidget" name="tbl_bytes">
110
- <property name="font">
111
- <font>
112
- <family>Arial</family>
113
- </font>
114
- </property>
115
- <property name="sortingEnabled">
116
- <bool>true</bool>
117
- </property>
118
- <attribute name="horizontalHeaderVisible">
119
- <bool>false</bool>
120
- </attribute>
121
- <attribute name="horizontalHeaderCascadingSectionResizes">
122
- <bool>false</bool>
123
- </attribute>
124
- <attribute name="horizontalHeaderDefaultSectionSize">
125
- <number>110</number>
126
- </attribute>
127
- <attribute name="horizontalHeaderMinimumSectionSize">
128
- <number>36</number>
129
- </attribute>
130
- <attribute name="horizontalHeaderShowSortIndicator" stdset="0">
131
- <bool>true</bool>
132
- </attribute>
133
- <attribute name="horizontalHeaderStretchLastSection">
134
- <bool>true</bool>
135
- </attribute>
136
- <attribute name="verticalHeaderCascadingSectionResizes">
137
- <bool>false</bool>
138
- </attribute>
139
- <attribute name="verticalHeaderDefaultSectionSize">
140
- <number>30</number>
141
- </attribute>
142
- <attribute name="verticalHeaderStretchLastSection">
143
- <bool>true</bool>
144
- </attribute>
145
- </widget>
146
- </item>
147
- <item>
148
- <layout class="QHBoxLayout" name="hl2">
149
- <item>
150
- <widget class="QPushButton" name="btn_clone">
151
- <property name="minimumSize">
152
- <size>
153
- <width>0</width>
154
- <height>0</height>
155
- </size>
156
- </property>
157
- <property name="maximumSize">
158
- <size>
159
- <width>16777215</width>
160
- <height>16777215</height>
161
- </size>
162
- </property>
163
- <property name="text">
164
- <string>Clone</string>
165
- </property>
166
- </widget>
167
- </item>
168
- <item>
169
- <widget class="QPushButton" name="btn_remove">
170
- <property name="maximumSize">
171
- <size>
172
- <width>30</width>
173
- <height>16777215</height>
174
- </size>
175
- </property>
176
- <property name="text">
177
- <string>-</string>
178
- </property>
179
- </widget>
180
- </item>
181
- <item>
182
- <widget class="QPushButton" name="btn_add_row">
183
- <property name="maximumSize">
184
- <size>
185
- <width>30</width>
186
- <height>16777215</height>
187
- </size>
188
- </property>
189
- <property name="text">
190
- <string>+</string>
191
- </property>
192
- </widget>
193
- </item>
194
- <item>
195
- <widget class="QLineEdit" name="lie_text_2_bytes">
196
- <property name="maxLength">
197
- <number>200</number>
198
- </property>
199
- <property name="placeholderText">
200
- <string>Text to command bytes</string>
201
- </property>
202
- </widget>
203
- </item>
204
- <item>
205
- <spacer name="horizontalSpacer">
206
- <property name="orientation">
207
- <enum>Qt::Horizontal</enum>
208
- </property>
209
- <property name="sizeHint" stdset="0">
210
- <size>
211
- <width>40</width>
212
- <height>20</height>
213
- </size>
214
- </property>
215
- </spacer>
216
- </item>
217
- </layout>
218
- </item>
219
- </layout>
220
- </item>
221
- </layout>
222
- </item>
223
- <item>
224
- <layout class="QHBoxLayout" name="hl">
225
- <item>
226
- <spacer name="hs">
227
- <property name="orientation">
228
- <enum>Qt::Horizontal</enum>
229
- </property>
230
- <property name="sizeHint" stdset="0">
231
- <size>
232
- <width>40</width>
233
- <height>20</height>
234
- </size>
235
- </property>
236
- </spacer>
237
- </item>
238
- <item>
239
- <widget class="QPushButton" name="btn_cancel">
240
- <property name="text">
241
- <string>Cancel</string>
242
- </property>
243
- </widget>
244
- </item>
245
- <item>
246
- <widget class="QPushButton" name="btn_validate">
247
- <property name="text">
248
- <string>Add</string>
249
- </property>
250
- </widget>
251
- </item>
252
- </layout>
253
- </item>
254
- </layout>
255
- </item>
256
- </layout>
257
- </widget>
258
- <resources/>
259
- <connections>
260
- <connection>
261
- <sender>btn_cancel</sender>
262
- <signal>clicked()</signal>
263
- <receiver>Command_editor</receiver>
264
- <slot>close()</slot>
265
- <hints>
266
- <hint type="sourcelabel">
267
- <x>439</x>
268
- <y>420</y>
269
- </hint>
270
- <hint type="destinationlabel">
271
- <x>517</x>
272
- <y>287</y>
273
- </hint>
274
- </hints>
275
- </connection>
276
- <connection>
277
- <sender>btn_clone</sender>
278
- <signal>clicked()</signal>
279
- <receiver>Command_editor</receiver>
280
- <slot>clone_row()</slot>
281
- <hints>
282
- <hint type="sourcelabel">
283
- <x>17</x>
284
- <y>384</y>
285
- </hint>
286
- <hint type="destinationlabel">
287
- <x>2</x>
288
- <y>242</y>
289
- </hint>
290
- </hints>
291
- </connection>
292
- <connection>
293
- <sender>btn_remove</sender>
294
- <signal>clicked()</signal>
295
- <receiver>Command_editor</receiver>
296
- <slot>remove_row()</slot>
297
- <hints>
298
- <hint type="sourcelabel">
299
- <x>106</x>
300
- <y>383</y>
301
- </hint>
302
- <hint type="destinationlabel">
303
- <x>3</x>
304
- <y>291</y>
305
- </hint>
306
- </hints>
307
- </connection>
308
- <connection>
309
- <sender>btn_add_row</sender>
310
- <signal>clicked()</signal>
311
- <receiver>Command_editor</receiver>
312
- <slot>add_row()</slot>
313
- <hints>
314
- <hint type="sourcelabel">
315
- <x>140</x>
316
- <y>389</y>
317
- </hint>
318
- <hint type="destinationlabel">
319
- <x>4</x>
320
- <y>202</y>
321
- </hint>
322
- </hints>
323
- </connection>
324
- <connection>
325
- <sender>tbl_bytes</sender>
326
- <signal>itemChanged(QTableWidgetItem*)</signal>
327
- <receiver>Command_editor</receiver>
328
- <slot>check_cell_content(QTableWidgetItem*)</slot>
329
- <hints>
330
- <hint type="sourcelabel">
331
- <x>483</x>
332
- <y>252</y>
333
- </hint>
334
- <hint type="destinationlabel">
335
- <x>519</x>
336
- <y>115</y>
337
- </hint>
338
- </hints>
339
- </connection>
340
- </connections>
341
- <slots>
342
- <slot>add_cmd()</slot>
343
- <slot>edit_cmd()</slot>
344
- <slot>add_row()</slot>
345
- <slot>clone_row()</slot>
346
- <slot>remove_row()</slot>
347
- <slot>check_txe_content()</slot>
348
- <slot>check_cell_content(QTableWidgetItem*)</slot>
349
- </slots>
350
- </ui>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Command_editor</class>
4
+ <widget class="QWidget" name="Command_editor">
5
+ <property name="windowModality">
6
+ <enum>Qt::ApplicationModal</enum>
7
+ </property>
8
+ <property name="geometry">
9
+ <rect>
10
+ <x>0</x>
11
+ <y>0</y>
12
+ <width>540</width>
13
+ <height>440</height>
14
+ </rect>
15
+ </property>
16
+ <property name="windowTitle">
17
+ <string>Hardsploit - Command editor</string>
18
+ </property>
19
+ <layout class="QGridLayout" name="gridLayout">
20
+ <item row="0" column="0">
21
+ <layout class="QVBoxLayout" name="vl">
22
+ <item>
23
+ <layout class="QVBoxLayout" name="vl2">
24
+ <item>
25
+ <layout class="QFormLayout" name="fl">
26
+ <item row="2" column="0">
27
+ <widget class="QLabel" name="lbl_chip">
28
+ <property name="text">
29
+ <string>Current chip:</string>
30
+ </property>
31
+ </widget>
32
+ </item>
33
+ <item row="2" column="1">
34
+ <widget class="QLabel" name="lbl_chip_val">
35
+ <property name="text">
36
+ <string>[CHIP]</string>
37
+ </property>
38
+ </widget>
39
+ </item>
40
+ <item row="3" column="0">
41
+ <widget class="QLabel" name="lbl_cmd">
42
+ <property name="text">
43
+ <string>Current command:</string>
44
+ </property>
45
+ </widget>
46
+ </item>
47
+ <item row="3" column="1">
48
+ <widget class="QLabel" name="lbl_cmd_val">
49
+ <property name="text">
50
+ <string>[CMD]</string>
51
+ </property>
52
+ </widget>
53
+ </item>
54
+ <item row="6" column="0">
55
+ <widget class="QLabel" name="lbl_name">
56
+ <property name="text">
57
+ <string>Name:</string>
58
+ </property>
59
+ </widget>
60
+ </item>
61
+ <item row="6" column="1">
62
+ <widget class="QLineEdit" name="lie_name">
63
+ <property name="maximumSize">
64
+ <size>
65
+ <width>300</width>
66
+ <height>16777215</height>
67
+ </size>
68
+ </property>
69
+ <property name="inputMask">
70
+ <string/>
71
+ </property>
72
+ <property name="maxLength">
73
+ <number>25</number>
74
+ </property>
75
+ </widget>
76
+ </item>
77
+ <item row="7" column="0">
78
+ <widget class="QLabel" name="lbl_description">
79
+ <property name="text">
80
+ <string>Description:</string>
81
+ </property>
82
+ </widget>
83
+ </item>
84
+ <item row="7" column="1">
85
+ <widget class="QLineEdit" name="lie_description">
86
+ <property name="maximumSize">
87
+ <size>
88
+ <width>300</width>
89
+ <height>16777215</height>
90
+ </size>
91
+ </property>
92
+ <property name="maxLength">
93
+ <number>200</number>
94
+ </property>
95
+ </widget>
96
+ </item>
97
+ </layout>
98
+ </item>
99
+ <item>
100
+ <layout class="QVBoxLayout" name="vl3">
101
+ <item>
102
+ <widget class="QLabel" name="label">
103
+ <property name="text">
104
+ <string>Command bytes array:</string>
105
+ </property>
106
+ </widget>
107
+ </item>
108
+ <item>
109
+ <widget class="QTableWidget" name="tbl_bytes">
110
+ <property name="font">
111
+ <font>
112
+ <family>Arial</family>
113
+ </font>
114
+ </property>
115
+ <property name="sortingEnabled">
116
+ <bool>true</bool>
117
+ </property>
118
+ <attribute name="horizontalHeaderVisible">
119
+ <bool>false</bool>
120
+ </attribute>
121
+ <attribute name="horizontalHeaderCascadingSectionResizes">
122
+ <bool>false</bool>
123
+ </attribute>
124
+ <attribute name="horizontalHeaderDefaultSectionSize">
125
+ <number>110</number>
126
+ </attribute>
127
+ <attribute name="horizontalHeaderMinimumSectionSize">
128
+ <number>36</number>
129
+ </attribute>
130
+ <attribute name="horizontalHeaderShowSortIndicator" stdset="0">
131
+ <bool>true</bool>
132
+ </attribute>
133
+ <attribute name="horizontalHeaderStretchLastSection">
134
+ <bool>true</bool>
135
+ </attribute>
136
+ <attribute name="verticalHeaderCascadingSectionResizes">
137
+ <bool>false</bool>
138
+ </attribute>
139
+ <attribute name="verticalHeaderDefaultSectionSize">
140
+ <number>30</number>
141
+ </attribute>
142
+ <attribute name="verticalHeaderStretchLastSection">
143
+ <bool>true</bool>
144
+ </attribute>
145
+ </widget>
146
+ </item>
147
+ <item>
148
+ <layout class="QHBoxLayout" name="hl2">
149
+ <item>
150
+ <widget class="QPushButton" name="btn_clone">
151
+ <property name="minimumSize">
152
+ <size>
153
+ <width>0</width>
154
+ <height>0</height>
155
+ </size>
156
+ </property>
157
+ <property name="maximumSize">
158
+ <size>
159
+ <width>16777215</width>
160
+ <height>16777215</height>
161
+ </size>
162
+ </property>
163
+ <property name="text">
164
+ <string>Clone</string>
165
+ </property>
166
+ </widget>
167
+ </item>
168
+ <item>
169
+ <widget class="QPushButton" name="btn_remove">
170
+ <property name="maximumSize">
171
+ <size>
172
+ <width>30</width>
173
+ <height>16777215</height>
174
+ </size>
175
+ </property>
176
+ <property name="text">
177
+ <string>-</string>
178
+ </property>
179
+ </widget>
180
+ </item>
181
+ <item>
182
+ <widget class="QPushButton" name="btn_add_row">
183
+ <property name="maximumSize">
184
+ <size>
185
+ <width>30</width>
186
+ <height>16777215</height>
187
+ </size>
188
+ </property>
189
+ <property name="text">
190
+ <string>+</string>
191
+ </property>
192
+ </widget>
193
+ </item>
194
+ <item>
195
+ <widget class="QLineEdit" name="lie_text_2_bytes">
196
+ <property name="maxLength">
197
+ <number>200</number>
198
+ </property>
199
+ <property name="placeholderText">
200
+ <string>Text to command bytes</string>
201
+ </property>
202
+ </widget>
203
+ </item>
204
+ <item>
205
+ <spacer name="horizontalSpacer">
206
+ <property name="orientation">
207
+ <enum>Qt::Horizontal</enum>
208
+ </property>
209
+ <property name="sizeHint" stdset="0">
210
+ <size>
211
+ <width>40</width>
212
+ <height>20</height>
213
+ </size>
214
+ </property>
215
+ </spacer>
216
+ </item>
217
+ </layout>
218
+ </item>
219
+ </layout>
220
+ </item>
221
+ </layout>
222
+ </item>
223
+ <item>
224
+ <layout class="QHBoxLayout" name="hl">
225
+ <item>
226
+ <spacer name="hs">
227
+ <property name="orientation">
228
+ <enum>Qt::Horizontal</enum>
229
+ </property>
230
+ <property name="sizeHint" stdset="0">
231
+ <size>
232
+ <width>40</width>
233
+ <height>20</height>
234
+ </size>
235
+ </property>
236
+ </spacer>
237
+ </item>
238
+ <item>
239
+ <widget class="QPushButton" name="btn_cancel">
240
+ <property name="text">
241
+ <string>Cancel</string>
242
+ </property>
243
+ </widget>
244
+ </item>
245
+ <item>
246
+ <widget class="QPushButton" name="btn_validate">
247
+ <property name="text">
248
+ <string>Add</string>
249
+ </property>
250
+ </widget>
251
+ </item>
252
+ </layout>
253
+ </item>
254
+ </layout>
255
+ </item>
256
+ </layout>
257
+ </widget>
258
+ <resources/>
259
+ <connections>
260
+ <connection>
261
+ <sender>btn_cancel</sender>
262
+ <signal>clicked()</signal>
263
+ <receiver>Command_editor</receiver>
264
+ <slot>close()</slot>
265
+ <hints>
266
+ <hint type="sourcelabel">
267
+ <x>439</x>
268
+ <y>420</y>
269
+ </hint>
270
+ <hint type="destinationlabel">
271
+ <x>517</x>
272
+ <y>287</y>
273
+ </hint>
274
+ </hints>
275
+ </connection>
276
+ <connection>
277
+ <sender>btn_clone</sender>
278
+ <signal>clicked()</signal>
279
+ <receiver>Command_editor</receiver>
280
+ <slot>clone_row()</slot>
281
+ <hints>
282
+ <hint type="sourcelabel">
283
+ <x>17</x>
284
+ <y>384</y>
285
+ </hint>
286
+ <hint type="destinationlabel">
287
+ <x>2</x>
288
+ <y>242</y>
289
+ </hint>
290
+ </hints>
291
+ </connection>
292
+ <connection>
293
+ <sender>btn_remove</sender>
294
+ <signal>clicked()</signal>
295
+ <receiver>Command_editor</receiver>
296
+ <slot>remove_row()</slot>
297
+ <hints>
298
+ <hint type="sourcelabel">
299
+ <x>106</x>
300
+ <y>383</y>
301
+ </hint>
302
+ <hint type="destinationlabel">
303
+ <x>3</x>
304
+ <y>291</y>
305
+ </hint>
306
+ </hints>
307
+ </connection>
308
+ <connection>
309
+ <sender>btn_add_row</sender>
310
+ <signal>clicked()</signal>
311
+ <receiver>Command_editor</receiver>
312
+ <slot>add_row()</slot>
313
+ <hints>
314
+ <hint type="sourcelabel">
315
+ <x>140</x>
316
+ <y>389</y>
317
+ </hint>
318
+ <hint type="destinationlabel">
319
+ <x>4</x>
320
+ <y>202</y>
321
+ </hint>
322
+ </hints>
323
+ </connection>
324
+ <connection>
325
+ <sender>tbl_bytes</sender>
326
+ <signal>itemChanged(QTableWidgetItem*)</signal>
327
+ <receiver>Command_editor</receiver>
328
+ <slot>check_cell_content(QTableWidgetItem*)</slot>
329
+ <hints>
330
+ <hint type="sourcelabel">
331
+ <x>483</x>
332
+ <y>252</y>
333
+ </hint>
334
+ <hint type="destinationlabel">
335
+ <x>519</x>
336
+ <y>115</y>
337
+ </hint>
338
+ </hints>
339
+ </connection>
340
+ </connections>
341
+ <slots>
342
+ <slot>add_cmd()</slot>
343
+ <slot>edit_cmd()</slot>
344
+ <slot>add_row()</slot>
345
+ <slot>clone_row()</slot>
346
+ <slot>remove_row()</slot>
347
+ <slot>check_txe_content()</slot>
348
+ <slot>check_cell_content(QTableWidgetItem*)</slot>
349
+ </slots>
350
+ </ui>