de.sciss.mellite.gui.GraphemeView.scala Maven / Gradle / Ivy
/*
* GraphemeView.scala
* (Mellite)
*
* Copyright (c) 2012-2016 Hanns Holger Rutz. All rights reserved.
*
* This software is published under the GNU General Public License v3+
*
*
* For further information, please contact Hanns Holger Rutz at
* [email protected]
*/
package de.sciss.mellite
package gui
import de.sciss.audiowidgets.TimelineModel
import de.sciss.desktop.UndoManager
import de.sciss.lucre.stm
import de.sciss.lucre.swing.View
import de.sciss.lucre.synth.Sys
import de.sciss.mellite.gui.impl.grapheme.{GraphemeViewImpl => Impl}
import de.sciss.synth.proc.Grapheme
import scala.swing.{Action, Component}
object GraphemeView {
def apply[S <: Sys[S]](group: Grapheme[S])
(implicit tx: S#Tx, workspace: Workspace[S], cursor: stm.Cursor[S],
undoManager: UndoManager): GraphemeView[S] =
Impl[S](group)
}
trait GraphemeView[S <: stm.Sys[S]] extends ViewHasWorkspace[S] with View.Editable[S] {
def timelineModel: TimelineModel
def selectionModel : GraphemeObjView.SelectionModel[S]
def graphemeH: stm.Source[S#Tx, Grapheme[S]]
def grapheme(implicit tx: S#Tx): Grapheme[S]
def canvasComponent: Component
// def transportView: TransportView[S]
// ---- GUI actions ----
def actionDelete : Action
def actionClearSpan : Action
def actionRemoveSpan : Action
def actionMoveObjectToCursor: Action
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy