<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Kiválasztás átvitele eclipse nézetek között</title>
	<atom:link href="http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/feed/" rel="self" type="application/rss+xml" />
	<link>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/</link>
	<description>A Cubus Sapiens oldal</description>
	<lastBuildDate>Thu, 10 May 2012 13:13:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Stampie</title>
		<link>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/comment-page-1/#comment-150</link>
		<dc:creator>Stampie</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-150</guid>
		<description>Szerencsére a megoldás eléggé általános. A selectionProvider() az összes JFace providerrel működik. Sőt, ha közös adatmodellen futnak, akkor lehet közös providert is használni.

Egy csúnya megjegyzés még a dologról: ha így írod meg a kódot, akkor elég vad dolgok kijöhetnek. Egyrészt a hosszú sor nehezen olvasható, másfelől különböző hibakezelés. Pl. valahol menet közben NullPointerException jöhet, oda kell figyelni, hogy a UI threadből hívjuk ezt a dolgot, meg ilyenek. Érdemes egy kicsit megtördelni.

Ne vedd a szívedre, csak azért szólok, nem oltani akarlak, csak szólok, mert szívtam ilyenekkel. :D</description>
		<content:encoded><![CDATA[<p>Szerencsére a megoldás eléggé általános. A selectionProvider() az összes JFace providerrel működik. Sőt, ha közös adatmodellen futnak, akkor lehet közös providert is használni.</p>
<p>Egy csúnya megjegyzés még a dologról: ha így írod meg a kódot, akkor elég vad dolgok kijöhetnek. Egyrészt a hosszú sor nehezen olvasható, másfelől különböző hibakezelés. Pl. valahol menet közben NullPointerException jöhet, oda kell figyelni, hogy a UI threadből hívjuk ezt a dolgot, meg ilyenek. Érdemes egy kicsit megtördelni.</p>
<p>Ne vedd a szívedre, csak azért szólok, nem oltani akarlak, csak szólok, mert szívtam ilyenekkel. <img src='http://cubussapiens.hu/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Balage</title>
		<link>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/comment-page-1/#comment-151</link>
		<dc:creator>Balage</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-151</guid>
		<description>Természetesen a kód környezetében ellenőrzöm a nullpointer exception-t, és ha az ember jól átgondolja, csak kevés esetben dobhat ilyet. Az nem nagy feltételezés (miután valaki inicializálta az általunk írt view-t), hogy létezik a platform, annak egy ablaka (workbench), amin egy lap aktív (activePage). Utánna már a findView() természetesen bukhat, amennyiben nincs az adott lapon ilyen view. Viszont ha van, ahhoz mindenképpen hozzá van rendelve egy IWorkbenchPartSite, ami tartalmazza azt. A végén pedig csak azt kell ellenőrizni, hogy a selection provider létezik-e. 

Tényleg nehezen olvasható, de ha minden lépésben kirakom a részeredményt egy változóba, azon végrehajtva sanity-check-et, szvsz sokkal terjedelmesebb, és még nehezebben áttekinthetőbb kódot kapok, mintha a végén ellenőrzöm, h dobott-e kivételt és értelmes eredményt adott-e.

Egy dologra viszont valóban nem gondoltam. Azt szépen megoldottam, hogy ha a view inicializálásakor nem találja a variables view-t (mert teszem azt nincs éppen kirakva a debug perspektívára), akkor bizonyos eseményekre újra megpróbálja megkeresni. De ha a felhasználó időközben bezárja azt, akkor a kódom egy gyönyörű widgetDisposed kivételt dob.</description>
		<content:encoded><![CDATA[<p>Természetesen a kód környezetében ellenőrzöm a nullpointer exception-t, és ha az ember jól átgondolja, csak kevés esetben dobhat ilyet. Az nem nagy feltételezés (miután valaki inicializálta az általunk írt view-t), hogy létezik a platform, annak egy ablaka (workbench), amin egy lap aktív (activePage). Utánna már a findView() természetesen bukhat, amennyiben nincs az adott lapon ilyen view. Viszont ha van, ahhoz mindenképpen hozzá van rendelve egy IWorkbenchPartSite, ami tartalmazza azt. A végén pedig csak azt kell ellenőrizni, hogy a selection provider létezik-e. </p>
<p>Tényleg nehezen olvasható, de ha minden lépésben kirakom a részeredményt egy változóba, azon végrehajtva sanity-check-et, szvsz sokkal terjedelmesebb, és még nehezebben áttekinthetőbb kódot kapok, mintha a végén ellenőrzöm, h dobott-e kivételt és értelmes eredményt adott-e.</p>
<p>Egy dologra viszont valóban nem gondoltam. Azt szépen megoldottam, hogy ha a view inicializálásakor nem találja a variables view-t (mert teszem azt nincs éppen kirakva a debug perspektívára), akkor bizonyos eseményekre újra megpróbálja megkeresni. De ha a felhasználó időközben bezárja azt, akkor a kódom egy gyönyörű widgetDisposed kivételt dob.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stampie</title>
		<link>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/comment-page-1/#comment-152</link>
		<dc:creator>Stampie</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-152</guid>
		<description>Én sem arra gondoltam, hogy mindegyiket külön.

De pl. jó ötlet lehet a View-t kirakni egy változóba, és meggyőződni róla, hogy az tényleg létezik-e, megjelent-e. (Esetleg, ha nem, akkor meg lehet jeleníteni, de ez feladatfüggő. :D)

És azzal azért nagyjából megfelezted a dolgot, és a tipikus hibahelynél szakítod meg a láncot.</description>
		<content:encoded><![CDATA[<p>Én sem arra gondoltam, hogy mindegyiket külön.</p>
<p>De pl. jó ötlet lehet a View-t kirakni egy változóba, és meggyőződni róla, hogy az tényleg létezik-e, megjelent-e. (Esetleg, ha nem, akkor meg lehet jeleníteni, de ez feladatfüggő. <img src='http://cubussapiens.hu/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<p>És azzal azért nagyjából megfelezted a dolgot, és a tipikus hibahelynél szakítod meg a láncot.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

