[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/...
From: |
Matti Katila |
Subject: |
[Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/... |
Date: |
Mon, 19 May 2003 03:20:08 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Matti Katila <address@hidden> 03/05/19 03:20:08
Modified files:
org/fenfire/demo: buoyoing.py
org/fenfire/view/buoy: AbstractMainNode2D.java
org/fenfire/view/lava: FenPDFContext.java
Log message:
context
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/FenPDFContext.java.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.51
fenfire/org/fenfire/demo/buoyoing.py:1.52
--- fenfire/org/fenfire/demo/buoyoing.py:1.51 Fri May 16 11:13:16 2003
+++ fenfire/org/fenfire/demo/buoyoing.py Mon May 19 03:20:08 2003
@@ -117,6 +117,7 @@
ff.view.buoy.NodeType2DFull.effigy = 0
context = ff.view.lava.FenPDFContext(fen, ppAct, nodeview)
+context.initMainNodes(2)
nodeview.setContext(context)
textnodeview.setContext(context)
context.setAccursed(noteA1)
@@ -235,7 +236,7 @@
def __init__(self):
vob.buoy.buoymanager.MultiBuoyManager.__init__(self,
[mainNode, mainNode2], [ppconnector, tconnector],
- DoubleGeometer())
+ DoubleGeometer(), context)
currentScene = Scene()
Index: fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java
diff -u fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.14
fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.15
--- fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java:1.14 Fri May 16
07:12:11 2003
+++ fenfire/org/fenfire/view/buoy/AbstractMainNode2D.java Mon May 19
03:20:08 2003
@@ -72,10 +72,6 @@
void mainNodeToBeRender(VobScene vs, int into,
AbstractMainNode2D main);
}
- public interface DoMouse {
- boolean doMouse(MouseEvent e, VobScene oldVobScene,
- AbstractMainNode2D main);
- }
/** Cause the changes to the zooming and panning variables
* to be shown in the given vobscene.
@@ -159,8 +155,6 @@
}
protected boolean doMouse(MouseEvent e, VobScene oldVobScene) {
- if (context.doMouse(e, oldVobScene, this)) return false;
-
// Move by dragging with button 1
if(m_state[2] == e.BUTTON1_MASK &&
e.getID() == MouseEvent.MOUSE_DRAGGED) {
Index: fenfire/org/fenfire/view/lava/FenPDFContext.java
diff -u fenfire/org/fenfire/view/lava/FenPDFContext.java:1.13
fenfire/org/fenfire/view/lava/FenPDFContext.java:1.14
--- fenfire/org/fenfire/view/lava/FenPDFContext.java:1.13 Fri May 16
08:14:34 2003
+++ fenfire/org/fenfire/view/lava/FenPDFContext.java Mon May 19 03:20:08 2003
@@ -19,14 +19,14 @@
import org.nongnu.libvob.*;
import org.nongnu.libvob.vobs.*;
import java.awt.event.MouseEvent;
+import java.awt.Color;
/** FenPDF context what handles keystrokes and
* accursed node at least.
*/
public class FenPDFContext implements
ContextNodeView.Context,
- AbstractMainNode2D.Render,
- AbstractMainNode2D.DoMouse
+ AbstractMainNode2D.Render
{
public static boolean dbg = false;
private static void p(String s) { System.out.println("FenPDFContext::
"+s); }
@@ -43,19 +43,48 @@
}
- private int cursorOffset = -1;
- public void setCursorOffset(int offset) { cursorOffset = offset; }
- private Object accursed = null, toBeLinked = null;
+ // current main node nro.
+ private int CURR = 0;
+ public void initMainNodes(int count) {
+ if (cursorOffset != null &&
+ cursorOffset.length == count) return;
+ cursorOffset = new int[count];
+ accursedColor = new Color[]{ Color.red, Color.blue,
+ Color.yellow, Color.white};
+ accursed = new Object[count];
+ for (int i=0; i<count; i++) {
+ cursorOffset[i] = 0;
+ }
+ }
+ public void setMainNodeIndex(int index) {
+ CURR = index;
+ if (dbg) p("set current: "+index);
+ }
+
+
+ private Color accursedColor[] = null;
+
+ private int cursorOffset[] = null;
+ public void setCursorOffset(int offset) { cursorOffset[CURR] = offset; }
+
+ private Object[] accursed = null;
public void setAccursed(Object node) {
- accursed=node;
- cursorOffset = 0;
+ accursed[CURR] = node;
+ cursorOffset[CURR] = 0;
}
+ private boolean isAccursed(Object node) {
+ for (int i=0; i<accursed.length; i++) {
+ if (accursed[i] == node) return true;
+ }
+ return false;
+ }
+
/** call back from ContextNodeView */
public void isCurrent(Object node, ContextNodeView nv) {
- if (node==accursed) {
+ if (isAccursed(node)) {
nv.setUnCached();
} else {
nv.setCached();
@@ -64,10 +93,25 @@
/** call back from RSTText */
public void isToBePlaced(Object node, TextHandler text) {
- if (dbg) p("n"+node+" == "+accursed);
- if (node==accursed) {
- text.setColor(java.awt.Color.red);
- text.setCursorOffset(cursorOffset);
+ if (dbg) p("n"+node+" == "+accursed[CURR]);
+
+ if (isAccursed(node)) {
+ float count=0;
+ float r = 0, g = 0, b = 0;
+ for (int i=0; i<accursed.length; i++) {
+ if (accursed[i]==node) {
+ r += accursedColor[i].getRed();
+ g += accursedColor[i].getGreen();
+ b += accursedColor[i].getBlue();
+ count++;
+ }
+ }
+ r /= count;
+ g /= count;
+ b /= count;
+ //p("colo: " +r+" "+g+" "+b);
+ text.setColor(new Color(r/255,g/255,b/255));
+ text.setCursorOffset(cursorOffset[CURR]);
} else {
text.setColor(java.awt.Color.black);
text.setCursorOffset(-1);
@@ -76,10 +120,7 @@
private boolean cursor = false;
- private boolean leftLink = false;
- private boolean rigthLink = false;
- private boolean setOrigin = false;
- private boolean unSetOrigin = false;
+ private boolean link = false;
/** call back from AbstractMainNodeView2D */
public void mainNodeToBeRender(VobScene vs, int into,
@@ -87,44 +128,30 @@
{
// first set everything to false
cursor = false;
- leftLink = false;
- rigthLink = false;
- setOrigin = false;
- unSetOrigin = false;
+ link = false;
// if in canvas
if (main instanceof MainNode2D) {
// what to do if accursed is NULL?
- if (accursed==null) {
+ if (accursed[CURR]==null) {
if (main instanceof MainNode2D)
cursor = true;
// fishey doesn't need cursor (currently)
}
- // and what to do if accursed is choosed?
- else {
- if (toBeLinked == null) setOrigin = true;
- if (toBeLinked != null) unSetOrigin = true;
-
- if (toBeLinked != accursed) {
- setOrigin = true;
-
- // and if link from has been choosed?
- if (toBeLinked != null) {
- leftLink = true;
- rigthLink = true;
- }
- }
- }
+ if (accursed.length >= 2) {
+ if (accursed[0] != accursed[1] &&
+ accursed[0] != null &&
+ accursed[1] != null) link = true;
+ }
}
//render!
- renderContext(vs, into, main);
+ renderMain(vs, into, main);
}
- private void renderContext(VobScene vs, int into,
+ private void renderMain(VobScene vs, int into,
AbstractMainNode2D main)
- {
-
+ {
if (cursor) {
float tmp[] = new float[2];
vs.coords.getSqSize(into, tmp);
@@ -132,73 +159,57 @@
tmp[0]/2, tmp[1]/2, 1,1, tmp[0]/12,
tmp[1]/12);
vs.put(new LineVob(0,0,0,1, java.awt.Color.darkGray), cursor);
}
+ }
- Button b_always = new Button(vs, 0, GraphicsAPI.getInstance().
+ public void renderContext(VobScene vs, int into)
+ {
+ Button b = new Button(vs, 0, GraphicsAPI.getInstance().
getTextStyle("sans", 0, 24),
30, 0, 50);
- b_always.add("[Import PS/PDF]", "IMPORT");
+ b.add("[Import PS/PDF]", "IMPORT");
+ b.add("[New paper]", "NEW_PAPER");
- Button b = new Button(vs, 0, GraphicsAPI.getInstance().
- getTextStyle("sans", 0, 24),
- 40, 25, 50);
- if (leftLink) b.add("[<--]", "LINK_LEFT");
- if (setOrigin) b.add("[Set link origin]", "SET_ORIG");
- if (unSetOrigin)b.add("[Unset link origin]","UNSET_ORIG");
- if (rigthLink) b.add("[-->]", "LINK_RIGTH");
+ if (link) b.add("[Link!]", "LINK");
}
- public boolean doMouse(MouseEvent e, VobScene oldVS,
- AbstractMainNode2D main) {
- if (e.getID() != MouseEvent.MOUSE_CLICKED) return false;
+ /** @return object of new plane for mainnode view 2d
+ */
+ public Object doMouse(MouseEvent e, VobScene oldVS) throws RemoteException
{
+ if (e.getID() != MouseEvent.MOUSE_CLICKED) return null;
int cs = oldVS.coords.getCSAt(0, e.getX(), e.getY(), null);
- if(cs < 0) return false;
+ if(cs < 0) return null;
Object obKey = oldVS.matcher.getKey(cs);
- if (obKey == null) return false;
+ if (obKey == null) return null;
if (obKey instanceof String) {
String key = (String)obKey;
if (dbg) p("found something! "+key);
- if (key.equals("SET_ORIG")) actionSetLinkOrigin();
- else if (key.equals("UNSET_ORIG")) actionUnSetLinkOrigin();
- else if (key.equals("LINK_LEFT")) actionLinkRigth();
- else if (key.equals("LINK_RIGTH")) actionLinkLeft();
-
- else if (key.equals("IMPORT")) p("NOT IMPLEMENTED");
- else return false;
+ if (key.equals("IMPORT")) p("NOT IMPLEMENTED");
+ else if (key.equals("LINK")) {
+ if (CURR >0) actionLink(1); else actionLink(-1);
+ }
+ else if (key.equals("NEW_PAPER")) {
+ String paper = ppAct.newPaper();
+ return new MainNode2D(Nodes.get(paper), null, 0,0,1);
+ }
+ else return null;
AbstractUpdateManager.chg();
- return true;
+ return null;
}
- return false;
- }
-
- private void actionUnSetLinkOrigin() {
- toBeLinked = null;
- }
- private void actionSetLinkOrigin() {
- p("set origin");
- if (toBeLinked==accursed)
- toBeLinked = null;
- else toBeLinked = accursed;
+ return null;
}
private void actionLinkLeft() { actionLink(-1); }
private void actionLinkRigth() { actionLink(1); }
private void actionLink(int side) {
- if (toBeLinked==null) {
- p("to be linked is null?!");
- return;
- }
- else if (accursed==toBeLinked) {
- p("to be linked to itself??!");
- return;
- } else { try {
+ { try {
if (side < 0) {
- ppAct.assocNotes(Nodes.toString(toBeLinked), -1,
- Nodes.toString(accursed));
+ ppAct.assocNotes(Nodes.toString(accursed[0]), -1,
+ Nodes.toString(accursed[1]));
} else {
- ppAct.assocNotes(Nodes.toString(toBeLinked), 1,
- Nodes.toString(accursed));
+ ppAct.assocNotes(Nodes.toString(accursed[0]), 1,
+ Nodes.toString(accursed[1]));
}
} catch (Exception e) {
p("exception - do nothing.."+e);
@@ -212,62 +223,56 @@
p("s: "+stroke+", v: "+main);
if (stroke.equals("Return")) {
- if (accursed==null) return;
+ if (accursed[CURR]==null) return;
- String acc = Nodes.toString(accursed);
- ppAct.insertText(acc, cursorOffset, "\n");
- cursorOffset++;
- }
- else if (stroke.equals("Ctrl-C")) {
- actionSetLinkOrigin();
- }
- else if (stroke.equals("Ctrl-X")) actionLinkLeft();
- else if (stroke.equals("Ctrl-V")) {
- actionLinkRigth();
+ String acc = Nodes.toString(accursed[CURR]);
+ ppAct.insertText(acc, cursorOffset[CURR], "\n");
+ cursorOffset[CURR]++;
}
else if (stroke.equals("Backspace")) {
- if (accursed==null) return;
+ if (accursed[CURR]==null) return;
- String note = Nodes.toString(accursed);
- if (cursorOffset >= 1) {
+ String note = Nodes.toString(accursed[CURR]);
+ if (cursorOffset[CURR] >= 1) {
ppAct.deleteText(note,
- cursorOffset - 1,
- cursorOffset);
- cursorOffset--;
- String text = alphContent.getText(fen.constgraph, accursed);
- if (cursorOffset == 0 &&
+ cursorOffset[CURR] - 1,
+ cursorOffset[CURR]);
+ cursorOffset[CURR]--;
+ String text = alphContent.getText(fen.constgraph,
+ accursed[CURR]);
+ if (cursorOffset[CURR] == 0 &&
text.length() == 0) {
- if (isLinked(accursed)){
+ if (isLinked(accursed[CURR])){
ppAct.insertText(note, 0, "#");
} else {
ppAct.deleteNote(note);
- accursed = null;
- cursorOffset = -1;
+ accursed[CURR] = null;
+ cursorOffset[CURR] = -1;
}
}
}
}
else if (stroke.equals("Left")) {
- if (accursed==null) return;
- if (cursorOffset > 0) cursorOffset--;
+ if (accursed[CURR]==null) return;
+ if (cursorOffset[CURR] > 0) cursorOffset[CURR]--;
}
else if (stroke.equals("Right")) {
- if (accursed==null) return;
- String text = alphContent.getText(fen.constgraph, accursed);
- if ( cursorOffset < text.length())
- cursorOffset++;
+ if (accursed[CURR]==null) return;
+ String text = alphContent.getText(fen.constgraph, accursed[CURR]);
+ if ( cursorOffset[CURR] < text.length())
+ cursorOffset[CURR]++;
}
else if (stroke.length() == 1) {
- if (accursed==null) {
+ if (accursed[CURR]==null) {
String paper = Nodes.toString(main.getPlane());
String note = ppAct.newNote(paper, (int)main.getPanX(),
(int)main.getPanY(), "");
- cursorOffset = 0;
- accursed = Nodes.get(note);
+ cursorOffset[CURR] = 0;
+ accursed[CURR] = Nodes.get(note);
}
- String acc = Nodes.toString(accursed);
- ppAct.insertText(acc, cursorOffset, stroke);
- cursorOffset++;
+ String acc = Nodes.toString(accursed[CURR]);
+ ppAct.insertText(acc, cursorOffset[CURR], stroke);
+ cursorOffset[CURR]++;
return;
} else p("No keystroke defined!");
} catch (RemoteException e) {
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Benja Fallenstein, 2003/05/03
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/15
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/...,
Matti Katila <=
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/19
- [Gzz-commits] fenfire/org/fenfire demo/buoyoing.py view/buoy/..., Matti Katila, 2003/05/23