gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] fenfire ./TODO-loom org/fenfire/loom/DefaultNod...


From: Benja Fallenstein
Subject: [Gzz-commits] fenfire ./TODO-loom org/fenfire/loom/DefaultNod...
Date: Sat, 22 Mar 2003 16:04:44 -0500

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Benja Fallenstein <address@hidden>      03/03/22 16:04:44

Modified files:
        .              : TODO-loom 
        org/fenfire/loom: DefaultNodeView.java Loom.java 
                          LoomBindings.java LoomMenuBar.java 
Added files:
        org/fenfire/util: PUIClipboard.java 

Log message:
        Copy to clipboard

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/TODO-loom.diff?tr1=1.48&tr2=1.49&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/DefaultNodeView.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Loom.java.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/LoomBindings.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/LoomMenuBar.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/util/PUIClipboard.java?rev=1.1

Patches:
Index: fenfire/TODO-loom
diff -u fenfire/TODO-loom:1.48 fenfire/TODO-loom:1.49
--- fenfire/TODO-loom:1.48      Sat Mar 22 15:04:46 2003
+++ fenfire/TODO-loom   Sat Mar 22 16:04:43 2003
@@ -13,7 +13,6 @@
     - editing structure and text content
     - factor almost everything from Loom.java 
       out into tested code
-    - Copy URI / copy literal text to clipboard
     - saving
 
     - fix bug: when there are two equal literals connected
Index: fenfire/org/fenfire/loom/DefaultNodeView.java
diff -u fenfire/org/fenfire/loom/DefaultNodeView.java:1.2 
fenfire/org/fenfire/loom/DefaultNodeView.java:1.3
--- fenfire/org/fenfire/loom/DefaultNodeView.java:1.2   Sat Mar 22 15:27:13 2003
+++ fenfire/org/fenfire/loom/DefaultNodeView.java       Sat Mar 22 16:04:43 2003
@@ -29,13 +29,10 @@
 import org.nongnu.libvob.vobs.*;
 
 import java.awt.Color;
-//import java.awt.event.*;
-//import java.io.*;
 import java.util.*;
 import java.util.List;
 
 import com.hp.hpl.mesa.rdf.jena.model.*;
-//import com.hp.hpl.mesa.rdf.jena.mem.*;
 
 /** The default node view for Loom.
  *  Not tested at this time [XXX fix!!!].
@@ -57,26 +54,14 @@
                                      loom.colors.getCursorBorderColor());
     }
 
-    public void render(VobScene sc, int into, Nodespec spec) {
-       RDFNode node = spec.node;
-       Property prop = spec.prop;
-       int dir = spec.dir;
-       
-       boolean selected = spec.equals(loom.cursor.getRotationNodespec(dir));
-       if(node instanceof Resource) {
-           if(selected)
-               sc.map.put(selResourceVob, into);
-           else
-               sc.map.put(resourceVob, into);
-       } else {
-           if(selected)
-               sc.map.put(selLiteralVob, into);
-           else
-               sc.map.put(literalVob, into);
-       }
-       
+    /** Argh-- global variable because getText()
+     *  can only return one thing :-( :-(
+     */
+    protected boolean isByClass;
+
+    public String getText(RDFNode node, boolean abbreviate) {
        String s;
-       boolean isByClass = false;
+       isByClass = false;
        if(node instanceof Literal) {
            try {
                s = ((Literal)node).getString();
@@ -86,9 +71,9 @@
            }
        } else {
            s = ((Resource)node).getURI();
-           if(s != null)
+           if(s != null && abbreviate)
                s = loom.cursor.names.getAbbrev(s);
-           else
+           else if(s == null)
                s = "";
            String t = s;
            
@@ -108,8 +93,10 @@
                    Statement byStmt = ((Resource)node).getProperty(by);
                    if(byStmt.getObject() instanceof Literal)
                        s = byStmt.getString();
-                   else
+                   else if(abbreviate)
                        s = 
loom.cursor.names.getAbbrev(byStmt.getObject().toString());
+                   else
+                       s = byStmt.getObject().toString();
                    
                    isByClass = true;
                }
@@ -117,6 +104,29 @@
                s = t;
            }
        }
+
+       return s;
+    }
+
+    public void render(VobScene sc, int into, Nodespec spec) {
+       RDFNode node = spec.node;
+       Property prop = spec.prop;
+       int dir = spec.dir;
+       
+       boolean selected = spec.equals(loom.cursor.getRotationNodespec(dir));
+       if(node instanceof Resource) {
+           if(selected)
+               sc.map.put(selResourceVob, into);
+           else
+               sc.map.put(resourceVob, into);
+       } else {
+           if(selected)
+               sc.map.put(selLiteralVob, into);
+           else
+               sc.map.put(literalVob, into);
+       }
+       
+       String s = getText(node, true);
        
        if(s.length() > 17) {
            if(node instanceof Literal || isByClass)
Index: fenfire/org/fenfire/loom/Loom.java
diff -u fenfire/org/fenfire/loom/Loom.java:1.43 
fenfire/org/fenfire/loom/Loom.java:1.44
--- fenfire/org/fenfire/loom/Loom.java:1.43     Sat Mar 22 15:27:13 2003
+++ fenfire/org/fenfire/loom/Loom.java  Sat Mar 22 16:04:43 2003
@@ -25,6 +25,8 @@
  * Written by Benja Fallenstein
  */
 package org.fenfire.loom;
+import org.fenfire.util.*;
+
 import org.nongnu.libvob.*;
 import org.nongnu.libvob.impl.DefaultVobMatcher;
 import org.nongnu.libvob.vobs.*;
@@ -44,6 +46,7 @@
 public class Loom {
 
     protected ViewSettings view;
+    protected DefaultNodeView nodeView;
 
     protected ColorScheme colors;
 
@@ -103,6 +106,10 @@
        goTo.setVisible(true);
     }
 
+    protected void copyToClipboard() {
+       PUIClipboard.puiCopy(nodeView.getText(cursor.focus, false));
+    }
+
     public static void main(String[] args) throws RDFException, IOException,
                                                  org.xml.sax.SAXException {
        String file = null;
@@ -150,7 +157,8 @@
 
        final GraphicsAPI api = GraphicsAPI.getInstance();
 
-       view = new ViewSettings(new DefaultNodeView(this));
+       nodeView = new DefaultNodeView(this);
+       view = new ViewSettings(nodeView);
        final Shower s = new Shower() {
                Screen screen;
                public void setScreen(Screen s) {
Index: fenfire/org/fenfire/loom/LoomBindings.java
diff -u fenfire/org/fenfire/loom/LoomBindings.java:1.3 
fenfire/org/fenfire/loom/LoomBindings.java:1.4
--- fenfire/org/fenfire/loom/LoomBindings.java:1.3      Sat Mar 22 15:28:34 2003
+++ fenfire/org/fenfire/loom/LoomBindings.java  Sat Mar 22 16:04:44 2003
@@ -69,6 +69,8 @@
        
        if(s.equals("Ctrl-G"))
            loom.showGoToDialog();
+       else if(s.equals("Ctrl-C"))
+           loom.copyToClipboard();
        else if(s.equals("i") || s.equals("Up"))
            loom.cursor.rotate(-1);
        else if(s.equals(",") || s.equals("Down"))
Index: fenfire/org/fenfire/loom/LoomMenuBar.java
diff -u fenfire/org/fenfire/loom/LoomMenuBar.java:1.2 
fenfire/org/fenfire/loom/LoomMenuBar.java:1.3
--- fenfire/org/fenfire/loom/LoomMenuBar.java:1.2       Sun Mar 16 11:24:12 2003
+++ fenfire/org/fenfire/loom/LoomMenuBar.java   Sat Mar 22 16:04:44 2003
@@ -50,6 +50,8 @@
        Menu mFile = new Menu("File"); add(mFile);
        MenuItem mOpen = new MenuItem("Open..."); mFile.add(mOpen);
        MenuItem mQuit = new MenuItem("Quit (Ctrl-Q)"); mFile.add(mQuit);
+       Menu mEdit = new Menu("Edit"); add(mEdit);
+       MenuItem mCopy = new MenuItem("Copy (Ctrl-C)"); mEdit.add(mCopy);
        Menu mView = new Menu("View"); add(mView);
        MenuItem mGoTo = new MenuItem("Go to URI... (Ctrl-G)"); 
        mView.add(mGoTo); mView.add(new MenuItem("-"));
@@ -77,6 +79,12 @@
        mQuit.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent _) {
                    System.exit(0);
+               }
+           });
+
+       mCopy.addActionListener(new ActionListener() {
+               public void actionPerformed(ActionEvent _) {
+                   loom.copyToClipboard();
                }
            });
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]