package Ġcom . github . g ib Ċ Ċ import Ġcom . github . g ib . actions .* Ċ import Ġcom . github . g ib . g cef . GB C ef Browser Ċ import Ġcom . intellij . icons . All Icons Ċ import Ġcom . intellij . openapi . Disposable Ċ import Ġcom . intellij . openapi . action System . Action Manager Ċ import Ġcom . intellij . openapi . action System . Action Places Ċ import Ġcom . intellij . openapi . action System . Constraints Ċ import Ġcom . intellij . openapi . action System . Default Action Group Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . ui . Simple Tool Window Panel Ċ import Ġcom . intellij . ui . j cef . J BC ef Browser Ċ import Ġcom . intellij . ui . j cef . J BC ef Browser Base . Error Page Ċ import Ġorg . cef . handler . C ef Load Handler Ċ import Ġjavax . swing . Image Icon ĊĊ Ċ @ Suppress (" Un stable Api Usage ") Ċ class ĠG iv Main Panel ( private Ġval Ġinitial Url : ĠString ) Ġ: ĠSimple Tool Window Panel ( true , Ġtrue ), ĠDis posable Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġj b C ef Browser : ĠJ BC ef Browser Ġ= ĠG BC ef Browser ( initial Url ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Manager . getInstance (). create Action Toolbar ( Action Places . CONTEXT _ TOOL BAR , Ġbuild Toolbar (), Ġtrue ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Component Ġ= Ġthis @ G iv Main Panel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġj b C ef Browser . setError Page Ġ{ ĠerrorCode , Ġerror Text , Ġfailed Url Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( errorCode Ġ== ĠC ef Load Handler . ErrorCode . ERR _ ABORT ED ) Ġnull Ġelse ĠError Page . DEFAULT . create ( errorCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġj b C ef Browser . setProperty ( J BC ef Browser . Properties . FOCUS _ ON _ SHOW , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġj b C ef Browser . setProperty ( J BC ef Browser . Properties . FOCUS _ ON _ NAV IG ATION , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġset Content ( jb C ef Browser . component ) ĊĠĠĠĠĠĠĠ Ġset Toolbar ( toolbar . component ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Toolbar (): ĠDefault Action Group Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠDefault Action Group () ĊĠĠĠĠĠĠĠ Ġval Ġback Button Ġ= ĠG Back Action ( jb C ef Browser , ĠImage Icon ( java Class . getResource ("/ actions / back . png "))) ĊĠĠĠĠĠĠĠ Ġval Ġforward Button Ġ= ĠG Forward Action ( jb C ef Browser , ĠImage Icon ( java Class . getResource ("/ actions / forward . png "))) ĊĠĠĠĠĠĠĠ Ġval Ġrefresh Button Ġ= ĠG Refresh Action ( jb C ef Browser , ĠImage Icon ( java Class . getResource ("/ actions / refresh . png "))) ĊĠĠĠĠĠĠĠ Ġval Ġhome Button Ġ= ĠG Home Action ( jb C ef Browser , ĠAll Icons . Nodes . Home Folder ) ĊĠĠĠĠĠĠĠ Ġval Ġbook Mark F avorites Ġ= ĠGF avorites Menu Action ( jb C ef Browser ) ĊĠĠĠĠĠĠĠ Ġval Ġg Custom ize Action Group Ġ= ĠG Custom ize Action Group ( jb C ef Browser ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġbus Ġ= ĠApplication Manager . getApplication (). message Bus ĊĠĠĠĠĠĠĠ Ġbus . connect (). subscribe ( Settings Changed Action . TOPIC , Ġobject Ġ: ĠSettings Changed Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsettings Changed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbook Mark F avorites . update View () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl TextField Ġ= ĠG Search Field Action ( initial Url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Web Ġaddress ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage Icon ( java Class . getResource ("/ actions / refresh . png ")), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj b C ef Browser ) ĊĊĊĠĠĠĠĠĠĠ Ġj b C ef Browser . cef Browser . client . add Display Handler ( C ef Url Change Handler Ġ{ Ġurl Ġ-> Ġurl TextField . setText ( url Ġ?: Ġ"") Ġ}) ĊĊĠĠĠĠĠĠĠ Ġtoolbar . add ( back Button ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( forward Button ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( refresh Button ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( home Button ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( book Mark F avorites ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add Separator () ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( url TextField ) ĊĠĠĠĠĠĠĠ Ġtoolbar . add Separator () ĊĠĠĠĠĠĠĠ Ġtoolbar . add ( g Custom ize Action Group , ĠConstraints . LAST ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtoolbar ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġj b C ef Browser . dispose () ĊĠĠĠ Ġ} Ċ } Ċ