Skip to content

Commit

Permalink
Fix win32 test
Browse files Browse the repository at this point in the history
  • Loading branch information
barche committed Jun 18, 2024
1 parent 609b056 commit 71e0cbc
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
CMakeLists.txt.user
/Manifest.toml
/docs/build
.vscode
21 changes: 11 additions & 10 deletions src/itemmodel.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Base.:+(a::QML.ItemDataRole, b::Integer) = convert(Int32,a) + b
# Allow roles as keys in Dicts:
Base.trailing_zeros(role::ItemDataRole) = Base.trailing_zeros(convert(Int32,role))
Base.:(>>)(a::ItemDataRole, b::Int64) = convert(Int32, a) >> b
Base.:(>>)(a::ItemDataRole, b::Int32) = convert(Int32, a) >> b
mutable struct ItemModelData{DataT}
values::Observable{DataT}
roles::RoleNames
Expand Down Expand Up @@ -78,23 +79,23 @@ setheadergetter!(itemmodel::JuliaItemModel, f::Function) = (get_julia_data(itemm
return false
end

try
# try
if colcount(m) == 1
m.setters[role](m.values[], value(val), row)
else
m.setters[role](m.values[], value(val), row, col)
end
emit_data_changed(itemmodel, row, col, row, col)
return true
catch e
rolename = rolenames(m)[role]
if e isa KeyError
@warn "No setter for role $rolename"
else
@warn "Error $e when setting value at row $row for role $rolename"
end
return false
end
# catch e
# rolename = rolenames(m)[role]
# if e isa KeyError
# @warn "No setter for role $rolename"
# else
# @warn "Error $e when setting value at row $row for role $rolename"
# end
# return false
# end
end

# By default, no header data is set
Expand Down
4 changes: 2 additions & 2 deletions test/containers.jl
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ let h = QML.QHash{Int32,QML.QByteArray}()
@test isempty(h)
end

let numbers = Int32[1,2,3,4], model = JuliaItemModel(numbers)
let numbers = [1,2,3,4], model = JuliaItemModel(numbers)
modeldata = QML.get_julia_data(model)
@test QML.rowcount(modeldata) == 4
@test QML.colcount(modeldata) == 1
@test QML.value(QML.data(modeldata, QML.DisplayRole,3,1)) == "3"
@test QML.setdata!(model, QVariant(Int32(5)), QML.EditRole, 3, 1)
@test QML.setdata!(model, QVariant(5), QML.EditRole, 3, 1)
@test QML.value(QML.data(modeldata, QML.DisplayRole,3,1)) == "5"
@test QML.value(QML.headerdata(modeldata, 2, QML.Vertical, QML.DisplayRole)) == 2
@test_logs (:warn,"Setting header data is not supported in this model") QML.setheaderdata!(model, 1, QML.Vertical, QML.EditRole, "One")
Expand Down

0 comments on commit 71e0cbc

Please sign in to comment.