<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GhoUl &#187; view</title>
	<atom:link href="http://cubussapiens.hu/tag/view/feed/" rel="self" type="application/rss+xml" />
	<link>http://cubussapiens.hu</link>
	<description>A Cubus Sapiens oldal</description>
	<lastBuildDate>Sat, 14 Jan 2012 23:33:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Kiválasztás átvitele eclipse nézetek között</title>
		<link>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/</link>
		<comments>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:05:15 +0000</pubDate>
		<dc:creator>Balage</dc:creator>
				<category><![CDATA[Fejlesztés]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Érdekes problémákba ütközik az ember, ha eclipse környékén fejleszt. Ezek nagyrészét ugyan már megoldották, de a megoldást külön művészet megtalálni a tengernyi dokumentációban. Mindenesetre legalább dokumentálták. A probléma, amiben pár napja az örömömet leltem, az az, hogy hogyan lehet egy nézet által kiválasztott elemeket átadni egy másik nézetnek, ami természetesen hasonló modell felett dolgozik. Konkrétan a <a href="http://code.google.com/p/debugvisualisation/">Debug Visualisation</a> projektem által definiált nézetet akartam <a href="http://code.google.com/p/debugvisualisation/issues/detail?id=12&#038;can=1">összekötni</a> a Variables View-vel és vice-versa.
 <a href="http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Érdekes problémákba ütközik az ember, ha eclipse környékén fejleszt. Ezek nagyrészét ugyan már megoldották, de a megoldást külön művészet megtalálni a tengernyi dokumentációban. Mindenesetre legalább dokumentálták. A probléma, amiben pár napja az örömömet leltem, az az, hogy hogyan lehet egy nézet által kiválasztott elemeket átadni egy másik nézetnek, ami természetesen hasonló modell felett dolgozik. Konkrétan a <a href="http://code.google.com/p/debugvisualisation/">Debug Visualisation</a> projektem által definiált nézetet akartam <a href="http://code.google.com/p/debugvisualisation/issues/detail?id=12&amp;can=1">összekötni</a> a Variables View-vel és vice-versa.</p>
<p>Pár óra keresgélés és javadoc olvasgatás után rábukkantam a megoldásra: Minden view-t tartalmazó IWorkbenchPartSite lehetőséget biztosít egy ISelectionProvider regisztrálására, amely interfészt ad kiválasztási információk kinyerésére és átadására, továbbá listener-ek regisztrálására. A másik, csatlakoztatni kívánt view által megadott ISelectionProvider-nek az általunk generált kiválasztási eseményeket át lehet adni, illetve figyelni lehet az általa generált ilyen eseményeket.</p>
<p>A problémát csak az okoz, hogy egy adott view által generált és elfogadott kiválasztandó elemek az adott view modelljéből kerül ki, tehát ugyanezen modell elemeit kell neki átadni. Ha az általunk írt view más modellen, vagy ugyanazon modell felett máshogy definiálja a kiválasztást, akkor a kiválasztást konvertálni kell a modellek között. Ez természetesen csak akkor oldható meg, ha egyáltalán értelmezhető a közös kiválasztás.</p>
<p>Mindehhez persze az első lépés az, hogy megtaláljuk a csatlakoztatni kivánt view-t, amit az azonosítójának ismeretében tehetünk meg a következő módon:</p>
<p><code lang="java"><br />
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(viewID).getSite().getSelectionProvider();<br />
</code></p>
<p>ahol a [cci_java]viewID[/cci_java] helyére a keresett view szöveges azonosítóját kell megadni. A Variables View azonosítóját az org.eclipse.debug.ui plugin egy [cci_java]IDebugUIConstants[/cci_java] nevű publikus interfész elérhetővé teszi.</p>
<p>Mint az eclipse esetében általában erre problémára is egy jól kitalált megoldás létezik, ami megfelelően egyszerű ahhoz, hogy a módszer ismeretében könnyű legyen implementálni, a nehézséget csak a módszer megtalálása jelenti.</p>]]></content:encoded>
			<wfw:commentRss>http://cubussapiens.hu/2009/06/kivalasztas-atvitele-eclipse-nezetek-kozott/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

