Add stacked widget to edit triplet parameters

The knowledge of how colour, character etc parameters fit within the
address and data triplets is no longer required. We now present
widgets that explicitly refer to colour, character that are more
user friendly.
This commit is contained in:
G.K.MacGregor
2020-10-18 20:59:04 +01:00
parent af6ec1cac9
commit 1c03481c13
4 changed files with 1390 additions and 412 deletions

View File

@@ -27,6 +27,7 @@
#include <QPushButton>
#include <QRadioButton>
#include <QSpinBox>
#include <QStackedLayout>
#include <QTableView>
#include "mainwidget.h"
@@ -46,17 +47,48 @@ public slots:
void loadX26List();
void unloadX26List();
void rowClicked(const QModelIndex &);
void updateRawTripletWidgets(const QModelIndex &);
void updateAllRawTripletSpinBoxes(const QModelIndex &);
void updateRawTripletDataSpinBox(const QModelIndex &);
void updateAllCookedTripletWidgets(const QModelIndex &);
void updateCookedModeFromCookedType(const int);
void updateCookedTripletParameters(const QModelIndex &);
void rawTripletAddressSpinBoxChanged(int);
void rawTripletModeSpinBoxChanged(int);
void rawTripletDataSpinBoxChanged(int);
void tripletDataChanged(int, int=0, int=0);
void cookedRowSpinBoxChanged(const int);
void cookedColumnSpinBoxChanged(const int);
void cookedModeComboBoxChanged(const int);
void updateModelFromCookedWidget(const int, const int);
private:
QTableView *m_x26View;
X26Model *m_x26Model;
// "Temporary" widgets to edit raw triplet values
QComboBox *m_cookedModeTypeComboBox;
QSpinBox *m_cookedRowSpinBox, *m_cookedColumnSpinBox;
QComboBox *m_cookedModeComboBox;
QSpinBox *m_rawTripletAddressSpinBox, *m_rawTripletModeSpinBox, *m_rawTripletDataSpinBox;
QStackedLayout *m_rawOrCookedStackedLayout;
QComboBox *m_colourComboBox;
QRadioButton *m_fullRowColourThisRowOnlyRadioButton, *m_fullRowColourDownToBottomRadioButton;
QSpinBox *m_characterCodeSpinBox;
QComboBox *m_flashModeComboBox, *m_flashRateComboBox;
QComboBox *m_textSizeComboBox;
QCheckBox *m_displayAttributeBoxingCheckBox, *m_displayAttributeConcealCheckBox, *m_displayAttributeInvertCheckBox, *m_displayAttributeUnderlineCheckBox;
QComboBox *m_objectSourceComboBox;
QCheckBox *m_objectRequiredAtL2p5CheckBox, *m_objectRequiredAtL3p5CheckBox;
QSpinBox *m_invokeLocalObjectDesignationCodeSpinBox, *m_invokeLocalObjectTripletNumberSpinBox;
QSpinBox *m_invokePOPSubPageSpinBox, *m_invokePOPPacketNumberSpinBox;
QComboBox *m_invokePOPTripletNumberComboBox, *m_invokePOPPointerBitsComboBox;
QStackedLayout *m_invokeObjectSourceStackedLayout, *m_tripletParameterStackedLayout;
QCheckBox *m_DRCSModeRequiredAtL2p5CheckBox, *m_DRCSModeRequiredAtL3p5CheckBox;
QRadioButton *m_DRCSModeGlobalRadioButton, *m_DRCSModeNormalRadioButton;
QSpinBox *m_DRCSModeSubPageSpinBox;
QRadioButton *m_DRCSCharacterGlobalRadioButton, *m_DRCSCharacterNormalRadioButton;
QSpinBox *m_DRCSCharacterCodeSpinBox;
QCheckBox *m_fontStyleProportionalCheckBox, *m_fontStyleBoldCheckBox, *m_fontStyleItalicCheckBox;
QSpinBox *m_fontStyleRowsSpinBox;
QComboBox *m_terminationMarkerPageTypeComboBox;
QCheckBox *m_terminationMarkerMoreFollowsCheckBox;
QPushButton *m_insertPushButton, *m_deletePushButton;
TeletextWidget *m_parentMainWidget;