ExtruderSelectorBar.qml 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import QtQuick 2.12
  2. import QtQuick.Controls 2.12
  3. import QtQuick.Layouts 1.3
  4. import UM 1.5 as UM
  5. import Cura 1.5 as Cura
  6. Row
  7. {
  8. id: extruderSelectionBar
  9. width: parent.width
  10. height: childrenRect.height
  11. spacing: 0
  12. property alias model: extruderButtonRepeater.model
  13. property int selectedIndex: 0
  14. function onClickExtruder(index) {}
  15. Repeater
  16. {
  17. id: extruderButtonRepeater
  18. delegate: Item
  19. {
  20. width: {
  21. const maximum_width = Math.floor(extruderSelectionBar.width / extruderButtonRepeater.count);
  22. return Math.min(UM.Theme.getSize("large_button").width, maximum_width);
  23. }
  24. height: childrenRect.height
  25. Cura.ExtruderButton
  26. {
  27. extruder: model
  28. checked: extruder.index == selectedIndex
  29. iconScale: 0.6
  30. buttonSize: UM.Theme.getSize("large_button").width
  31. onClicked: extruder.enabled && onClickExtruder(extruder.index)
  32. }
  33. }
  34. }
  35. }