gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire ./README-loom ./TODO-loom ./build.xml l...


From: Benja Fallenstein
Subject: [Gzz-commits] fenfire ./README-loom ./TODO-loom ./build.xml l...
Date: Sat, 08 Mar 2003 21:01:45 -0500

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Benja Fallenstein <address@hidden>      03/03/08 21:01:44

Modified files:
        .              : README-loom TODO-loom build.xml 
        lib            : libvob.jar 
        org/fenfire/loom: Loom.java 

Log message:
        PUI menu bar -- now needn't give rdffile from shell any more

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/README-loom.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/TODO-loom.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/build.xml.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/lib/libvob.jar.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Loom.java.diff?tr1=1.20&tr2=1.21&r1=text&r2=text

Patches:
Index: fenfire/README-loom
diff -u fenfire/README-loom:1.2 fenfire/README-loom:1.3
--- fenfire/README-loom:1.2     Sat Mar  8 20:18:02 2003
+++ fenfire/README-loom Sat Mar  8 21:01:44 2003
@@ -45,23 +45,21 @@
 How to run
 ==========
 
-At this time, you need to provide the RDF file to browse
-on the command line. To browse the file ``foo.rdf``, type::
+To start the browser, type::
 
-   ant run -Drdffile=foo.rdf
+   ant run
 
-A menubar with a "File/Open..." item is on the TODO list
-for the 0.1 release.
+Then open an RDF file with ``File/Open...`` and hit some
+key or click somewhere. (Open bug: the screen isn't refreshed
+after an RDF file has been read...)
 
-When you started Loom, you'll be taken to a random node
+When you've opened a file, you'll be taken to a random node
 in the RDF graph. The nodes connected to it will be shown
 left and right from it. Above each connected node, the
 property through which the nodes are connected is shown.
 
 You may have to resize your window, the nodes are
 quite large at the moment.
-
-To quit the browser, close the window or hit ``Ctrl-Q``.
 
 
 Moving around
Index: fenfire/TODO-loom
diff -u fenfire/TODO-loom:1.27 fenfire/TODO-loom:1.28
--- fenfire/TODO-loom:1.27      Sat Mar  8 20:23:15 2003
+++ fenfire/TODO-loom   Sat Mar  8 21:01:44 2003
@@ -12,17 +12,15 @@
 
 
 0.1: Working RDF browser
+    - fix bug: screen is not refreshed after an RDF file
+      has been loaded through File/Open
+
     - views proportional to window size
     - in the Wheel views, have a maximum angle, so that
       if only three nodes are shown, the angles still
       aren't greater than 45 degs or so
 
-    - PUI menu bar:
-      - File: Open, Quit
-      - View: Simple, Wheel
-      - 'Open' replaces current graph by other
-      - allow the client to be started w/o a command line
-        argument (a graph can then be opened thru the menu)
+    - Selecting view through the PUI menu bar
 
     - JAR target; java -jar loom.jar should start the client
 
Index: fenfire/build.xml
diff -u fenfire/build.xml:1.7 fenfire/build.xml:1.8
--- fenfire/build.xml:1.7       Mon Mar  3 08:49:12 2003
+++ fenfire/build.xml   Sat Mar  8 21:01:44 2003
@@ -39,7 +39,6 @@
 
     <target name="run">
         <java classname="gzz.loom.Loom" fork="true">
-           <arg value="${rdffile}"/>
            <classpath refid="depends.path"/>
        </java>
     </target>
Index: fenfire/lib/libvob.jar
Index: fenfire/org/fenfire/loom/Loom.java
diff -u fenfire/org/fenfire/loom/Loom.java:1.20 
fenfire/org/fenfire/loom/Loom.java:1.21
--- fenfire/org/fenfire/loom/Loom.java:1.20     Sat Mar  8 20:23:15 2003
+++ fenfire/org/fenfire/loom/Loom.java  Sat Mar  8 21:01:44 2003
@@ -30,10 +30,13 @@
 import gzz.vob.impl.DefaultVobMatcher;
 import gzz.vob.vobs.*;
 
-import java.awt.Color;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.event.MouseEvent;
 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.*;
@@ -52,29 +55,33 @@
     protected Model model;
     protected NamespaceMap names;
 
