CrushedPixel
030374df2a
Fixed GuiNumberInput#getIntValue() returning 0 if floating point number is entered
2015-09-09 15:22:39 +02:00
CrushedPixel
eeded7a7fd
Spectator Keyframe segments using Shoulder Camera are rendered in a different color on the timeline
2015-09-06 18:35:15 +02:00
CrushedPixel
78bb48b62f
Added setters for Position and Size variables to GuiElement interface and implemented them
2015-09-06 18:35:15 +02:00
CrushedPixel
2f522c68fe
Instead of using AdvancedPosition objects with a value for spectatedEntityID, use SpectatorData objects for Spectator Keyframes. This allows us to add more options to Spectator Keyframes.
2015-09-04 17:38:10 +02:00
CrushedPixel
97fad83868
Fix direct calls to drawTextBox in GuiEntryList and GuiDropdown incorrectly rendering the Gui Element. Direct calls to drawTextBox are nevertheless deprecated from now on.
2015-09-02 15:40:56 +02:00
CrushedPixel
03aead65b6
Gigantic warning cleanup
2015-08-31 17:49:21 +02:00
CrushedPixel
e0259d0c5a
Some general warning cleanup
2015-08-31 17:48:14 +02:00
CrushedPixel
6d7946d8a7
Properly respect expanded state of GuiDropdown in its isHovering() method
2015-08-31 17:48:14 +02:00
CrushedPixel
e1d307cfcf
Only poll Mouse Wheel change if hovering over GuiDropdown/GuiEntryList to avoid multiple Elements clashing
2015-08-31 17:48:14 +02:00
johni0702
139553c15b
Sort assets by name in AssetManager and ObjectManager
2015-08-19 12:22:55 +02:00
johni0702
dcd4cbdfaa
Remove debug output (shame on me)
2015-08-19 12:22:54 +02:00
CrushedPixel
46f13a200c
For some unknown reason, this combination of mc.toggleFullscreen() and the Swing File Chooser doesn't freeze the JVM on Windows when in Fullscreen
2015-08-16 12:11:06 +02:00
johni0702
8d7bc1b8d6
Fix NPE when inserting new line anywhere but at the end
2015-08-16 11:34:36 +02:00
CrushedPixel
d8cd278399
Prevent NPE in GuiReplayListEntry that can occur when the API returns an invalid Thumbnail
2015-08-12 10:10:37 +02:00
CrushedPixel
197500857f
Call fireValueChangeEvent() in GuiNumberInput when digits have been deleted
2015-08-11 13:37:27 +02:00
CrushedPixel
7bc3574515
When setting the last camera position before a time jump, a boolean has to be passed indicating whether that position should be enforced or ignored if it's out of a reasonable distance from the player's position.
...
This is used by the GuiMarkerTimeline to ensure that jumping to Marker Keyframes actually results in the Marker Keyframe's Position.
The actual code handling Position jumping after Time jumping was moved to the ReplayHandler and is now also called when jumping using the "Please wait" Screen.
2015-07-30 11:29:45 +02:00
CrushedPixel
853c8a45e0
ComposedElements properly draw overlays of their underlying Elements
2015-07-23 22:41:48 +02:00
CrushedPixel
6e9a77098a
When clicking Time/Marker Keyframes, the time is now traveled with the "Please wait" screen
2015-07-22 23:13:21 +02:00
CrushedPixel
ff6b09dcba
Adjust MARKER_DISTANCE value in GuiTimeline to avoid visual glitches
2015-07-21 03:44:33 +02:00
CrushedPixel
585482a542
GuiArrowButton now draws from Texture instead of awful calculations
2015-07-20 02:03:01 +02:00
CrushedPixel
a435d5a271
Make GuiAdvancedButton only perform actions when enabled
2015-07-20 02:01:00 +02:00
CrushedPixel
702e02db65
Made calculation of Markers on GuiTimeline dynamic
...
Changed Real Timeline's Length to 30 minutes (request by multiple users)
2015-07-19 23:27:22 +02:00
johni0702
6422558028
General warning cleanup
2015-07-19 16:21:56 +02:00
johni0702
4f718ab302
Split GuiEditKeyframe into multiple classes depending on Keyframe type
2015-07-19 16:18:46 +02:00
CrushedPixel
d6c03644b8
Created GuiOutsideClickableElement interface for GuiElements that can be deselected/closed by clicking outside of them and properly forward mouse clicks to these elements
2015-07-19 14:42:12 +02:00
CrushedPixel
0dc4ddca08
Reduced Constructor sets GuiAdvancedTextField's height
2015-07-19 13:27:37 +02:00
CrushedPixel
5087de8cd5
GuiColorPicker#hoveringPicker only returns true if the GuiElement is enabled
2015-07-19 13:27:37 +02:00
CrushedPixel
51814e143b
Created dummy GuiOverlayElement interface for ComposedElement to determine which Elements to draw last
...
Added methods to retrieve position and size from a GuiElement
Added draw() method with option to override hovered boolean to GuiElement interface and implemented it. This is required for GuiAdvancedButtons which would be tinted blue (as if hovered) even though an overlying GuiElement (e.g. GuiDropdown) was hovered
2015-07-19 13:27:37 +02:00
CrushedPixel
23b77b2375
Right-Clicking a Position Keyframe teleports the Camera to that Keyframe's Position, Right-Clicking a Time Keyframe jumps to its Timestamp | https://trello.com/c/dL48nHyG/
...
DRYed closest Keyframe calculation on GuiKeyframeTimeline
DRYed closest Keyframe calculation on GuiMarkerTimeline
2015-07-19 13:27:37 +02:00
CrushedPixel
b4eb366688
Added more Constructors to GuiAdvancedTextField
2015-07-19 13:27:37 +02:00
CrushedPixel
b851632ffb
added getWidth() method to GuiString which returns the width of the drawn String (calculated using FontRenderer#getStringWidth())
2015-07-19 13:27:37 +02:00
CrushedPixel
3c7c1198cc
Made GuiColorPicker a subclass of GuiAdvancedButton and call pickerToggled() method from own click handler methods
2015-07-19 13:27:36 +02:00
CrushedPixel
5b167351b0
ComposedElement initially sorts its elements and respects their elements' y position if both are Dropdowns
2015-07-19 13:27:36 +02:00
CrushedPixel
708201c456
Added CheckBoxListener for GuiAdvancedCheckBox
2015-07-19 13:27:36 +02:00
CrushedPixel
57100735a4
Filed GuiFileChooser opening an "Open" dialog when a "Save" dialog should be opened
2015-07-15 23:57:58 +02:00
CrushedPixel
5816ff1f80
Fix GuiAdvancedButton drawing a Tooltip if the Hover Text String is empty
2015-07-15 23:57:30 +02:00
johni0702
7ee5f86b4e
Prevent rendering with invalid resolution
2015-07-15 15:43:01 +02:00
CrushedPixel
534007b9c8
Executes JFileChooser activities in Swing Thread
...
If Minecraft is fullscreen, exit fullscreen when using GuiFileChooser
2015-07-14 02:07:24 +02:00
CrushedPixel
654c2200d5
Replaced AWT FileDialog with Swing JFileChooser in GuiFileChooser
2015-07-14 01:36:00 +02:00
CrushedPixel
9cf3f426aa
Renamed setEnabled() method in GuiElementInterface to setElementEnabled() to workaround this Forge Bug: http://www.minecraftforge.net/forum/index.php/topic,32063
2015-07-14 00:25:17 +02:00
CrushedPixel
0f024a9de9
Cleaned up ReplayHandler by unifying selectedKeyframe and selectedMarkerKeyframe into selectedKeyframe, thus only being able to select one Keyframe at once
2015-07-13 22:08:41 +02:00
CrushedPixel
9d2c371398
GuiKeyframeTimeline now draws a red stroke between two time Keyframes if the second has a smaller timestamp value than the first | https://trello.com/c/a4xZs085/
2015-07-13 15:26:20 +02:00
CrushedPixel
3eca70fea4
Fixed blue stroke on GuiKeyframeTimeline possibly exceeding the Timeline's bounds | https://trello.com/c/IfTtmwso/
2015-07-13 15:18:32 +02:00
CrushedPixel
39558701bf
Reworked GuiEditKeyframe to use ComposedElements
...
Made GuiArrowButton a subclass of GuiAdvancedButton
Added consistency to ReplayHandler by renaming getMarkers() to getMarkerKeyframes() and removing redundant methods which can be accessed via KeyframeList class
2015-07-13 02:03:19 +02:00
CrushedPixel
66c595eb04
Marker Keyframes are now being saved in a KeyframeList in the ReplayHandler
...
Made MarkerKeyframes names editable in GuiEditKeyframe
Shows "Unnamed Marker" if Marker name is empty
2015-07-13 01:21:48 +02:00
CrushedPixel
f55f169d01
Removed MarkerKeyframe and replaced it with generic type of Keyframe using the new Marker POJO
2015-07-13 00:17:29 +02:00
CrushedPixel
b0429fcf44
Fixed NPE in GuiFileChooser if selected file is null
2015-07-12 22:23:33 +02:00
CrushedPixel
ac79eef077
Added support for Save File Dialogs to GuiFileChooser
2015-07-12 22:12:51 +02:00
CrushedPixel
e9a73cb028
use List interface instead of ArrayList implementation in several places
2015-07-12 20:55:13 +02:00
CrushedPixel
45f64faa77
Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created
...
CustomObjectRepository is now being saved to and loaded from the ReplayFile
The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview)
KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe
Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp()
Added Javadoc to Transformation POJO
Created NumberValueChangeListener which can be applied to GuiNumberInput objects
Made step size customizable in GuiDraggingNumberInput
Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset
Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
2015-07-12 16:21:11 +02:00