package Ġorg . run est ar . client . plugins . dev . interface explorer Ċ Ċ import Ġorg . run est ar . client . api . ICON Ċ import Ġorg . run est ar . client . game . api . Component Ċ import Ġjava . awt . Border Layout Ċ import Ġjava . awt . Dimension Ċ import Ġjavax . swing .* Ċ import Ġjavax . swing . tree . Default Mutable TreeNode Ċ import Ġjavax . swing . tree . Default Tree Model Ċ Ċ class ĠExplorer Frame Ġ: ĠJ Frame (" Interface ĠExplorer ") Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtree : ĠJ Tree ĊĊĠĠĠ Ġprivate Ġval Ġtree Model : ĠDefault Tree Model ĊĊĠĠĠ Ġprivate Ġval Ġtext Area Ġ= ĠJ TextArea () ĊĊĠĠĠ Ġprivate Ġval Ġroot Ġ= ĠDefault Mutable TreeNode (" root ") ĊĊĠĠĠ Ġprivate Ġval Ġorder ComboBox Ġ= ĠJ ComboBox < Component Order >( array Of ( Component Order . Id , ĠComponent Order . Hierarchy )) ĊĊĠĠĠ Ġ@ Volatile ĊĠĠĠ Ġvar Ġselected Component : ĠComponent ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġicon Image Ġ= ĠICON ĊĠĠĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠWindow Constants . DIS POSE _ ON _ CLOSE ĊĠĠĠĠĠĠĠ Ġtree Model Ġ= ĠDefault Tree Model ( root ) ĊĠĠĠĠĠĠĠ Ġtree Ġ= ĠJ Tree ( tree Model ) ĊĠĠĠĠĠĠĠ Ġtree . is Root Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtree . shows Root Handles Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġtext Area . is Editable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ Split Pane ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ Split Pane . HORIZONTAL _ SPLIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJPanel ( Border Layout ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ ScrollPane ( tree ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreferred Size Ġ= ĠDimension ( 2 0 0 , Ġ 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBorderLayout . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox . create Horizontal Box (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( JLabel (" Order : Ġ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( order ComboBox ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Box . create Gl ue ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( JButton (" Reload "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ActionListener Ġ{ Ġreload () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBorderLayout . SO UTH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ ScrollPane ( textArea ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreferred Size Ġ= ĠDimension ( 2 0 0 , Ġ 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreload () ĊĠĠĠĠĠĠĠ Ġpack () ĊĠĠĠĠĠĠĠ Ġtree . selection Model . add Tree Selection Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġtree . last Selected Path Component Ġas ? ĠDefault Mutable TreeNode Ġ?: Ġreturn @ add Tree Selection Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġw w Ġ= Ġnode . user Object Ġas ? ĠComponent Wrapper Ġ?: Ġreturn @ add Tree Selection Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġw Ġ= Ġw w . component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Component Ġ= Ġw ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfill TextArea ( textArea , Ġw ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreload () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġorder ComboBox . selected Item Ġas ? ĠComponent Order Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġselected . reload Tree ( tree Model ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfill TextArea ( ta : ĠJ TextArea , Ġw : ĠComponent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġw . accessor ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ $ w Ċ Ċ hierarchy : Ċ ${ w . hierarchy String ()} Ċ Ċ raw X : Ġ${ x . raw X } Ċ raw Y : Ġ${ x . raw Y } Ċ raw Width : Ġ${ x . raw Width } Ċ raw Height : Ġ${ x . raw Height } Ċ x Alignment : Ġ${ x . x Alignment } Ċ y Alignment : Ġ${ x . y Alignment } Ċ width Alignment : Ġ${ x . width Alignment } Ċ height Alignment : Ġ${ x . height Alignment } Ċ Ċ x : Ġ${ x . x } Ċ y : Ġ${ x . y } Ċ width : Ġ${ x . width } Ċ height : Ġ${ x . height } Ċ padding X : Ġ${ x . padding X } Ċ padding Y : Ġ${ x . padding Y } Ċ scroll X : Ġ${ x . scroll X } Ċ scroll Y : Ġ${ x . scroll Y } Ċ scroll Width : Ġ${ x . scroll Width } Ċ scroll Height : Ġ${ x . scroll Height } Ċ Ċ root Index : Ġ${ x . root Index } Ċ cycle : Ġ${ x . cycle } Ċ is Hidden : Ġ${ x . is Hidden } Ċ Ċ text : Ġ${ x . text } Ċ color : Ġ${ x . color } Ċ target Verb : Ġ${ x . target Verb } Ċ ops : Ġ${ x . ops ?. content ToString ()} Ċ button Text : Ġ${ x . button Text } Ċ op base : Ġ${ x . op base } Ċ spell Name : Ġ${ x . spell Name } Ċ Ċ font Id : Ġ${ x . font Id } Ċ Ċ type : Ġ${ x . type } Ċ client Code : Ġ${ x . client Code } Ċ Ċ itemId : Ġ${ x . itemId } Ċ item Quantity : Ġ${ x . item Quantity } Ċ Ċ item Ids : Ġ${ x . item Ids ?. content ToString ()} Ċ item Quant ities : Ġ${ x . item Quant ities ?. content ToString ()} Ċ Ċ no Click Through : Ġ${ x . no Click Through } Ċ sprite Id : Ġ${ x . sprite Id } Ċ sprite Id 2 : Ġ${ x . sprite Id 2 } Ċ """ ĊĠĠĠĠĠĠĠ Ġta . text Ġ= Ġs ĊĠĠĠĠĠĠĠ Ġta . move Caret Position ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠComponent . hierarchy String (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġvar Ġw : ĠComponent ? Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġwhile Ġ( w Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( w . id String ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" Ġ> \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw Ġ= Ġw . parent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsb . delete Char At ( sb . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} Ċ }