All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalut.wizard.models.WizardModel.scala Maven / Gradle / Ivy

The newest version!
package scalut.wizard.models


import scalut.observer.Observable
import scalut.wizard.{PageDirection, WizardEventInfo, WizardPage}


//trait WizardModel[TData, TPage <: WizardPage] extends Observable[WizardEvent.Type] with Iterable[TPage] {
trait WizardModel[TData, TPage <: WizardPage] extends Observable[WizardEventInfo[TPage]] with Iterable[TPage] {

  def getData: TData

  var notifyAllPagesOnFinish: Boolean

  def addPage(pages: TPage)

  def addPage(index: Int, page: TPage)

  def addPages(pages: Seq[TPage])

  def addPages(index: Int, pages: Seq[TPage])

  def initialize()

  def getPage(index: Int): TPage

  def getCurrentPage: TPage

  def getCurrentPageIndex: Int

  def getPagesCount: Int

  def isCanGoToPage(index: Int): (Boolean, PageDirection.Type)

  def goToPage(index: Int): Boolean

  def isCurrentPageIsFirst: Boolean

  def isCurrentPageIsLast: Boolean

  def isValidPageIndex(index: Int): Boolean

  def step(step: Int): Boolean

  def getNextPageIndex: Int

  def getPrevPageIndex: Int

  def next(): Boolean

  def back(): Boolean

  def isCanFinish: Boolean

  def finish(): Boolean

  def removePage(index: Int)

  def removePage(page: TPage)

  def clearPages()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy