<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE401%3AGroup19%3AFeature%3ALibrary_toolbox</id>
	<title>SE401:Group19:Feature:Library toolbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE401%3AGroup19%3AFeature%3ALibrary_toolbox"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE401:Group19:Feature:Library_toolbox&amp;action=history"/>
	<updated>2026-04-29T16:36:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE401:Group19:Feature:Library_toolbox&amp;diff=10321&amp;oldid=prev</id>
		<title>Mark: 1 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE401:Group19:Feature:Library_toolbox&amp;diff=10321&amp;oldid=prev"/>
		<updated>2008-11-03T05:21:23Z</updated>

		<summary type="html">&lt;p&gt;1 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[SE401:Group19|◄ Back]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A common action which is performed within FBench is to add new function blocks to a function block diagram (such as a resource or application). Currently a tedious process is used to do this:&lt;br /&gt;
* The user right clicks.&lt;br /&gt;
* Selects &amp;quot;Add Function Block&amp;quot; from drop down menu.&lt;br /&gt;
* Enter a function block name.&lt;br /&gt;
* Browse for the function block type.&lt;br /&gt;
* Click Add.&lt;br /&gt;
&lt;br /&gt;
We want to offer an alternative:&lt;br /&gt;
* The user has access to a tree view of the function block library. This can be built into the UI, or as a separate window.&lt;br /&gt;
* From this tree view, the user can browse to the specific function blocks that they wish to add to the diagram.&lt;br /&gt;
* The user can simply drag and drop onto the diagram.&lt;br /&gt;
* FBench asks the user to enter a name, and they click Add.&lt;br /&gt;
&lt;br /&gt;
This has the following benefits:&lt;br /&gt;
* It does not take the user two clicks to bring up the Add Function Block dialog.&lt;br /&gt;
* The user does not have to browse to the function block type they want - this is specified by the drag action.&lt;br /&gt;
* The user can quickly create multiple blocks of the same type by dragging from the same place - the old system retains no memory of the previous block type(s) that were selected.&lt;br /&gt;
&lt;br /&gt;
==Development==&lt;br /&gt;
&lt;br /&gt;
A number of steps were taken to achieve this feature:&lt;br /&gt;
* A new subclass of JTree was created (ToolboxTree). This defines a custom node type which will populate from a given Directory, and a custom node renderer which applies icons to certain file types.&lt;br /&gt;
* A new menu item is added to open a new window containing a ToolboxTree element.&lt;br /&gt;
* fbench.graph.GraphViewTransfer is updated to cope with various GraphView types (FBNetwork, Resource), and open up the Add Function Block dialog when a function block type is dragged onto them.&lt;br /&gt;
* All parts of the system are linked together so that a drag and drop action from a ToolboxTree element triggers the GraphViewTransfer class and the user is prompted to provide a name for a new function block.&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>