package Ġde . u ul m . se . co uched it . client . controller . canvas . ge f . operation Ċ Ċ import Ġde . u ul m . se . co uched it . client . controller . canvas . ge f . part . Text Edit Mode Part Ċ import Ġorg . eclipse . core . commands . operations . Abstract Operation Ċ import Ġorg . eclipse . core . runtime . I Ad ap table Ċ import Ġorg . eclipse . core . runtime . I Progress Monitor Ċ import Ġorg . eclipse . core . runtime . I Status Ċ import Ġorg . eclipse . core . runtime . Status Ċ import Ġorg . eclipse . ge f . mvc . fx . operations . IT rans action al Operation Ċ Ċ /** Ċ Ġ* ĠOperation Ġthat Ġis Ġexecuted Ġwhenever Ġthe Ġtext Ġof Ġa Ġ[ Label ] Ġchanges . Ċ Ġ*/ Ċ internal Ġclass ĠCommit Text Operation ( internal Ġval Ġpart : ĠText Edit Mode Part <* >) Ġ: ĠAbstract Operation (" Change Ġtext Ġof Ġ\" ${ part . text }\ "" ), ĠI Transactional Operation Ġ{ ĊĠĠĠ Ġval Ġinitial Text Ġ= Ġpart . text ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTrack s Ġthe Ġcurrently Ġedited Ġtext Ġwhile Ġthe Ġedit Ġoperation Ġis Ġstill Ġin Ġprogress ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġstaging Text Ġ= Ġpart . staging Text Property ĊĊĠĠĠ Ġvar Ġfinal Text Ġ= Ġpart . text ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( p 0 : ĠI Progress Monitor ?, Ġp 1 : ĠI Ad ap table ?): ĠI Status Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . final Text Ġ= Ġpart . stop Editing () ĊĊĠĠĠĠĠĠĠ Ġpart . text Ġ= Ġthis . final Text ĊĊĠĠĠĠĠĠĠ Ġreturn ĠStatus . OK _ STATUS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġredo ( p 0 : ĠI Progress Monitor ?, Ġp 1 : ĠI Ad ap table ?): ĠI Status Ġ{ ĊĠĠĠĠĠĠĠ Ġpart . text Ġ= Ġthis . final Text ĊĊĠĠĠĠĠĠĠ Ġreturn ĠStatus . OK _ STATUS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġundo ( p 0 : ĠI Progress Monitor ?, Ġp 1 : ĠI Ad ap table ?): ĠI Status Ġ{ ĊĠĠĠĠĠĠĠ Ġpart . text Ġ= Ġthis . initial Text ĊĊĠĠĠĠĠĠĠ Ġreturn ĠStatus . OK _ STATUS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis No Op (): ĠBoolean Ġ= Ġthis . staging Text . value Ġ== Ġinitial Text ĊĊĠĠĠ Ġoverride Ġfun Ġis Content Re levant (): ĠBoolean Ġ= Ġtrue Ċ } Ċ