// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 Ġ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 Ġcom . intellij . ide . impl Ċ Ċ import Ġcom . intellij . openapi . module . Module Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . wm . impl . Frame Info Ċ import Ġcom . intellij . project Import . Project Opened Callback Ċ import Ġorg . jetbrains . annotations . Api Status Ċ import Ġjava . util . function . Predicate Ċ Ċ data Ġclass ĠOpen Project Task ( val Ġforce Open In New Frame : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject To Close : ĠProject ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis New Project : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠIgnore d Ġif Ġis New Project Ġis Ġset Ġto Ġfalse . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuse Default Project As Template : ĠBoolean Ġ= Ġis New Project , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠPrepared Ġproject Ġto Ġopen . ĠIf Ġyou Ġjust Ġneed Ġto Ġopen Ġnewly Ġcreated Ġand Ġprepared Ġproject Ġ( e . g . Ġused Ġby Ġa Ġnew Ġproject Ġaction ). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject : ĠProject ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠprojectName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsend Frame Back : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWhether Ġto Ġshow Ġwelcome Ġscreen Ġif Ġfailed Ġto Ġopen Ġproject . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Welcome Screen : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ set : Deprecated ( message Ġ= Ġ" Pass Ġto Ġconstructor ", Ġlevel Ġ= ĠDeprec ation Level . ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcallback : ĠProject Opened Callback ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠIgnore d Ġif Ġproject Ġis Ġexplicitly Ġset . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġbefore Open : Ġ(( Project ) Ġ-> ĠBoolean )? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġprepared To Open : Ġ(( Module ) Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġframe : ĠFrame Info ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Workspace Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġline : ĠInt Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn : ĠInt Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Refresh V fs Needed : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠWhether Ġto Ġrun ĠDirectory Project Configurator Ġif Ġa Ġnew Ġproject Ġor Ġno Ġmodules . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrun Configur ators : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrun Conversion Before Open : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠ Ġ@ Api Status . Internal ĊĠ Ġfun Ġwith Before Open Callback ( callback : ĠPredicate < Project >) Ġ= Ġcopy ( before Open Ġ= Ġ{ Ġcallback . test ( it ) Ġ}) ĊĊĠ Ġ@ Api Status . Internal ĊĠ Ġfun Ġwith ProjectName ( value : ĠString ?) Ġ= Ġcopy ( projectName Ġ= Ġvalue ) ĊĊĠ Ġ@ Api Status . Internal ĊĠ Ġfun Ġas New Project And Run Configur ators () Ġ= Ġcopy ( isNew Project Ġ= Ġtrue , Ġrun Configur ators Ġ= Ġtrue ) ĊĊĠ Ġ@ Api Status . Internal ĊĠ Ġfun Ġwith Run Configur ators () Ġ= Ġcopy ( run Configur ators Ġ= Ġtrue ) ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġnew Project ( run Configur ators : ĠBoolean Ġ= Ġfalse ): ĠOpen Project Task Ġ{ ĊĠĠĠĠĠ Ġreturn ĠOpen Project Task ( isNew Project Ġ= Ġtrue , Ġrun Configur ators Ġ= Ġrun Configur ators ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġnew Project And Run Configur ators ( project To Close : ĠProject ?, Ġis Refresh V fs Needed : ĠBoolean ): ĠOpen Project Task Ġ{ ĊĠĠĠĠĠ Ġreturn ĠOpen Project Task ( isNew Project Ġ= Ġtrue , Ġproject To Close Ġ= Ġproject To Close , Ġrun Configur ators Ġ= Ġtrue , Ġis Refresh V fs Needed Ġ= Ġis Refresh V fs Needed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġwith Project To Close ( project To Close : ĠProject ?, Ġforce Open In New Frame : ĠBoolean Ġ= Ġfalse ): ĠOpen Project Task Ġ{ ĊĠĠĠĠĠ Ġreturn ĠOpen Project Task ( project To Close Ġ= Ġproject To Close , Ġforce Open In New Frame Ġ= Ġforce Open In New Frame ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġwith Created Project ( project : ĠProject ?): ĠOpen Project Task Ġ{ ĊĠĠĠĠĠ Ġreturn ĠOpen Project Task ( project Ġ= Ġproject ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĠUsed Ġonly Ġby Ġ[ Project Util . open Or Import ] Ġ*/ ĊĠ Ġ@ Jvm Field ĊĠ Ġvar Ġcheck Directory For File Based Projects Ġ= Ġtrue Ċ }