Arkadiy Paronyan
10 years ago
10 changed files with 200 additions and 13 deletions
@ -0,0 +1,96 @@ |
|||||
|
import QtQuick 2.0 |
||||
|
import QtQuick.Controls 1.3 |
||||
|
import QtQuick.Controls.Styles 1.3 |
||||
|
|
||||
|
Item |
||||
|
{ |
||||
|
property alias value: textinput.text |
||||
|
property alias contractCreationTr: ctrModel |
||||
|
id: editRoot |
||||
|
height: 20 |
||||
|
width: 200 |
||||
|
|
||||
|
SourceSansProBold |
||||
|
{ |
||||
|
id: boldFont |
||||
|
} |
||||
|
|
||||
|
function init() |
||||
|
{ |
||||
|
trCombobox.visible = ctrModel.count > 1; //index 0 is a blank value. |
||||
|
if (value.indexOf("<") === 0) |
||||
|
{ |
||||
|
for (var k = 0; k < ctrModel.count; k++) |
||||
|
{ |
||||
|
if ("<" + ctrModel.get(k).functionId + ">" === value) |
||||
|
{ |
||||
|
trCombobox.currentIndex = k; |
||||
|
return; |
||||
|
} |
||||
|
} |
||||
|
trCombobox.currentIndex = 0; |
||||
|
value = ""; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
Rectangle { |
||||
|
anchors.fill: parent |
||||
|
radius: 4 |
||||
|
anchors.verticalCenter: parent.verticalCenter |
||||
|
height: 20 |
||||
|
TextInput { |
||||
|
id: textinput |
||||
|
text: value |
||||
|
width: parent.width |
||||
|
height: parent.width |
||||
|
wrapMode: Text.WrapAnywhere |
||||
|
clip: true |
||||
|
font.family: boldFont.name |
||||
|
MouseArea { |
||||
|
id: mouseArea |
||||
|
anchors.fill: parent |
||||
|
hoverEnabled: true |
||||
|
onClicked: textinput.forceActiveFocus() |
||||
|
} |
||||
|
onTextChanged: |
||||
|
{ |
||||
|
if (trCombobox.selected) |
||||
|
{ |
||||
|
trCombobox.currentIndex = 0; |
||||
|
trCombobox.selected = false; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
ListModel |
||||
|
{ |
||||
|
id: ctrModel |
||||
|
} |
||||
|
|
||||
|
ComboBox |
||||
|
{ |
||||
|
property bool selected: false |
||||
|
id: trCombobox |
||||
|
model: ctrModel |
||||
|
textRole: "functionId" |
||||
|
height: 20 |
||||
|
anchors.verticalCenter: parent.verticalCenter |
||||
|
anchors.left: textinput.parent.right |
||||
|
anchors.leftMargin: 3 |
||||
|
onCurrentIndexChanged: { |
||||
|
trCombobox.selected = false; |
||||
|
if (currentText === "") |
||||
|
return; |
||||
|
else if (currentText !== " - ") |
||||
|
{ |
||||
|
textinput.text = "<" + currentText + ">"; |
||||
|
trCombobox.selected = true; |
||||
|
} |
||||
|
else if (textinput.text.indexOf("<") === 0) |
||||
|
{ |
||||
|
textinput.text = ""; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue