source: trunk/src/org/expeditee/gio/javafx/JavaFXConversions.java@ 1415

Last change on this file since 1415 was 1415, checked in by bln4, 5 years ago

Renamed Frame.getItems() to Frame.getSortedItems() to better represent its functionality.

-> org.apollo.ApolloGestureActions
-> org.apollo.ApolloSystem
-> org.expeditee.actions.Actions
-> org.expeditee.actions.Debug
-> org.expeditee.actions.ExploratorySearchActions
-> org.expeditee.actions.JfxBrowserActions
-> org.expeditee.actions.Misc
-> org.expeditee.actions.Navigation
-> org.expeditee.actions.ScriptBase
-> org.expeditee.actions.Simple
-> org.expeditee.agents.ComputeTree
-> org.expeditee.agents.CopyTree
-> org.expeditee.agents.DisplayComet
-> org.expeditee.agents.DisplayTree
-> org.expeditee.agents.DisplayTreeLeaves
-> org.expeditee.agents.GraphFramesetLinks
-> org.expeditee.agents.TreeProcessor
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gui.DisplayController
-> org.expeditee.gui.FrameCreator
-> org.expeditee.gui.FrameIO
-> org.expeditee.io.DefaultTreeWriter
-> org.expeditee.io.JavaWriter
-> org.expeditee.io.PDF2Writer
-> org.expeditee.io.TXTWriter
-> org.expeditee.io.WebParser
-> org.expeditee.io.flowlayout.XGroupItem
-> org.expeditee.items.Dot
-> org.expeditee.items.Item
-> org.expeditee.items.ItemUtils
-> org.expeditee.network.FrameShare
-> org.expeditee.stats.TreeStats


Created ItemsList class to wrap ArrayList<Item>. Frames now use this new class to store its body list (used for display) as well as its primaryBody and surrogateBody.

-> org.expeditee.agents.Format
-> org.expeditee.agents.HFormat
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gui.Frame
-> org.expeditee.gui.FrameUtils


Refactorted Frame.setResort(bool) to Frame.invalidateSorted() to better function how it is intended to with a more accurate name.

-> org.expeditee.agents.Sort


When writing out .exp files and getting attributes to respond to LEFT + RIGHT click, boolean items are by default true. This has always been the case. An ammendment to this is that defaults can now be established.
Also added 'EnterClick' functionality. If cursored over a item with this property and you press enter, it acts as if you have clicked on it instead.

-> org.expeditee.assets.resources-public.framesets.authentication.1.exp to 6.exp
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gio.input.KBMInputEvent
-> org.expeditee.gio.javafx.JavaFXConversions
-> org.expeditee.gio.swing.SwingConversions
-> org.expeditee.gui.AttributeUtils
-> org.expeditee.io.Conversion
-> org.expeditee.io.DefaultFrameWriter
-> org.expeditee.items.Item


Fixed a bug caused by calling Math.abs on Integer.MIN_VALUE returning unexpected result. Due to zero being a thing, you cannot represent Math.abs(Integer.MIN_VALUE) in a Integer object. The solution is to use Integer.MIN_VALUE + 1 instead of Integer.MIN_VALUE.

-> org.expeditee.core.bounds.CombinationBounds
-> org.expeditee.io.flowlayout.DimensionExtent


Recoded the contains function in EllipticalBounds so that intersection tests containing circles work correctly.

-> org.expeditee.core.bounds.EllipticalBounds


Added toString() to PolygonBounds to allow for useful printing during debugging.

-> org.expeditee.core.bounds.PolygonBounds

Implemented Surrogate Mode!

-> org.expeditee.encryption.io.EncryptedExpReader
-> org.expeditee.encryption.io.EncryptedExpWriter
-> org.expeditee.encryption.items.surrogates.EncryptionDetail
-> org.expeditee.encryption.items.surrogates.Label
-> org.expeditee.gui.FrameUtils
-> org.expeditee.gui.ItemsList
-> org.expeditee.items.Item
-> org.expeditee.items.Text


???? Use Integer.MAX_VALUE cast to a float instead of Float.MAX_VALUE. This fixed some bug which I cannot remember.

-> org.expeditee.gio.TextLayoutManager
-> org.expeditee.gio.swing.SwingTextLayoutManager


Improved solution for dealing with the F10 key taking focus away from Expeditee due to it being a assessibility key.

-> org.expeditee.gio.swing.SwingInputManager


Renamed variable visibleItems in FrameGraphics.paintFrame to itemsToPaintCanditates to better represent functional intent.

-> org.expeditee.gui.FrameGraphics


Improved checking for if personal resources exist before recreating them

-> org.expeditee.gui.FrameIO


