No doubt this is a simple fix but I could not find any examples. I have a Tableview defined in a qml file. It is being 'sourced' several times from a view qml script and passed a QObjectList model. Everything displays fine and the TableViewColumns update the model fine except for those with
a ComboBox delegate.  Here's a code snippet showing the problem area:
TableView{

id:oetableview

    ....

TableViewColumn{

role:"pieces";

title:"Pieces";

width:50;

delegate:Item{

SpinBox{

id:currentPieces;

anchors.verticalCenter:parent.verticalCenter;

//decimals:2;

value:styleData.value;

width:parent.width

onEditingFinished:model.pieces=currentPieces.value.toString();

}

}

}

    TableViewColumn{
        role: "invoice_type"  ;
        title: "Inv Type" ;
        width: 100 ;
        delegate: Item {
            ComboBox {
                id: invoiceTypeCombo
                width: 100
                model: categoryModel
                currentIndex: categoryModel.indexOf(styleData.value)
                onActivated: {
                    model.invoice_type = invoiceTypeCombo.textAt(currentIndex)
                    console.log("Activated " + invoiceTypeCombo.textAt(currentIndex) + 
" " + styleData.value)
                }
            }
        }
    }
   ....

    The model has identical set's for both roles:

void OEObject::setPieces(const QString &pieces)
{
    if (pieces != m_pieces) {
        m_pieces = pieces;
        emit piecesChanged();
    }
}

void OEObject::setInvoice_type(const QString &invoice_type)
{
    if (invoice_type != m_invoice_type) {
        m_invoice_type = invoice_type;
        emit invoice_typeChanged();
    }
}
The problem appears to be model.'role' = statement. The spinbox updates fine but the combobox does not. I'm
thinking the the combobox does work since the delegate has a model also.  (The 
categoryModel is from C++ and is
used to populate the comboboxes only.)  I've tried qualifying the model in the 
model.'role' statement but have
not found one that works.  The log shows the correct value is there for 
assignment.
   Does anyone have any suggestions?  Thanks in advance.
   Completely unrelated.  I noticed that hovering over a spinbox allows the 
user to change its value without
giving it focus.  This way of changing it does not fire the onEditingFinished 
unless the user clicks on the field.
Is this expected behavior?
jcp

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to