Přijde mi, že si nerozumíme. Každý nově vytvořený projekt v Eclipsu má
nad soubory v projektu standardní akci open, která otevře soubor v
editoru. Uživatele dvojklepne a soubor se otevře dle nastavení Eclipse.
To vše mi zajistí platforma, nemusím nic vytvářet. Mně jde o to, jak
zachytit tuto akci open a provést při té příležitosti vlastní kus kódu
či jak celou tuto akci překrýt tak, abych si to mohl napsat sám. Znovu
podotýkám, že tuto akci iniciuje uživatel dvojklepnutím na soubor, takže
se nejedná o mnou otevíraný soubor.
Nevím, jak mi v zachycení této události mohou pomoci třídy IFile, IPath
a IPathEditorInput. Otevřít soubor v editoru umím, jde mi čistě o
zachycení události otevření či její překrytí.
Hezký den
Pavel Cvrček
Lukas Zapletal wrote:
IFile, IPath, IPathEditorInput
4.7.07, Pavel Cvrček <[EMAIL PROTECTED]>:
Zdravíčko,
tak trochu navážu na uplynulý CZJug s jedním dotazem. Poměrně nedávno
jsem pracoval na pluginu pro platformu Eclipse, jehož cílem bylo
zpřístupnit správu repository OpenCMS z Eclipsu. V praxi jsem to řešil
přidáním nového typu projektu do platformy přes extension point
org.eclipse.ui.newWizards.
Po provedení synchronizace nově vytvořeného projektu s repository jsem
narazil na problém, jak provést akci při otevření souboru uživatelem z
projektu. Potřeboval jsem před otevřením provést uzamčení souboru v
repository. Našel jsem v API info o EFS (Eclipse File System), což mě
navedlo na vytváření linků k jednotlivým resourcům (metoda createLink()
u IFolder či IFile). Řešení funkční, ale bohužel při velikosti
repository (stovky, tisíce souborů) trvá podobné prolinkování všech
souborů projektu i několik desítek minut.
Můj dotaz zní, zda náhodou někdo neví, jak v platformě Eclipse zachytit
událost otevření souboru z projektu uživatelem a jak při té příležitosti
provést vlastní akci. Oficiální anglické support kanály mě zklamaly, tak
to zkouším i tady. Třeba někdo bude vědět a "nakopne mě".