O1Library Docs
Fall 2026
Docs API

# UnlessIdentical

o1.gui.View.RefreshPolicy.UnlessIdentical
case object UnlessIdentical extends RefreshPolicy

The RefreshPolicy of seeking to update the image visible in a `View` only when the current model object is non-identical in terms of `equals` than the previous one shown.

Note to students: You’re unlikely to need this for anything in O1.

## Attributes

Graph
Supertypes
  trait Singleton
  trait Product
  trait Mirror
  trait Serializable
  trait Product
  trait Equals
  trait RefreshPolicy
  class Object
  trait Matchable
  class Any
  Show all
Self type
  UnlessIdentical.type

## Members list

### Type members

#### Inherited types

type MirroredElemLabels = EmptyTuple

The names of the product elements.

The names of the product elements.

## Attributes

Inherited from:
  Singleton

type MirroredElemTypes = EmptyTuple

## Attributes

Inherited from:
  Singleton

type MirroredMonoType = this.type

The mirrored *-type.

The mirrored *-type.

## Attributes

Inherited from:
  Singleton

type MirroredType = this.type

## Attributes

Inherited from:
  Singleton

#### Inherited and Abstract types

type MirroredLabel <: String

The name of the type.

The name of the type.

## Attributes

Inherited from:
  Mirror

### Value members

#### Concrete methods

def shouldRefresh(from: Matchable, to: Matchable): Boolean

Returns `true` if given two objects aren’t equal (`!=`).

Returns `true` if given two objects aren’t equal (`!=`).

## Parameters

from

  the model object at the previous update

to

  the current model object (possibly the same object; possibly identical)

## Attributes

#### Inherited methods

def fromProduct(p: Product): MirroredMonoType

Creates a new instance of type `T` with elements taken from product `p`.

Creates a new instance of type `T` with elements taken from product `p`.

## Attributes

Inherited from:
  Singleton

def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

## Attributes

Inherited from:
  Product

def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

## Attributes

Returns

  in the default implementation, an `Iterator[Any]`

Inherited from:
  Product