-    public void load(String filename) throws RDFException, 
-                                            IOException, 
-                                            org.xml.sax.SAXException {
+    protected Cursor cursor;
+
+    public void load(File file) throws RDFException, 
+                                      IOException, 
+                                      org.xml.sax.SAXException {
        model = new ModelMem();
-       model.read(new java.io.FileReader(filename), "");
+       model.read(new java.io.FileReader(file), "");
 
        names = new NamespaceMap();
-       names.loadMappings(new java.io.FileReader(filename));
+       names.loadMappings(new java.io.FileReader(file));
+
+       Statement stmt = model.listStatements().next();
+       cursor = 
+           new Cursor(SimpleOrder.subjOrder, SimpleOrder.objOrder, 
+                      StatementSelector.simpleSelector,
+                      stmt.getSubject(), 1, stmt.getObject());
     }
 
     public static void main(String[] args) throws RDFException, IOException,
                                                  org.xml.sax.SAXException {
-       String file = "";
+       String file = null;
 
        System.err.println("Fenfire Loom starting...");
 
-       if(args.length < 1) {
-           System.err.println("Please give as an argument a filename of "+
-                              "the RDF file to load.");
-           System.exit(1);
-       } else if(args.length == 1) {
+       if(args.length == 1) {
            file = args[0];
-       } else {
+       } else if(args.length > 1) {
            System.err.println("You gave "+args.length+" arguments.");
            System.err.println("Please only give one filename of an RDF file");
            System.exit(1);
@@ -86,19 +93,46 @@
     protected NodeView.Nodespec lastFocus;
     protected NodeView.Nodespec lastRotation;
 
+    protected Frame frame;
+    protected FileDialog fileDialog;
+
     public Loom(String file, ColorScheme colors0) 
        throws RDFException, IOException, org.xml.sax.SAXException {
 
-       load(file);
+       if(file != null)
+           load(new File(file));
        this.colors = colors0;
 
-       final Statement stmt = model.listStatements().next();
-       final GraphicsAPI api = GraphicsAPI.getInstance();
+       final MenuBar mBar = new MenuBar();
+       Menu mFile = new Menu("File"); mBar.add(mFile);
+       MenuItem mOpen = new MenuItem("Open..."); mFile.add(mOpen);
+       MenuItem mQuit = new MenuItem("Quit"); mFile.add(mQuit);
+       /*Menu mView = new Menu("View"); mBar.add(mView);
+       MenuItem mSimple = new CheckboxMenuItem("Simple View"); 
+       MenuItem mWheel = new CheckboxMenuItem("Wheel View");
+       mView.add(mSimple); mView.add(mWheel);*/
+
+       mOpen.addActionListener(new ActionListener() {
+               public void actionPerformed(ActionEvent _) {
+                   fileDialog.show();
+                   if(fileDialog.getFile() != null) {
+                       try {
+                           load(new File(fileDialog.getDirectory(), 
fileDialog.getFile()));
+                       } catch(Exception e) {
+                           e.printStackTrace();
+                       }
+                   }
+                   AbstractUpdateManager.chg();
+               }
+           });
 
-       final Cursor cursor = 
-           new Cursor(SimpleOrder.subjOrder, SimpleOrder.objOrder, 
-                      StatementSelector.simpleSelector,
-                      stmt.getSubject(), 1, stmt.getObject());
+       mQuit.addActionListener(new ActionListener() {
+               public void actionPerformed(ActionEvent _) {
+                   System.exit(0);
+               }
+           });
+
+       final GraphicsAPI api = GraphicsAPI.getInstance();
 
        final TextStyle style = api.getTextStyle("Serif", 0, 12);
        final NodeView nodeView = new NodeView() {
@@ -157,6 +191,9 @@
                    VobScene old = this.screen.getVobSceneForEvents();
                    VobScene sc = this.screen.window.createVobScene();
                    sc.map.put(new SolidBgVob(colors.getBg()), 0);
+
+                   if(model == null) return sc;
+
                    views[viewcur].render(sc, 0, cursor);
 
                    if(lastFocus != null) {
@@ -189,6 +226,7 @@
 
                public void keystroke(String s) {
                    System.out.println("Keystroke: "+s);
+                   if(model == null) return;
                    
                    if(viewcur == 0) {
                        if(s.equals("u") || s.equals("o"))
@@ -268,6 +306,11 @@
        api.startUpdateManager(new Runnable() {
                public void run() {
                    Screen scr = new Screen(api.createWindow(), b, s);
+                   frame = ((gzz.client.awt.FrameScreen)scr.window)
+                       .getFrame();
+                   fileDialog = new FileDialog(frame, "Open",
+                                               FileDialog.LOAD);
+                   frame.setMenuBar(mBar);
                    AbstractUpdateManager.addWindow(scr);
                    scr.window.setLocation(0, 0, 300, 300);
                    AbstractUpdateManager.chg();




reply via email to

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