[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gzz/modules/pp PPMouseEvents.java
From: |
Matti Katila |
Subject: |
[Gzz-commits] gzz/gzz/modules/pp PPMouseEvents.java |
Date: |
Mon, 23 Dec 2002 09:35:26 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Matti Katila <address@hidden> 02/12/23 09:35:26
Modified files:
gzz/modules/pp : PPMouseEvents.java
Log message:
"set cursor to object" event passing.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/pp/PPMouseEvents.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
Patches:
Index: gzz/gzz/modules/pp/PPMouseEvents.java
diff -u gzz/gzz/modules/pp/PPMouseEvents.java:1.8
gzz/gzz/modules/pp/PPMouseEvents.java:1.9
--- gzz/gzz/modules/pp/PPMouseEvents.java:1.8 Mon Dec 23 09:00:11 2002
+++ gzz/gzz/modules/pp/PPMouseEvents.java Mon Dec 23 09:35:25 2002
@@ -65,6 +65,7 @@
// Main paper object events
EventHandling.i().assign("DragObjectOfMainVP", new DragObjectOfMainVP()
);
+ EventHandling.i().assign("SetCursorToObject", new SetCursorToObject());
}
/* Save press state
@@ -75,6 +76,7 @@
private Cell accursed_obj = null;
private int[] orig_obj_pt = null;
+ private float[] hit = null;
private float last_zoom, last_panx, last_pany;
public class SavePressState implements EventHandling.EventMouseObj {
@@ -85,14 +87,15 @@
m_ev.last_pany = ppv.pany;
m_ev.accursed_obj = null;
+ m_ev.hit = null;
// KLUDGE!!!
// there are no good way in gzz to handle events :/
if (p_state.getCS() == kingCS) {
if(notEmptyFrame(kingCS, p_state)) {
- float hit[] = new float[2];
- int objCS = getTouchedCS(kingCS, p_state, hit);
+ m_ev.hit = new float[3];
+ int objCS = getTouchedCS(kingCS, p_state, m_ev.hit);
Object k = vs.matcher.getKey(objCS);
if (k == null) {
@@ -100,7 +103,7 @@
return;
}
- pa("Hit: "+objCS+" "+k+" "+hit[0]+" "+hit[1]);
+ pa("Hit: "+objCS+" "+k+" "+m_ev.hit[0]+" "+m_ev.hit[1]);
if(!(k instanceof Cell)) {
pa("Not a cell?!");
return ;
@@ -224,7 +227,8 @@
int frameCS = ((Integer)obs[1]).intValue();
if (m_ev.accursed_obj != null) {
- pa("send event forwarded...");
+ EventHandling.i().passEvent("SetCursorToObject", ev, null);
+ return;
}
float[] hit = new float[2];
@@ -244,22 +248,24 @@
vs.coords.inverseTransformPoints3(c2f, pt, pt);
ppv.panx = pt[0]; ppv.pany = pt[1];
AbstractUpdateManager.chg();
- return ;
- }
- Object k = vs.matcher.getKey(vobcs);
- pa("Hit: "+vobcs+" "+k+" "+hit[0]+" "+hit[1]);
- if(!(k instanceof Cell)) {
- pa("Not a cell?!");
- return ;
- }
- context.setAccursed((Cell)k);
- context.setCursorOffset(ppv.style.getOffsetInText(((Cell)k).t(), 1,
hit[0]));
+ } else throw new Error("Unknown error");
+ }
+ }
+
+
+ public class SetCursorToObject implements EventHandling.EventMouseObj {
+ public void event(MouseEvent ev, EventHandling.MousePressState p_state,
+ Object[] obs) {
+ context.setAccursed(m_ev.accursed_obj);
+
context.setCursorOffset(ppv.style.getOffsetInText((m_ev.accursed_obj).t(),
+ 1, m_ev.hit[0]));
AbstractUpdateManager.chg();
}
}
+
/* DRAGGING!
* =========
*/
@@ -337,7 +343,6 @@
private int getTouchedCS(int frameCS, EventHandling.MousePressState
p_state, float[] hit) {
- hit = new float[2];
return vs.coords.getCSAt( frameCS, p_state.getX(), p_state.getY(), hit);
}