Code Search for Developers
 
 
  

AwtCursors.java from gzz at Krugle


Show AwtCursors.java syntax highlighted

/*   
AwtCursors.java
 *    
 *    Copyright (c) 2000, Ted Nelson and Tuomas Lukka
 *
 *    This file is part of Gzz.
 *    
 *    Gzz is free software; you can redistribute it and/or modify it under
 *    the terms of the GNU Lesser General Public License as published by
 *    the Free Software Foundation; either version 2 of the License, or
 *    (at your option) any later version.
 *    
 *    Gzz is distributed in the hope that it will be useful, but WITHOUT
 *    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 *    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
 *    Public License for more details.
 *    
 *    You should have received a copy of the GNU Lesser General
 *    Public License along with Gzz; if not, write to the Free
 *    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *    
 *
 */
/*
 * Written by Kimmo Wideroos
 */

package org.gzigzag.module;
import org.gzigzag.*;
import java.util.*;
import java.awt.*;

/** Awt cursors. Supports both view wide and global cursors.
 */

public class AwtCursors {
    public static boolean dbg = false;
    static final void p(String s) { if(dbg) System.out.println(s); }
    static final void pa(String s) { System.out.println(s); }

    public static AwtCursorIdentifier c_input1 = 
        new AwtCursorIdentifier(Color.red, "input1"); //, true);
    public static AwtCursorIdentifier c_input2 = 
        new AwtCursorIdentifier(Color.gray, "input2"); //, true);
    /*public static AwtCursorIdentifier c_layer = 
        new AwtCursorIdentifier(Color.orange, "layer", false);
    */
    /*
    public static AwtCursorIdentifier c_metrics = 
        new AwtCursorIdentifier(Color.white, "metrics", false);
    */
    private ZZCell awtlocals = null;

    public AwtCursors(ZZCell awtlocals) {
        this.awtlocals = awtlocals;
    } 

    private static ZZCell getSharedCursors(ZZSpace sp) {
	ZZCell awtglobals, cursors;
	awtglobals = ZZDefaultSpace.
	    findOnSystemlist(sp, "AwtGlobals", true).getOrNewCell("d.1");
	cursors = awtglobals.findText("d.2", 1, "Cursors");
	if(cursors == null) {
	    cursors = awtglobals.N("d.2");
	    cursors.setText("Cursors");
	}
	return cursors.getOrNewCell("d.1");
    }
    /*
    private static ZZCell getLocalCursors(ZZCell awtlocals) {
	ZZCell cursors;
	cursors = awtlocals.findText(AwtDim.d_locals, 1, "Cursors");
	if(cursors == null) {
	    cursors = awtlocals.N(AwtDim.d_locals);
	    cursors.setText("Cursors");
	}
	return cursors.getOrNewCell("d.1");	
    }
    */
    private static ZZCell getCursorCell(AwtCursorIdentifier ci, 
					ZZCell cursors) {
	ZZCell cur;

        for(cur=cursors; cur != null; cur = cur.s("d.2")) {
            if(cur.getText().equals(ci.id()) &&
               ZZCursorReal.getColor(cur).toString().equals(ci.colorString()))
                return cur;
        }
        return null;
    }

    private static ZZCell newCursorCell(AwtCursorIdentifier ci, 
					ZZCell cursors) {
	ZZCell newc = cursors.N("d.2");
	newc.setText(ci.id());
	return newc;
    }

    public ZZCell get(AwtCursorIdentifier ci) {
        return get(ci, this.awtlocals);
    }

    public static ZZCell get(AwtCursorIdentifier ci, ZZCell awtlocals) {
	ZZCell cur = null, cursors;

	//if(ci.shared()) {
	ZZSpace sp = awtlocals.getSpace();
	cursors = getSharedCursors(sp);
	//} else {
	//cursors = getLocalCursors(awtlocals);
	//}

	cur = getCursorCell(ci, cursors);
	if(cur==null) return null;
        return ZZCursorReal.get(cur);
    }
    /*
    public void set(AwtCursorIdentifier ci, ZZCell c) {
        set(ci, c, this.awtlocals);
    }
    */

    /* @ci        identifier of cursor to be set
     * @c         target cell
     * @awtlocals root cell for local parameters (view wide parameters)
     */
    /*    public static void set(AwtCursorIdentifier ci, ZZCell c, ZZCell awtlocals) {
     */
   public static void set(AwtCursorIdentifier ci, ZZCell c) {
	ZZCell cur = null, cursors;

	//if(ci.shared()) {
	ZZSpace sp = c.getSpace();
	cursors = getSharedCursors(sp);
	//} else {
	//    cursors = getLocalCursors(awtlocals);
	//}
	cur = getCursorCell(ci, cursors);
	if(cur == null) cur = newCursorCell(ci, cursors);
        ZZCursorReal.set(cur, c);
	ZZCursorReal.setColor(cur, ci.color());
    }
}










See more files for this project here

gzz

An implementation of Ted Nelson's ZZstructure. ZZstructure is a new type of programming platform for structured data.

Project homepage: http://savannah.nongnu.org/projects/gzz
Programming language(s): C++,Java,Python
License: lgpl21

  Awt.zob
  AwtArtefact.java
  AwtArtefactFlobFactory.java
  AwtCursorIdentifier.java
  AwtCursors.java
  AwtDim.java
  AwtLayer.java
  AwtLinkCache.java
  AwtLinkFlobFactory.java
  AwtLinkRelation.java
  AwtMetrics.zob
  AwtMetricsFC.java
  AwtMetricsFC2.java
  AwtMetricsNormal.java
  AwtNile.java
  AwtNileView.java
  AwtNoteFlobFactory.java
  AwtOp.java
  AwtOpAND.java
  AwtOpOR.java
  AwtOperators.java
  AwtRelation.java
  AwtSetRelation.java
  AwtUtil.java
  AwtView2.java
  RelClang.java
  ZObCellRepr.java