• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Martomate / TriPaint / 9275511596

28 May 2024 07:51PM UTC coverage: 29.682% (+1.8%) from 27.877%
9275511596

push

github

Martomate
Updated to Scala 3.4 and MUnit 1.0

2 of 11 new or added lines in 9 files covered. (18.18%)

430 existing lines in 38 files now uncovered.

401 of 1351 relevant lines covered (29.68%)

0.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.78
/src/main/scala/tripaint/model/image/GridCell.scala
1
package tripaint.model.image
2

3
import tripaint.model.Color
4
import tripaint.model.coords.{GridCoords, TriangleCoords}
5
import tripaint.util.{EventDispatcher, Tracker}
6

7
import scalafx.beans.property.{BooleanProperty, ReadOnlyBooleanProperty, ReadOnlyBooleanWrapper}
8

9
object GridCell:
10
  enum Event:
11
    case PixelChanged(coords: TriangleCoords, from: Color, to: Color)
12
    case ImageChangedALot
13

14
class GridCell(val coords: GridCoords, init_image: ImageStorage):
15
  private var _image: ImageStorage = init_image
16

17
  private val dispatcher = new EventDispatcher[GridCell.Event]
1✔
18
  def trackChanges(tracker: Tracker[GridCell.Event]): Tracker.RevokeFn = dispatcher.track(tracker)
1✔
19

20
  _image.trackChanges(this.onStorageChanged(_))
1✔
21

22
  def storage: ImageStorage = _image
1✔
23

24
  val editableProperty: BooleanProperty = BooleanProperty(true)
1✔
25
  def editable: Boolean = editableProperty.value
1✔
26

27
  def onImageChangedALot(): Unit =
1✔
28
    dispatcher.notify(GridCell.Event.ImageChangedALot)
1✔
29

30
  private val _changed: ReadOnlyBooleanWrapper = ReadOnlyBooleanWrapper(false)
1✔
31
  def changed: Boolean = _changed.value
1✔
UNCOV
32
  def changedProperty: ReadOnlyBooleanProperty = _changed.readOnlyProperty
×
33

34
  def setImageSaved(): Unit = _changed.value = false
1✔
35

UNCOV
36
  def replaceImage(newImage: ImageStorage): Unit =
×
37
    _image = newImage
NEW
38
    _image.trackChanges(this.onStorageChanged(_))
×
UNCOV
39
    dispatcher.notify(GridCell.Event.ImageChangedALot)
×
40

41
  private def onStorageChanged(event: ImageStorage.Event): Unit =
1✔
42
    event match
43
      case ImageStorage.Event.PixelChanged(coords, from, to) =>
44
        _changed.value = true
1✔
45
        dispatcher.notify(GridCell.Event.PixelChanged(coords, from, to))
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc