[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.
|