Program design: Difference between revisions
From FreeMind
Jump to navigationJump to search
(Sections defined) |
mNo edit summary |
||
Line 10: | Line 10: | ||
==== MindMap ==== | ==== MindMap ==== | ||
==== MindMapNode ==== | ==== MindMapNode ==== | ||
===== Filtering ==== | ===== Filtering ===== | ||
==== Edge Models==== | ==== Edge Models==== | ||
==== Links ==== | ==== Links ==== | ||
Line 19: | Line 19: | ||
=== View === | === View === | ||
==== MapView ==== | |||
==== NodeView ==== | |||
===== Edges ===== | |||
===== Filtered Nodes ===== | |||
===== | ===== Attribute Table ===== | ||
===== | ===== Clouds ===== | ||
===== | ==== Link Views ==== | ||
==== | |||
==== Layout Managers ==== | ==== Layout Managers ==== | ||
Revision as of 10:19, 11 October 2007
This page describes the current program design.
Note: Someone should review this page every couple of versions and bring it up-to-date. This version of the page is based on the 0.9.0 code base.
Architecture Design
FreeMind is a Java application that uses the Java Swing library. The basic design is based on the Model-View-Controller model.
Model
MindMap
MindMapNode
Filtering
Edge Models
Links
Clouds
Atributes
Attribute Registry
Model Events
View
MapView
NodeView
Edges
Filtered Nodes
Attribute Table
Clouds
Link Views
Layout Managers
Controller
Modes
Actions
Undo Implementation
XML-Serialization
Listeners
Controller Events
Filter Controller
Configuration (Preferences)
Plug-Ins
GUI Design Principles
The purpose of FreeMind is to provide an easy-to-use Mind Mapping application. It is important to make the users experience with the program as easy, natural, and intuitive as possible. The interface should be uncluttered and easy to navigate.
Need more on this from people who know more about the program.