diff options
author | Evgeny Shtanov <shtanov_evgenii@mail.ru> | 2021-03-10 22:33:56 +0300 |
---|---|---|
committer | Evgeny Shtanov <shtanov_evgenii@mail.ru> | 2021-03-19 00:48:34 +0300 |
commit | a72f9e33dc8fe60ef80eee0ecf97965fc8482fe9 (patch) | |
tree | 6af3cd4cbdfdef1a137bb690f076bb15608eb414 /examples/serialbus/can/connectdialog.ui | |
parent | 55f97fd0178485bafed1e97eaf0d4ebf91a312b5 (diff) |
CAN example: Replace received frames edit with proper table and model
Add a class based on QAbstractTableModel to show the received frames.
Also add a configurable queue to buffer the frames before displaying
them. This should avoid frames loss in flood traffic mode.
Task-number: QTBUG-85611
Change-Id: Iac4671096c1cbfdc8297acf3c99be960b7eaf010
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'examples/serialbus/can/connectdialog.ui')
-rw-r--r-- | examples/serialbus/can/connectdialog.ui | 486 |
1 files changed, 276 insertions, 210 deletions
diff --git a/examples/serialbus/can/connectdialog.ui b/examples/serialbus/can/connectdialog.ui index b4ba898..54c3550 100644 --- a/examples/serialbus/can/connectdialog.ui +++ b/examples/serialbus/can/connectdialog.ui @@ -6,236 +6,302 @@ <rect> <x>0</x> <y>0</y> - <width>446</width> - <height>418</height> + <width>542</width> + <height>558</height> </rect> </property> <property name="windowTitle"> <string>Connect</string> </property> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="5" column="0" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> + <layout class="QGridLayout" name="gridLayout_6"> + <item row="0" column="0"> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="0" column="0"> + <widget class="QGroupBox" name="selectPluginBox"> + <property name="title"> + <string>Select CAN plugin</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QComboBox" name="pluginListBox"/> + </item> + </layout> + </widget> + </item> + <item row="0" column="1" rowspan="4"> + <widget class="QGroupBox" name="configurationBox"> + <property name="enabled"> + <bool>false</bool> </property> - <property name="sizeHint" stdset="0"> - <size> - <width>96</width> - <height>20</height> - </size> + <property name="title"> + <string>Specify Configuration</string> </property> - </spacer> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0"> + <widget class="QLabel" name="rawFilterLabel"> + <property name="text"> + <string>RAW Filter</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="rawFilterEdit"> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="errorFilterLabel"> + <property name="text"> + <string>Error Filter</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="errorFilterEdit"> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="placeholderText"> + <string>FrameError bits</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="loopbackLabel"> + <property name="text"> + <string>Loopback</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QComboBox" name="loopbackBox"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="receiveOwnLabel"> + <property name="text"> + <string>Receive Own</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QComboBox" name="receiveOwnBox"/> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="bitrateLabel"> + <property name="text"> + <string>Bitrate</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="BitRateBox" name="bitrateBox"/> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="canFdLabel"> + <property name="text"> + <string>CAN FD</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QComboBox" name="canFdBox"/> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="dataBitrateLabel"> + <property name="text"> + <string>Data Bitrate</string> + </property> + </widget> + </item> + <item row="6" column="1"> + <widget class="BitRateBox" name="dataBitrateBox"/> + </item> + </layout> + </widget> </item> - <item> - <widget class="QPushButton" name="cancelButton"> - <property name="text"> - <string>Cancel</string> + <item row="1" column="0"> + <widget class="QGroupBox" name="specifyInterfaceNameBox"> + <property name="title"> + <string>Specify CAN interface name</string> </property> - <property name="autoDefault"> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QComboBox" name="interfaceListBox"> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="0"> + <widget class="QGroupBox" name="interfacePropertiesBox"> + <property name="enabled"> <bool>false</bool> </property> + <property name="title"> + <string>CAN interface properties</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="descriptionLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="serialNumberLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="aliasLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="channelLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="isFlexibleDataRateCapable"> + <property name="text"> + <string>Flexible Data Rate</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="isVirtual"> + <property name="text"> + <string>Virtual</string> + </property> + </widget> + </item> + </layout> </widget> </item> - <item> - <widget class="QPushButton" name="okButton"> + <item row="3" column="0"> + <widget class="QCheckBox" name="useConfigurationBox"> <property name="text"> - <string>OK</string> + <string>Custom configuration</string> </property> - <property name="autoDefault"> - <bool>false</bool> - </property> - <property name="default"> - <bool>true</bool> + </widget> + </item> + <item row="4" column="0" colspan="2"> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>GUI Settings</string> </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QCheckBox" name="ringBufferBox"> + <property name="toolTip"> + <string><html><head/><body><p>Use ring buffer in table view model</p></body></html></string> + </property> + <property name="text"> + <string>Use ring buffer</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="ringBufferLimitBox"> + <property name="toolTip"> + <string><html><head/><body><p>Limit of ring buffer in table view model</p></body></html></string> + </property> + <property name="minimum"> + <number>10</number> + </property> + <property name="maximum"> + <number>10000000</number> + </property> + <property name="singleStep"> + <number>10</number> + </property> + <property name="stepType"> + <enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum> + </property> + <property name="value"> + <number>1000</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QCheckBox" name="autoscrollBox"> + <property name="toolTip"> + <string><html><head/><body><p>Scroll to bottom table view on each portion of received frames</p></body></html></string> + </property> + <property name="text"> + <string>Autoscroll</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> </widget> </item> + <item row="5" column="0" colspan="2"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>96</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="cancelButton"> + <property name="text"> + <string>Cancel</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="okButton"> + <property name="text"> + <string>OK</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + <property name="default"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> </layout> </item> - <item row="0" column="0"> - <widget class="QGroupBox" name="selectPluginBox"> - <property name="title"> - <string>Select CAN plugin</string> - </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QComboBox" name="pluginListBox"/> - </item> - </layout> - </widget> - </item> - <item row="0" column="1" rowspan="5"> - <widget class="QGroupBox" name="configurationBox"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="title"> - <string>Specify Configuration</string> - </property> - <layout class="QGridLayout" name="gridLayout_4"> - <item row="0" column="0"> - <widget class="QLabel" name="rawFilterLabel"> - <property name="text"> - <string>RAW Filter</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="rawFilterEdit"> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="errorFilterLabel"> - <property name="text"> - <string>Error Filter</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLineEdit" name="errorFilterEdit"> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="placeholderText"> - <string>FrameError bits</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="loopbackLabel"> - <property name="text"> - <string>Loopback</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QComboBox" name="loopbackBox"/> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="receiveOwnLabel"> - <property name="text"> - <string>Receive Own</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QComboBox" name="receiveOwnBox"/> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="bitrateLabel"> - <property name="text"> - <string>Bitrate</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="BitRateBox" name="bitrateBox"/> - </item> - <item row="5" column="0"> - <widget class="QLabel" name="canFdLabel"> - <property name="text"> - <string>CAN FD</string> - </property> - </widget> - </item> - <item row="5" column="1"> - <widget class="QComboBox" name="canFdBox"/> - </item> - <item row="6" column="0"> - <widget class="QLabel" name="dataBitrateLabel"> - <property name="text"> - <string>Data Bitrate</string> - </property> - </widget> - </item> - <item row="6" column="1"> - <widget class="BitRateBox" name="dataBitrateBox"/> - </item> - </layout> - </widget> - </item> - <item row="1" column="0"> - <widget class="QGroupBox" name="specifyInterfaceNameBox"> - <property name="title"> - <string>Specify CAN interface name</string> - </property> - <layout class="QGridLayout" name="gridLayout_3"> - <item row="0" column="0"> - <widget class="QComboBox" name="interfaceListBox"> - <property name="editable"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="4" column="0"> - <widget class="QCheckBox" name="useConfigurationBox"> - <property name="text"> - <string>Custom configuration</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QGroupBox" name="interfacePropertiesBox"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="title"> - <string>CAN interface properties</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QLabel" name="descriptionLabel"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="serialNumberLabel"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="aliasLabel"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="channelLabel"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="isFlexibleDataRateCapable"> - <property name="text"> - <string>Flexible Data Rate</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="isVirtual"> - <property name="text"> - <string>Virtual</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> </layout> </widget> <customwidgets> |