Changes between Version 58 and Version 59 of BOOK_WINDOW_R1
- Timestamp:
- 06/01/09 05:39:09 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BOOK_WINDOW_R1
v58 v59 116 116 Added a resourceProperty syncWindowSize to PageWorkArea which relies on its BookView windowSize property, if the parent is indeed a BookDocumentWindow. Set the page work area's scene's minimalVIewRect to the content area of the scroll area, which causes the page work area to size properly as well as center on the window. 117 117 118 Added actualViewRectCache to SceneVisual which is a property that is set to the actualViewRect whenever the actualViewRect changes. This allows a class interested in this to watch for changes and repaint. PageWorkArea currently utilizes this in actualViewRectCacheSync(). This is necessary (for now) to ensure the scene paints properly because the scene uses the swing coordinate system to actually lay out the objects (vs. a discreet offset type of property) so if you change the actualViewRect value during an event (and this happens every time you resize a page or frame) then the repaint code only draws the newly offset pixels and not the older bits that it doesn't know changed. See suggestions for future tasks in comments about this issue. 119 118 120 5. Define minimum size of the book window, so that scroll bars for the controls (bottom book panel) do not appear 121 122 Removed the bottomPanelScroll from BookDocumentWindow. Changed addButtons to calculate the maximumSize of the layout and use the width to set the minimumWidth on the window 119 123 120 124 == Unit Tests == … … 144 148 2. Currently, when part of the book window is behind the right flap ot the bottom of the workspace, it disappears on maximize. See what causes that issue and fix it. 145 149 6. Make the background of the window changable by the skin (optional) 150 151 -- Suggestions for future tasks -- 152 153 * Change SimpleSceneVisual to not just rely on the coordinate system being offset to actually do the math to figure out where things are. This causes all sorts of redraw issues and is evident even before this task's changes (click and drag in the page work area of alpha 1, for example) Swing only repaints what it thinks is dirty (optimization) so if the coordinate system changes during an event, then things do not get repainted properly. Either this needs to change, or we need to rethink how scenes communicate with those classes displaying scenes to ensure everything gets updated properly. We just need a better coordinate system for scenes vs relying on offsetting the swing coordinates.