// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġorg . jetbrains . plugins . github . pull request . ui . timeline Ċ Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . editor . Editor Factory Ċ import Ġcom . intellij . ui . components . panels . Wrapper Ċ Ċ class ĠEditor Handler Panel ( private Ġval Ġeditor Factory : ĠEditor Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġeditor Supplier : Ġ() Ġ-> ĠEditor ) Ġ: ĠWrapper () Ġ{ ĊĊĠ Ġprivate Ġvar Ġeditor : ĠEditor ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun Ġadd Notify () Ġ{ ĊĠĠĠ Ġsuper . add Notify (); ĊĠĠĠ Ġcreate AndSet New Editor () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcreate AndSet New Editor () Ġ{ ĊĠĠĠ Ġclear And Release Editor () ĊĊĠĠĠ Ġeditor Ġ= Ġeditor Supplier () ĊĠĠĠ Ġset Content ( editor ?. component !! ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġclear And Release Editor () Ġ{ ĊĠĠĠ Ġeditor ?. let Ġ{ Ġeditor Factory . release Editor ( it ) Ġ} ĊĊĠĠĠ Ġset Content ( null ) ĊĠĠĠ Ġeditor Ġ= Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġremove Notify () Ġ{ ĊĠĠĠ Ġsuper . remove Notify () ĊĠĠĠ Ġclear And Release Editor () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġcreate ( editor Factory : ĠEditor Factory , Ġeditor Supplier : Ġ() Ġ-> ĠEditor ) Ġ= ĠEditor Handler Panel ( editor Factory , Ġeditor Supplier ) ĊĠ Ġ} Ċ }