wiki:BOOK_DESKTOP_R0
Last modified 16 years ago Last modified on 03/21/09 15:27:09

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=BOOK_DESKTOP_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

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.

SCENE_COMMONS_R0

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

source:/trunk/sophie2-platform/doc/spec-diagrams/BooksDesktop.png

  • 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

1796

Testing

Comments

(Write comments for this or later revisions here.)