Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorkgilmer2006-03-12 20:47:51 +0000
committerkgilmer2006-03-12 20:47:51 +0000
commit79b3057e4bbe94f8ad64b60611507bf51a7813a3 (patch)
tree399189a8439e193084de8f2079ce432fadbc7902 /doc
parent4a095b61160274cc3919558d4d4df1541c7bb90b (diff)
downloadorg.eclipse.ecf-79b3057e4bbe94f8ad64b60611507bf51a7813a3.tar.gz
org.eclipse.ecf-79b3057e4bbe94f8ad64b60611507bf51a7813a3.tar.xz
org.eclipse.ecf-79b3057e4bbe94f8ad64b60611507bf51a7813a3.zip
Toolbox
Diffstat (limited to 'doc')
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/AbstractTool.java62
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Box.java72
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/DrawSettings.java53
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Line.java72
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ListContentProvider.java20
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Oval.java72
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Pencil.java65
-rw-r--r--doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ToolboxLabelProvider.java38
8 files changed, 454 insertions, 0 deletions
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/AbstractTool.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/AbstractTool.java
new file mode 100644
index 000000000..b60ac67ad
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/AbstractTool.java
@@ -0,0 +1,62 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import java.io.Serializable;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+
+abstract public class AbstractTool implements Serializable {
+ protected int startX, startY, endX, endY;
+
+ protected boolean penDown = false;
+
+ protected boolean isComplete = false;
+
+ protected DrawSettings drawSettings;
+/*
+ public void setCoordinates(int startX, int startY, int endX, int endY) {
+ this.startX = startX;
+ this.startY = startY;
+ this.endX = endX;
+ this.endY = endY;
+ } */
+
+ abstract public String getName();
+
+ abstract public Image getImage();
+
+ abstract public void draw(final Canvas canvas);
+
+ abstract public void handleUIEvent(Event event, Canvas canvas);
+
+ protected void setupGC(GC gc) {
+ gc.setLineWidth(drawSettings.getPenWidth());
+ if (drawSettings.isAntialias()) {
+ gc.setAntialias(SWT.ON);
+ } else {
+ gc.setAntialias(SWT.OFF);
+ }
+
+ }
+
+ public boolean isPenDown() {
+ return penDown;
+ }
+
+ public boolean isComplete() {
+ return isComplete;
+ }
+
+ public void setComplete(boolean b) {
+ isComplete = b;
+ }
+
+ public void setDrawSettings(DrawSettings drawSettings) {
+ this.drawSettings = drawSettings;
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Box.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Box.java
new file mode 100644
index 000000000..da79faa78
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Box.java
@@ -0,0 +1,72 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+
+public class Box extends AbstractTool {
+
+ private static final long serialVersionUID = -165859440014182966L;
+
+ //private boolean dragging = false;
+
+ private boolean dragging = false;
+
+ public String getName() {
+ return "Box";
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
+ public void draw(final Canvas canvas) {
+ Display display = canvas.getDisplay();
+
+ display.asyncExec(new Runnable() {
+ public void run() {
+ GC gc = new GC(canvas);
+ setupGC(gc);
+ // gc.setForeground(new Color(display,new RGB(128,128,128)));
+ gc.drawRectangle(startX, startY, endX - startX, endY - startY);
+ gc.dispose();
+ }
+ });
+
+ }
+
+ public void handleUIEvent(Event event, Canvas canvas) {
+ switch (event.type) {
+ case SWT.MouseUp:
+ draw(canvas);
+ penDown = false;
+ dragging = false;
+ isComplete = true;
+ break;
+ case SWT.MouseMove:
+ if (dragging) {
+
+ endX = event.x;
+ endY = event.y;
+
+ penDown = true;
+ }
+ break;
+ case SWT.MouseDown:
+ if (!dragging) {
+ startX = event.x;
+ startY = event.y;
+ dragging = true;
+ isComplete = false;
+ }
+ break;
+ }
+
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/DrawSettings.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/DrawSettings.java
new file mode 100644
index 000000000..0db3cb7c2
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/DrawSettings.java
@@ -0,0 +1,53 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import java.io.Serializable;
+
+import org.eclipse.swt.graphics.RGB;
+
+public class DrawSettings implements Serializable {
+ private int penWidth;
+
+ private RGB backgroundColor;
+
+ private RGB forgroundColor;
+
+ private boolean isAntialaised;
+
+ public DrawSettings() {
+ penWidth = 1;
+ backgroundColor = new RGB(255, 255, 255);
+ forgroundColor = new RGB(0, 0, 0);
+ }
+
+ public RGB getBackgroundColor() {
+ return backgroundColor;
+ }
+
+ public void setBackgroundColor(RGB backgroundColor) {
+ this.backgroundColor = backgroundColor;
+ }
+
+ public RGB getForgroundColor() {
+ return forgroundColor;
+ }
+
+ public void setForgroundColor(RGB forgroundColor) {
+ this.forgroundColor = forgroundColor;
+ }
+
+ public int getPenWidth() {
+ return penWidth;
+ }
+
+ public void setPenWidth(int penWidth) {
+ this.penWidth = penWidth;
+ }
+
+ public boolean isAntialias() {
+ return isAntialaised;
+ }
+
+ public void setAntialias(boolean isAntialaised) {
+ this.isAntialaised = isAntialaised;
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Line.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Line.java
new file mode 100644
index 000000000..596743c31
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Line.java
@@ -0,0 +1,72 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+
+public class Line extends AbstractTool {
+
+ private static final long serialVersionUID = -165859440014182966L;
+
+ //private boolean dragging = false;
+
+ private boolean dragging = false;
+
+ public String getName() {
+ return "Line";
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
+ public void draw(final Canvas canvas) {
+ Display display = canvas.getDisplay();
+
+ display.asyncExec(new Runnable() {
+ public void run() {
+ GC gc = new GC(canvas);
+ setupGC(gc);
+ // gc.setForeground(new Color(display,new RGB(128,128,128)));
+ gc.drawLine(startX, startY, endX, endY);
+ gc.dispose();
+ }
+ });
+
+ }
+
+ public void handleUIEvent(Event event, Canvas canvas) {
+ switch (event.type) {
+ case SWT.MouseUp:
+ draw(canvas);
+ penDown = false;
+ dragging = false;
+ isComplete = true;
+ break;
+ case SWT.MouseMove:
+ if (dragging) {
+
+ endX = event.x;
+ endY = event.y;
+
+ penDown = true;
+ }
+ break;
+ case SWT.MouseDown:
+ if (!dragging) {
+ startX = event.x;
+ startY = event.y;
+ dragging = true;
+ isComplete = false;
+ }
+ break;
+ }
+
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ListContentProvider.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ListContentProvider.java
new file mode 100644
index 000000000..92ba620c1
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ListContentProvider.java
@@ -0,0 +1,20 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import java.util.List;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+public class ListContentProvider implements IStructuredContentProvider {
+
+ public Object[] getElements(Object inputElement) {
+
+ return ((List)inputElement).toArray();
+ }
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Oval.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Oval.java
new file mode 100644
index 000000000..badf7ed2f
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Oval.java
@@ -0,0 +1,72 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+
+public class Oval extends AbstractTool {
+
+ private static final long serialVersionUID = -165859440014182966L;
+
+ //private boolean dragging = false;
+
+ private boolean dragging = false;
+
+ public String getName() {
+ return "Oval";
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
+ public void draw(final Canvas canvas) {
+ Display display = canvas.getDisplay();
+
+ display.asyncExec(new Runnable() {
+ public void run() {
+ GC gc = new GC(canvas);
+ setupGC(gc);
+ // gc.setForeground(new Color(display,new RGB(128,128,128)));
+ gc.drawOval(startX, startY, endX - startX, endY - startY);
+ gc.dispose();
+ }
+ });
+
+ }
+
+ public void handleUIEvent(Event event, Canvas canvas) {
+ switch (event.type) {
+ case SWT.MouseUp:
+ draw(canvas);
+ penDown = false;
+ dragging = false;
+ isComplete = true;
+ break;
+ case SWT.MouseMove:
+ if (dragging) {
+
+ endX = event.x;
+ endY = event.y;
+
+ penDown = true;
+ }
+ break;
+ case SWT.MouseDown:
+ if (!dragging) {
+ startX = event.x;
+ startY = event.y;
+ dragging = true;
+ isComplete = false;
+ }
+ break;
+ }
+
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Pencil.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Pencil.java
new file mode 100644
index 000000000..527a799e1
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/Pencil.java
@@ -0,0 +1,65 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+
+
+public class Pencil extends AbstractTool {
+ private static final long serialVersionUID = -111458978163259455L;
+ private static int lastX;
+ private static int lastY;
+
+ public Pencil() {
+ isComplete = true;
+ }
+
+ public String getName() {
+ return "Pencil";
+ }
+
+ public Image getImage() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void draw(final Canvas canvas) {
+ Display display = canvas.getDisplay();
+
+ display.asyncExec(new Runnable() {
+ public void run() {
+ GC gc = new GC(canvas);
+ setupGC(gc);
+ //gc.setForeground(new Color(display,new RGB(128,128,128)));
+ gc.drawLine(endX, endY, startX, startY);
+ gc.dispose();
+ }});
+ }
+
+ public void handleUIEvent(Event event, Canvas canvas) {
+
+
+ switch (event.type) {
+ case SWT.MouseMove:
+ if ((event.stateMask & SWT.BUTTON1) == 0) break;
+
+ startX = event.x;
+ startY = event.y;
+ endX = lastX;
+ endY = lastY;
+ isComplete = true;
+ draw(canvas);
+ case SWT.MouseDown:
+ lastX = event.x;
+ lastY = event.y;
+ penDown = true;
+ break;
+ case SWT.MouseUp:
+ penDown = false;
+ }
+
+ }
+}
diff --git a/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ToolboxLabelProvider.java b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ToolboxLabelProvider.java
new file mode 100644
index 000000000..e82cb918d
--- /dev/null
+++ b/doc/bundles/org.eclipse.ecf.tutorial/src/org/eclipse/ecf/tutorial/scribbleshare/toolbox/ToolboxLabelProvider.java
@@ -0,0 +1,38 @@
+package org.eclipse.ecf.tutorial.scribbleshare.toolbox;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+public class ToolboxLabelProvider implements ITableLabelProvider {
+
+ public Image getColumnImage(Object element, int columnIndex) {
+ if (element instanceof AbstractTool) {
+ return ((AbstractTool)element).getImage();
+ }
+ return null;
+ }
+
+ public String getColumnText(Object element, int columnIndex) {
+ if (element instanceof AbstractTool) {
+ return ((AbstractTool)element).getName();
+ }
+ return "[UNKNOWN TYPE IN LABEL PROVIDER: " + element.getClass().toString() + "]";
+ }
+
+ public void addListener(ILabelProviderListener listener) {
+ }
+
+ public void dispose() {
+ }
+
+ public boolean isLabelProperty(Object element, String property) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener listener) {
+ }
+
+}

Back to the top