src/Tools/jEdit/src/pide_docking_framework.scala
changeset 59079 12a689755c3d
parent 56936 6dd8866eca69
equal deleted inserted replaced
59078:cf255dc2b48f 59079:12a689755c3d
    34       val menu = super.createPopupMenu(container, dockable_name, clone)
    34       val menu = super.createPopupMenu(container, dockable_name, clone)
    35 
    35 
    36       val detach_operation: Option[() => Unit] =
    36       val detach_operation: Option[() => Unit] =
    37         container match {
    37         container match {
    38           case floating: FloatingWindowContainer =>
    38           case floating: FloatingWindowContainer =>
    39             val entry = Untyped.get(floating, "entry")
    39             Untyped.get[AnyRef](Untyped.get[AnyRef](floating, "entry"), "win") match {
    40             val win = Untyped.get(entry, "win")
       
    41             win match {
       
    42               case dockable: Dockable => dockable.detach_operation
    40               case dockable: Dockable => dockable.detach_operation
    43               case _ => None
    41               case _ => None
    44             }
    42             }
    45 
    43 
    46           case panel: PanelWindowContainer =>
    44           case panel: PanelWindowContainer =>
    47             val entries =
    45             val entries = Untyped.get[java.util.List[AnyRef]](panel, "dockables").toArray
    48               Untyped.get(panel, "dockables").asInstanceOf[java.util.List[AnyRef]].toArray
       
    49             val wins =
    46             val wins =
    50               (for {
    47               (for {
    51                 entry <- entries.iterator
    48                 entry <- entries.iterator
    52                 if Untyped.get(Untyped.get(entry, "factory"), "name") == dockable_name
    49                 if Untyped.get[String](Untyped.get(entry, "factory"), "name") == dockable_name
    53                 win = Untyped.get(entry, "win")
    50                 win = Untyped.get[Any](entry, "win")
    54                 if win != null
    51                 if win != null
    55               } yield win).toList
    52               } yield win).toList
    56             wins match {
    53             wins match {
    57               case List(dockable: Dockable) => dockable.detach_operation
    54               case List(dockable: Dockable) => dockable.detach_operation
    58               case _ => None
    55               case _ => None