Last modified 16 years ago
Last modified on 03/21/09 15:27:09
Analysis
Overview
The book desktop is an improvement of the workspace introduced in Sophie1. It is a work background but with the features of a book.
- Desktop covers the whole work area and can be overlapped by flaps.
- Desktop has its own resources which can be used in other books
- Resources can be dragged from and to books desktop
- Minimize all books shows the book desktop
- Probably timelines won't be needed in the book desktop
- Scrolling behavior will remain the same as in the other books - scrollbars where needed
- The Desktop book doesn't have it's own book window - it uses application window as a book desktop.
Task requirements
- Create the book desktop concept
- Document where it will be stored, how to be reset, etc
- Implement the Book Desktop
- A book that covers all of the workspace - The book window of the desktop should be with dynamic size and centered to the workspace.
- Probably autosaving on change should be present
- Scrollbar behavior - scrollbars are present if there is an element outside desktop window bounds.
Task result
The result of this task is code.
Implementation idea
- Create a book with changeable size
- The book must be with enabled autosaving
- Document where is it stored, etc.
Related
How to demo
- Open Sophie2
- Drag an empty frame to the Book Desktop
- Edit the frame
- Close Sophie2
- Open Sophie2 to demonstrate that the changes are applied to the book.
Design
- Overview
- The book desktop is the component that is behind all books that are open.
- The book desktop is a book with one page.
- The book desktop is the book that is current when all of the open books are not current.
- When it is clicked on the desktop, then the desktop becomes current.
- When the user inserts a frame, the frame appears on the current book.
- When the current book is the desktop, then all frames that are inserted appear on the desktop.
- The design
- DocumentView - Base class for desktop book view and book windows.
- DocumentWindow - Interface for document windows. DocumentWindow is a component that represent an open book (different from desktop book).
- DefaultDocumentWindow - Base DocumentWindow implementation.
- BookWindow - Contains common properties to BookDocumentWindow and BookDesktopWindow.
- BookDocumentWindow - The main implementation of the DocumentWindow.
- BookDesktopWindow - The component that represents the desktop book.
- A property desktopBook() in App class that represents the model of the book.
- A property desktopView() in AppDocumentsDesktop.
- Change DesktopPane class - from inheritance to composition of JDesktopPane.
Implementation
Testing
Comments
(Write comments for this or later revisions here.)