blob: e8cf4d5bbf494fbd32bce2a10f25c8cb1a7716f6 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en">
<HEAD>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<TITLE>
Master/Details block
</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>
Master/Details block</H1>
<p align="left">Master/Details is a pattern used throughout the UI world. It
consists of a list or a tree ('master') and a set of properties ('details')
driven by the selection in the master. Eclipse Forms provide the implementation
of the pattern as a useful building block with the following properties:</p>
<ul>
<li>
<p align="left">While details part is created, master part factory method is
abstract and must be implemented by the subclass</p></li>
<li>
<p align="left">Master and details parts are children of the sash form and
the ratio of the form space allocated for each can be changed by moving the
sash.</p></li>
<li>
<p align="left">Through the nature of the sash form, master and details
parts can be organized horizontally or vertically in the form.</p></li>
</ul>
<p align="left">The idea of master/details block is to create a tree or a table
section that fires the selection notification via the managed form. If the
details part can handle the selected object, it should switch to the page for it
and display properties. When building on top of the provided master/details
block, subclasses should:</p>
<ul>
<li>
<p align="left">Create the master part (the one that drives the details)</p>
</li>
<li>
<p align="left">Contribute actions to the form tool bar (consumes
upper-right portion of the form in the title area)</p></li>
<li>
<p align="left">Register details pages, one for each distinct input that can
arrive from the master part</p></li>
</ul>
</BODY>
</HTML>