Repeated messages to message bay now have a visual feedback instead of just a beep. This visual feedback is in the form of a count of the amount of times it has repeated.

-> org.expeditee.gui.MessageBay


Updated comment on the Vector class to explain what vectors are.

-> org.expeditee.gui.Vector


Added constants to represent all of the property keys in DefaultFrameReader and DefaultFrameWriter.

-> org.expeditee.io.DefaultFrameReader
-> org.expeditee.io.DefaultFrameWriter


Updated the KeyList setting to be more heirarcial with how users will store their Secrets.

-> org.expeditee.settings.identity.secrets.KeyList

File size: 6.2 KB
Line 
1package org.expeditee.gio.javafx;
2
3import javafx.scene.paint.CycleMethod;
4import javafx.scene.paint.Stop;
5
6public class JavaFXConversions {
7
8 public static org.expeditee.core.Colour fromJavaFXColor(javafx.scene.paint.Color color)
9 {
10 if (color == null) return null;
11
12 return new org.expeditee.core.Colour((float) color.getRed(), (float) color.getGreen(), (float) color.getBlue(), (float) color.getOpacity());
13 }
14
15 public static javafx.scene.paint.Color toJavaFXColor(org.expeditee.core.Colour colour)
16 {
17 if (colour == null) return null;
18
19 return new javafx.scene.paint.Color(colour.getRedFloat(), colour.getGreenFloat(), colour.getBlueFloat(), colour.getAlphaFloat());
20 }
21
22 public static org.expeditee.core.bounds.AxisAlignedBoxBounds fromJavaFXRectangle2D(javafx.geometry.Rectangle2D rectangle)
23 {
24 if (rectangle == null) return null;
25
26 return new org.expeditee.core.bounds.AxisAlignedBoxBounds((int) rectangle.getMinX(), (int) rectangle.getMinY(), (int) rectangle.getWidth(), (int) rectangle.getHeight());
27 }
28
29 public static javafx.geometry.Rectangle2D toJavaFXRectangle2D(org.expeditee.core.bounds.AxisAlignedBoxBounds box)
30 {
31 if (box == null) return null;
32
33 return new javafx.geometry.Rectangle2D(box.getMinX(), box.getMinY(), box.getWidth(), box.getHeight());
34 }
35
36 public static javafx.scene.paint.LinearGradient toJavaFXLinearGradient(org.expeditee.core.GradientFill fill)
37 {
38 if (fill == null) return null;
39
40 Stop[] stops = new Stop[2];
41 stops[0] = new Stop(0, toJavaFXColor(fill.getFromColour()));
42 stops[1] = new Stop(1, toJavaFXColor(fill.getToColour()));
43 CycleMethod cyclic = fill.isAcyclic() ? CycleMethod.NO_CYCLE : CycleMethod.REFLECT;
44 return new javafx.scene.paint.LinearGradient(
45 fill.getFromPoint().getX(),
46 fill.getFromPoint().getY(),
47 fill.getToPoint().getX(),
48 fill.getToPoint().getY(),
49 false,
50 cyclic,
51 stops
52 );
53 }
54
55 public static javafx.scene.shape.StrokeLineCap toJavaFXStrokeLineCap(org.expeditee.core.Stroke.CAP cap)
56 {
57 switch (cap) {
58 case BUTT:
59 return javafx.scene.shape.StrokeLineCap.BUTT;
60 case ROUND:
61 return javafx.scene.shape.StrokeLineCap.ROUND;
62 case SQUARE:
63 return javafx.scene.shape.StrokeLineCap.SQUARE;
64 default:
65 return null;
66 }
67 }
68
69 public static javafx.scene.shape.StrokeLineJoin toJavaFXStrokeLineJoin(org.expeditee.core.Stroke.JOIN join)
70 {
71 switch (join) {
72 case BEVEL:
73 return javafx.scene.shape.StrokeLineJoin.BEVEL;
74 case MITER:
75 return javafx.scene.shape.StrokeLineJoin.MITER;
76 case ROUND:
77 return javafx.scene.shape.StrokeLineJoin.ROUND;
78 default:
79 return null;
80 }
81 }
82
83 public static org.expeditee.gio.input.KBMInputEvent.Key fromJavaFXKeyCode(javafx.scene.input.KeyCode key)
84 {
85 switch (key) {
86 case SHIFT: return org.expeditee.gio.input.KBMInputEvent.Key.SHIFT;
87 case CONTROL: return org.expeditee.gio.input.KBMInputEvent.Key.CTRL;
88 case ALT: return org.expeditee.gio.input.KBMInputEvent.Key.ALT;
89 case ESCAPE: return org.expeditee.gio.input.KBMInputEvent.Key.ESC;
90 case F1: return org.expeditee.gio.input.KBMInputEvent.Key.F1;
91 case F2: return org.expeditee.gio.input.KBMInputEvent.Key.F2;
92 case F3: return org.expeditee.gio.input.KBMInputEvent.Key.F3;
93 case F4: return org.expeditee.gio.input.KBMInputEvent.Key.F4;
94 case F5: return org.expeditee.gio.input.KBMInputEvent.Key.F5;
95 case F6: return org.expeditee.gio.input.KBMInputEvent.Key.F6;
96 case F7: return org.expeditee.gio.input.KBMInputEvent.Key.F7;
97 case F8: return org.expeditee.gio.input.KBMInputEvent.Key.F8;
98 case F9: return org.expeditee.gio.input.KBMInputEvent.Key.F9;
99 case F10: return org.expeditee.gio.input.KBMInputEvent.Key.F10;
100 case F11: return org.expeditee.gio.input.KBMInputEvent.Key.F11;
101 case F12: return org.expeditee.gio.input.KBMInputEvent.Key.F12;
102 case UP: return org.expeditee.gio.input.KBMInputEvent.Key.UP_ARROW;
103 case DOWN: return org.expeditee.gio.input.KBMInputEvent.Key.DOWN_ARROW;
104 case LEFT: return org.expeditee.gio.input.KBMInputEvent.Key.LEFT_ARROW;
105 case RIGHT: return org.expeditee.gio.input.KBMInputEvent.Key.RIGHT_ARROW;
106 case HOME: return org.expeditee.gio.input.KBMInputEvent.Key.HOME;
107 case END: return org.expeditee.gio.input.KBMInputEvent.Key.END;
108 case DELETE: return org.expeditee.gio.input.KBMInputEvent.Key.DELETE;
109 case PAGE_UP: return org.expeditee.gio.input.KBMInputEvent.Key.PAGE_UP;
110 case PAGE_DOWN: return org.expeditee.gio.input.KBMInputEvent.Key.PAGE_DOWN;
111 case BACK_SPACE: return org.expeditee.gio.input.KBMInputEvent.Key.BACKSPACE;
112 case TAB: return org.expeditee.gio.input.KBMInputEvent.Key.TAB;
113 case A: return org.expeditee.gio.input.KBMInputEvent.Key.A;
114 case B: return org.expeditee.gio.input.KBMInputEvent.Key.B;
115 case C: return org.expeditee.gio.input.KBMInputEvent.Key.C;
116 case D: return org.expeditee.gio.input.KBMInputEvent.Key.D;
117 case E: return org.expeditee.gio.input.KBMInputEvent.Key.E;
118 case F: return org.expeditee.gio.input.KBMInputEvent.Key.F;
119 case G: return org.expeditee.gio.input.KBMInputEvent.Key.G;
120 case H: return org.expeditee.gio.input.KBMInputEvent.Key.H;
121 case I: return org.expeditee.gio.input.KBMInputEvent.Key.I;
122 case J: return org.expeditee.gio.input.KBMInputEvent.Key.J;
123 case K: return org.expeditee.gio.input.KBMInputEvent.Key.K;
124 case L: return org.expeditee.gio.input.KBMInputEvent.Key.L;
125 case M: return org.expeditee.gio.input.KBMInputEvent.Key.M;
126 case N: return org.expeditee.gio.input.KBMInputEvent.Key.N;
127 case O: return org.expeditee.gio.input.KBMInputEvent.Key.O;
128 case P: return org.expeditee.gio.input.KBMInputEvent.Key.P;
129 case Q: return org.expeditee.gio.input.KBMInputEvent.Key.Q;
130 case R: return org.expeditee.gio.input.KBMInputEvent.Key.R;
131 case S: return org.expeditee.gio.input.KBMInputEvent.Key.S;
132 case T: return org.expeditee.gio.input.KBMInputEvent.Key.T;
133 case U: return org.expeditee.gio.input.KBMInputEvent.Key.U;
134 case V: return org.expeditee.gio.input.KBMInputEvent.Key.V;
135 case W: return org.expeditee.gio.input.KBMInputEvent.Key.W;
136 case X: return org.expeditee.gio.input.KBMInputEvent.Key.X;
137 case Y: return org.expeditee.gio.input.KBMInputEvent.Key.Y;
138 case Z: return org.expeditee.gio.input.KBMInputEvent.Key.Z;
139 case ENTER: return org.expeditee.gio.input.KBMInputEvent.Key.ENTER;
140 default: return null;
141 }
142 }
143}
Note: See TracBrowser for help on using the repository browser.