controlp5/controlP5/changeLog.txt

868 lines
38 KiB
Plaintext
Raw Normal View History

2016-14-04 Andreas Schlegel <andi at sojamo.de>
mostly bug fixes, see github issues
removed all PVector references, variables, and functions using processing.core.PVector
2015-08-02 Andreas Schlegel <andi at sojamo.de>
changes see github change log
2015-03-29 Andreas Schlegel <andi at sojamo.de>
* src controlP5.ScrollabelList:
fixing ArrayOutOfBounds error as reported on github under issue 3 https://github.com/sojamo/controlp5/issues/3
2014-09-08 Andreas Schlegel <andi at sojamo.de>
* src main.java.src2.main.java.controlP5.controlp5.Icon:
adding Icon class, acts like a button; can be used with images and font-icons
from "Font Awesome".
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Button:
when theButton acts as a switch (setSwitch(true)), the corresponding
method inside a sketch should use type boolean as argument instead of float;
a java.lang.IllegalArgumentException will be thrown in case of a float argument
2014-08-28 Andreas Schlegel <andi at sojamo.de>
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Background:
adding Background class, a convenience class for grouping controllers with
the top bar disabled by default.
2014-07-21 Andreas Schlegel <andi at sojamo.de>
* src main.java.src2.main.java.controlP5.controlp5.Textfield:
making use of a graphics buffer now, simplifies cursor position calculation and
prevents from throwing an ArrayIndexOutOfBoundsException which could occasionally
happen with previous versions.
2014-07-17 Andreas Schlegel <andi at sojamo.de>
* version 2.2.1
* removing PVector dependencies
* removing all deprecated methods
* src main.java.src2.main.java.controlP5.controlp5.ListBox, main.java.src2.main.java.controlP5.controlp5.controlp5.DropdownList:
Due to changes to and deprecation of DropdownList and ListBox, both share the same
source code as ScrollableList. Consequently some functionality got lost though this
should be marginal. In case of any issues occuring due to these changes, please
inform the author. In any case use ScrollableList instead of DropdownList and ListBox.
The major benefit of using a ScrollableList is that an item is now of type Map and
therefore is not limited (as it was the case before) to the implementation of a
ListBoxItem and hence is more flexible as data container.
Do note that ListBox, DropdownList and ScrollableList do extend Controller,
not ControllerGroup
2014-04-27 Andreas Schlegel <andi at sojamo.de>
* version 2.1.6
* preparing for next release.
* src main.java.src2.main.java.controlP5.controlp5.ListBox, main.java.src2.main.java.controlP5.controlp5.controlp5.DropdownList:
deprecated, use ScrollableList instead.
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControlP5Legacy:
repository of functions only kept for backwards compatibility but it is not encouraged
to use the anymore. Use ControlP5Base instead.
* src main.java.src2.main.java.controlP5.controlp5.Controller:
adding onEnter, onLeave, onDrag, onStartDrag, onEndDrag, onWheel, onMove, onClick,
onPress, onDoublePress, onRelease, onReleaseOutside, onChange to register callbacks
for specific events. This is not implemented for classes extending ControllerGroup.
2013-01-23 Andreas Schlegel <andi at sojamo.de>
* version 2.1.5
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControllerProperties:
removing XML format. adding JSON format, JSON format will be the default format instead of the Java Serialization format.
2012-09-22 Andreas Schlegel <andi at sojamo.de>
* version 2.1.3
* src main.java.src2.main.java.controlP5.controlp5.ListBox:
now extends Controller instead of ControlGroup.
2012-09-09 Andreas Schlegel <andi at sojamo.de>
* version 2.1.0
* starting processingjs implementation.
- many controllers will be included:
completed: Bang, Button, CheckBox, ColorPalette, Group, Knob, Label, ListBox, DropdownList, Numberbox, RadioButton,
Range, Slider, Slider2D, Tab, Textfield, Toggle
under construction: Canvas, Chart, ColorPicker, ControllerView, FrameRate, Matrix, Textarea
pending: ButtonBar, Pointer, TickMark, Tooltip
some will be missed: MutiList, Textlabel
and more will be missed: CColor, ControlBehavior, ControllerProperties, ControllerStyle, ControlTimer, ControlWindow
- the BitFont from the Java version will not be ported over to js and the default fontsize will be set to 10
- The automatic binding of functions and variables with the js version did not work as smooth as expected. Currently
only automatic function detection and binding is available. But then why not variables? See my request here:
https://processing-js.lighthouseapp.com/projects/41284/tickets/1972-feature-request-access-sketch-global-variables-from-library
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Slider2D:
changed size of cursor, changed color handling
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Button:
alignment of caption label changed to CENTER,CENTER
* adding PGraphics support instead of only rendering into PApplet directly
* fixing Annotation issue addressed here https://forum.processing.org/topic/controlp5-annotations-24-8-2012#25080000002597047
2012-12-23 Andreas Schlegel <andi at sojamo.de>
* version 2.0.4
* src main.java.src2.main.java.controlP5.controlp5.Textfield.java,main.java.src2.main.java.controlP5.controlp5.ListBox.java,
main.java.src2.main.java.controlP5.controlp5.controlp5.DropdownList.java,main.java.src2.main.java.controlP5.controlp5.ControlWindow.java
main.java.src2.main.java.controlP5.controlp5.ControlP5Base.java:
adjusting to processing's KeyEvent final variable name changes
see issue 69 https://code.google.com/p/controlp5/issues/detail?id=69 (thanks jeff)
* src main.java.src2.main.java.controlP5.controlp5.Textfield.java:
reimplemented password mode (thanks jeff)
2012-10-19 Andreas Schlegel <andi at sojamo.de>
* version 2.0.3
* src main.java.src2.main.java.controlP5.controlp5.Controller.java:
Automatic (PApplet) field recognition for Slider, Knob, Numberbox, Toggle adjusted.
2012-09-17 Andreas Schlegel <andi at sojamo.de>
* version 2.0.2
* major changes to controlP5's font handling. the BitFontRenderer has been removed and the BitFont class
has been introduced. BitFont extends PFont and is the replacement for rendering controlP5's bitfont as
a pfont. this makes font handling way more easier and stable. if this has caused any font rendering
flaws, let me know.
* src controlP5.BitFontRenderer.java:
removed
* src main.java.src2.main.java.controlP5.controlp5.BitFont.java:
added, see above.
2012-09-07 Andreas Schlegel <andi at sojamo.de>
* version 2.0.1
* processing 2.0, time to make some changes, major revision in progress.
The goal should be to make 2.0+ desktop and android compatible, for that java.awt dependencies
will be removed.
starting to remove deprecated methods, fields and classes
* removing all java.awt dependencies.
with each ControlP5 instance there will only be 1 ControlWindow since separate windows/frames have
been removed due to their java.awt dependency. There will be an example of how to make your own
separate Frame when in desktop mode.
* versions starting with 2.0.1 will not be backwards compatible with 1.5.1 and earlier
from this version onwards Android is supported
* src main.java.src2.main.java.controlP5.controlp5.Println.java:
new class added
a console logger that captures the System.out stream and displays it using a Textarea
* src main.java.src2.main.java.controlP5.controlp5.controlp5.FrameRate.java:
new class added
a Textlabel that displays the current or average framerate based on update interval
* src controlP5.BitFontRenderer.java:
using Base64 encoded bitfont source instead of loading gif textures
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Knob.java:
adding value label, ARC is default view now.
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Matrix.java:
adding play(), pause(), stop(), isPlaying(), trigger(int)
* src main.java.src2.main.java.controlP5.controlp5.Controller.java:
all ControllerSprite references (previously deprecated) have been removed
* src controlP5.ControllerSprite.java:
removed
* src controlP5.ControlP5IOHandler.java:
obsolete, removed, all static method transfered to main.java.src2.main.java.controlP5.controlp5.controlp5.CP.java which will handle static method
* src controlP5.ControlWindowKeyListener.java:
obsolete, removed
* src controlP5.PAppletWindow.java:
obsolete, removed, currently there is no support for separate frames other than the main window due to removing java.awt dependencies
* src main.java.src2.main.java.controlP5.controlp5.ControlWindow.java:
removed mouseWheelMoved(MouseWheelEvent e) due to removal of java.awt dependencies
how to use an extra window, see example extra/ControlP5frame
* src controlP5.ControlWindowKeyHandler.java:
obsolete, removed, now handled by controlP5/ControlWindow.java
* src controlP5.CRect.java:
obsolete, removed, was only used by MultiList and MultiListButton - replaced with int array.
* src controlP5.ControlCanvas.java:
obsolete, removed, use main.java.src2.main.java.controlP5.controlp5.Canvas.java instead.
2012-09-07 Andreas Schlegel <andi at sojamo.de>
* version 1.5.1
* This version will be the last version that is stable and fully compatible with processing 1.5.1
due to major changes in the processing 2.0 version, future releases of controlp5 will only be
compatible with the processing 2.0 and higher versions.
The next controlp5 release will continue with version 2.0.1
2012-08-25 Andreas Schlegel <andi at sojamo.de>
* version 0.7.6
* src main.java.src2.main.java.controlP5.controlp5.Textfield.java:
fixing special character issue with e.g. <20>,<2C>,<2C>,<2C>, etc.
backspace, left arrow, right arrow now respond when pressed longer
added isFocus()
implemented issue 56 http://code.google.com/p/controlp5/issues/detail?id=56 , thanks jeff
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControllerAutomator.java:
fixed annotation mapping for methods
added list support for methods
* src main.java.src2.main.java.controlP5.controlp5.CColor.java:
removing alpha masking
* src main.java.src2.main.java.controlP5.controlp5.controlp5.MultiList.java:
Conflict with moving a Multilist from one to another tab
removed field _myChildren. MultiListButtons are now store in the Controller's sublements filed.
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControllerInterface.java:
adding getArrayValue(int), setArrayValue(int, float), setArrayValue(float[]);
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControlP5.java:
adding setBroadcast(boolean) to disable/enable broadcasting of value changes.
2012-05-30 Andreas Schlegel <andi at sojamo.de>
* version 0.7.5
* src main.java.src2.main.java.controlP5.controlp5.Controller.java:
adding empty methods onPress(), onClick(), onRelease(), onReleaseOutside(),
onScroll(int),onMove(),onDrag() for input access when extending a controller.
* adding convenience constructor to Controllers, convenient when extending a Controller.
* adding example use/ControlP5extendController
2012-05-18 Andreas Schlegel <andi at sojamo.de>
* version 0.7.3
* src main.java.src2.main.java.controlP5.controlp5.ControlEvent.java:
adding getArrayValue(int), returns a float value for a given index, does not check for ArrayIndexOutOfBounds
* src main.java.src2.main.java.controlP5.controlp5.Slider.java:
issue 47 http://code.google.com/p/controlp5/issues/detail?id=47 fixed
* src main.java.src2.main.java.controlP5.controlp5.controlp5.CheckBox.java, main.java.src2.main.java.controlP5.controlp5.RadioButton.java:
issue 41 http://code.google.com/p/controlp5/issues/detail?id=41 fixed
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Chart.java:
implemented
* src main.java.src2.main.java.controlP5.controlp5.ControlFont.java:
issue 46 http://code.google.com/p/controlp5/issues/detail?id=46 fixed
* src main.java.src2.main.java.controlP5.controlp5.ControlWindow.java:
sketches using controlP5 running in the browser as Applet did not work anymore, fixed
* src main.java.src2.main.java.controlP5.controlp5.ColorPicker.java:
missing implementation reported in http://forum.processing.org/topic/controlp5-how-to-receive-colorpicker-controlevents fixed
ColorPicker example has been modified accordingly
* src main.java.src2.main.java.controlP5.controlp5.Textfield.java:
issue 44 http://code.google.com/p/controlp5/issues/detail?id=44 fixed
* src controlP5.ControlWindowKeyHandler.java:
issue 49 http://code.google.com/p/controlp5/issues/detail?id=49 fixed, keys boolean array size increased to 525 due to windows key issue
2012-01-15 Andreas Schlegel <andi at sojamo.de>
* version 0.7.0
* src main.java.src2.main.java.controlP5.controlp5.controlp5.ControllerInterface.java, main.java.src2.main.java.controlP5.controlp5.Controller.java,main.java.src2.main.java.controlP5.controlp5.ControllerGroup.java:
adding generic type declaration for object specific method chaining (fluent interface)
* src main.java.src2.main.java.controlP5.controlp5.RadioButton.java:
changed return type for methods addItem from Toggle to RadioButton
changed return type for methods setImage from PImage to RadioButton
2011-10-14 Andreas Schlegel <andi at sojamo.de>
* version 0.6.9
* src main.java.src2.main.java.controlP5.controlp5.controlp5.Textarea.java:
included isScrollable() to adapt to ListBox
2011-10-13 Andreas Schlegel <andi at sojamo.de>
* version 0.6.8
* src main.java.src2.main.java.controlP5.controlp5.ControllerGroup.java, main.java.src2.main.java.controlP5.controlp5.Controller.java:
making addition to isVisible() to check if the parent element is invisible
in which case the child element will return false as well although the visible
state might be true. this fixes an issue with mousewheel scroll being active
for an invisible child controller. The mouseoverlist handling was updated as well.
* src main.java.src2.main.java.controlP5.controlp5.Slider.java:
Slider will only broadcast when there is a change in value when pressed
* src main.java.src2.main.java.controlP5.controlp5.ControlWindow.java:
mouseWheelMoved() now only updates the first item in the mouseoverlist
and then exits the loop
2011-10-12 Andreas Schlegel <andi at sojamo.de>
* version 0.6.7
* examples reorganized and grouped into 3 categories,
controllers, use, extra
2011-10-07 Andreas Schlegel <andi at sojamo.de>
* version 0.6.6
* src controlP5/Textarea.java:
scrollbar pixel offset fixed, setPosition update fixed.
2011-09-22 Andreas Schlegel <andi at sojamo.de>
* version 0.6.5
* src controlP5/ControlWindow.java:
adding removeMouseOverFor() to remove controllers from the mouseoverlist.
Called when a controller or group is removed. Necessary when a controller/group is removed
when clicked or hovered by the mouse.
2011-09-20 Andreas Schlegel <andi at sojamo.de>
* version 0.6.4
* src controlP5/Textfield.java:
adding support for PFont
* javadoc, new design
2011-08-27 Andreas Schlegel <andi at sojamo.de>
* version 0.6.3
* src controlP5/ListBox.java, controlP5/DropdownList.java:
adding mouseover support.
* src controlP5/ControlP5.java:
adding enableMouseWheel(), disableMouseWheel(), isMouseWheel()
by default the mouse wheel is active for Slider, Knob, Numberbox,
ListBox and DropdownList. The MouseWheelListener is handled
by each ControlWindow individually.
* src controlP5/ControlWindow.java:
adding getFrame() to access the frame object of a ControlWindow.
2011-08-25 Andreas Schlegel <andi at sojamo.de>
* version 0.6.2
* src controlP5/ControlP5.java:
removing static from the papplet field, this had consequences for some internal
calls to papplet but do not affect any publicly available methods or constructors
except the Label class which requires a controlP5 instances as it's constructor's
first parameter.
* src controlP5/ControlP5.java:
field keyHandler is now non-static
* src controlP5/Label.java:
adding a ControlP5 parameter to all Label constructors due to changes made
to field controlP5.papplet
* src controlP5/Textlabel.java:
Constructors with the first parameter of type Component have been deprecated
and replaced with constructors using a reference to ControlP5 as first parameter.
if this affects your programs, please make changes accordingly.
2011-08-20 Andreas Schlegel <andi at sojamo.de>
* version 0.6.1
* ongoing internal code refactoring, adding getter and setter methods for
existing methods (which are deprecated accordingly)
* reference cleanup
* preparing for release
* src controlP5/ControllerSprite.java:
deprecated
* src controlP5/ControlCanvas.java:
deprecated, use ControlWindowCanvas instead
* Names of controllers now follows the OSC address pattern specs,
use controlP5.printControllerMap() to see the changed address space.
This has been added to controlP5 since controllers now can be directly
linked to custom objects and not only to the instance of the main program.
http://opensoundcontrol.org/spec-1_0-examples
(OSC Address Parts not included)
2011-06-25 Andreas Schlegel <andi at sojamo.de>
* version 0.6.0
* adding Annotation support, very much inspired by cp5magic by Karsten Schmidt (toxi)
see the ControlP5annotation example for further details
* src controlP5/ControllerAutomator.java:
for internal use only, handles the reflection for the annotation implementation
* src controlP5/FieldChangedListener.java:
for internal use only, listens for changes of variables linked to controllers
(needs to be anabled, disabled by default)
* src controlP5/ScrollList.java:
ScrollList removed, use ListBox.
* src controlP5/ControllerGroup.java:
moveTo(Tab) changed according to issue http://code.google.com/p/controlp5/issues/detail?id=15
* src controlP5/ListBox.java,controlP5/DropdownList.java:
adding mousewheel support.
* src controlP5/CallbackEvent.java, controlP5/CallbackListener.java:
adding new callback event and listener for controller actions such as enter, leave, pressed, released, releasedoutside.
how to use see the ControlP5callback example
* src controlP5/Radio.java:
removed, has been deprecated. Use RadioButton or CheckBox instead.
* src controlP5/ControlWindow.Pointer.java:
adding a pointer class which can be used as replacement for mouse activity. To make use of the Pointer,
disable the mouse first and then set coordinates and events such as released and pressed from your program to
control controllers. see example ControlP5pointer
2011-05-08 Andreas Schlegel <andi at sojamo.de>
* version 0.5.9
* src controlP5/ControllerInterface.java:
adding method float[] arrayValue()
* src controlP5/ListBox.java:
adding addItems(String[]), which allows to add a string array to a ListBox or a DropdownList
automatically resulting in a list of listBoxItems
* src controlP5/ControlEvent.java:
adding method isFrom(String) and isFrom(ControllerInterface) to identify the origin of a Control Event
2011-05-08 Andreas Schlegel <andi at sojamo.de>
* version 0.5.8
* src controlP5/ListBox.java:
Scrollbar (when visible) is now included inside the dimensions of a listbox (and its derivatives).
* src controlP5/Textfield.java:
Frame which surrounds a textfield is back again after being removed in version 0.5.7.
* src controlP5/ListBox.java, controlP5/DropdownList.java:
adding key support. up and down arrows can be used to scroll listbox or dropdownList,
up and down, use shift+up/down for faster scrolling, use alt+up/down to jump to the
top or bottom.
* shuffle
2011-02-14 Andreas Schlegel <andi at sojamo.de>
* version 0.5.7
* src controlP5/Controller.java, controlP5/ControllerGroup.java:
toString now prints out Type, name and value instead of all details including position, etc.
detailed information can now be accessed through method info().
* src controlP5/Controller.java, controlP5/ControllerGroup.java:
adding method info() print out details such as position, visibility, label, id, etc. of
a Controller or ControllerGroup.
* src controlP5/ListBox.java:
adding ControlListeners to ListBox, will also be inherited
by DropdownList.
* src controlP5/ControlWindowKeyHandler.java:
Key combination ALT-L and ALT-S have been removed.
ControlP5 setups cant be saved at this point anymore. But
ControllerProperties have been introduced instead to save
properties for single controllers - how to use ControllerProperties
see the examples and source code of controlP5/ControllerProperties.java
and controlP5/ControllerProperty.java
* src controlP5/Textfield.java:
Introducing a new text-cursor. Frame which surrounds a textfield has been removed.
* src controlP5/Slider.java, Slider2D.java,
controlP5/Knob.java, controlP5/Numberbox.java:
adding shuffle() command, when called, a random value will be set
for the controller.
* src controlP5/Knob.java:
Caption Label was missing, now back.
* controlP5/Slider2D.java:
absolute, relative positioning issue resolved.
see http://forum.processing.org/topic/three-problems-i-m-having-with-controlp5
* src controlP5/ControlP5IOHandler.java:
Loading and saving controllers in xml format has been removed due
to incompletness. Alternatively ControllerProperties are introduced
with this release, see below for more details.
* src controlP5/ControlWindow.java:
Adding setPositionOfTabs() to change the origin of the tab bar.
Use controlP5.window().setPositionOfTabs(PVector) or
controlP5.window().setPositionOfTabs(int,int)
* src controlP5/ControlP5Base.java:
Adding saveProperties(String) and loadProperties(String) to
save and load serialized controller properties inside a file.
The range of controllers implementing save/load properties is yet
limited to Slider, Knob, Numberbox, Toggle, Checkbox,
RadioButton, Textlabel, Matrix,Range, textarea, ListBox, Dropdown,
colorPicker. Properties are currently saved in the java serialization
format but xml and possibily json alternatives are being worked out.
* src controlP5/ControllerProperty.java:
Adding controller property. Controllers can register properties which
can be saved in a serialized format.
* src controlP5/Matrix.java:
Adding setMode(int), please refer to to the documentation which
constants to use - cells can be activated by row, column, many-per-row-and-colum
* src controlP5/CColor.java:
Fields changed from protected to private, use setter and getter
to change color values. CColor is serializable so that instances can
be saved as properties.
* src controlP5/Accordion.java:
Adding new class Accordion, an Accordion allows similar behavior
as a common UI accordion, here it combines ControlGroups where
one or no group can be active at a time.
* src controlP5/CVector3f.java:
Removed. Replaced with processing.core.PVector.
* src controlP5/ControlP5.java:
Removing setFilePath(), setUrlPath(), urlPath(), filePath()
* src controlP5/ControlP5XMLElement.java,
ControlP5/ControlP5XMLParseException:
removed.
* src controlP5/ControlP5.java:
Adding convenience method window() which returns the controlWindow
of the sketch, before one had to use window(PApplet)
2010-11-07 Andreas Schlegel <andi at sojamo.de>
* version 0.5.6
* src/controlP5/ListBox.java:
adding updateListBoxItems() to update color changes.
adding scoll() calls to color related methods to update color
changes for currently active listBox buttons.
* src/controlP5/ListBox.java:
adding item(Controller) to access a ListBoxItem by it's Button reference.
* src/controlP5/ControlWindow.java:
use isMouseOver(Controller), getMouseOverList() to check
if the mouse is inside a specific controller. This does not work for
groups, only for controllers.
2010-10-07 Andreas Schlegel <andi at sojamo.de>
* version 0.5.5
* src/controlP5/ControlP5.java:
enableShortcuts() and disableShortcuts() were interchanged, fixed now.
2010-09-30 Andreas Schlegel <andi at sojamo.de>
* version 0.5.4
* src/controlP5/RadioButton.java:
adding setNoneSelectedAllowed(true/false) default is true.
http://forum.processing.org/topic/controlp5-radiobutton-strange-behaviour
* src/controlP5/DropdownList.java:
renaming PulldownMenu to DropdownList.
* src/controlP5/Range.java
setMin() and setMax() bug fixed.
* src/controlP5/ControlBroadcaster.java:
adding addListner(), removeListener(), getListener()
any object that implements ControlListener can register with the ControlBroadcaster to
receive ControlEvents broadcasted.
* src/controlP5/BitFontRenderer.java:
fixed ArrayIndexOutOfBoundsException
only characters between ASCII 32 and 127 are supported.
* src/controlP5/ControlP5.java:
disabled clear() call (called from within dispose()) when in applet mode.
Reason: all controllers will be cleared due to dispose call
when switching tabs. Fix required.
* src/controlP5/Button.java:
colorForeground and colorActive are reveresed due to adding an active state to buttons
when clicked. Rollovers no display colorForeground, clicked buttons will display
colorActive. This also affects ListBoxItems.
2010-08-18 Andreas Schlegel <andi at sojamo.de>
* version 0.5.3
* src/controlP5/ListBox.java:
adding clear(). clears a ListBox in order to re-filling list.
* src/controlP5/ListBox.java:
changing behavior of a ListBox-Button.
a ListBox-button is clicked, it will call the Button's onLeave()
and setIsInside(false) function to solve problem addressed here:
http://forum.processing.org/topic/controlp5-listbox-loses-mouseclicks
* src/controlP5/ListBox.java:
adding actAsPulldownMenu() to enable/disable pulldown
functionality for a ListBox.
* src/controlP5/PulldownMenu.java:
new Controller, extends ListBox, acts as a pulldown-menu.
2010-08-03 Andreas Schlegel
* version 0.5.2
* Slider2D: a new Controller, 2D slider control.
* Button, Bang, Toggle, : setImage() defines an image for DEFAULT,OVER,ACTIVE,HIGHLIGHT mode.
* Button, Bang, Toggle, : setImages() defines an image for DEFAULT,OVER,ACTIVE,HIGHLIGHT mode.
* Button: adding setSwitch() in order to use a button as a switch (makes toggle obsolete)
* Button: adding booleanValue() returns true or false, useful in case a button is set to be a switch.
* Button: adding setOn() setOff(), useful when button is a switch.
* Toggle: changing default look to ControlP5.SWITCH, an on/off look for toggles. use toggle.setMode(ControlP5.DEFAULT) to reset to the old default look.
* ControllerDisplay: adding interface ControllerDisplay to enable custom displays for a controller.
* Controller: setImage, allows to replace the default look of a controller with an image (PImage).
* Controller: setDisplay allows custom displays for controller. the custom display is called from within a controller's draw function. A custom Display implements interface ControllerDisplay
* Controller: adding lock(), unlock(), isLock(), setMoveable(), isMoveable(), isUserInteraction(), setUserInteraction()
* Controller: adding plugTo(), unplugFrom() (if this causes any problems or error message, please report)
* ControlP5: adding java.util.logging.Logger for logging error, debug, info messages - wrapped in ControlP5.error(), ControlP5.warning(), ControlP5.info(), ControlP5.debug()
* ControlP5: added registerDispose()
* ControlP5: adding setMoveable() and isMoveable() to disable/enable controllers to be moved around.
* ControlP5: adding disableShortcuts(), enableShortcuts() instead of disableKeys() and enableKeys()
* ControlP5: deprecating lock(), unlock(), disableKeys(), enableKeys()
* ControlWindow: adding begin() and end(). this allows to move controllers automatically to the main window or a separate controlWindow.
* Toggle: adding setValue(boolean)
* Matrix: mouseReleasedOutside error fixed.
* ControlWindow: window is now properly removed when closed, thanks henri.
* TextLabel: adding setControlFont()
* Knob: all new.
2010-04-04 Andreas Schlegel
* version 0.5.1
* ControlP5: lock() and unlock() are working again.
* ControlEvent: added function id() to make access to the id of controller, group, tab, etc. easier
* ControlEvent: added function type() for easier distinguishing between the type of Controller the event was triggered from, returns ControlEvent.UNDEFINED, ControlEvent.CONTROLLER, ControlEvent.TAB, ControlEvent.GROUP
* ListBoxItem: adding ListBoxItem to make changes to each item of a listBox especially the color settings of a listBoxItem.
* CColor: now with getter and setter functions, supports changing the value of the alpha channel.
* ControlWindow: adding begin() and end(). this allows to move controllers automatically to the main window or a separate controlWindow.
* ControllerGroup: adding enableCollapse(), disableCollapse(), isCollapse() to enable/disable the collapsing and opening of a controllerGroup e.g. listBox.
2010-03-26 Andreas Schlegel
* version 0.5.0
* making transition to 1.5+, no more java 1.4 support.
* compiling against processing 1.1
* ControlP5: added disableKeys() and enableKeys(), suggested in the discourse. disables and enables keyEvents such as hide/show with ALT-h.
* Toggle: when inactive, the color refers to colorBackground instead of colorForeground now.
* ControlFont: smooth related functions have been disabled and deprecated due to processing 1.1 changes.
* Slider: use alignValueLabel() to position the value label of a slider on TOP, CENTER, or BOTTOM
* example ControlP5quick: new, ControlP5quick shows how to quickly add Controllers with auto-arrangement.
2010-02-16 Andreas Schlegel
* version 0.4.7
* Slider: adding TickMarks and replacing steps with snapToTickMarks().
* ControlWindow: adding setUndecorated(), isUndecorated(), toggleUndecorated()
* ControllerSprite: sprites are now clone-able and state management has been improved, thanks to c.a. church. http://processing.org/discourse/yabb2/YaBB.pl?num=1265905257
* Controller: adding getSprite()
* BitFontRenderer: adding warning for character that are not supported by the BitFontRenderer.
2010-02-06 Andreas Schlegel
* version 0.4.6
* ControlWindow: imageMode was not set back to CENTER/CORNER correctly, now fixed.
0.4.5
* ControllerGroup: adding moveTo(String). will move ControllerGroups such as e.g. Textarea to another tab.
0.4.4
* ControlWindow: imageMode CENTER/CORNER issue fixed.
0.4.3
* Controller.isInside is private now. use setIsInside(true/false) and getIsInside() to access this boolean field.
* trying to solve the problem of overlapping described here:
http://processing.org/discourse/yabb2/YaBB.pl?num=1259885420/0#0
yet not successful, but loops managing the mouseEvents have been reversed from i++ to i--
* CheckBox,RadioButton: adding activateAll, activate, deactivate, getState to CheckBox and RadioButton to be able to control individual items by code.
* CheckBox: adding toggle() to CheckBox to be able to toggle individual items of a checkBox.
* CheckBox,RadioButton: adding setItemHeight(), setItemWidth() to radioButton and checkBox
* Toggle: adding toggle()
0.4.2
-
0.4.1
* Controller: added changeValue() to change the float value of a controller without broadcasting its change as a event.
* Numberbox: added setMultiplier() and multiplier() to customize the value sensitivity.
* Toggle: setLabelVisible() is now working.
* ControlWindow: adding setTitle, showCoordinates, hideCoordinates to ControlWindow. only applies to controlWindows of type PAppletWindow (external window).
* adding Matrix.set
* Controller: Controller.isInside() is public now
* added ControlFont. does not support textarea and textfield yet.
(note: take a look at subversion changelog generator http://ch.tudelft.nl/~arthur/svn2cl/)
0.3.15
* Texfield: textfield scrolls to the left if text is larger than display area.
* Knob: knob setValue issue solved.
* BitFontRenderer: removed getWidth(String theText, int theFontIndex)
is now getWidth(String theText, Label theLabel);
removed getWidth(String theText, int theFontIndex, int theLength))
is now getWidth(String theText, Label theLabel, int theLength));
0.3.14
* ScrollList: adding void hideScrollbar()
adding void showScrollbar()
adding void showScrollbar()
adding void scroll(float)
adding boolean isScrollbarVisible()
* Textarea: adding void hideScrollbar()
adding void showScrollbar()
adding void showScrollbar()
adding void scroll(float)
adding boolean isScrollbarVisible()
* Textfield: textinput now works from a controlWindow
* Label: adding adjust() to fix the cutting off of Labels when changing fonts.
use e.g. mySlider.captionLabel().setFont(ControlP5.grixel).adjust();
0.3.13
* Textfield: adding setAutoClear(true/false) prevents the textfield to be cleared after pressing RETURN.
adding clear(), clears the current textline
adding keepFocus(true/false)
adding getTextList()
adding setAutoClear(true/false)
adding isAutoClear()
adding submit()
0.3.12
* Radio: if deactiveAll is set before the first button is added, the first button will not trigger an event.
* ControlGroup: added method getBackgroundHeight() to get the height of a group's background that has been set before.
* Textfield: fixed bug with clearing the variable myTextline too early.
0.3.11
* Textfield: added method setText to Textfield
* Range: made corrections to Range, _myUnit was not set properly. now fixed. Range remains experimental.
0.3.10
* fixed little issues with setColor, again.
* removed decimal point when setDecimalPrecision(0)
0.3.9
* Range: defaultValue for min shows correct value now.
* Radio: added deactivateAll()
* TextLabel: added setWidth, setHeight
* setColor -Label(), -Active(), -Value(), -Foreground(), -Background(): issues resolved and tested for slider, range, button, knob, sliderlist, multilist, toggle, radio
* Controller: added method setDecimalPrecision(int theNum) to set the decimal precision for floats when displayed as valueLabel. the precision does not apply to the returned float value.
Controller.captionLabel().set("txt") is fixed.
* ControlP5: controlP5.setAutoDraw(true/false) issue is fixed.
* ControlWindow: controlWindow.post() has been deleted.
* Knob: issue with minimum value has been resolved.
how to move a textlabel that has been created with "new" to a tab other than the default:
Tab myTab = controlP5.addTab("new");
Textlabel myTextlabel = new Textlabel(this,"a single textlabel.",20,100,400,200,0xffff0000,ControlP5.synt24);
myTab.addDrawable(myTextlabel);