<?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>Ryan Phelan &#187; FlexLib</title>
	<atom:link href="http://www.rphelan.com/tag/flexlib/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rphelan.com</link>
	<description>Exploring Flex, Design, and Visualization</description>
	<lastBuildDate>Thu, 12 Aug 2010 14:56:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Adding dock functionality to FlexMDI Part I</title>
		<link>http://www.rphelan.com/2008/03/09/adding-dock-functionality-to-flexmdi-part-i/</link>
		<comments>http://www.rphelan.com/2008/03/09/adding-dock-functionality-to-flexmdi-part-i/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 22:55:46 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[360Flex]]></category>
		<category><![CDATA[Custom Components]]></category>
		<category><![CDATA[FlexLib]]></category>
		<category><![CDATA[FlexMDI]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/archives/5</guid>
		<description><![CDATA[Ben Clinkinbeard gave a great presentation at 360&#124;Flex Atlanta about an open source project he's working on called FlexMDI (MDI stands for multiple document interface). I won't go into a lot of detail, but it's a really amazing windowing system (based on mx.controls.Panel) that has minimize, maximize, etc., and is fully resizable &#038; skinnable. I've [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.returnundefined.com/" target="_blank">Ben Clinkinbeard</a> gave a great presentation at <a href="http://www.360conferences.com/360flex/" target="_blank">360|Flex</a> Atlanta about an open source project he's working on called <a href="http://code.google.com/p/flexmdi/" title="FlexMDI" target="_blank">FlexMDI</a> (MDI stands for multiple document interface).   I won't go into a lot of detail, but it's a really amazing windowing system (based on mx.controls.Panel) that has minimize, maximize, etc., and is fully resizable & skinnable.   I've been working on a similar project, so I thought I'd see if I could combine them.</p>
<p><strong>Here's the plan:</strong><br />
My goal is to extend this library to support docking.  I'd like to take a cue from Adobe's CS3 product line, and enable three different types of docking:</p>
<ol>
<li>Dragging or resizing a window to within a certain distance of another will cause it to "snap" into alignment.</li>
<li>Dragging a window onto the bottom section of another will cause them to combine into a window stack that moves and resizes as a single unit.</li>
<li>Dragging a window onto the title bar of another window will create a single window with a tab bar at the top.</li>
</ol>
<p>To keep things simple, I'm tackling these one at a time.  Here's part I:</p>
<p><a href="http://www.rphelan.com/flex/flexMDI_dock_pt1/MDIExampleExplorer.html" target="_blank">Application</a> - <a href="http://www.rphelan.com/flex/flexMDI_dock_pt1/FlexMDI_dock_pt1.zip" target="_blank">Source</a></p>
<p>The FlexMDI guys have graciously accepted my offer to include this in a future update of <a href="http://code.google.com/p/flexlib/" target="_blank">FlexLib</a>, but the code will likely get refactored a bit first.  To illustrate the added functionality, I separated it out into two new classes: MDIDockCanvas and MDIDockManager.  These will probably end up getting merged back into the MDICanvas and MDIManager classes respectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2008/03/09/adding-dock-functionality-to-flexmdi-part-i/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

