[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire ./Makefile org/fenfire/demo/actions.py ...
From: |
Matti Katila |
Subject: |
[Gzz-commits] fenfire ./Makefile org/fenfire/demo/actions.py ... |
Date: |
Mon, 07 Jul 2003 18:56:07 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Matti Katila <address@hidden> 03/07/07 18:56:06
Modified files:
. : Makefile
org/fenfire/demo: actions.py buoyoing.py fenpdfcontext.py
org/fenfire/util: AlphContent.java RDFUtil.java
org/fenfire/view/lava: Cursor.java FenPDFContext.java
Log message:
small twids
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/Makefile.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/actions.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/buoyoing.py.diff?tr1=1.88&tr2=1.89&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/fenpdfcontext.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/util/AlphContent.java.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/util/RDFUtil.java.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/Cursor.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/FenPDFContext.java.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
Patches:
Index: fenfire/Makefile
diff -u fenfire/Makefile:1.24 fenfire/Makefile:1.25
--- fenfire/Makefile:1.24 Fri Jun 27 06:33:25 2003
+++ fenfire/Makefile Mon Jul 7 18:56:06 2003
@@ -34,7 +34,7 @@
$(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
$(DBG)
rundemo:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py $(DBG) $(DEMO)
+ $(LDLIB) java -mx480M -cp $(CLASSPATH) $(PYTHONPATH)
org.python.util.jython ../libvob/rundemo.py $(DBG) $(DEMO)
BENCH=org.fenfire.swamp.bench.graph
Index: fenfire/org/fenfire/demo/actions.py
diff -u fenfire/org/fenfire/demo/actions.py:1.9
fenfire/org/fenfire/demo/actions.py:1.10
--- fenfire/org/fenfire/demo/actions.py:1.9 Mon Jul 7 03:07:55 2003
+++ fenfire/org/fenfire/demo/actions.py Mon Jul 7 18:56:06 2003
@@ -22,6 +22,7 @@
from org import fenfire as ff
from org.fenfire.vocab import CANVAS2D, RDF
+import org.nongnu.libvob as vob
dbg = 0
@@ -35,14 +36,14 @@
######## Actions to control pan of main nodes etc.
-class MovePanFast(ff.util.ControlBinding.AbstractController):
+class MovePanFast(AbstractContextController):
def isChangeable(self): return 1
def change(self, x, y):
if dbg: p('move pan fast')
f = self.obj.getFocus()
fX, fY = f.getPanX(), f.getPanY()
f.setPan( fX-x/f.zoom, fY-y/f.zoom)
- self.obj.chgFast(self.oldVS)
+ self.context.chgFast(self.oldVS)
class MovePanSlow(ff.util.ControlBinding.AbstractController):
def isChangeable(self): return 0
@@ -57,17 +58,22 @@
### because of PanSize() - do not call
#self.obj.chgFast(self.oldVS)
-class PanSize(ff.util.ControlBinding.AbstractController):
+class PanSize(AbstractContextController):
def isChangeable(self): return 1
def change(self, x, y):
self.obj.changeSize(x+y)
- self.obj.chgFast(self.oldVS)
+ self.context.chgFast(self.oldVS)
class UnSelectNodeOnPlane(AbstractContextController):
def isChangeable(self): return 0
def controlPoint(self, x, y, scale):
self.context.setAccursed(None)
-
+
+class ShowMouseMenu(AbstractContextController):
+ def isChangeable(self): return 0
+ def controlPoint(self, x, y, scale):
+ self.context.mousemenu.showList(x,y)
+ vob.AbstractUpdateManager.setNoAnimation()
####### Actions to control nodes on main node plane
@@ -90,6 +96,7 @@
ox = ff.util.RDFUtil.getInt(g, node, CANVAS2D.x)
oy = ff.util.RDFUtil.getInt(g, node, CANVAS2D.y)
self.obj[3].moveNote(node, int(ox+x/f.zoom), int(oy+y/f.zoom) )
+ self.context.chgFast(self.oldVS)
####### Actions to control selection (Ctrl pressed)
@@ -102,7 +109,7 @@
xy = self.obj.getXYHit(self.oldVS, x,y)
oldXY = self.context.states.getPressPans()
self.context.selection.setArea(oldXY[0], oldXY[1], xy[0], xy[1])
- self.obj.chgFast(self.oldVS)
+ self.context.chgFast(self.oldVS)
####### Dispatcher for plane events etc.
Index: fenfire/org/fenfire/demo/buoyoing.py
diff -u fenfire/org/fenfire/demo/buoyoing.py:1.88
fenfire/org/fenfire/demo/buoyoing.py:1.89
--- fenfire/org/fenfire/demo/buoyoing.py:1.88 Mon Jul 7 02:00:51 2003
+++ fenfire/org/fenfire/demo/buoyoing.py Mon Jul 7 18:56:06 2003
@@ -152,12 +152,13 @@
# Default controls
ctrl.setContext(context)
-main_ctrl.add(MovePanFast(), -1, ctrl.WHEEL, 13,1, ctrl.VERTICAL)
-main_ctrl.add(MovePanFast(), 1, ctrl.DRAG, 1, 0, ctrl.ALL)
+main_ctrl.add(MovePanFast(context), -1, ctrl.WHEEL, 13,1, ctrl.VERTICAL)
+main_ctrl.add(MovePanFast(context), 1, ctrl.DRAG, 1, 0, ctrl.ALL)
main_ctrl.add(MovePanSlow(), 1, ctrl.CLICK)
main_ctrl.add(ZoomPan(), 3, ctrl.DRAG, 1, 0, ctrl.VERTICAL)
-main_ctrl.add(PanSize(), 3, ctrl.DRAG, 1, 0, ctrl.HORIZONTAL)
+main_ctrl.add(PanSize(context), 3, ctrl.DRAG, 1, 0, ctrl.HORIZONTAL)
main_ctrl.add(UnSelectNodeOnPlane(context), 3, ctrl.CLICK)
+main_ctrl.add(ShowMouseMenu(context), 2, ctrl.CLICK)
node_ctrl.add(SelectNodeOnPlane(context), 3, ctrl.CLICK)
node_ctrl.add(MoveNodeOnPlane(context), 1, ctrl.DRAG)
Index: fenfire/org/fenfire/demo/fenpdfcontext.py
diff -u fenfire/org/fenfire/demo/fenpdfcontext.py:1.6
fenfire/org/fenfire/demo/fenpdfcontext.py:1.7
--- fenfire/org/fenfire/demo/fenpdfcontext.py:1.6 Mon Jul 7 02:00:51 2003
+++ fenfire/org/fenfire/demo/fenpdfcontext.py Mon Jul 7 18:56:06 2003
@@ -1,6 +1,8 @@
# (c): Matti J. Katila
from org import fenfire as ff
+from org.fenfire.swamp import Nodes
+import org.nongnu.libvob as vob
dbg = 0
@@ -42,17 +44,69 @@
class KeyHandler:
def __init__(self, states):
self.states = states
- def key(self, key):
- p('KEY', key)
+ def key(self, stroke, main):
+ p('KEY', stroke,', v:',main)
- if key == 'Control_L':
+ if stroke == 'Control_L':
self.states.chgCtrl()
- return 1
- else: return 0
+ return
+
+ fen = self.states.fen
+ pp = self.states.pp
+ cur = self.states.cursor
+ acc = cur.getAccursed()
+ offs = cur.getCursorOffset()
+ alph = ff.util.AlphContent(self.states.fen)
+
+ ### normal alphabets etc.
+ if len(stroke) == 1:
+ if acc == None:
+ paper = Nodes.toString(main.getPlane())
+ note = pp.newNote(paper, int(main.getFocus().getPanX()),
+ int(main.getFocus().getPanY()), "")
+ cur.setAccursed(Nodes.get(note))
+
+ acc = Nodes.toString(cur.getAccursed())
+ pp.insertText(acc, offs, stroke)
+ cur.setCursorOffset(offs + 1)
+ return
+
+ if acc == None: return
+
+ if stroke == 'Return':
+ if dbg: p('Insert \\n')
+
+ acc = Nodes.toString(acc)
+ pp.insertText(acc, offs, "\n")
+ cur.setCursorOffset(offs + 1)
+ elif stroke == 'Backspace':
+ note = Nodes.toString(acc)
+ if offs >= 1:
+ p('delete:', offs)
+ pp.deleteText(note, offs - 1, offs)
+ offs = cur.setCursorOffset(offs - 1)
+ text = alph.getText(fen.constgraph, acc)
+ if offs == 0 and len(text) == 0:
+ if RDFUtil.isLinked(fen.graph, acc):
+ pp.insertText(note, 0, "#")
+ else:
+ pp.deleteNote(note)
+ cur.setAccursed(None)
+ elif stroke == 'Left':
+ if offs > 0: cur.setCursorOffset(offs - 1)
+ elif stroke == 'Right':
+ text = alph.getText(acc)
+ if offs < text.length():
+ cur.setCursorOffset( offs + 1)
+
+
class ContextStates:
- def __init__(self):
+ def __init__(self, fen, pp):
self.clean()
+ self.cursor = ff.view.lava.Cursor(fen)
+ self.pp = pp
+ self.fen = fen
def chgCtrl(self):
self.ctrl = not self.ctrl
if self.ctrl:
@@ -70,20 +124,44 @@
def clean(self):
self.ctrl = 0
+class MouseMenu:
+ def __init__(self):
+ style = vob.GraphicsAPI.getInstance().getTextStyle('sans', 0, 12)
+ self.list = vob.vobs.SelectListVob(style)
+ self.list.add('Test', 'test')
+ self.list.add('2. Test', 'test2')
+ self.hideList()
+
+ def render(self, vs):
+ cs = vs.orthoBoxCS(0, "MENU",0, self.x, self.y-self.h/2,
+ 1,1, self.w, self.h)
+ vs.put(self.list, cs)
+
+ def showList(self, x, y):
+ self.w, self.h = self.list.width, self.list.height
+ self.x, self.y = x, y
+
+ def hideList(self):
+ self.x, self.y = 0,0
+ self.w, self.h = .0, .0
+
class Context(ff.view.lava.FenPDFContext, SuperCaller):
def __init__(self, win, fen, pp, nv, ctrl):
self.super = self.superproxy(ff.view.lava.FenPDFContext)
ff.view.lava.FenPDFContext.__init__(self, fen, pp, nv, ctrl)
- self.states = ContextStates()
+ self.states = ContextStates(fen, pp)
self.keys = KeyHandler(self.states)
+ self.mousemenu = MouseMenu()
global w
w = win
+
+
def setMngr(self, mngr):
self.mgr = mngr
+
def key(self, key):
- if self.keys.key(key): return
- else: self.super.handleKeyStroke(key, self.mgr.getLastMain())
+ self.keys.key(key, self.mgr.getLastMain())
def mainNodeToBeRender(self, vs, into, main):
v = main.getView2D()
@@ -93,5 +171,12 @@
break
v = v.getChildView2D()
+ self.mousemenu.render(vs)
self.super.mainNodeToBeRender(vs, into, main)
+
+ def chgFast(self, oldVS):
+ s = self.mgr.getSingles()
+ for i in s:
+ i.getMainNode().chgFast(oldVS)
+
Index: fenfire/org/fenfire/util/AlphContent.java
diff -u fenfire/org/fenfire/util/AlphContent.java:1.13
fenfire/org/fenfire/util/AlphContent.java:1.14
--- fenfire/org/fenfire/util/AlphContent.java:1.13 Mon Jul 7 14:38:25 2003
+++ fenfire/org/fenfire/util/AlphContent.java Mon Jul 7 18:56:06 2003
@@ -36,14 +36,12 @@
/** Help class to work with Alph
*/
public class AlphContent {
-public static final String rcsid = "$Id: AlphContent.java,v 1.13 2003/07/07
18:38:25 mudyc Exp $";
+public static final String rcsid = "$Id: AlphContent.java,v 1.14 2003/07/07
22:56:06 mudyc Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.out.println("AlphContent:: "+s);
}
- //private XuIndexer xuIndex;
private Fen fen;
-
public AlphContent( Fen fen) {
this.fen = fen;
}
Index: fenfire/org/fenfire/util/RDFUtil.java
diff -u fenfire/org/fenfire/util/RDFUtil.java:1.13
fenfire/org/fenfire/util/RDFUtil.java:1.14
--- fenfire/org/fenfire/util/RDFUtil.java:1.13 Wed Jun 11 13:00:24 2003
+++ fenfire/org/fenfire/util/RDFUtil.java Mon Jul 7 18:56:06 2003
@@ -81,6 +81,37 @@
Integer.toString(val)));
}
+ /** Special call for structure linked vocabulary to test if node is linked.
+ * @see STRUCTLINK
+ */
+ public boolean isLinked(Graph graph, Object node) {
+ Iterator it = graph.findN_11X_Iter(node, STRUCTLINK.linkedTo);
+ if (it.hasNext()) return true;
+ it = graph.findN_X11_Iter(STRUCTLINK.linkedTo, node);
+ if (it.hasNext()) return true;
+ return false;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/** Split node to two nodes. Enfilade is splitted in ind,
* i.e. (node, [foobar]) will be with ind 2 be splitted to
@@ -88,6 +119,7 @@
* be copied to split.
*
* @return the new node
+ * @deprecated
*/
static public Object splitNode(Fen fen, Object node, int ind) {
Object split = Nodes.N();
Index: fenfire/org/fenfire/view/lava/Cursor.java
diff -u fenfire/org/fenfire/view/lava/Cursor.java:1.1
fenfire/org/fenfire/view/lava/Cursor.java:1.2
--- fenfire/org/fenfire/view/lava/Cursor.java:1.1 Mon Jul 7 14:38:25 2003
+++ fenfire/org/fenfire/view/lava/Cursor.java Mon Jul 7 18:56:06 2003
@@ -25,19 +25,33 @@
private int cursorOffset = 0;
- public void setCursorOffset(int offset) {
- cursorOffset = (int) Math.min(offset, length() );
+
+ /** @return current and correct offset for cursor
+ */
+ public int setCursorOffset(int offset) {
+ cursorOffset = offset;
+ checkOffset();
+ return cursorOffset;
}
+ public int getCursorOffset() { return cursorOffset; }
private Object accursed = null;
public void setAccursed(Object node) {
accursed = node;
setCursorOffset(0);
}
+ public Object getAccursed() { return accursed; }
public boolean isAccursed(Object node) {
return node == accursed;
}
+ public boolean hasAccursed() {
+ return accursed != null;
+ }
+ private void checkOffset() {
+ if (cursorOffset < 0) cursorOffset = 0;
+ cursorOffset = (int) Math.min(cursorOffset, length() );
+ }
private int length() {
String s = alph.getText(accursed);
return s.length();
Index: fenfire/org/fenfire/view/lava/FenPDFContext.java
diff -u fenfire/org/fenfire/view/lava/FenPDFContext.java:1.35
fenfire/org/fenfire/view/lava/FenPDFContext.java:1.36
--- fenfire/org/fenfire/view/lava/FenPDFContext.java:1.35 Tue Jul 1
12:33:33 2003
+++ fenfire/org/fenfire/view/lava/FenPDFContext.java Mon Jul 7 18:56:06 2003
@@ -357,81 +357,9 @@
}}
}
-
- public void handleKeyStroke(String stroke, AbstractMainNode2D main)
- { try {
- // synchronized(fen) XXX
- if(dbg) p("s: "+stroke+", v: "+main);
-
- if (stroke.equals("Return")) {
- if(dbg) p("Insert \\n");
- if (accursed[CURR]==null) return;
-
- String acc = Nodes.toString(accursed[CURR]);
- ppAct.insertText(acc, cursorOffset[CURR], "\n");
- cursorOffset[CURR]++;
- }
- else if (stroke.equals("Backspace")) {
- if (accursed[CURR]==null) return;
-
- String note = Nodes.toString(accursed[CURR]);
- if (cursorOffset[CURR] >= 1) {
- ppAct.deleteText(note,
- 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[CURR])){
- ppAct.insertText(note, 0, "#");
- } else {
- ppAct.deleteNote(note);
- accursed[CURR] = null;
- cursorOffset[CURR] = -1;
- }
- }
- }
- }
- else if (stroke.equals("Left")) {
- if (accursed[CURR]==null) return;
- if (cursorOffset[CURR] > 0) cursorOffset[CURR]--;
- }
- else if (stroke.equals("Right")) {
- if (accursed[CURR]==null) return;
- String text = alphContent.getText(fen.constgraph, accursed[CURR]);
- if ( cursorOffset[CURR] < text.length())
- cursorOffset[CURR]++;
- }
- // normal alphabets etc.
- else if (stroke.length() == 1) {
- char c = stroke.toCharArray()[0];
- p("Pressed: '"+ stroke +"', ch: '"+c+"' and int: "+ (int)c);
- if (accursed[CURR]==null) {
- String paper = Nodes.toString(main.getPlane());
- String note = ppAct.newNote(paper,
(int)main.getFocus().getPanX(),
- (int)main.getFocus().getPanY(), "");
- cursorOffset[CURR] = 0;
- accursed[CURR] = Nodes.get(note);
- }
- String acc = Nodes.toString(accursed[CURR]);
- ppAct.insertText(acc, cursorOffset[CURR], stroke);
- cursorOffset[CURR]++;
- return;
- } else p("No keystroke defined!");
- } catch (RemoteException e) {
- p("RemoteException ocurred! "+e);
- return;
- }}
-
- private boolean isLinked(Object node) {
- Object test = fen.graph.find1_11X(node, STRUCTLINK.linkedTo);
- if (test != null) return true;
- test = fen.graph.find1_X11(STRUCTLINK.linkedTo, node);
- if (test != null) return true;
- return false;
+ public void handleKeyStroke(String s, AbstractMainNode2D main) {
+ throw new Error("method removed");
}
-
+
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] fenfire ./Makefile org/fenfire/demo/actions.py ...,
Matti Katila <=