forked from eledot/LoveFrames
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathchangelog.txt
915 lines (785 loc) · 46.6 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
================================================
Version 0.10 - Alpha (Release Date TBD)
================================================
[ADDED] a new object: tree
[ADDED] a new object: radiobutton
[ADDED] a new button method: GetDown()
[ADDED] support for relative object sizing
[ADDED] a new columnlist method: GetCellText(rowid, columnid)
[ADDED] a new button method: SetToggleable(bool)
[ADDED] a new button method: GetToggleable()
[ADDED] toggle functionality to the button object
[ADDED] resizing functinality to the columnlistheader object
[ADDED] horizontal scrolling to the columnlist object
[ADDED] a new columnlistarea method: GetVerticalScrollBody()
[ADDED] a new columnlistarea method: GetHorizontalScrollBody()
[ADDED] a new columnlist method: GetTotalColumnWidth()
[ADDED] a new columnlist method: SetColumnWidth(id, width)
[ADDED] a new columnlist method: GetColumnWidth(id)
[ADDED] a new columnlist method: ResizeColumns()
[ADDED] a new columnlist method: SetDefaultColumnWidth(width)
[ADDED] a new columnlist method: GetDefaultColumnWidth()
[ADDED] a new columnlist method: SetColumnResizeEnabled(bool)
[ADDED] a new columnlist method: GetColumnResizeEnabled()
[ADDED] a new columnlist method: SizeColumnToData()
[ADDED] a new columnlist method: SetColumnOrder(curid, newid)
[ADDED] a new columnlistheader method: SetName(name)
[ADDED] a new scrollbody method: GetScrollBar()
[ADDED] a new scrollbar method: ScrollTo(percent)
[ADDED] a new frame method: SetMaxSize(width, height)
[ADDED] a new frame method: GetMaxSize()
[ADDED] a new frame method: SetMinSize(width, height)
[ADDED] a new frame method: GetMinSize()
[ADDED] a new textinput method: ClearLine(line)
[ADDED] a new textinput method: SetTrackingEnabled(bool)
[ADDED] a new textinput method: GetTrackingEnabled()
[ADDED] a new list method: GetAutoScroll()
[FIXED] bug that would cause tabbuttons to be positioned incorrectly when scrolling with the mouse wheel
[FIXED] collision detection issue caused by list child objects not being updated when outside of their parent's bounding box
[FIXED] checkbox text becoming invisible when calling checkbox:SetText after switching to a custom state
[FIXED] an error caused by calling base:MoveToTop on an object parented to a panel object
[FIXED] nested list positioning issues
[FIXED] textinput.alltextselected being set to true when calling the SelectAll method on an empty single-line textinput
[FIXED] a bug that allowed frames to be resized when they where not being hovered
[FIXED] text:GetLines always returning nil
[FIXED] creating a newline in a multiline textinput with the return key would not reset the object's xoffset
[FIXED] the last character of a long line in a multiline textinput not being shown due to a text offset calculation issue
[FIXED] scrollbody now resizes to parent
[FIXED] textinput indicator now always visible
[FIXED] columnlist rows can have non-drawable extra info ("Blue" skin doesn't crash on it)
[CHANGED] columnlist row colors are now adjusted when a row is removed from the list
[CHANGED] columnlistarea.rowcolorindex now resets to 1 when the list is cleared
[CHANGED] columnlist:SetRowColumnText to columnlist:SetCellText
[CHANGED] columnlist:AdjustColumns to columnlist:PositionColumns
[CHANGED] license to zlib/libpng
[CHANGED] the loveframes table is now returned by init.lua
[CHANGED] template files are now expected to return a template table instead of calling loveframes.templates.Register
[CHANGED] textinput tries to scroll horizontally only if alt is pressed
[CHANGED] project-wide utf8 support
[CHANGED] the textinput's indicator is now always visible when being moved
================================================
Version 0.9.8.1 - Alpha (May 17 - 2014)
================================================
[ADDED] ability to specify a custom skin directory in a skin's lua file
[FIXED] frame:MakeTop not returning self in certain situations
[FIXED] ability to insert tabs into a textinput when all of the object's text was selected
[FIXED] ability to cause a single-line textinput to enter all text selected mode when no text had been entered
[CHANGED] returning false in a frame.OnClose event callback will prevent the frame from being removed
[CHANGED] tabs:AddTab now returns the tabbutton object associated with the new tab
================================================
Version 0.9.8 - Alpha (April 3 - 2014)
================================================
[ADDED] support for method chaining
[ADDED] a new tooltip method: GetPadding()
[ADDED] a new frame method: SetAlwaysOnTop(bool)
[ADDED] a new frame method: GetAlwaysOnTop()
[FIXED] text object link detection issues
[FIXED] loveframes.util.GetDirectoryContents returning incorrect require paths
[CHANGED] the text object will now detect newlines that are not separated by spaces
[REMOVED] support for LOVE 0.8.0
================================================
Version 0.9.7.2 - Alpha (January 29 - 2014)
================================================
[ADDED] a new closebutton method: SetAutoPosition(bool)
[ADDED] a new closebutton method: GetAutoPosition()
[ADDED] checkbox skin directives
[FIXED] ability to use the tab button in numberbox textinputs
[FIXED] text width being calculated incorrectly when max width was set to 0
[FIXED] base menus can no longer extend beyond the boundaries of the application window
[CHANGED] minor performance improvements for the following objects: list, columnlistarea, tabs
[CHANGED] closebuttons are now automatically positioned by default
[CHANGED] optimized loveframes.util.TableHasKey (thanks CyaNox)
================================================
Version 0.9.7.1 - Alpha (January 15 - 2014)
================================================
[ADDED] a new tooltip method: GetOffsetX()
[ADDED] a new tooltip method: GetOffsetY()
[ADDED] a new tooltip method: GetOffsets()
[ADDED] a new tooltip method: GetFollowCursor()
[ADDED] a new tooltip method: GetObject()
[ADDED] a new tooltip method: GetFont()
[ADDED] a new tooltip method: GetFollowObject()
[CHANGED] Moved library files to /libraries
[CHANGED] Upgraded to middleclass 3.0.1
================================================
Version 0.9.7 - Alpha (January 12 - 2014)
================================================
[ADDED] a new base method: textinput(text)
[ADDED] a new frame method: SetResizable(bool)
[ADDED] a new frame method: GetResizable()
[ADDED] a new frame method: SetMinWidth(width)
[ADDED] a new frame method: GetMinWidth()
[ADDED] a new frame method: SetMaxWidth(width)
[ADDED] a new frame method: GetMaxWidth()
[ADDED] a new frame method: SetMinHeight(height)
[ADDED] a new frame method: GetMinHeight()
[ADDED] a new frame method: SetMaxHeight(height)
[ADDED] a new frame method: GetMaxHeight()
[ADDED] a new progressbar method: SetText(text)
[ADDED] a new progressbar method: GetText()
[ADDED] a new tabs method: SetButtonAreaX(x)
[ADDED] a new tabs method: GetButtonAreaX()
[ADDED] a new tabs method: SetButtonAreaWidth(width)
[ADDED] a new tabs method: GetButtonAreaWidth()
[ADDED] a new tabs method: SetAutoButtonAreaWidth(bool)
[ADDED] a new tabs method: GetAutoButtonAreaWidth()
[ADDED] a new text method: SetLinksEnabled(enabled)
[ADDED] a new text method: GetLinksEnabled()
[ADDED] a new text method: SetDetectLinks(detect)
[ADDED] a new text method: GetDetectLinks()
[ADDED] a new textinput method: Copy()
[ADDED] a new textinput method: Paste()
[ADDED] a new textinput method: SelectAll()
[ADDED] a new textinput method: DeselectAll()
[ADDED] a new textinput method: SetMasked(masked)
[ADDED] a new textinput method: GetMasked()
[ADDED] a new textinput method: SetMaskChar(char)
[ADDED] a new textinput method: GetMaskChar()
[ADDED] a new textinput method: SetPlaceholderText(text)
[ADDED] a new textinput method: GetPlaceholderText()
[ADDED] a new tooltip method: SetOffsetX(xoffset)
[ADDED] a new tooltip method: SetOffsetY(yoffset)
[ADDED] a new tooltip method: GetText()
[ADDED] a new text event callback: OnClickLink(object, text)
[ADDED] a new frame event callback: OnResize(object, width, height)
[ADDED] a new util library function: TableHasValue(table, value)
[ADDED] a new util library function: GetHoverObject()
[ADDED] a new callback: textinput(text)
[ADDED] a new object: form
[ADDED] a new object: menu
[ADDED] a new skin drawing function: DrawOverTabPanel(object)
[ADDED] basic clipboard support for the textinput object (0.9.0 only)
[ADDED] custom cursor support for the textinput object
[ADDED] support for love.filesystem changes to loveframes.util.GetDirectoryContents (0.9.0 only)
[ADDED] support for text object link processing
[ADDED] loveframes.downobject
[ADDED] skin directives for the text object
[ADDED] functionality for resizing frames
[FIXED] error when pressing a function key while a textinput was focused
[FIXED] the tooltip object not setting the state of its text object
[FIXED] the text object not being set to the correct width in certain situations
[FIXED] textinput:GetText appending an extra newline to then end of the text string
[FIXED] text processing issues with the textinput object (0.9.0 only)
[FIXED] text positioning issues when moving the textinput's indicator with the left and right arrow keys
[FIXED] textinput character limit blocking user input when all text was selected
[CHANGED] cleaned up the tooltip object
[CHANGED] upgraded to middleclass 3.0
[CHANGED] loveframes.hoverobject is now used to store the currently hovered object
[CHANGED] textinput:SetText now repositions the object's indicator
[CHANGED] reworked the collision detection system for MAJOR performance improvements
[CHANGED] text object formatting options are now specified in a single table rathar than as individual arguments
[CHANGED] text can now be specified as a link via text formatting options
[CHANGED] text formatting options now support link colors
[REMOVED] base:IsTopCollision
================================================
Version 0.9.6.3 - Alpha (August 15 - 2013)
================================================
[CHANGED] the collapsible category icons used in the stock skins
[REMOVED] loveframes.info
================================================
Version 0.9.6.2 - Alpha (August 14 - 2013)
================================================
[FIXED] collapsiblecategory:GetOpen() returning a nil value
[CHANGED] loveframes.util.RemoveAll() now resets loveframes.hoverobject, loveframes.modalobject, loveframes.inputobject and loveframes.hover
[CHANGED] the frame topbar image of both stock skins back to the gradients used before the 0.9.6 update
[CHANGED] the stock skins now draw a gradient for the body of the frame object instead of a solid color
[CHANGED] slight color/drawing adjustments to the blue stock skin
[CHANGED] the collapsiblecategory object now checks its child object's visibility while closed to make sure it hasn't been marked as visible (mainly to prevent collision issues)
[REMOVED] examples menu from the debug library
[REMOVED] skin selector menu from the debug library
[REMOVED] many skin controls from the orange stock skin that are no longer needed
================================================
Version 0.9.6.1 - Alpha (August 12 - 2013)
================================================
[FIXED] blue stock skin setting an invalid image directory in its skin file
================================================
Version 0.9.6 - Alpha (August 12 - 2013)
================================================
[ADDED] a new base method: GetSkinName()
[ADDED] a new frame method: SetDockable(dockable)
[ADDED] a new frame method: GetDockable()
[ADDED] a new frame method: SetDockZoneSize(size)
[ADDED] a new frame method: GetDockZoneSize()
[ADDED] a new columnlist method: RemoveColumn(id)
[ADDED] a new columnlist method: SetColumnName(id, name)
[ADDED] a new columnlist method: RemoveRow(id)
[ADDED] a new columnlist method: SetRowColumnText(text, rowid, columnid)
[ADDED] a new columnlist method: SetRowColumnData(rowid, columndata)
[ADDED] a new columnlist method: SizeToChildren(max)
[ADDED] a new frame event callback: OnDock(object, dockobject)
[ADDED] a new tabs method: SetTabObject(id, object)
[ADDED] a new util library function: RectangleCollisionCheck(rect1, rect2)
[ADDED] a new util library function: DeepCopy(orig)
[ADDED] a new skins library function: Get(name)
[ADDED] a new skins library function: SetControl(name, control, value)
[ADDED] a new skins library function: SetImage(name, image, value)
[ADDED] a new skins library function: SetImageDirectory(name, dir)
[ADDED] a new skins library function: ReloadImages(name)
[ADDED] docking functionality for frame objects
[ADDED] skins can now define a separate skin to use as a base via skin.base
[ADDED] skins can now load images from external directories via the skin.imagedir setting (defaults to loveframes/skins/skin_name/images)
[ADDED] compatibility for LOVE 0.9.0
[CHANGED] scroll buttons for the tabs object are no longer removed and re-created everytime a new tab is added
[CHANGED] base:GetSkin() now returns the skin's table instead of the skin's name
[CHANGED] the frame topbar image of both stock skins to a different gradient
[FIXED] columnlist:GetSelectedRows() returning a nil value
[FIXED] syntax typo in textinput:RemoveFromText() (was textinput:RemoveFromeText())
[FIXED] object creation via datatables
[FIXED] multichoice:SelectChoice(choice) causing an error if called when a multichoice list was not open
[FIXED] multichoice object value not being reset when calling multichoice:Clear()
[FIXED] an error that would occurred when attempting to scroll a tabs object with the scroll wheel when the object had no tabs
[FIXED] colunlist:AddRow not working correctly with LuaJIT versions of LOVE
[REMOVED] drawing code from the orange stock skin (now inherits from the blue stock skin)
================================================
Version 0.9.5.14 - Alpha (June 25 - 2013)
================================================
[FIXED] columnlistheaders and columnlistrows not being clickable when the columnlist object was using a custom state
================================================
Version 0.9.5.13 - Alpha (June 24 - 2013)
================================================
[FIXED] tabbuttons not being clickable when the tabs object was using a custom state
================================================
Version 0.9.5.12 - Alpha (June 10 - 2013)
================================================
[ADDED] a new columnlist method: SelectRow(row, ctrl)
[ADDED] a new columnlist method: DeselectRow(row)
[ADDED] a new columnlist method: GetSelectedRows()
[ADDED] a new columnlist method: SetSelectionEnabled(bool)
[ADDED] a new columnlist method: GetSelectionEnabled()
[ADDED] a new columnlist method: SetMultiselectEnabled(bool)
[ADDED] a new columnlist method: GetMultiselectEnabled()
[ADDED] a new columnlistrow method: SetSelected(bool)
[ADDED] a new columnlistrow method: GetSelected()
[ADDED] a new columnlistrow method: SetColumnData(data)
[ADDED] a new columnlist event callback: OnRowRightClicked(parent, row, data)
[ADDED] a new columnlist event callback: OnRowSelected(parent, row, data)
[ADDED] a new util library function: GetCollisionCount()
[ADDED] a new util library function: GetHover()
[CHANGED] the default mousewheel scroll-amount value for the list object
[CHANGED] the list object no longer uses delta time for scrolling by default
[CHANGED] some of the columnlistrow object's colors in the default skins
================================================
Version 0.9.5.11 - Alpha (May 15 - 2013)
================================================
[ADDED] ability to use multiple fonts with the text object
[ADDED] a new checkbox method: SetEnabled(bool)
[ADDED] a new checkbox method: GetEnabled()
[ADDED] a new multichoice method: SetEnabled(bool)
[ADDED] a new multichoice method: GetEnabled()
[FIXED] being able to check a checkbox object while it was not down
[FIXED] collisions being detected on objects outside of the active state
[CHANGED] the checkbox event callback "OnChanged" now returns both the object and a boolean value representing whether or not the object is checked
================================================
Version 0.9.5.10 - Alpha (May 12 - 2013)
================================================
[ADDED] a new slider method: GetDecimals()
[ADDED] a new numberbox method: SetDecimals(decimals)
[ADDED] a new numberbox method: GetDecimals()
[ADDED] a new textinput method: SetVisible(bool) (override of the base SetVisible method)
[FIXED] the textinput object's "keydown" property not reseting when the object was not visible
================================================
Version 0.9.5.9 - Alpha (May 8 - 2013)
================================================
[FIXED] the slider event callback "OnRelease" not being called when the sliderbutton was released while being dragged in a non-hover state
================================================
Version 0.9.5.8 - Alpha (May 5 - 2013)
================================================
[ADDED] a new textinput method: SetValue(value) (alias of SetText(text))
[ADDED] a new textinput method: GetValue() (alias of GetText())
[ADDED] a new object: grid
[ADDED] a new frame method: SetIcon(icon)
[ADDED] a new frame method: GetIcon()
[ADDED] a new callback for the slider object: OnRelease(object)
[ADDED] a new text method: SetDefaultColor(r, g, b, a)
[ADDED] a new text method: GetDefaultColor()
[FIXED] OnOpened and OnClosed callbacks for tabbuttons not being asigned properly
[FIXED] the image object not checking its hover state
[FIXED] tabbutton rendering issues with the default skins
[FIXED] some padding issues with multiline textinputs
[CHANGED] loveframes.config["DIRECTORY"] no longer needs to be set when installing Love Frames
================================================
Version 0.9.5.7 - Alpha (April 9 - 2013)
================================================
[FIXED] some issues with positioning the textinput object's text
================================================
Version 0.9.5.6 - Alpha (March 29 - 2013)
================================================
[FIXED] numberbox:SetValue not functioning correctly
================================================
Version 0.9.5.5 - Alpha (March 23 - 2013)
================================================
[ADDED] a new textinput method: SetRepeatDelay(delay)
[ADDED] a new textinput method: GetRepeatDelay()
[ADDED] a new textinput method: SetRepeatRate(rate)
[ADDED] a new textinput method: GetRepeatRate()
[FIXED] several typos in the numberbox object's code
[CHANGED] love frames now resets the active font to the font used before calling loveframes.draw()
[REMOVED] loveframes.util.CheckForUpdates()
================================================
Version 0.9.5.4 - Alpha (March 5 - 2013)
================================================
[ADDED] a new multichoice method: RemoveChoice(choice)
[ADDED] a new multichoice method: Clear()
[FIXED] a bug with list:RemoveItem that would cause an error when providing an argument that wasn't a number
[FIXED] the list object not resizing correctly when using list:RemoveItem and providing a number as an argument
================================================
Version 0.9.5.3 - Alpha (February 25 - 2013)
================================================
[FIXED] mousereleased never getting called on the collapsiblecategory's object
================================================
Version 0.9.5.2 - Alpha (February 24 - 2013)
================================================
[ADDED] a new slider method: SetEnabled(bool)
[ADDED] a new slider method: GetEnabled()
[FIXED] a resizing/layout issue with the columnlist object
[FIXED] base:GetChildren being declared twice and base:GetInternals never being declared
[CHANGED] major performance improvements for the default skins Blue and Orange
[REMOVED] the "Blue (basic)" skin
[REMOVED] the "Orange (basic)" skin
================================================
Version 0.9.5.1 - Alpha (February 17 - 2013)
================================================
[ADDED] a new slider method: SetScrollable(bool)
[ADDED] a new slider method: GetScrollable()
[ADDED] a new slider method: SetScrollIncrease(increase)
[ADDED] a new slider method: GetScrollIncrease()
[ADDED] a new slider method: SetScrollDecrease(decrease)
[ADDED] a new slider method: GetScrollDecrease()
[ADDED] a new multichoice method: Sort(func)
[ADDED] a new multichoice method: SetSortFunction(func)
[ADDED] a new multichoice method: GetSortFunction()
[ADDED] support for scrolling the slider object with the mouse wheel
[FIXED] the slider event callback "OnValueChanged" not passing the slider's new value in certain situations
[FIXED] some typos in the changelog
[CHANGED] the default mouse wheel scroll amounts of the scrollable objects (list, columnlist, tabs, multichoice)
[CHANGED] minor modifications to the default skins
[CHANGED] objects can now be centered when using the base methods SetPos, SetX, and SetY (ex: object:SetPos(x, y, true) would center the object at the position specified by x and y)
================================================
Version 0.9.5 - Alpha (February 11 - 2013)
================================================
[ADDED] state system
[ADDED] a new base method: SetState(name)
[ADDED] a new base method: GetState()
[ADDED] a new list method: EnableHorizontalStacking(bool)
[ADDED] a new list method: GetHorizontalStacking()
[ADDED] a new list method: SetDTScrolling(bool)
[ADDED] a new list method: GetDTScrolling()
[ADDED] a new image method: GetImageSize()
[ADDED] a new image method: GetImageWidth()
[ADDED] a new image method: GetImageHeight()
[ADDED] a new imagebutton method: GetImageSize()
[ADDED] a new imagebutton method: GetImageWidth()
[ADDED] a new imagebutton method: GetImageHeight()
[ADDED] a new tabs method: RemoveTab(id)
[ADDED] a new tabs method: SetButtonScrollAmount(amount)
[ADDED] a new tabs method: GetButtonScrollAmount()
[ADDED] a new tabs method: SetMouseWheelScrollAmount(amount)
[ADDED] a new tabs method: GetMouseWheelScrollAmount()
[ADDED] a new tabs method: SetDTScrolling(bool)
[ADDED] a new tabs method: GetDTScrolling()
[ADDED] a new columlist method: SetDTScrolling(bool)
[ADDED] a new columlist method: GetDTScrolling()
[ADDED] a new multichoice method: SetDTScrolling(bool)
[ADDED] a new multichoice method: GetDTScrolling()
[ADDED] a new base library function: loveframes.SetState(name)
[ADDED] a new base library function: loveframes.GetState()
[ADDED] a new object: numberbox
[ADDED] support for horizontal stacking of list object items when the list object's display mode is set to vertical
[FIXED] an error that would occur when providing a number as the text argument for textinput:SetText(text)
[FIXED] default skin images becoming distorted at certain positions on the screen
[FIXED] being able to clear a textinput's text by pressing an unusable key while all of the object's text was selected
[FIXED] several typos in the changelog
[CHANGED] the SetColor method for the image object now checks for four arguments (r, g, b, a) instead of one (table)
[CHANGED] major code cleanup for the default skins
[CHANGED] list:RemoveItem now accepts either an object or a number as an argument
[CHANGED] miscellaneous changes/improvements to various sections of code
[CHANGED] the images of the default skins
================================================
Version 0.9.4.15 - Alpha (January 5 - 2013)
================================================
[ADDED] a new base method: GetInternals()
[ADDED] a new tooltip method: SetFollowObject(bool)
================================================
Version 0.9.4.14 - Alpha (January 4 - 2013)
================================================
[ADDED] a new util library function: loveframes.util.CheckForUpdates() (note: this function is meant to be used by the developer and is never called internally by Love Frames)
[ADDED] a new callback for the tabbutton object: OnOpened(object)
[ADDED] a new callback for the tabbutton object: OnClosed(object)
[CHANGED] tabs:AddTab(name, object, tip, image) now accepts two new optional arguments for tabbutton callbacks (ex: tabs:AddTab(name, object, tip, image, onopened, onclosed))
================================================
Version 0.9.4.13 - Alpha (January 4 - 2013)
================================================
[ADDED] a new base method: IsInList()
[FIXED] not being able to add the boolean "false" to a template as a property with loveframes.templates.AddProperty(templatename, object, property, value)
[CHANGED] small code cleanup
[CHANGED] improved performance of the text object while parented within a list object
================================================
Version 0.9.4.12 - Alpha (December 30 - 2012)
================================================
[CHANGED] newlines created on the text object with \n now display properly
[CHANGED] Love Frames now resets the current drawing color to the last color used before calling loveframes.draw() after it has finished all drawing operations
================================================
Version 0.9.4.11 - Alpha (December 28 - 2012)
================================================
[ADDED] a new textinput method: SetAutoScroll(bool)
[ADDED] a new textinput method: GetAutoScroll()
[FIXED] a couple of typos in the changelog
[FIXED] a sliderbutton calculation error that caused the sliderbutton object to flash while moving the cursor out of it's bounding box while it was down
[CHANGED] cleaned up a lot of code
[CHANGED] the text object's shadow color now defaults to black
================================================
Version 0.9.4.10 - Alpha (December 26 - 2012)
================================================
[FIXED] registration errors for the new default skins
================================================
Version 0.9.4.9 - Alpha (December 26 - 2012)
================================================
[ADDED] a new default skin: Blue (basic)
[ADDED] a new default skin: Orange (basic)
[ADDED] a new skins library function: loveframes.skins.GetAvailable()
[CHANGED] the license from CC BY-SA 3.0 to CC BY 3.0
[CHANGED] made minor improvements to the default skins
================================================
Version 0.9.4.8 - Alpha (December 24 - 2012)
================================================
[ADDED] a new text method: SetShadow(bool)
[ADDED] a new text method: GetShadow()
[ADDED] a new text method: SetShadowOffsets(offsetx, offsety)
[ADDED] a new text method: GetShadowOffsets()
[ADDED] a new text method: SetShadowColor(r, g, b, a)
[ADDED] a new text method: GetShadowColor()
[ADDED] a new columnlist method: SetColumnHeight(height)
[FIXED] templates not being applied to objects
[CHANGED] the columnlistarea object now has better sorting
[CHANGED] the frame object no longer sets the size of it's close button
================================================
Version 0.9.4.7 - Alpha (December 19 - 2012)
================================================
[FIXED] textinput:SetFocus(focus) not working properly
[CHANGED] the tooltip object is now positionable via the standard positioning methods when not set to follow the cursor
================================================
Version 0.9.4.6 - Alpha (December 10 - 2012)
================================================
[ADDED] a new textinput event callback: OnFocusGained(object)
[ADDED] a new textinput event callback: OnFocusLost(object)
[FIXED] the textinput object accepting input from the tab and delete keys when object.editable was set to false
[CHANGED] all "." are now replaced with "/" in loveframes.config["DIRECTORY"] after all inernal Love Frames libraries have been loaded (this is to prevent filesystem errors)
[REMOVED] loveframes.util.TrimString(string)
================================================
Version 0.9.4.5 - Alpha (November 28 - 2012)
================================================
[FIXED] text inputs not losing focus in certain situations
================================================
Version 0.9.4.4 - Alpha (November 24 - 2012)
================================================
[ADDED] a new text input method: SetButtonScrollAmount(amount)
[ADDED] a new text input method: GetButtonScrollAmount()
[ADDED] a new text input method: SetMouseWheelScrollAmount(amount)
[ADDED] a new text input method: GetMouseWheelScrollAmount()
[ADDED] a new multichoice method: SetButtonScrollAmount(amount)
[ADDED] a new multichoice method: GetButtonScrollAmount()
[ADDED] a new multichoice method: SetMouseWheelScrollAmount(amount)
[ADDED] a new multichoice method: GetMouseWheelScrollAmount()
[ADDED] a new column list method: SetButtonScrollAmount(amount)
[ADDED] a new column list method: GetButtonScrollAmount()
[ADDED] a new column list method: SetMouseWheelScrollAmount(amount)
[ADDED] a new column list method: GetMouseWheelScrollAmount()
[ADDED] a new frame method: SetParentLocked(bool)
[ADDED] a new frame method: GetParentLocked()
[ADDED] a new base method: CenterWithinArea(x, y, width, height)
[ADDED] a new library function: loveframes.NewObject(id, name, inherit_from_base)
[FIXED] an error that would occur when clicking a scroll button on a multiline text input or a multichoice list
[FIXED] a button calculation error that caused the button object to flash while moving the cursor out of it's bounding box while it was down
[FIXED] several errors that could occur when a collapsible category did not have an object
[FIXED] the value of the slider object becoming -0 in certain situations
[CHANGED] the close button object is no longer positioned internally by the frame object and should now be positioned by it's skin drawing function
[CHANGED] all Love Frames objects are now stored within loveframes.objects
[CHANGED] frames are now draggable when parented to any object
[CHANGED] the look of the debug overlay
================================================
Version 0.9.4.3 - Alpha (November 20 - 2012)
================================================
[ADDED] a new base method: SetProperty(name, value)
[ADDED] a new base method: GetProperty(name)
[ADDED] a new list method: SetButtonScrollAmount(amount)
[ADDED] a new list method: GetButtonScrollAmount()
[ADDED] a new list method: SetMouseWheelScrollAmount(amount)
[ADDED] a new list method: GetMouseWheelScrollAmount()
[FIXED] a typo in the changelog
[FIXED] image:SetScale(scalex, scaley) not working correctly
[CHANGED] loveframes.util.GetDirContents(dir, t) to loveframes.util.GetDirectoryContents(dir, t)
[CHANGED] arguments passed to require() to use "." instead of "/" which should fix file loading issues on certain systems
================================================
Version 0.9.4.2 - Alpha (November 5 - 2012)
================================================
[ADDED] a new text object method: SetIgnoreNewlines(bool)
[ADDED] a new text object method: GetIgnoreNewlines()
[ADDED] a new image method: SetOrientation(orientation)
[ADDED] a new image method: GetOrientation()
[ADDED] a new image method: SetScaleX(scalex)
[ADDED] a new image method: GetScaleX()
[ADDED] a new image method: SetScaleY(scaley)
[ADDED] a new image method: GetScaleY()
[ADDED] a new image method: SetScale(scalex, scaley)
[ADDED] a new image method: GetScale()
[ADDED] a new image method: SetOffsetX(x)
[ADDED] a new image method: GetOffsetX()
[ADDED] a new image method: SetOffsetY(y)
[ADDED] a new image method: GetOffsetY()
[ADDED] a new image method: SetOffset(x, y)
[ADDED] a new image method: GetOffset()
[ADDED] a new image method: SetShearX(x)
[ADDED] a new image method: GetShearX()
[ADDED] a new image method: SetShearY(y)
[ADDED] a new image method: GetShearY()
[ADDED] a new image method: SetShear(x, y)
[ADDED] a new image method: GetShear()
[FIXED] an error that occurred after pressing enter on a multiline text input while all of it's text was selected
[FIXED] text in a single line text input always being cleared when the enter key was pressed
[FIXED] a syntax error in both default skin files that caused imaged to draw incorrect when they had a custom color
[FIXED] an error that would occur when a tab button was being drawn while no font had been set
[FIXED] textinput.OnTextChanged being called too early when using the backspace key or the delete key
[CHANGED] tab buttons no longer calculate their width from within their internal drawing function and should be sized externally from now on
[CHANGED] the text object now calculates what characters should be drawn while in a list object to improve performance with list objects that contain large amounts of text
================================================
Version 0.9.4.1 - Alpha (October 25 - 2012)
================================================
[ADDED] support for using the delete key in text input objects
[FIXED] textinupt:GetText() only returning the first line of a multiline text input
[FIXED] an error that occurred when clicking a multiline text input object after setting the object's text to an empty string with textinput:SetText("")
[FIXED] incorrect positioning of the text input object's indicator when using the left or right arrow keys to move the object's indicator to a different line
[FIXED] the text input object not creating a new line correctly in certain situations
[CHANGED] textinput:GetText() now returns the object's text with line breaks
================================================
Version 0.9.4 - Alpha (October 22 - 2012)
================================================
[ADDED] a new base method: SetDrawOrder()
[ADDED] a new base method: GetDrawOrder()
[ADDED] a new text method: GetFormattedText()
[ADDED] a new text input method: SetEditable(bool)
[ADDED] a new text input method: GetEditable()
[ADDED] a new text input method: GetUsable()
[ADDED] a new text input method: GetUnusable()
[ADDED] a new system for creating and applying templates to objects
[FIXED] a few incorrect entries in the changelog and added a few entries that were meant to be in the last upadte's changelog
[FIXED] an error that occurred when clicking on a frame that was parented to another frame
[FIXED] frames not being positioned properly if they were parented to another object
[FIXED] modal background object not drawing over umodaled objects in certain situations
[FIXED] an error that would occur when a multichoice list object would become scrollable
[FIXED] an error that would occur when a the column list object had no columns
[FIXED] multichoice object not positioning itself properly if it's parent was the base object
[CHANGED] text:GetText() now returns a string of the object's text
[CHANGED] parented frames can no longer be modaled
================================================
Version 0.9.3.2 - Alpha (Spetember 29 - 2012)
================================================
[ADDED] a new base method: SetDrawOrder()
[ADDED] a new text input method: SetMultiline(bool)
[ADDED] a new text input method: GetVerticalScrollBody()
[ADDED] a new text input method: GetHorizontalScrollBody()
[ADDED] a new text input method: SetText(text)
[ADDED] a new text input method: HasVerticalScrollBar()
[ADDED] a new text input method: HasHorizontalScrollBar()
[ADDED] a new text input method: GetFont()
[ADDED] a new text input method: GetLineNumbersPanel()
[ADDED] a new text input method: GetMultiline()
[ADDED] a new text input method: GetTextX()
[ADDED] a new text input method: GetTextY()
[ADDED] a new text input method: IsAllTextSelected()
[ADDED] a new text input method: GetLines()
[ADDED] a new text input method: GetOffsetX()
[ADDED] a new text input method: GetOffsetY()
[ADDED] a new text input method: GetIndicatorX()
[ADDED] a new text input method: GetIndicatorY()
[ADDED] a new text input method: SetLineNumbersEnabled(enabled)
[ADDED] a new text input method: GetLineNumbersEnabled()
[ADDED] a new text input method: GetItemWidth()
[ADDED] a new text input method: GetItemHeight()
[ADDED] a new text input method: SetTabReplacement(tabreplacement)
[ADDED] a new text input method: GetTabReplacement()
[ADDED] a new scroll area method: GetBarType()
[ADDED] a new scroll bar method: IsDragging()
[ADDED] a new scroll bar method: GetBarType()
[ADDED] a new scroll button method: GetScrollType()
[ADDED] a new tab button method: GetText()
[ADDED] a new tab button method: GetImage()
[ADDED] a new tab button method: GetTabNumber()
[ADDED] a new column list header method: GetName()
[ADDED] a new column list row method: GetColumnData()
[ADDED] a new multichoice method: SetText(text)
[ADDED] a new multichoice method: GetText()
[ADDED] a new multichoice row method: GetText()
[ADDED] a new progressbar method: GetBarWidth()
[ADDED] a new internal object: linenumberspanel
[ADDED] multiline support for the text input object
[ADDED] ability to select all text within a text input
[FIXED] progressbar object not positioning itself properly if it's parent was the base object
[FIXED] a typo in the syntax of loveframes.util.SplitString (was "SplitSring", changed to "SplitString")
[FIXED] the tooltip object not disappearing if it was visible when it's object's visibility was changed to false
[FIXED] the text input object's x offset not being adjusted initially when the width of it's text would would become wider than it's drawing area
[CHANGED] massive code cleanup for optimization and
[CHANGED] frames can now be parent to other objects
[CHANGED] textinput:RunBlink() to textinput:UpdateIndicator()
[CHANGED] textinput:GetBlinkerVisisbility() to textinput:GetIndicatorVisisbility()
[CHANGED] textinput:MoveBlinker(num, exact) to textinput:MoveIndicator(num, exact)
[CHANGED] scrollbars now only autoscroll when their list's item width/height is greater than their previous list's previous item width/height
[CHANGED] cleaned up the code for the default skins
[CHANGED] the text input object's text is no longer drawn internally by the object and should now be draw within the object's skin drawing function
[CHANGED] the column list row object's text is no longer drawn internally by the object and should now be draw within the object's skin drawing function
[REMOVED] textinput:SetTextColor(color)
[REMOVED] columnlistrow:SetTextColor()
================================================
Version 0.9.3.1 - Alpha (Spetember 2 - 2012)
================================================
[ADDED] numpad enter key support for textinput.OnEnter
[FIXED] duplicate progressbar:GetCompleted() in progressbar.lua
[CHANGED] textinput.OnTextEnterd to textinput.OnTextChanged
[CHANGED] textinput.OnTextChanged is now also called when the backspace key is pressed
================================================
Version 0.9.3 - Alpha (Spetember 1 - 2012)
================================================
[ADDED] a new base method: GetParents()
[ADDED] a new base method: IsTopInternal()
[ADDED] a new base method: IsInternal()
[ADDED] a new base method: GetType()
[ADDED] a new checkbox method: GetFont()
[ADDED] a new checkbox method: GetBoxSize()
[ADDED] a new checkbox method: GetBoxWidth()
[ADDED] a new checkbox method: GetBoxHeight()
[ADDED] a new image method: GetImage()
[ADDED] a new image method: GetColor()
[ADDED] a new progressbar method: GetCompleted()
[ADDED] a new tabs method: GetTabNumber()
[ADDED] a new text method: GetLines()
[ADDED] a new text input method: SetLimit(limit)
[ADDED] a new text input method: SetUsable(usable)
[ADDED] a new text input method: SetUnusable(unusable)
[ADDED] a new text input method: Clear()
[ADDED] a new text input method: GetText()
[ADDED] support for line breaks in the text object (please refer to the wiki on how to format your text with line breaks)
[ADDED] more information to the debug overlay
[FIXED] tooltips and multichoice lists not functioning properly when a frame was modaled
[FIXED] the text object not moving it's base parent to the top when clicked if it's base parent was a frame
[FIXED] the list object not scrolling via the mouse wheel due to certain collision detection issues
[FIXED] tooltips flickering when in a hover state
[FIXED] slider calculation errors
[FIXED] skin.DrawRepeatingImage creating a new image every frame
[FIXED] checkbox text not scrolling properly when in a list
[FIXED] the collapsible category's object not scrolling properly when in a list
[FIXED] skins not assuming the drawing functions of the default skins if drawing functions in the active skin were missing
[FIXED] some objects not being removed
[FIXED] sliders not scrolling properly when in a list
[CHANGED] various code for a small cleanup
[CHANGED] tooltips from being children of the base object to internals of the base object
[CHANGED] tooltips from never being removed to being removed when their assigned object is removed
[CHANGED] tooltips are now not able to be assigned to the base object (this would cause an error due to the way the tooltip currently functions)
[CHANGED] the text object now positions it's text when SetText is called instead of positioning it's text every frame
[CHANGED] slider:SetMax(max), slider:SetMin(min) and slider:SetMinMax(min, max) now adjust the slider's value if the slider's value is out of the range specified
[CHANGED] loveframes.Create(data, parent) now activates an error screen if the object specified is invalid
================================================
Version 0.9.2.5 - Alpha (June 1 - 2012)
================================================
[FIXED] the text object not drawing numbers in certain situations
[FIXED] a typo in the changelog
================================================
Version 0.9.2.4 - Alpha (May 29 - 2012)
================================================
[FIXED] the SetSkin(skin) method causing a stack overflow
================================================
Version 0.9.2.3 - Alpha (May 27 - 2012)
================================================
[FIXED] imagebutton.OnClick not working
[FIXED] text being added into the text input object at incorrect positions when the value of textinput.blinknum was 0
[FIXED] a bug that would cause an error when running SetVisible on a frame object when the value of frame.showclose was true
================================================
Version 0.9.2.2 - Alpha (May 23 - 2012)
================================================
[FIXED] vertical slider value direction (top is now max value and bottom is 0)
[FIXED] text flashing in the text input object when moving the text blinker to the right
[FIXED] text blinker in the text input object not appearing in certain situations
================================================
Version 0.9.2 - Alpha (May 22 - 2012)
================================================
[ADDED] a new slider method: SetButtonSize(width, height)
[ADDED] a new slider method: GetButtonSize()
[ADDED] a new slider method: SetSlideType(slidetype)
[ADDED] a new slider button method: MoveToY(y)
[REMOVED] slider method: SetButtonYCenter(y)
[REMOVED] slider method: GetButtonYCenter()
[FIXED] the column list row object not setting it's text's font to it's font
[FIXED] a small gradient error in the default skins
[FIXED] an error that caused tab buttons to be over-scrolled with the middle mouse button
[FIXED] the scroll area object not moving it's base parent to the top when clicked (only in situations where it's base parent was a frame)
[CHANGED] sliders no longer use ycenter for button positioning
[CHANGED] slider functionality, sliders can now be horizontal or vertical (use slider:SetSlideType("horizontal" or "vertical"))
[CHANGED] lots of code for optimization and general cleanliness
[CHANGED] a few minor things in the default skins
[CHANGED] scrollbar hover behavior when being moved via it's scroll area being clicked (will no longer auto hover when it reaches the mouse position)
================================================
Version 0.9.1.6 - Alpha (May 17 - 2012)
================================================
[ADDED] a new column list method: Clear()
[ADDED] a new column list method: SetAutoScroll(bool)
[ADDED] "autoscroll" property for the column list object
[ADDED] a new column list area method: Clear()
[ADDED] a new skin function: DrawOverTextInput()
[FIXED] not being able to move the column list object's scrollbar by clicking on it's scroll area
[FIXED] column list rows color indexes becoming disordered when the list was sorted via a column list header
[CHANGED] a few minor things in the default skins
================================================
Version 0.9.1.5 - Alpha (May 16 - 2012)
================================================
[FIXED] a bug that caused scrollbars to always autoscroll
================================================
Version 0.9.1.4 - Alpha (May 16 - 2012)
================================================
[FIXED] list:SetAutoScroll() not working
================================================
Version 0.9.1.3 - Alpha (May 14 - 2012)
================================================
[ADDED] modal system for frames
[ADDED] a new frame method: SetModal(bool)
[ADDED] a new frame method: GetModal()
[ADDED] a new frame method: SetVisible(bool) - this override is part of a frame bug fix
[ADDED] "showclose" property for the frame object
[ADDED] a new internal object: modal background
[ADDED] a new base method: IsActive()
[ADDED] a new base method: CenterX()
[ADDED] a new base method: CenterY()
[ADDED] a new skin function: DrawOverColumList()
[FIXED] a bug that made the frame's close button become visible when the frame was made visible and show close button was set to false
================================================
Version 0.9.1.2 - Alpha (May 12 - 2012)
================================================
[ADDED] a system for preventing objects from being hovered over when another object is being pressed or is "down"
[ADDED] "down" property for the checkbox object
[ADDED] "down" property for the collapsible category object
[ADDED] a new method for the tabs object: SetToolTipFont(font)
[FIXED] list:GetScrollBar() crashing when the list had no scroll bar
[FIXED] not being able to move the text input blinker to the front or end of the it's text by clicking on it's whitespace
[FIXED] the multichoice row object being "down" when mouse buttons other than the left mouse button were pressed
[CHANGED] collapsible category opening and closing system (will now only open or close when "down")
================================================
Version 0.9.1 - Alpha (May 8 - 2012)
================================================
[ADDED] a new object: image button
[ADDED] a new skin: Orange
[ADDED] a new column list row method: SetTextPos(x, y)
[ADDED] a new column list row method: SetFont(font)
[ADDED] a new column list row method: GetFont()
[ADDED] a new column list row method: GetColorIndex()
[ADDED] a new column list row method: SetTextColor(color)
[ADDED] a new debug function: SkinSelector()
[ADDED] license.txt
[ADDED] changelog.txt
[CHANGED] the name of the default skin to Blue
[CHANGED] the drawing system of the image object, the image object will now draw it's image from it's skin function instead of it's internal drawing function
[CHANGED] argument type for adding an image to a tab in tabs:AddTab(), the image argument can now be either an image object or a string containg the path to an image
[CHANGED] the look of the debug overlay
[CHANGED] some of the code within the default skins to improve performance (as suggested by kikito)
[REMOVED] license.html
[REMOVED] loveframes.graphics and graphics.lua
================================================
Version 0.9 - Alpha (May 5 - 2012)
================================================
Initial commit