Version 15 (modified by dido, 16 years ago) (diff) |
---|
Analysis
Overview
Full screen mode shows the currently viewed document (usually it's a book) in full screen. It is useful for presentations.
There should be 2 full screens mode
- full screen - Preview that doesn't allow the user to edit the document. The application starts to act as reader in full screen. In this case application should announced the user how to exit full screen.
- full screen with tabs - Allows book editing in full screen mode, all flap and tabs and menus should present but in auto hide mode.
The full screens mode are triggered by the view menu or short keys. The short keys should be F5 for presentation full screen and F11 for edit full screen mode. These short keys should be listed after the buttons in the view menu.
User should be able to exit full screen mode with ESC key or by pressing the key that evoked the current full screen mode. Or in case of edit full screen he could use the view menu to do so.
When in edit mode and user wants to makes preview, the application goes to presentation mode.
Task requirements
- Create a prototype of these two states. Go as far as you can get with auto hide hide behavior of the components.
- Update the current design in this document. Don't leave it the same.
Task result
- The result should be code.
Implementation idea
- Create a View menu with 3 sub items normal, presentation and full screen. They should present not the names of the modes and the short keys for them. For normal mode is ESC key
- To announce the user how to exit presentation mode use small white label on black background that stands on the top of the screen and appears for few seconds. After it disappear it could be shown again via roll in this area. If possible add close button next to the label.
Related
How to demo
- Run Sophie2
- Create a book and go to presentation mode via short key
- Go back to normal mode again with short key
- Do the same with edit full screen mode
Design
- Create a boolean property fullScreenMode in MainWindow.
- (true = full screen mode, false = normal mode)
- Implement it in DefaultMainWindow.
- Create a &View menu in main.app.menus.
- Create a &Full Screen menu item in the View menu.
- Make the main window's JFrame in full screen when fullScreenMode is true
- In MDMainWindow.globalContainer modify the configureFrameSettings(JFrame gcf) method
- When fullScreenMode is true:
- use gcf.setUndecorated(true) to remove the window title bar, border and all other decorations
- resize it to screen's dimensions
- move it to the top left corner
- Hide/show the left and right flap
- ..............
- Hide/show the tab bar
- in DefaultDocumentsDesktop.swingComponent, setup method, add the tab bar only if fullScreenMode is false.
- Maximize current document's window and hide its title bar
- in DefaultDocumentWindow.swingComponent, setup method, set different settings for the JInternalFrame
- for full screen mode:
- res.setMaximum(true);
- res.setMaximizable(false);
- res.setIconifiable(false);
- res.setClosable(false);
- res.setResizable(false);
- Hide the title bar: ((BasicInternalFrameUI)res.getUI()).getNorthPane().setVisible(false);
- for full screen mode:
- in DefaultDocumentWindow.swingComponent, setup method, set different settings for the JInternalFrame
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
It will be nice to have zoom support in full screen mode while presenting.
Testers should test situations like these:
- Press the keyboard shortcut for full screen mode while dragging a frame.
- Press Alt+Tab in full screen mode.
Attachments
-
patch-fullscreen-test.patch
(20.7 KB) -
added by pap 16 years ago.
Patch for the design tests