From 611518a0ff65fd05e517d44adbcec639570b86eb Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Thu, 21 Feb 2019 23:44:07 -0500
Subject: [PATCH] Yellow theme.
---
ObjEditor.java | 9 +
timeflow/format/field/FieldFormatCatalog.java | 89 +++++++++--------
timeflow/data/db/BasicDB.java | 2
GrafreeD.java | 5
timeflow/app/ui/AddFieldPanel.java | 29 +++--
Constants.java | 23 ++++
timeflow/data/db/Schema.java | 7 +
timeflow/vis/timeline/AxisRenderer.java | 18 ++-
timeflow/data/time/TimeUnit.java | 4
timeflow/model/Display.java | 2
CameraPane.java | 56 +++++-----
timeflow/data/db/ArrayDB.java | 2
timeflow/vis/timeline/TimelineVisuals.java | 2
timeflow/vis/timeline/TimelineTrack.java | 1
timeflow/vis/timeline/AxisTicMarks.java | 3
timeflow/views/TimelineView.java | 5
timeflow/format/field/DateTimeGuesser.java | 2
17 files changed, 153 insertions(+), 106 deletions(-)
diff --git a/CameraPane.java b/CameraPane.java
index a5a5ed5..b5fba83 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -173,6 +173,34 @@
theRenderer = this;
}
+ CameraPane(Object3D o, Camera cam, boolean withcontext)
+ {
+ super(defaultcaps, null, withcontext?glcontext:null, null);
+
+ //System.out.println("AMERICA AREA = " + (9458886 + 9210755 + 8480395 + 2736391 + 1943018 + 1289475 + 1141569 + 1069350 + 911559 + 721229 + 395886 + 377972 + 246700 + 211156 + 173985 + 141133 + 118279 + 112079 + 108523));
+ glcontext = getContext();
+
+ cameras = new Camera[2];
+ targetLookAts = new cVector[2];
+
+ SetCamera(cam);
+
+ SetLight(new Camera(new cVector(10, 10, -20)));
+
+ object = o;
+
+ setBackground(Color.white);
+
+ addKeyListener(this);
+ addMouseListener(this);
+ addMouseMotionListener(this);
+ addMouseWheelListener(this);
+ //System.out.println("addGLEventListener: " + this);
+ addGLEventListener(this);
+
+// pingthread.start(); // may 2013
+ }
+
static boolean AntialiasingEnabled()
{
return CURRENTANTIALIAS > 0;
@@ -672,34 +700,6 @@
//assert (cam.hAspect == 0);
cam.hAspect = 0;
lightCamera = cam;
- }
-
- CameraPane(Object3D o, Camera cam, boolean withcontext)
- {
- super(defaultcaps, null, withcontext?glcontext:null, null);
-
- //System.out.println("AMERICA AREA = " + (9458886 + 9210755 + 8480395 + 2736391 + 1943018 + 1289475 + 1141569 + 1069350 + 911559 + 721229 + 395886 + 377972 + 246700 + 211156 + 173985 + 141133 + 118279 + 112079 + 108523));
- glcontext = getContext();
-
- cameras = new Camera[2];
- targetLookAts = new cVector[2];
-
- SetCamera(cam);
-
- SetLight(new Camera(new cVector(10, 10, -20)));
-
- object = o;
-
- setBackground(Color.white);
-
- addKeyListener(this);
- addMouseListener(this);
- addMouseMotionListener(this);
- addMouseWheelListener(this);
- //System.out.println("addGLEventListener: " + this);
- addGLEventListener(this);
-
-// pingthread.start(); // may 2013
}
private static void ApplyTransform(GL gl, Mat4f xform)
diff --git a/Constants.java b/Constants.java
index 105a701..5904c06 100644
--- a/Constants.java
+++ b/Constants.java
@@ -7,7 +7,6 @@
public interface Constants
{
-
//public static final double pi = math.PI;
//public static final double radian = 0.01745329;
public static final String EOL = System.getProperty("line.separator");
@@ -15,6 +14,7 @@
public static final String imageTypes[] = {
"gif", "tga", "iff", "ppm", "pgm", "png", "jpeg", "tiff", "sys", "jpg"
};
+
public static final int beigeTheme[][] = {
{
104, 95, 90
@@ -34,5 +34,24 @@
255, 255, 255
}
};
-
+ public static final int yellowTheme[][] = {
+ {
+ 104, 95, 90
+ }, {
+ 164, 150, 145 //
+ }, {
+ 204, 190, 185
+ }, {
+ 111, 111, 111
+ }, {
+ 163, 159, 159
+ }, {
+ //240, 226, 200 //
+ 240, 226, 200 //
+ }, {
+ 0, 0, 0
+ }, {
+ 255, 255, 255
+ }
+ };
}
diff --git a/GrafreeD.java b/GrafreeD.java
index ac56d92..ada5f76 100644
--- a/GrafreeD.java
+++ b/GrafreeD.java
@@ -742,8 +742,11 @@
try
{
MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());
- //MetalLookAndFeel.setCurrentTheme(new Theme(Constants.beigeTheme));
+ MetalLookAndFeel.setCurrentTheme(new Theme(Constants.yellowTheme));
UIManager.setLookAndFeel(new MetalLookAndFeel());
+ //UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
+ //UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel");
+ //UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
} catch (Exception e)
{
}
diff --git a/ObjEditor.java b/ObjEditor.java
index 751955c..25a20ef 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -31,6 +31,9 @@
boolean timeline;
boolean wasFullScreen;
+ GroupEditor callee;
+ JFrame frame;
+
// SCRIPT
transient JFrame textpanel = null;
@@ -127,8 +130,7 @@
static GridBagConstraints aConstraints;
static GridBagConstraints aWindowConstraints;
- GroupEditor callee;
- JFrame frame;
+
static int GRIDWIDTH = 100; // 4;
public void closeUI()
@@ -1369,7 +1371,8 @@
//worldPane.add(bigPanel);
//worldPane.add(worldPanel);
/**/
- frame.getContentPane().add(/*"Center",*/framePanel);
+ //frame.getContentPane().add(/*"Center",*/framePanel);
+ frame.add(/*"Center",*/framePanel);
//frame.getContentPane().add(/*"Center",*/ worldPane);
// aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc);
diff --git a/timeflow/app/ui/AddFieldPanel.java b/timeflow/app/ui/AddFieldPanel.java
index fc0d4df..3cbcd26 100755
--- a/timeflow/app/ui/AddFieldPanel.java
+++ b/timeflow/app/ui/AddFieldPanel.java
@@ -7,18 +7,21 @@
import java.awt.*;
import java.awt.event.*;
+public class AddFieldPanel extends JPanel
+{
+ public JTextField name = new JTextField(12);
+ public JComboBox typeChoices = new JComboBox();
-public class AddFieldPanel extends JPanel {
- public JTextField name=new JTextField(12);
- public JComboBox typeChoices=new JComboBox();
- public AddFieldPanel()
- {
- for (String choice: FieldFormatCatalog.classNames())
- typeChoices.addItem(choice);
- setLayout(new GridLayout(2,2));
- add(new JLabel("Field Name"));
- add(name);
- add(new JLabel("Field Type"));
- add(typeChoices);
- }
+ public AddFieldPanel()
+ {
+ for (String choice : FieldFormatCatalog.classNames())
+ {
+ typeChoices.addItem(choice);
+ }
+ setLayout(new GridLayout(2, 2));
+ add(new JLabel("Field Name"));
+ add(name);
+ add(new JLabel("Field Type"));
+ add(typeChoices);
+ }
}
diff --git a/timeflow/data/db/ArrayDB.java b/timeflow/data/db/ArrayDB.java
index b8b570a..6a52a38 100755
--- a/timeflow/data/db/ArrayDB.java
+++ b/timeflow/data/db/ArrayDB.java
@@ -43,7 +43,7 @@
public ArrayDB(String[] fieldNames, Class[] types, String source)
{
- this.schema = new Schema();
+ this.schema = new Schema(false);
this.source = source;
int n = fieldNames.length;
fields = new Field[n];
diff --git a/timeflow/data/db/BasicDB.java b/timeflow/data/db/BasicDB.java
index bcd3ba2..905c443 100755
--- a/timeflow/data/db/BasicDB.java
+++ b/timeflow/data/db/BasicDB.java
@@ -29,7 +29,7 @@
public BasicDB(String source)
{
- this(new Schema(), source);
+ this(new Schema(true), source);
}
public BasicDB(Schema schema, String source)
diff --git a/timeflow/data/db/Schema.java b/timeflow/data/db/Schema.java
index 9fdcc87..386f2ff 100755
--- a/timeflow/data/db/Schema.java
+++ b/timeflow/data/db/Schema.java
@@ -1,4 +1,5 @@
package timeflow.data.db;
+import timeflow.data.time.RoughTime;
import java.util.*;
@@ -6,6 +7,12 @@
public class Schema implements Iterable<Field>
{
+ public Schema(boolean withDateField)
+ {
+ add(new Field("Time", RoughTime.class, 0));
+ add(new Field("Name", String.class, 0));
+ }
+
private Map<String, Field> schema = new HashMap<String, Field>();
private List<Field> fieldList = new ArrayList<Field>(); // so we preserve field order.
diff --git a/timeflow/data/time/TimeUnit.java b/timeflow/data/time/TimeUnit.java
index 0eb149f..070b0fa 100755
--- a/timeflow/data/time/TimeUnit.java
+++ b/timeflow/data/time/TimeUnit.java
@@ -13,7 +13,7 @@
public static final TimeUnit HOUR = new TimeUnit("Hours", Calendar.HOUR_OF_DAY, 60 * 60 * 1000L, "HH:mm", "MMM d yyyy HH:mm");
public static final TimeUnit MINUTE = new TimeUnit("Minutes", Calendar.MINUTE, 60 * 1000L, ":mm", "MMM d yyyy HH:mm");
public static final TimeUnit SECOND = new TimeUnit("Seconds", Calendar.SECOND, 1000L, ":ss", "MMM d yyyy HH:mm:ss");
- public static final TimeUnit REALTIME = new TimeUnit("Realtime", Calendar.MILLISECOND, 1L, ":SS", "HH:mm:ss.SS");
+ public static final TimeUnit REALTIME = new TimeUnit("Realtime", Calendar.MILLISECOND, 1L, ".SS", "HH:mm:ss.SS");
public static final TimeUnit DECADE = multipleYears(10);
public static final TimeUnit CENTURY = multipleYears(100);
@@ -238,7 +238,7 @@
public String format(Date date)
{
- return format.format(date);
+ return format.format(date);
}
public String formatFull(Date date)
diff --git a/timeflow/format/field/DateTimeGuesser.java b/timeflow/format/field/DateTimeGuesser.java
index 3ec965c..60886f7 100755
--- a/timeflow/format/field/DateTimeGuesser.java
+++ b/timeflow/format/field/DateTimeGuesser.java
@@ -49,7 +49,7 @@
// parsers.add(new DateTimeParser("MMM/dd/yyyy HH:mm", TimeUnit.SECOND));
// parsers.add(new DateTimeParser("MM/dd/yy HH:mm", TimeUnit.SECOND));
// parsers.add(new DateTimeParser("MMM dd yyyy HH:mm:ss", TimeUnit.SECOND));
- parsers.add(new DateTimeParser("HH:mm:ss:SS", TimeUnit.REALTIME));
+ parsers.add(new DateTimeParser("HH:mm:ss.SS", TimeUnit.REALTIME));
// parsers.add(new DateTimeParser("MM/dd/yyyy HH:mm:ss", TimeUnit.SECOND));
// parsers.add(new DateTimeParser("MMM dd yyyy HH:mm:ss zzzzzzzz", TimeUnit.SECOND));
// parsers.add(new DateTimeParser("EEE MMM dd HH:mm:ss zzzzzzzz yyyy", TimeUnit.SECOND));
diff --git a/timeflow/format/field/FieldFormatCatalog.java b/timeflow/format/field/FieldFormatCatalog.java
index d65092c..be5112b 100755
--- a/timeflow/format/field/FieldFormatCatalog.java
+++ b/timeflow/format/field/FieldFormatCatalog.java
@@ -6,49 +6,56 @@
import java.net.URL;
import java.util.*;
-public class FieldFormatCatalog {
+public class FieldFormatCatalog
+{
+ private static Map<String, FieldFormat> formatTable = new HashMap<String, FieldFormat>();
+ private static Map<Class, FieldFormat> classTable = new HashMap<Class, FieldFormat>();
- private static Map<String, FieldFormat> formatTable=new HashMap<String, FieldFormat>();
- private static Map<Class, FieldFormat> classTable=new HashMap<Class, FieldFormat>();
+ static
+ {
+ for (FieldFormat f : listFormats())
+ {
+ formatTable.put(f.getHumanName(), f);
+ classTable.put(f.getType(), f);
+ }
+ }
- static
- {
- for (FieldFormat f: listFormats())
- {
- formatTable.put(f.getHumanName(), f);
- classTable.put(f.getType(), f);
- }
- }
-
- static FieldFormat[] listFormats()
- {
- return new FieldFormat[] {new FormatDateTime(), new FormatString(),
- new FormatStringArray(), new FormatDouble(), new FormatURL()};
- }
-
- public static Iterable<String> classNames()
- {
- return formatTable.keySet();
- }
-
- public static String humanName(Class c){
- return getFormat(c).getHumanName();
- }
-
+ static FieldFormat[] listFormats()
+ {
+ return new FieldFormat[]
+ {
+ new FormatDateTime(), new FormatString(),
+ new FormatStringArray(), new FormatDouble(), new FormatURL()
+ };
+ }
- public static FieldFormat getFormat(Class c) {
- FieldFormat f= classTable.get(c);
- if (f==null)
- System.out.println("Warning: no FieldFormat for "+c);
- return f;
- }
+ public static Iterable<String> classNames()
+ {
+ return formatTable.keySet();
+ }
-
- public static Class javaClass(String humanName)
- {
- Class c=formatTable.get(humanName).getType();
- if (c==null)
- System.out.println("Warning: no class for "+humanName);
- return c;
- }
+ public static String humanName(Class c)
+ {
+ return getFormat(c).getHumanName();
+ }
+
+ public static FieldFormat getFormat(Class c)
+ {
+ FieldFormat f = classTable.get(c);
+ if (f == null)
+ {
+ System.out.println("Warning: no FieldFormat for " + c);
+ }
+ return f;
+ }
+
+ public static Class javaClass(String humanName)
+ {
+ Class c = formatTable.get(humanName).getType();
+ if (c == null)
+ {
+ System.out.println("Warning: no class for " + humanName);
+ }
+ return c;
+ }
}
diff --git a/timeflow/model/Display.java b/timeflow/model/Display.java
index 47c3481..69c0fff 100755
--- a/timeflow/model/Display.java
+++ b/timeflow/model/Display.java
@@ -87,7 +87,7 @@
colors.put("timeline.unspecified.color", new Color(0, 53, 153));
colors.put("highlight.color", new Color(0, 53, 153));
- ints.put("timeline.datelabel.height", 20);
+ ints.put("timeline.datelabel.height", 10);
ints.put("timeline.item.height.min", 16);
}
diff --git a/timeflow/views/TimelineView.java b/timeflow/views/TimelineView.java
index 2e22fb6..983c2b6 100755
--- a/timeflow/views/TimelineView.java
+++ b/timeflow/views/TimelineView.java
@@ -5,6 +5,7 @@
import timeflow.data.db.DBUtils;
import timeflow.data.time.*;
import timeflow.model.*;
+
//import timeflow.views.CalendarView.CalendarPanel;
//import timeflow.views.CalendarView.ScrollingCalendar;
import timeflow.vis.Mouseover;
@@ -40,6 +41,7 @@
public TimelineView(TimeflowModel model)
{
super(model);
+
visuals = new TimelineVisuals(model);
grid = new AxisRenderer(visuals);
timeline = new TimelineRenderer(visuals);
@@ -55,13 +57,13 @@
TimelineSlider slider = new TimelineSlider(visuals, 24 * 60 * 60 * 1000L, new Runnable()
{
-
@Override
public void run()
{
redraw();
}
});
+
bottom.add(slider, BorderLayout.CENTER);
controls = new JPanel();
@@ -70,6 +72,7 @@
// top part of grid: zoom buttons.
ComponentCluster buttons = new ComponentCluster("Zoom");
+
//ImageIcon zoomOutIcon = new ImageIcon("images/zoom_out.gif");
JButton zoomIn = new JButton("In 1/2X");
buttons.addContent(zoomIn);
diff --git a/timeflow/vis/timeline/AxisRenderer.java b/timeflow/vis/timeline/AxisRenderer.java
index 68bc5fe..7c16246 100755
--- a/timeflow/vis/timeline/AxisRenderer.java
+++ b/timeflow/vis/timeline/AxisRenderer.java
@@ -57,19 +57,23 @@
g.setColor(t.unit.isDayOrLess() && (dayOfWeek == 1 || dayOfWeek == 7)
? new Color(245, 245, 245) : new Color(240, 240, 240));
- g.fillRect(x0, y, x1 - x0 - 1, h);
+ g.fillRect(x0, y, x1 - x0, h);
g.setColor(Color.white);
- g.drawLine(x1 - 1, y, x1 - 1, y + h);
+ g.drawLine(x1, y, x1, y + h);
g.drawLine(x0, y + h, x1, y + h);
- objectLocations.add(new Mouseover(new Interval(start, end), x0, y, x1 - x0 - 1, h));
+ objectLocations.add(new Mouseover(new Interval(start, end), x0, y, x1 - x0, h));
g.setFont(model.getDisplay().timeLabel());
String label = full ? t.unit.formatFull(start) : t.unit.format(new Date(start));
- int tx = x0 + 3;
- int ty = y + h - 5;
+
+ if (!full)
+ full = false;
+
+ int tx = x0;
+ int ty = y + h;
g.setColor(full ? Color.darkGray : Color.gray);
int sw = model.getDisplay().timeLabelFontMetrics().stringWidth(label);
- if (sw < x1 - tx - 3)
+ if (true) // sw < x1 - tx)
{
g.drawString(label, tx, ty);
} else
@@ -79,7 +83,7 @@
{
label = label.substring(0, c);
sw = model.getDisplay().timeLabelFontMetrics().stringWidth(label);
- if (sw < x1 - tx - 3)
+ //if (sw < x1 - tx)
{
g.drawString(label, tx, ty);
}
diff --git a/timeflow/vis/timeline/AxisTicMarks.java b/timeflow/vis/timeline/AxisTicMarks.java
index 2a88ab8..8c786e4 100755
--- a/timeflow/vis/timeline/AxisTicMarks.java
+++ b/timeflow/vis/timeline/AxisTicMarks.java
@@ -44,7 +44,7 @@
public static List<AxisTicMarks> allRelevant(long start, long end)
{
- return allRelevant(start, end, 40);
+ return allRelevant(start, end, 4000);
}
public static AxisTicMarks histoTics(long start, long end)
@@ -68,7 +68,6 @@
public static List<AxisTicMarks> allRelevant(long start, long end, long maxTics)
{
List<AxisTicMarks> list = new ArrayList<AxisTicMarks>();
-
for (int i = 0; i < units.length; i++)
{
diff --git a/timeflow/vis/timeline/TimelineTrack.java b/timeflow/vis/timeline/TimelineTrack.java
index e86c2f4..156e8a3 100755
--- a/timeflow/vis/timeline/TimelineTrack.java
+++ b/timeflow/vis/timeline/TimelineTrack.java
@@ -8,7 +8,6 @@
public class TimelineTrack implements Comparable
{
-
String label;
List<VisualAct> visualActs = new ArrayList<VisualAct>();
int y0, y1;
diff --git a/timeflow/vis/timeline/TimelineVisuals.java b/timeflow/vis/timeline/TimelineVisuals.java
index f19c09d..3aa2dc6 100755
--- a/timeflow/vis/timeline/TimelineVisuals.java
+++ b/timeflow/vis/timeline/TimelineVisuals.java
@@ -15,9 +15,9 @@
*/
public class TimelineVisuals
{
-
private Map<String, TimelineTrack> trackTable = new HashMap<String, TimelineTrack>();
ArrayList<TimelineTrack> trackList = new ArrayList<TimelineTrack>();
+
private TimeScale timeScale = new TimeScale();
private Rectangle bounds = new Rectangle();
private boolean frameChanged;
--
Gitblit v1.6.2