MCPcopy Create free account
hub / github.com/clementgallet/libTAS / createEditor

Method createEditor

src/program/ui/ComboBoxItemDelegate.cpp:30–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28ComboBoxItemDelegate::~ComboBoxItemDelegate() {}
29
30QWidget *ComboBoxItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
31{
32 QComboBox *cb = new QComboBox(parent);
33 const int col = index.column();
34 if (col == 0) {
35 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_KEYBOARD)), SingleInput::IT_KEYBOARD);
36 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_POINTER_BUTTON)), SingleInput::IT_POINTER_BUTTON);
37 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER1_BUTTON)), SingleInput::IT_CONTROLLER1_BUTTON);
38 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER1_AXIS)), SingleInput::IT_CONTROLLER1_AXIS);
39 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER2_BUTTON)), SingleInput::IT_CONTROLLER2_BUTTON);
40 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER2_AXIS)), SingleInput::IT_CONTROLLER2_AXIS);
41 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER3_BUTTON)), SingleInput::IT_CONTROLLER3_BUTTON);
42 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER3_AXIS)), SingleInput::IT_CONTROLLER3_AXIS);
43 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER4_BUTTON)), SingleInput::IT_CONTROLLER4_BUTTON);
44 cb->addItem(tr(SingleInput::typeToStr(SingleInput::IT_CONTROLLER4_AXIS)), SingleInput::IT_CONTROLLER4_AXIS);
45 }
46 else {
47 int type = index.data(Qt::EditRole).toULongLong() >> 32;
48 switch (type) {
49 case SingleInput::IT_KEYBOARD:
50 for (SingleInput si : movie->editor->input_set) {
51 if (si.type == SingleInput::IT_KEYBOARD)
52 cb->addItem(QString(si.description.c_str()), si.which);
53 }
54 break;
55 case SingleInput::IT_POINTER_BUTTON:
56 cb->addItem(tr("Button 1"), SingleInput::POINTER_B1);
57 cb->addItem(tr("Button 2"), SingleInput::POINTER_B2);
58 cb->addItem(tr("Button 3"), SingleInput::POINTER_B3);
59 cb->addItem(tr("Button 4"), SingleInput::POINTER_B4);
60 cb->addItem(tr("Button 5"), SingleInput::POINTER_B5);
61 break;
62 case SingleInput::IT_CONTROLLER1_BUTTON:
63 case SingleInput::IT_CONTROLLER2_BUTTON:
64 case SingleInput::IT_CONTROLLER3_BUTTON:
65 case SingleInput::IT_CONTROLLER4_BUTTON:
66 for (int b=0; b < SingleInput::BUTTON_LAST; b++)
67 cb->addItem(tr(SingleInput::buttonToStr(b)), b);
68 break;
69 case SingleInput::IT_CONTROLLER1_AXIS:
70 case SingleInput::IT_CONTROLLER2_AXIS:
71 case SingleInput::IT_CONTROLLER3_AXIS:
72 case SingleInput::IT_CONTROLLER4_AXIS:
73 for (int a=0; a < SingleInput::AXIS_LAST; a++)
74 cb->addItem(tr(SingleInput::axisToStr(a)), a);
75 break;
76 }
77 }
78 return cb;
79}
80
81void ComboBoxItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
82{

Callers

nothing calls this directly

Calls 3

columnMethod · 0.80
dataMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected