[Exmmt-commit] SF.net SVN: exmmt: [119] net.sourceforge.exmmt/trunk/src/java/net/ sourceforge/exmmt
Status: Inactive
Brought to you by:
lgrammel
From: <lgr...@us...> - 2006-10-12 18:39:23
|
Revision: 119 http://svn.sourceforge.net/exmmt/?rev=119&view=rev Author: lgrammel Date: 2006-10-12 11:39:19 -0700 (Thu, 12 Oct 2006) Log Message: ----------- #1500774 scenario "shopping list" Modified Paths: -------------- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultDrawArea.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultSizeCalculator.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/NewModelText.java Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultDrawArea.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultDrawArea.java 2006-10-12 18:17:30 UTC (rev 118) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultDrawArea.java 2006-10-12 18:39:19 UTC (rev 119) @@ -2,7 +2,9 @@ import net.sourceforge.exmmt.graphics.IDrawArea; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.Rectangle; public class DefaultDrawArea implements IDrawArea { @@ -40,7 +42,12 @@ } public void drawFocusRectangle(Rectangle size) { + Color color = new Color(gc.getDevice(), new RGB(128, 128, 255)); + Color oldBackground = gc.getBackground(); + gc.setBackground(color); + gc.fillRectangle(x, y, size.width, size.height); gc.drawRectangle(x, y, size.width, size.height); + gc.setBackground(oldBackground); } } \ No newline at end of file Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultSizeCalculator.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultSizeCalculator.java 2006-10-12 18:17:30 UTC (rev 118) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/DefaultSizeCalculator.java 2006-10-12 18:39:19 UTC (rev 119) @@ -19,9 +19,12 @@ public Rectangle calculateSize(String text) { TextLayout textLayout = new TextLayout(gc.getDevice()); + textLayout.setFont(gc.getFont()); textLayout.setText(text); return textLayout.getBounds(); + + // @tag todo.dispose: textlayout } } \ No newline at end of file Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/NewModelText.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/NewModelText.java 2006-10-12 18:17:30 UTC (rev 118) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/NewModelText.java 2006-10-12 18:39:19 UTC (rev 119) @@ -59,7 +59,7 @@ case SWT.KeyDown: handleKeyEvent(event); NewModelText.this.editor.control.redraw(); -// NewModelText.this.editor.handleKeyDown(event); + // NewModelText.this.editor.handleKeyDown(event); break; } } @@ -110,24 +110,29 @@ IDrawArea area = new DefaultDrawArea(gc); ISizeCalculator sizeCalculator = new DefaultSizeCalculator(gc); - // clean solution: method that gathers all the positions the focused - // element - // appears at - IRenderer focusedElementRenderer = focus.getFocusedElement() - .getRenderer(); IRenderer renderer = controller.getRenderer(); renderer.calculateSize(sizeCalculator); + + drawFocus(area, renderer); + renderer.render(area); + color.dispose(); + } + + private void drawFocus(IDrawArea area, IRenderer renderer) { + IRenderer focusedElementRenderer = focus.getFocusedElement() + .getRenderer(); List<Point> locations = renderer.getLocations(focusedElementRenderer); Rectangle size = focusedElementRenderer.getSize(); for (Point point : locations) { + int x = area.getX(); + int y = area.getY(); area.setPosition(point.x, point.y); area.drawFocusRectangle(size); + area.setPosition(x, y); } - - color.dispose(); } private Controller createController() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |