diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..9dcd7f7 Binary files /dev/null and b/.DS_Store differ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/artifacts/controlp5_jar.xml b/.idea/artifacts/controlp5_jar.xml new file mode 100644 index 0000000..233b214 --- /dev/null +++ b/.idea/artifacts/controlp5_jar.xml @@ -0,0 +1,9 @@ + + + $PROJECT_DIR$/out/artifacts/controlp5_jar + + + + + + \ No newline at end of file diff --git a/.idea/libraries/ant_contrib_1_0b3.xml b/.idea/libraries/ant_contrib_1_0b3.xml new file mode 100644 index 0000000..ff3a158 --- /dev/null +++ b/.idea/libraries/ant_contrib_1_0b3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b8ed7db --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2d61aea --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 01a2da0..2a5e277 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The range of available controllers includes Slider, Button, Toggle, Knob, Textfi ## Installation -To install the library from inside the Processing IDE, use the Library Manager from the menu under Sketch → Import Library → Add Library and search for ControlP5. +To install the library from inside the Processing IDE, use the Library Manager from the menu under sketch.Sketch → Import Library → Add Library and search for ControlP5. If you want to install ControlP5 manually, download (the latest) version from the [releases](https://github.com/sojamo/controlp5/releases) directory. Inside the downloaded .zip file you will find [install_instructions](resources/install_instructions.txt) that guide you through the installation details and tell you where the controlP5 folder needs to be put. In case you are looking for an earlier release, please check the [archive on google code](https://code.google.com/p/controlp5/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount). diff --git a/controlp5.iml b/controlp5.iml new file mode 100644 index 0000000..4be5ba9 --- /dev/null +++ b/controlp5.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/examples.iml b/examples/examples.iml new file mode 100644 index 0000000..1eac1ca --- /dev/null +++ b/examples/examples.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/lib/.DS_Store b/lib/.DS_Store new file mode 100644 index 0000000..2ff9b67 Binary files /dev/null and b/lib/.DS_Store differ diff --git a/lib/processing.jar b/lib/processing.jar new file mode 100644 index 0000000..8530c63 Binary files /dev/null and b/lib/processing.jar differ diff --git a/out/artifacts/controlp5_jar/controlp5.jar b/out/artifacts/controlp5_jar/controlp5.jar new file mode 100644 index 0000000..e150d87 Binary files /dev/null and b/out/artifacts/controlp5_jar/controlp5.jar differ diff --git a/out/production/addons/AddMethodList.sh b/out/production/addons/AddMethodList.sh new file mode 100644 index 0000000..bd45bb4 --- /dev/null +++ b/out/production/addons/AddMethodList.sh @@ -0,0 +1,3 @@ + +javac -cp .:../../../distribution/tmp/controlP5/library/controlP5.jar AddMethodList.java +java -cp .:../../../distribution/tmp/controlP5/library/controlP5.jar:$HOME/Documents/workspace/libs/core.jar AddMethodList $HOME/Documents/workspace/controlp5/examples/controllers/ControlP5accordion/ diff --git a/out/production/controlp5/controlP5/Accordion.class b/out/production/controlp5/controlP5/Accordion.class new file mode 100644 index 0000000..2b8c178 Binary files /dev/null and b/out/production/controlp5/controlP5/Accordion.class differ diff --git a/out/production/controlp5/controlP5/Background.class b/out/production/controlp5/controlP5/Background.class new file mode 100644 index 0000000..9682947 Binary files /dev/null and b/out/production/controlp5/controlP5/Background.class differ diff --git a/out/production/controlp5/controlP5/Bang$BangImageView.class b/out/production/controlp5/controlP5/Bang$BangImageView.class new file mode 100644 index 0000000..2325516 Binary files /dev/null and b/out/production/controlp5/controlP5/Bang$BangImageView.class differ diff --git a/out/production/controlp5/controlP5/Bang$BangView.class b/out/production/controlp5/controlP5/Bang$BangView.class new file mode 100644 index 0000000..c31117c Binary files /dev/null and b/out/production/controlp5/controlP5/Bang$BangView.class differ diff --git a/out/production/controlp5/controlP5/Bang.class b/out/production/controlp5/controlP5/Bang.class new file mode 100644 index 0000000..7893721 Binary files /dev/null and b/out/production/controlp5/controlP5/Bang.class differ diff --git a/out/production/controlp5/controlP5/BitFont.class b/out/production/controlp5/controlP5/BitFont.class new file mode 100644 index 0000000..948936f Binary files /dev/null and b/out/production/controlp5/controlP5/BitFont.class differ diff --git a/out/production/controlp5/controlP5/Button$ButtonImageView.class b/out/production/controlp5/controlP5/Button$ButtonImageView.class new file mode 100644 index 0000000..59d9021 Binary files /dev/null and b/out/production/controlp5/controlP5/Button$ButtonImageView.class differ diff --git a/out/production/controlp5/controlP5/Button$ButtonView.class b/out/production/controlp5/controlP5/Button$ButtonView.class new file mode 100644 index 0000000..9ad356f Binary files /dev/null and b/out/production/controlp5/controlP5/Button$ButtonView.class differ diff --git a/out/production/controlp5/controlP5/Button.class b/out/production/controlp5/controlP5/Button.class new file mode 100644 index 0000000..b0b586b Binary files /dev/null and b/out/production/controlp5/controlP5/Button.class differ diff --git a/out/production/controlp5/controlP5/ButtonBar$1.class b/out/production/controlp5/controlP5/ButtonBar$1.class new file mode 100644 index 0000000..fe1afdc Binary files /dev/null and b/out/production/controlp5/controlP5/ButtonBar$1.class differ diff --git a/out/production/controlp5/controlP5/ButtonBar$ButtonBarView.class b/out/production/controlp5/controlP5/ButtonBar$ButtonBarView.class new file mode 100644 index 0000000..3a88cf7 Binary files /dev/null and b/out/production/controlp5/controlP5/ButtonBar$ButtonBarView.class differ diff --git a/out/production/controlp5/controlP5/ButtonBar.class b/out/production/controlp5/controlP5/ButtonBar.class new file mode 100644 index 0000000..d78addd Binary files /dev/null and b/out/production/controlp5/controlP5/ButtonBar.class differ diff --git a/out/production/controlp5/controlP5/CColor.class b/out/production/controlp5/controlP5/CColor.class new file mode 100644 index 0000000..ca33ec4 Binary files /dev/null and b/out/production/controlp5/controlP5/CColor.class differ diff --git a/out/production/controlp5/controlP5/CDrawable.class b/out/production/controlp5/controlP5/CDrawable.class new file mode 100644 index 0000000..34ef385 Binary files /dev/null and b/out/production/controlp5/controlP5/CDrawable.class differ diff --git a/out/production/controlp5/controlP5/CP.class b/out/production/controlp5/controlP5/CP.class new file mode 100644 index 0000000..b2079f4 Binary files /dev/null and b/out/production/controlp5/controlP5/CP.class differ diff --git a/out/production/controlp5/controlP5/CallbackEvent.class b/out/production/controlp5/controlP5/CallbackEvent.class new file mode 100644 index 0000000..536bf0c Binary files /dev/null and b/out/production/controlp5/controlP5/CallbackEvent.class differ diff --git a/out/production/controlp5/controlP5/CallbackListener.class b/out/production/controlp5/controlP5/CallbackListener.class new file mode 100644 index 0000000..3c40e31 Binary files /dev/null and b/out/production/controlp5/controlP5/CallbackListener.class differ diff --git a/out/production/controlp5/controlP5/Canvas.class b/out/production/controlp5/controlP5/Canvas.class new file mode 100644 index 0000000..99343e2 Binary files /dev/null and b/out/production/controlp5/controlP5/Canvas.class differ diff --git a/out/production/controlp5/controlP5/Chart$ChartViewArea.class b/out/production/controlp5/controlP5/Chart$ChartViewArea.class new file mode 100644 index 0000000..6ae5712 Binary files /dev/null and b/out/production/controlp5/controlP5/Chart$ChartViewArea.class differ diff --git a/out/production/controlp5/controlP5/Chart$ChartViewBar.class b/out/production/controlp5/controlP5/Chart$ChartViewBar.class new file mode 100644 index 0000000..94c0341 Binary files /dev/null and b/out/production/controlp5/controlP5/Chart$ChartViewBar.class differ diff --git a/out/production/controlp5/controlP5/Chart$ChartViewBarCentered.class b/out/production/controlp5/controlP5/Chart$ChartViewBarCentered.class new file mode 100644 index 0000000..69d0e0f Binary files /dev/null and b/out/production/controlp5/controlP5/Chart$ChartViewBarCentered.class differ diff --git a/out/production/controlp5/controlP5/Chart$ChartViewLine.class b/out/production/controlp5/controlP5/Chart$ChartViewLine.class new file mode 100644 index 0000000..49777ef Binary files /dev/null and b/out/production/controlp5/controlP5/Chart$ChartViewLine.class differ diff --git a/out/production/controlp5/controlP5/Chart$ChartViewPie.class b/out/production/controlp5/controlP5/Chart$ChartViewPie.class new file mode 100644 index 0000000..8604b75 Binary files /dev/null and b/out/production/controlp5/controlP5/Chart$ChartViewPie.class differ diff --git a/out/production/controlp5/controlP5/Chart.class b/out/production/controlp5/controlP5/Chart.class new file mode 100644 index 0000000..e595891 Binary files /dev/null and b/out/production/controlp5/controlP5/Chart.class differ diff --git a/out/production/controlp5/controlP5/ChartData.class b/out/production/controlp5/controlP5/ChartData.class new file mode 100644 index 0000000..a4d23c3 Binary files /dev/null and b/out/production/controlp5/controlP5/ChartData.class differ diff --git a/out/production/controlp5/controlP5/ChartDataSet.class b/out/production/controlp5/controlP5/ChartDataSet.class new file mode 100644 index 0000000..0f2e048 Binary files /dev/null and b/out/production/controlp5/controlP5/ChartDataSet.class differ diff --git a/out/production/controlp5/controlP5/CheckBox.class b/out/production/controlp5/controlP5/CheckBox.class new file mode 100644 index 0000000..279bd03 Binary files /dev/null and b/out/production/controlp5/controlP5/CheckBox.class differ diff --git a/out/production/controlp5/controlP5/ColorPalette.class b/out/production/controlp5/controlP5/ColorPalette.class new file mode 100644 index 0000000..3351c0f Binary files /dev/null and b/out/production/controlp5/controlP5/ColorPalette.class differ diff --git a/out/production/controlp5/controlP5/ColorPicker$ColorField.class b/out/production/controlp5/controlP5/ColorPicker$ColorField.class new file mode 100644 index 0000000..acd5f57 Binary files /dev/null and b/out/production/controlp5/controlP5/ColorPicker$ColorField.class differ diff --git a/out/production/controlp5/controlP5/ColorPicker.class b/out/production/controlp5/controlP5/ColorPicker.class new file mode 100644 index 0000000..982a207 Binary files /dev/null and b/out/production/controlp5/controlP5/ColorPicker.class differ diff --git a/out/production/controlp5/controlP5/ColorWheel$ColorWheelView.class b/out/production/controlp5/controlP5/ColorWheel$ColorWheelView.class new file mode 100644 index 0000000..37e629c Binary files /dev/null and b/out/production/controlp5/controlP5/ColorWheel$ColorWheelView.class differ diff --git a/out/production/controlp5/controlP5/ColorWheel.class b/out/production/controlp5/controlP5/ColorWheel.class new file mode 100644 index 0000000..2beac73 Binary files /dev/null and b/out/production/controlp5/controlP5/ColorWheel.class differ diff --git a/out/production/controlp5/controlP5/ControlBehavior.class b/out/production/controlp5/controlP5/ControlBehavior.class new file mode 100644 index 0000000..0d20e97 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlBehavior.class differ diff --git a/out/production/controlp5/controlP5/ControlBroadcaster$EmptyController.class b/out/production/controlp5/controlP5/ControlBroadcaster$EmptyController.class new file mode 100644 index 0000000..620505c Binary files /dev/null and b/out/production/controlp5/controlP5/ControlBroadcaster$EmptyController.class differ diff --git a/out/production/controlp5/controlP5/ControlBroadcaster.class b/out/production/controlp5/controlP5/ControlBroadcaster.class new file mode 100644 index 0000000..6dc935b Binary files /dev/null and b/out/production/controlp5/controlP5/ControlBroadcaster.class differ diff --git a/out/production/controlp5/controlP5/ControlElement.class b/out/production/controlp5/controlP5/ControlElement.class new file mode 100644 index 0000000..d57760d Binary files /dev/null and b/out/production/controlp5/controlP5/ControlElement.class differ diff --git a/out/production/controlp5/controlP5/ControlEvent.class b/out/production/controlp5/controlP5/ControlEvent.class new file mode 100644 index 0000000..78caef5 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlEvent.class differ diff --git a/out/production/controlp5/controlP5/ControlFont.class b/out/production/controlp5/controlP5/ControlFont.class new file mode 100644 index 0000000..d5953f5 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlFont.class differ diff --git a/out/production/controlp5/controlP5/ControlGroup.class b/out/production/controlp5/controlP5/ControlGroup.class new file mode 100644 index 0000000..41d66de Binary files /dev/null and b/out/production/controlp5/controlP5/ControlGroup.class differ diff --git a/out/production/controlp5/controlP5/ControlKey.class b/out/production/controlp5/controlP5/ControlKey.class new file mode 100644 index 0000000..4fb571e Binary files /dev/null and b/out/production/controlp5/controlP5/ControlKey.class differ diff --git a/out/production/controlp5/controlP5/ControlListener.class b/out/production/controlp5/controlP5/ControlListener.class new file mode 100644 index 0000000..2978086 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlListener.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$1.class b/out/production/controlp5/controlP5/ControlP5$1.class new file mode 100644 index 0000000..373ace5 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$1.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$2.class b/out/production/controlp5/controlP5/ControlP5$2.class new file mode 100644 index 0000000..165b806 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$2.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$3.class b/out/production/controlp5/controlP5/ControlP5$3.class new file mode 100644 index 0000000..fba8115 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$3.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$4.class b/out/production/controlp5/controlP5/ControlP5$4.class new file mode 100644 index 0000000..12e152e Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$4.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$Invisible.class b/out/production/controlp5/controlP5/ControlP5$Invisible.class new file mode 100644 index 0000000..07c24c4 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$Invisible.class differ diff --git a/out/production/controlp5/controlP5/ControlP5$Layout.class b/out/production/controlp5/controlP5/ControlP5$Layout.class new file mode 100644 index 0000000..f61f930 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5$Layout.class differ diff --git a/out/production/controlp5/controlP5/ControlP5.class b/out/production/controlp5/controlP5/ControlP5.class new file mode 100644 index 0000000..bc0cbbe Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5.class differ diff --git a/out/production/controlp5/controlP5/ControlP5Base$KeyCode.class b/out/production/controlp5/controlP5/ControlP5Base$KeyCode.class new file mode 100644 index 0000000..f5c73f9 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5Base$KeyCode.class differ diff --git a/out/production/controlp5/controlP5/ControlP5Base.class b/out/production/controlp5/controlP5/ControlP5Base.class new file mode 100644 index 0000000..1772de6 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5Base.class differ diff --git a/out/production/controlp5/controlP5/ControlP5Constants.class b/out/production/controlp5/controlP5/ControlP5Constants.class new file mode 100644 index 0000000..1d1c56f Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5Constants.class differ diff --git a/out/production/controlp5/controlP5/ControlP5Legacy.class b/out/production/controlp5/controlP5/ControlP5Legacy.class new file mode 100644 index 0000000..7cfb275 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlP5Legacy.class differ diff --git a/out/production/controlp5/controlP5/ControlTimer.class b/out/production/controlp5/controlP5/ControlTimer.class new file mode 100644 index 0000000..207e4be Binary files /dev/null and b/out/production/controlp5/controlP5/ControlTimer.class differ diff --git a/out/production/controlp5/controlP5/ControlWindow$Pointer.class b/out/production/controlp5/controlP5/ControlWindow$Pointer.class new file mode 100644 index 0000000..0e08a55 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlWindow$Pointer.class differ diff --git a/out/production/controlp5/controlP5/ControlWindow.class b/out/production/controlp5/controlP5/ControlWindow.class new file mode 100644 index 0000000..76bbb21 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlWindow.class differ diff --git a/out/production/controlp5/controlP5/ControlWindowCanvas.class b/out/production/controlp5/controlP5/ControlWindowCanvas.class new file mode 100644 index 0000000..b692634 Binary files /dev/null and b/out/production/controlp5/controlP5/ControlWindowCanvas.class differ diff --git a/out/production/controlp5/controlP5/Controller$1.class b/out/production/controlp5/controlP5/Controller$1.class new file mode 100644 index 0000000..e41cfeb Binary files /dev/null and b/out/production/controlp5/controlP5/Controller$1.class differ diff --git a/out/production/controlp5/controlP5/Controller$DebugView.class b/out/production/controlp5/controlP5/Controller$DebugView.class new file mode 100644 index 0000000..baa5ae5 Binary files /dev/null and b/out/production/controlp5/controlP5/Controller$DebugView.class differ diff --git a/out/production/controlp5/controlP5/Controller.class b/out/production/controlp5/controlP5/Controller.class new file mode 100644 index 0000000..2262bed Binary files /dev/null and b/out/production/controlp5/controlP5/Controller.class differ diff --git a/out/production/controlp5/controlP5/ControllerAutomator$1.class b/out/production/controlp5/controlP5/ControllerAutomator$1.class new file mode 100644 index 0000000..23e0372 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerAutomator$1.class differ diff --git a/out/production/controlp5/controlP5/ControllerAutomator.class b/out/production/controlp5/controlP5/ControllerAutomator.class new file mode 100644 index 0000000..d6eaf40 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerAutomator.class differ diff --git a/out/production/controlp5/controlP5/ControllerDisplay.class b/out/production/controlp5/controlP5/ControllerDisplay.class new file mode 100644 index 0000000..0a385da Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerDisplay.class differ diff --git a/out/production/controlp5/controlP5/ControllerGroup.class b/out/production/controlp5/controlP5/ControllerGroup.class new file mode 100644 index 0000000..f59a51a Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerGroup.class differ diff --git a/out/production/controlp5/controlP5/ControllerInterface.class b/out/production/controlp5/controlP5/ControllerInterface.class new file mode 100644 index 0000000..b7ba4c9 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerInterface.class differ diff --git a/out/production/controlp5/controlP5/ControllerLayout.class b/out/production/controlp5/controlP5/ControllerLayout.class new file mode 100644 index 0000000..99dffe3 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerLayout.class differ diff --git a/out/production/controlp5/controlP5/ControllerLayoutElement.class b/out/production/controlp5/controlP5/ControllerLayoutElement.class new file mode 100644 index 0000000..be935e0 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerLayoutElement.class differ diff --git a/out/production/controlp5/controlP5/ControllerList.class b/out/production/controlp5/controlP5/ControllerList.class new file mode 100644 index 0000000..0843836 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerList.class differ diff --git a/out/production/controlp5/controlP5/ControllerPlug.class b/out/production/controlp5/controlP5/ControllerPlug.class new file mode 100644 index 0000000..1169be9 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerPlug.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties$JSONFormat.class b/out/production/controlp5/controlP5/ControllerProperties$JSONFormat.class new file mode 100644 index 0000000..c363e17 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties$JSONFormat.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties$JSONReader.class b/out/production/controlp5/controlP5/ControllerProperties$JSONReader.class new file mode 100644 index 0000000..04bc275 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties$JSONReader.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties$PropertiesStorageFormat.class b/out/production/controlp5/controlP5/ControllerProperties$PropertiesStorageFormat.class new file mode 100644 index 0000000..32172d1 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties$PropertiesStorageFormat.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties$SerializedFormat.class b/out/production/controlp5/controlP5/ControllerProperties$SerializedFormat.class new file mode 100644 index 0000000..2442409 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties$SerializedFormat.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties$XMLFormat.class b/out/production/controlp5/controlP5/ControllerProperties$XMLFormat.class new file mode 100644 index 0000000..1f2ea6c Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties$XMLFormat.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperties.class b/out/production/controlp5/controlP5/ControllerProperties.class new file mode 100644 index 0000000..36f40c7 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperties.class differ diff --git a/out/production/controlp5/controlP5/ControllerProperty.class b/out/production/controlp5/controlP5/ControllerProperty.class new file mode 100644 index 0000000..b616bfb Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerProperty.class differ diff --git a/out/production/controlp5/controlP5/ControllerStyle.class b/out/production/controlp5/controlP5/ControllerStyle.class new file mode 100644 index 0000000..119a7a1 Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerStyle.class differ diff --git a/out/production/controlp5/controlP5/ControllerView.class b/out/production/controlp5/controlP5/ControllerView.class new file mode 100644 index 0000000..42f02fd Binary files /dev/null and b/out/production/controlp5/controlP5/ControllerView.class differ diff --git a/out/production/controlp5/controlP5/DropdownList$1.class b/out/production/controlp5/controlP5/DropdownList$1.class new file mode 100644 index 0000000..6db769d Binary files /dev/null and b/out/production/controlp5/controlP5/DropdownList$1.class differ diff --git a/out/production/controlp5/controlP5/DropdownList$DropdownListView.class b/out/production/controlp5/controlP5/DropdownList$DropdownListView.class new file mode 100644 index 0000000..53438ff Binary files /dev/null and b/out/production/controlp5/controlP5/DropdownList$DropdownListView.class differ diff --git a/out/production/controlp5/controlP5/DropdownList.class b/out/production/controlp5/controlP5/DropdownList.class new file mode 100644 index 0000000..d8b7a19 Binary files /dev/null and b/out/production/controlp5/controlP5/DropdownList.class differ diff --git a/out/production/controlp5/controlP5/FieldChangedListener$1.class b/out/production/controlp5/controlP5/FieldChangedListener$1.class new file mode 100644 index 0000000..c07c52d Binary files /dev/null and b/out/production/controlp5/controlP5/FieldChangedListener$1.class differ diff --git a/out/production/controlp5/controlP5/FieldChangedListener$2.class b/out/production/controlp5/controlP5/FieldChangedListener$2.class new file mode 100644 index 0000000..3ace5c2 Binary files /dev/null and b/out/production/controlp5/controlP5/FieldChangedListener$2.class differ diff --git a/out/production/controlp5/controlP5/FieldChangedListener$3.class b/out/production/controlp5/controlP5/FieldChangedListener$3.class new file mode 100644 index 0000000..38ee0d7 Binary files /dev/null and b/out/production/controlp5/controlP5/FieldChangedListener$3.class differ diff --git a/out/production/controlp5/controlP5/FieldChangedListener$4.class b/out/production/controlp5/controlP5/FieldChangedListener$4.class new file mode 100644 index 0000000..c76e535 Binary files /dev/null and b/out/production/controlp5/controlP5/FieldChangedListener$4.class differ diff --git a/out/production/controlp5/controlP5/FieldChangedListener.class b/out/production/controlp5/controlP5/FieldChangedListener.class new file mode 100644 index 0000000..c78c89c Binary files /dev/null and b/out/production/controlp5/controlP5/FieldChangedListener.class differ diff --git a/out/production/controlp5/controlP5/FieldValue.class b/out/production/controlp5/controlP5/FieldValue.class new file mode 100644 index 0000000..68fdd73 Binary files /dev/null and b/out/production/controlp5/controlP5/FieldValue.class differ diff --git a/out/production/controlp5/controlP5/FrameRate.class b/out/production/controlp5/controlP5/FrameRate.class new file mode 100644 index 0000000..672250a Binary files /dev/null and b/out/production/controlp5/controlP5/FrameRate.class differ diff --git a/out/production/controlp5/controlP5/Group.class b/out/production/controlp5/controlP5/Group.class new file mode 100644 index 0000000..0c45cf0 Binary files /dev/null and b/out/production/controlp5/controlP5/Group.class differ diff --git a/out/production/controlp5/controlP5/Icon$IconImageView.class b/out/production/controlp5/controlP5/Icon$IconImageView.class new file mode 100644 index 0000000..78545c8 Binary files /dev/null and b/out/production/controlp5/controlP5/Icon$IconImageView.class differ diff --git a/out/production/controlp5/controlP5/Icon$IconView.class b/out/production/controlp5/controlP5/Icon$IconView.class new file mode 100644 index 0000000..c65d7dc Binary files /dev/null and b/out/production/controlp5/controlP5/Icon$IconView.class differ diff --git a/out/production/controlp5/controlP5/Icon.class b/out/production/controlp5/controlP5/Icon.class new file mode 100644 index 0000000..9bfb657 Binary files /dev/null and b/out/production/controlp5/controlP5/Icon.class differ diff --git a/out/production/controlp5/controlP5/Knob$KnobView.class b/out/production/controlp5/controlP5/Knob$KnobView.class new file mode 100644 index 0000000..398de02 Binary files /dev/null and b/out/production/controlp5/controlP5/Knob$KnobView.class differ diff --git a/out/production/controlp5/controlP5/Knob.class b/out/production/controlp5/controlP5/Knob.class new file mode 100644 index 0000000..3b43931 Binary files /dev/null and b/out/production/controlp5/controlP5/Knob.class differ diff --git a/out/production/controlp5/controlP5/Label$Labeltype.class b/out/production/controlp5/controlP5/Label$Labeltype.class new file mode 100644 index 0000000..0d9efb2 Binary files /dev/null and b/out/production/controlp5/controlP5/Label$Labeltype.class differ diff --git a/out/production/controlp5/controlP5/Label$MultilineLabel.class b/out/production/controlp5/controlP5/Label$MultilineLabel.class new file mode 100644 index 0000000..edae4e3 Binary files /dev/null and b/out/production/controlp5/controlP5/Label$MultilineLabel.class differ diff --git a/out/production/controlp5/controlP5/Label$SinglelineLabel.class b/out/production/controlp5/controlP5/Label$SinglelineLabel.class new file mode 100644 index 0000000..c67fe92 Binary files /dev/null and b/out/production/controlp5/controlP5/Label$SinglelineLabel.class differ diff --git a/out/production/controlp5/controlP5/Label$SinglelineTextfield.class b/out/production/controlp5/controlP5/Label$SinglelineTextfield.class new file mode 100644 index 0000000..8dbed85 Binary files /dev/null and b/out/production/controlp5/controlP5/Label$SinglelineTextfield.class differ diff --git a/out/production/controlp5/controlP5/Label.class b/out/production/controlp5/controlP5/Label.class new file mode 100644 index 0000000..1c1e45c Binary files /dev/null and b/out/production/controlp5/controlP5/Label.class differ diff --git a/out/production/controlp5/controlP5/ListBox$1.class b/out/production/controlp5/controlP5/ListBox$1.class new file mode 100644 index 0000000..5010376 Binary files /dev/null and b/out/production/controlp5/controlP5/ListBox$1.class differ diff --git a/out/production/controlp5/controlP5/ListBox$ListBoxView.class b/out/production/controlp5/controlP5/ListBox$ListBoxView.class new file mode 100644 index 0000000..7b1a883 Binary files /dev/null and b/out/production/controlp5/controlP5/ListBox$ListBoxView.class differ diff --git a/out/production/controlp5/controlP5/ListBox.class b/out/production/controlp5/controlP5/ListBox.class new file mode 100644 index 0000000..a459066 Binary files /dev/null and b/out/production/controlp5/controlP5/ListBox.class differ diff --git a/out/production/controlp5/controlP5/Matrix$1.class b/out/production/controlp5/controlP5/Matrix$1.class new file mode 100644 index 0000000..ac2cee6 Binary files /dev/null and b/out/production/controlp5/controlP5/Matrix$1.class differ diff --git a/out/production/controlp5/controlP5/Matrix$MatrixView.class b/out/production/controlp5/controlP5/Matrix$MatrixView.class new file mode 100644 index 0000000..c787bdf Binary files /dev/null and b/out/production/controlp5/controlP5/Matrix$MatrixView.class differ diff --git a/out/production/controlp5/controlP5/Matrix.class b/out/production/controlp5/controlP5/Matrix.class new file mode 100644 index 0000000..6f31270 Binary files /dev/null and b/out/production/controlp5/controlP5/Matrix.class differ diff --git a/out/production/controlp5/controlP5/MultiList.class b/out/production/controlp5/controlP5/MultiList.class new file mode 100644 index 0000000..a56bf49 Binary files /dev/null and b/out/production/controlp5/controlP5/MultiList.class differ diff --git a/out/production/controlp5/controlP5/MultiListButton.class b/out/production/controlp5/controlP5/MultiListButton.class new file mode 100644 index 0000000..c739427 Binary files /dev/null and b/out/production/controlp5/controlP5/MultiListButton.class differ diff --git a/out/production/controlp5/controlP5/MultiListInterface.class b/out/production/controlp5/controlP5/MultiListInterface.class new file mode 100644 index 0000000..6f4db7e Binary files /dev/null and b/out/production/controlp5/controlP5/MultiListInterface.class differ diff --git a/out/production/controlp5/controlP5/Numberbox$NumberboxView.class b/out/production/controlp5/controlP5/Numberbox$NumberboxView.class new file mode 100644 index 0000000..936491d Binary files /dev/null and b/out/production/controlp5/controlP5/Numberbox$NumberboxView.class differ diff --git a/out/production/controlp5/controlP5/Numberbox.class b/out/production/controlp5/controlP5/Numberbox.class new file mode 100644 index 0000000..c783287 Binary files /dev/null and b/out/production/controlp5/controlP5/Numberbox.class differ diff --git a/out/production/controlp5/controlP5/Pad.class b/out/production/controlp5/controlP5/Pad.class new file mode 100644 index 0000000..596bb9f Binary files /dev/null and b/out/production/controlp5/controlP5/Pad.class differ diff --git a/out/production/controlp5/controlP5/Pointer.class b/out/production/controlp5/controlP5/Pointer.class new file mode 100644 index 0000000..e1b49d2 Binary files /dev/null and b/out/production/controlp5/controlP5/Pointer.class differ diff --git a/out/production/controlp5/controlP5/Println$1.class b/out/production/controlp5/controlP5/Println$1.class new file mode 100644 index 0000000..7124197 Binary files /dev/null and b/out/production/controlp5/controlP5/Println$1.class differ diff --git a/out/production/controlp5/controlP5/Println.class b/out/production/controlp5/controlP5/Println.class new file mode 100644 index 0000000..29e6436 Binary files /dev/null and b/out/production/controlp5/controlP5/Println.class differ diff --git a/out/production/controlp5/controlP5/Radio.class b/out/production/controlp5/controlP5/Radio.class new file mode 100644 index 0000000..06220d7 Binary files /dev/null and b/out/production/controlp5/controlP5/Radio.class differ diff --git a/out/production/controlp5/controlP5/RadioButton.class b/out/production/controlp5/controlP5/RadioButton.class new file mode 100644 index 0000000..9c12bb1 Binary files /dev/null and b/out/production/controlp5/controlP5/RadioButton.class differ diff --git a/out/production/controlp5/controlP5/Range$RangeImageView.class b/out/production/controlp5/controlP5/Range$RangeImageView.class new file mode 100644 index 0000000..5499f47 Binary files /dev/null and b/out/production/controlp5/controlP5/Range$RangeImageView.class differ diff --git a/out/production/controlp5/controlP5/Range$RangeSpriteView.class b/out/production/controlp5/controlP5/Range$RangeSpriteView.class new file mode 100644 index 0000000..9a845a7 Binary files /dev/null and b/out/production/controlp5/controlP5/Range$RangeSpriteView.class differ diff --git a/out/production/controlp5/controlP5/Range$RangeView.class b/out/production/controlp5/controlP5/Range$RangeView.class new file mode 100644 index 0000000..5160c16 Binary files /dev/null and b/out/production/controlp5/controlP5/Range$RangeView.class differ diff --git a/out/production/controlp5/controlP5/Range.class b/out/production/controlp5/controlP5/Range.class new file mode 100644 index 0000000..ff28f84 Binary files /dev/null and b/out/production/controlp5/controlP5/Range.class differ diff --git a/out/production/controlp5/controlP5/ScrollableList$1.class b/out/production/controlp5/controlP5/ScrollableList$1.class new file mode 100644 index 0000000..2e7552a Binary files /dev/null and b/out/production/controlp5/controlP5/ScrollableList$1.class differ diff --git a/out/production/controlp5/controlP5/ScrollableList$ScrollableListView.class b/out/production/controlp5/controlP5/ScrollableList$ScrollableListView.class new file mode 100644 index 0000000..9eae8e6 Binary files /dev/null and b/out/production/controlp5/controlP5/ScrollableList$ScrollableListView.class differ diff --git a/out/production/controlp5/controlP5/ScrollableList.class b/out/production/controlp5/controlP5/ScrollableList.class new file mode 100644 index 0000000..b182aec Binary files /dev/null and b/out/production/controlp5/controlP5/ScrollableList.class differ diff --git a/out/production/controlp5/controlP5/Slider$SliderView.class b/out/production/controlp5/controlP5/Slider$SliderView.class new file mode 100644 index 0000000..d42f0a4 Binary files /dev/null and b/out/production/controlp5/controlP5/Slider$SliderView.class differ diff --git a/out/production/controlp5/controlP5/Slider$SliderViewH.class b/out/production/controlp5/controlP5/Slider$SliderViewH.class new file mode 100644 index 0000000..826928e Binary files /dev/null and b/out/production/controlp5/controlP5/Slider$SliderViewH.class differ diff --git a/out/production/controlp5/controlP5/Slider$SliderViewV.class b/out/production/controlp5/controlP5/Slider$SliderViewV.class new file mode 100644 index 0000000..34bc6a5 Binary files /dev/null and b/out/production/controlp5/controlP5/Slider$SliderViewV.class differ diff --git a/out/production/controlp5/controlP5/Slider.class b/out/production/controlp5/controlP5/Slider.class new file mode 100644 index 0000000..449e1e6 Binary files /dev/null and b/out/production/controlp5/controlP5/Slider.class differ diff --git a/out/production/controlp5/controlP5/Slider2D$Slider2DView.class b/out/production/controlp5/controlP5/Slider2D$Slider2DView.class new file mode 100644 index 0000000..170314e Binary files /dev/null and b/out/production/controlp5/controlP5/Slider2D$Slider2DView.class differ diff --git a/out/production/controlp5/controlP5/Slider2D.class b/out/production/controlp5/controlP5/Slider2D.class new file mode 100644 index 0000000..6d52341 Binary files /dev/null and b/out/production/controlp5/controlP5/Slider2D.class differ diff --git a/out/production/controlp5/controlP5/Spacer$SpacerView.class b/out/production/controlp5/controlP5/Spacer$SpacerView.class new file mode 100644 index 0000000..23dbd7e Binary files /dev/null and b/out/production/controlp5/controlP5/Spacer$SpacerView.class differ diff --git a/out/production/controlp5/controlP5/Spacer.class b/out/production/controlp5/controlP5/Spacer.class new file mode 100644 index 0000000..8dcbc5b Binary files /dev/null and b/out/production/controlp5/controlP5/Spacer.class differ diff --git a/out/production/controlp5/controlP5/TODO b/out/production/controlp5/controlP5/TODO new file mode 100755 index 0000000..af03f11 --- /dev/null +++ b/out/production/controlp5/controlP5/TODO @@ -0,0 +1,92 @@ +2014-09-08 Andreas Schlegel + * add glyphicons reference to controlp5.Icon.java http://glyphicons.com + * add useiconic to controlp5.Icon.java https://useiconic.com/open + +2014-05-29 Andreas Schlegel + * distinguish between left,center, right mouse click events http://forum.processing.org/two/discussion/5422/controlp5-mousepressed-only-if-mousebutton-left- + +2014-04-22 Andreas Schlegel + * javascript version on hold; it is unclear which project processing.js or p5.js will become the default js framework for processing + +2013-09-09 Andreas Schlegel + * javascript version + * textinput on android + * color picker used for clicks-and-strokes + * rendering into pgraphics + * add colorwheel + * add ControlFrame with customizable render access + * spacer / separator + +2011-03-24 Andreas Schlegel + * finish info to toString conversion + * implement plugTo for ControllerGroups + * BitFontRenderer addBitFont is broken, see the ControlP5bitFont example, + the font is cut off at the bottom, probably something wrong with + the label's PImage height. + +2010-08-07 Andreas Schlegel + * fix ControlWindowCanvas.pre(), doesnt work anymore. + +2010-07-25 Andreas Schlegel + * Android support, current version conflicts with android java (ControlWindow, PAppletWindow, using Toolkit when loading bit-font, KeyEvents, etc.) + * CColor: alpha handling + * Chart: finish. a chart graph controller to display line, bar, pie and histogram charts. + +2010-04-02 Andreas Schlegel + * BitFontRenderer: \n is recognized as a not-supported-character. fix! + * general: processingjs port + * Knob: implement new version of knob + * Textfield: implement new version of textfield + * TextArea: implement new version of TextArea + * Label: implement modifications so that text rendering for P3D works properly + * picking: use an image and color-coding for picking controllers instead mouse-coordinates against rectangular boxes. + + + +* fileChooser conflicts with mouse event. +http://processing.org/discourse/yabb2/YaBB.pl?num=1247162607/0#0 + + +* alt-tab causes problems with dragging functionality. +http://processing.org/discourse/yabb2/YaBB.pl?num=1242718131/0#0 + +* Multilist, pop out to the left. +* ScrollList, slider on the left option. +* ScrollList: collapse/and hide. add option to hide the scroll-list area but only keep the scrollbar. +* add CheckBoxList +* tab issues as addressed in this post: +http://processing.org/discourse/yabb_beta/YaBB.cgi?board=LibraryProblems;action=display;num=1237538493;start=2#2 + - moveTo does not work for only a String which would stanbd for the name of a tab + - controlP5.window(this).activateTab("myTab"); + controlP5.tab("myTab").mousePressed(); +* ControlGroup, set Width of bar. the + - toggle is not updated visually. +* Text -Field, -Label, -Area: customize font +* textarea: when changing the font of the valueLabel, the scrollbar is not updated / does not show even it is required. current hack is: myTextarea.setHeight(myTextarea.valueLabel().height()); +* textarea: automatically updating the scrollbar whensetting text with setText() see email from martin froehlich 16.january 2009 +* save and load does not work for some controllers. +* loading and saving +* multilist, range, matrix dont load from xml file. +* colorstyle does not save and load. +* labels dont save properly, background color is not saved. +* matrix needs to be redone. develop whole new concept for matrix / synthesizer. +* multitouch support +* controlWindow: add feedback when closing window. see email from henri 5 january 2009 +* controllerStyle: see email from johnny rodgers 30 november 2008 +* range: see email from hartmut bohnacker 27 november 2008 +* textfield: see email from henri 14 october 2008 +* save and open file dialog: see email from henri 12 october 2008 +* ControlBroadcaster suggestions: see email from aaron mayers 2 october 2008 +* pushmatrix / popMatrix : see email from florian 6 june 2008 +Lib.pre() { /*other code */ pushMatrix(); } +PApplet.draw() { ... } +Lib.draw() { popMatrix(); /* the lib code, untransformed */ } + + + +DONE +* (done) add setArrayValue to Controller class. +* (done, implemented with TickMark) Slider: snap +* (done) add id() method to ControlEvent +* (done, fixed) fix save/load. saving twice and loading again results in empty. +* (done) add setTitle to ControlWindow http://processing.org/discourse/yabb2/YaBB.pl?num=1245762312/0#0 +* (done, now ListBox) redo ScrollList so that it becomes a controller? change the button management of a scrollList. diff --git a/out/production/controlp5/controlP5/Tab.class b/out/production/controlp5/controlP5/Tab.class new file mode 100644 index 0000000..aedc9f1 Binary files /dev/null and b/out/production/controlp5/controlP5/Tab.class differ diff --git a/out/production/controlp5/controlP5/Textarea.class b/out/production/controlp5/controlP5/Textarea.class new file mode 100644 index 0000000..7ba5622 Binary files /dev/null and b/out/production/controlp5/controlP5/Textarea.class differ diff --git a/out/production/controlp5/controlP5/Textfield$DeleteCharacter.class b/out/production/controlp5/controlP5/Textfield$DeleteCharacter.class new file mode 100644 index 0000000..354c76d Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$DeleteCharacter.class differ diff --git a/out/production/controlp5/controlP5/Textfield$Enter.class b/out/production/controlp5/controlP5/Textfield$Enter.class new file mode 100644 index 0000000..b8297dd Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$Enter.class differ diff --git a/out/production/controlp5/controlP5/Textfield$InputFilter.class b/out/production/controlp5/controlP5/Textfield$InputFilter.class new file mode 100644 index 0000000..0df57e2 Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$InputFilter.class differ diff --git a/out/production/controlp5/controlP5/Textfield$InsertCharacter.class b/out/production/controlp5/controlP5/Textfield$InsertCharacter.class new file mode 100644 index 0000000..e0709b6 Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$InsertCharacter.class differ diff --git a/out/production/controlp5/controlP5/Textfield$MoveDown.class b/out/production/controlp5/controlP5/Textfield$MoveDown.class new file mode 100644 index 0000000..caeb5c0 Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$MoveDown.class differ diff --git a/out/production/controlp5/controlP5/Textfield$MoveLeft.class b/out/production/controlp5/controlP5/Textfield$MoveLeft.class new file mode 100644 index 0000000..de63d94 Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$MoveLeft.class differ diff --git a/out/production/controlp5/controlP5/Textfield$MoveRight.class b/out/production/controlp5/controlP5/Textfield$MoveRight.class new file mode 100644 index 0000000..eeff2a2 Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$MoveRight.class differ diff --git a/out/production/controlp5/controlP5/Textfield$MoveUp.class b/out/production/controlp5/controlP5/Textfield$MoveUp.class new file mode 100644 index 0000000..969d90d Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$MoveUp.class differ diff --git a/out/production/controlp5/controlP5/Textfield$TextfieldCommand.class b/out/production/controlp5/controlP5/Textfield$TextfieldCommand.class new file mode 100644 index 0000000..91c501d Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield$TextfieldCommand.class differ diff --git a/out/production/controlp5/controlP5/Textfield.class b/out/production/controlp5/controlP5/Textfield.class new file mode 100644 index 0000000..853da5e Binary files /dev/null and b/out/production/controlp5/controlP5/Textfield.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$DeleteCharacter.class b/out/production/controlp5/controlP5/TextfieldMultiline$DeleteCharacter.class new file mode 100644 index 0000000..1a9ea79 Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$DeleteCharacter.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$InsertCharacter.class b/out/production/controlp5/controlP5/TextfieldMultiline$InsertCharacter.class new file mode 100644 index 0000000..90cb88e Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$InsertCharacter.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$MoveDown.class b/out/production/controlp5/controlP5/TextfieldMultiline$MoveDown.class new file mode 100644 index 0000000..8e73349 Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$MoveDown.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$MoveLeft.class b/out/production/controlp5/controlP5/TextfieldMultiline$MoveLeft.class new file mode 100644 index 0000000..b5737f5 Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$MoveLeft.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$MoveRight.class b/out/production/controlp5/controlP5/TextfieldMultiline$MoveRight.class new file mode 100644 index 0000000..f68e64e Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$MoveRight.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$MoveUp.class b/out/production/controlp5/controlP5/TextfieldMultiline$MoveUp.class new file mode 100644 index 0000000..e20ff43 Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$MoveUp.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline$NewLine.class b/out/production/controlp5/controlP5/TextfieldMultiline$NewLine.class new file mode 100644 index 0000000..5c0232a Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline$NewLine.class differ diff --git a/out/production/controlp5/controlP5/TextfieldMultiline.class b/out/production/controlp5/controlP5/TextfieldMultiline.class new file mode 100644 index 0000000..8c1c699 Binary files /dev/null and b/out/production/controlp5/controlP5/TextfieldMultiline.class differ diff --git a/out/production/controlp5/controlP5/Textlabel.class b/out/production/controlp5/controlP5/Textlabel.class new file mode 100644 index 0000000..7f0ca19 Binary files /dev/null and b/out/production/controlp5/controlP5/Textlabel.class differ diff --git a/out/production/controlp5/controlP5/TickMark.class b/out/production/controlp5/controlP5/TickMark.class new file mode 100644 index 0000000..5121c6f Binary files /dev/null and b/out/production/controlp5/controlP5/TickMark.class differ diff --git a/out/production/controlp5/controlP5/Toggle$ToggleImageView.class b/out/production/controlp5/controlP5/Toggle$ToggleImageView.class new file mode 100644 index 0000000..d2bb13c Binary files /dev/null and b/out/production/controlp5/controlP5/Toggle$ToggleImageView.class differ diff --git a/out/production/controlp5/controlP5/Toggle$ToggleSwitchView.class b/out/production/controlp5/controlP5/Toggle$ToggleSwitchView.class new file mode 100644 index 0000000..97d70fd Binary files /dev/null and b/out/production/controlp5/controlP5/Toggle$ToggleSwitchView.class differ diff --git a/out/production/controlp5/controlP5/Toggle$ToggleView.class b/out/production/controlp5/controlP5/Toggle$ToggleView.class new file mode 100644 index 0000000..8423971 Binary files /dev/null and b/out/production/controlp5/controlP5/Toggle$ToggleView.class differ diff --git a/out/production/controlp5/controlP5/Toggle.class b/out/production/controlp5/controlP5/Toggle.class new file mode 100644 index 0000000..e85bd9e Binary files /dev/null and b/out/production/controlp5/controlP5/Toggle.class differ diff --git a/out/production/controlp5/controlP5/Tooltip$TooltipView.class b/out/production/controlp5/controlP5/Tooltip$TooltipView.class new file mode 100644 index 0000000..fdd266b Binary files /dev/null and b/out/production/controlp5/controlP5/Tooltip$TooltipView.class differ diff --git a/out/production/controlp5/controlP5/Tooltip.class b/out/production/controlp5/controlP5/Tooltip.class new file mode 100644 index 0000000..481c6cf Binary files /dev/null and b/out/production/controlp5/controlP5/Tooltip.class differ diff --git a/out/production/controlp5/controlP5/changeLog.txt b/out/production/controlp5/controlP5/changeLog.txt new file mode 100755 index 0000000..5b318b4 --- /dev/null +++ b/out/production/controlp5/controlP5/changeLog.txt @@ -0,0 +1,867 @@ +2016-14-04 Andreas Schlegel + + mostly bug fixes, see github issues + removed all PVector references, variables, and functions using processing.core.PVector + +2015-08-02 Andreas Schlegel + + changes see github change log + +2015-03-29 Andreas Schlegel + + * 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 + + * src controlP5.Icon: + adding Icon class, acts like a button; can be used with images and font-icons + from "Font Awesome". + + * src 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 + + * src controlP5.Background: + adding Background class, a convenience class for grouping controllers with + the top bar disabled by default. + + +2014-07-21 Andreas Schlegel + + * src 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 + * version 2.2.1 + + * removing PVector dependencies + + * removing all deprecated methods + + * src controlP5.ListBox, 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 + * version 2.1.6 + + * preparing for next release. + + * src controlP5.ListBox, controlP5.DropdownList: + deprecated, use ScrollableList instead. + + * src controlP5.ControlP5Legacy: + repository of functions only kept for backwards compatibility but it is not encouraged + to use the anymore. Use ControlP5Base instead. + + * src 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 + + * version 2.1.5 + + * src 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 + + * version 2.1.3 + + * src controlP5.ListBox: + now extends Controller instead of ControlGroup. + + +2012-09-09 Andreas Schlegel + + * 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 controlP5.Slider2D: + changed size of cursor, changed color handling + + * src 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 + + * version 2.0.4 + + * src controlP5.Textfield.java,controlP5.ListBox.java, + controlP5.DropdownList.java,controlP5.ControlWindow.java + 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 controlP5.Textfield.java: + reimplemented password mode (thanks jeff) + + + +2012-10-19 Andreas Schlegel + + * version 2.0.3 + + * src controlP5.Controller.java: + Automatic (PApplet) field recognition for Slider, Knob, Numberbox, Toggle adjusted. + + +2012-09-17 Andreas Schlegel + + * 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 controlP5.BitFont.java: + added, see above. + + + +2012-09-07 Andreas Schlegel + + * 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 controlP5.Println.java: + new class added + a console logger that captures the System.out stream and displays it using a Textarea + + + * src 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 controlP5.Knob.java: + adding value label, ARC is default view now. + + + * src controlP5.Matrix.java: + adding play(), pause(), stop(), isPlaying(), trigger(int) + + + * src 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 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 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 controlP5.Canvas.java instead. + + +2012-09-07 Andreas Schlegel + + * 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 + + * version 0.7.6 + + * src controlP5.Textfield.java: + fixing special character issue with e.g. �,�,�,�, 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 controlP5.ControllerAutomator.java: + fixed annotation mapping for methods + added list support for methods + + * src controlP5.CColor.java: + removing alpha masking + + * src 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 controlP5.ControllerInterface.java: + adding getArrayValue(int), setArrayValue(int, float), setArrayValue(float[]); + + * src controlP5.ControlP5.java: + adding setBroadcast(boolean) to disable/enable broadcasting of value changes. + + + +2012-05-30 Andreas Schlegel + + * version 0.7.5 + + * src 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 + + * version 0.7.3 + + * src controlP5.ControlEvent.java: + adding getArrayValue(int), returns a float value for a given index, does not check for ArrayIndexOutOfBounds + + * src controlP5.Slider.java: + issue 47 http://code.google.com/p/controlp5/issues/detail?id=47 fixed + + * src controlP5.CheckBox.java, controlP5.RadioButton.java: + issue 41 http://code.google.com/p/controlp5/issues/detail?id=41 fixed + + * src controlP5.Chart.java: + implemented + + * src controlP5.ControlFont.java: + issue 46 http://code.google.com/p/controlp5/issues/detail?id=46 fixed + + * src controlP5.ControlWindow.java: + sketches using controlP5 running in the browser as Applet did not work anymore, fixed + + * src 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 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 + + * version 0.7.0 + + * src controlP5.ControllerInterface.java, controlP5.Controller.java,controlP5.ControllerGroup.java: + adding generic type declaration for object specific method chaining (fluent interface) + + * src 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 + + * version 0.6.9 + + * src controlP5.Textarea.java: + included isScrollable() to adapt to ListBox + + +2011-10-13 Andreas Schlegel + + * version 0.6.8 + + * src controlP5.ControllerGroup.java, 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 controlP5.Slider.java: + Slider will only broadcast when there is a change in value when pressed + + * src controlP5.ControlWindow.java: + mouseWheelMoved() now only updates the first item in the mouseoverlist + and then exits the loop + + +2011-10-12 Andreas Schlegel + + * version 0.6.7 + + * examples reorganized and grouped into 3 categories, + controllers, use, extra + + +2011-10-07 Andreas Schlegel + + * version 0.6.6 + + * src controlP5/Textarea.java: + scrollbar pixel offset fixed, setPosition update fixed. + + +2011-09-22 Andreas Schlegel + + * 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 + + * version 0.6.4 + + * src controlP5/Textfield.java: + adding support for PFont + + * javadoc, new design + + + +2011-08-27 Andreas Schlegel + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * version 0.5.5 + + * src/controlP5/ControlP5.java: + enableShortcuts() and disableShortcuts() were interchanged, fixed now. + + + +2010-09-30 Andreas Schlegel + + * 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 + + * 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); + diff --git a/out/production/controlp5/controlP5/package.html b/out/production/controlp5/controlP5/package.html new file mode 100755 index 0000000..132bc08 --- /dev/null +++ b/out/production/controlp5/controlP5/package.html @@ -0,0 +1,16 @@ + + + +controlP5 documentation + + + +

ControlP5

+

ControlP5 (www.sojamo.de/libraries/controlP5) is a library written by Andreas Schlegel for the programming environment processing. ControlP5 is a GUI and controller library for processing that can be used in authoring, application mode. Controllers including Sliders, Buttons, Toggles, Knobs, Textfields, RadioButtons, Checkboxes amongst others can be easily added to a processing sketch and can be arranged in separate control windows, or can be organized in tabs or groups. The controlP5 source code repository is available on github at github.com/sojamo/controlp5. +

+

Javascript

+

Currently there is no javascript version of ControlP5, though I had started implementing a slimmed down version for processing.js but since it is currently unclear which javascript version, processing.js or p5.js, will become the default js version of processing, controlP5.js is on hold.

+ + + diff --git a/out/production/controlp5/sketch/Sketch.class b/out/production/controlp5/sketch/Sketch.class new file mode 100644 index 0000000..b571c9e Binary files /dev/null and b/out/production/controlp5/sketch/Sketch.class differ diff --git a/out/production/examples/MidiMapper.pde b/out/production/examples/MidiMapper.pde new file mode 100644 index 0000000..1bbce64 --- /dev/null +++ b/out/production/examples/MidiMapper.pde @@ -0,0 +1,123 @@ + + +/** + * ControlP5 MidiMapper + * + * Maps midi input to controlP5 controllers. + * This will eventually result in a library. + * + * by Andreas Schlegel, 2013 + * www.sojamo.de/libraries/controlp5 + * + */ + +import java.util.HashMap; +import java.util.Map; +import controlP5.*; +import javax.sound.midi.Receiver; +import javax.sound.midi.MidiMessage; + +ControlP5 cp5; + +Map midimapper = new HashMap(); + +void setup() { + + size( 600, 400 ); + + cp5 = new ControlP5( this ); + + cp5.begin(cp5.addTab("a")); + cp5.addSlider("a-1").setPosition(20, 120).setSize(200, 20); + cp5.addSlider("a-2").setPosition(20, 160).setSize(200, 20); + cp5.addSlider("a-3").setPosition(20, 200).setSize(200, 20); + cp5.addToggle("a-4").setPosition(280, 120).setSize(100, 20); + cp5.addButton("a-5").setPosition(280, 160).setSize(100, 20); + cp5.addBang("a-6").setPosition(280, 200).setSize(100, 20); + cp5.end(); + + cp5.begin(cp5.addTab("b")); + cp5.addSlider("b-1").setPosition(20, 120).setSize(200, 20); + cp5.addSlider("b-2").setPosition(20, 160).setSize(200, 20); + cp5.addSlider("b-3").setPosition(20, 200).setSize(200, 20); + cp5.end(); + + final String device = "SLIDER/KNOB"; + + //midimapper.clear(); + + midimapper.put( ref( device, 0 ), "a-1" ); + midimapper.put( ref( device, 1 ), "a-2" ); + midimapper.put( ref( device, 2 ), "a-3" ); + midimapper.put( ref( device, 32 ), "a-4" ); + midimapper.put( ref( device, 48 ), "a-5" ); + midimapper.put( ref( device, 64 ), "a-6" ); + + midimapper.put( ref( device, 16 ), "b-1" ); + midimapper.put( ref( device, 17 ), "b-2" ); + midimapper.put( ref( device, 18 ), "b-3" ); + + boolean DEBUG = false; + + if (DEBUG) { + new MidiSimple( device ); + } + else { + new MidiSimple( device , new Receiver() { + + @Override public void send( MidiMessage msg, long timeStamp ) { + + byte[] b = msg.getMessage(); + + if ( b[ 0 ] != -48 ) { + + Object index = ( midimapper.get( ref( device , b[ 1 ] ) ) ); + + if ( index != null ) { + + Controller c = cp5.getController(index.toString()); + if (c instanceof Slider ) { + float min = c.getMin(); + float max = c.getMax(); + c.setValue(map(b[ 2 ], 0, 127, min, max) ); + } else if ( c instanceof Button ) { + if ( b[ 2 ] > 0 ) { + c.setValue( c.getValue( ) ); + c.setColorBackground( 0xff08a2cf ); + } else { + c.setColorBackground( 0xff003652 ); + } + } else if ( c instanceof Bang ) { + if ( b[ 2 ] > 0 ) { + c.setValue( c.getValue( ) ); + c.setColorForeground( 0xff08a2cf ); + } else { + c.setColorForeground( 0xff00698c ); + } + } else if ( c instanceof Toggle ) { + if ( b[ 2 ] > 0 ) { + ( ( Toggle ) c ).toggle( ); + } + } + } + } + } + + @Override public void close( ) { + } + } + ); + } +} + + +String ref(String theDevice, int theIndex) { + return theDevice+"-"+theIndex; +} + + +void draw() { + background( 0 ); +} + + diff --git a/out/production/resources/ant-contrib-1.0b3.jar b/out/production/resources/ant-contrib-1.0b3.jar new file mode 100644 index 0000000..0625376 Binary files /dev/null and b/out/production/resources/ant-contrib-1.0b3.jar differ diff --git a/out/production/resources/doc.sh b/out/production/resources/doc.sh new file mode 100644 index 0000000..1db9a92 --- /dev/null +++ b/out/production/resources/doc.sh @@ -0,0 +1,18 @@ +# a shell script to create a java documentation +# for a processing library. +# +# make changes to the variables below so they +# fit the structure of your library + +# the package name of your library +package=template; + +# source folder location +src=../src; + +# the destination folder of your documentation +dest=../documentation; + + +# compile the java documentation +javadoc -d $dest -stylesheetfile ./stylesheet.css -sourcepath ${src} ${package} diff --git a/resources/addons/addons.iml b/resources/addons/addons.iml new file mode 100644 index 0000000..2b9413b --- /dev/null +++ b/resources/addons/addons.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/resources.iml b/resources/resources.iml new file mode 100644 index 0000000..d3b4689 --- /dev/null +++ b/resources/resources.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/controlP5/ControlWindow.java b/src/controlP5/ControlWindow.java index 968d172..1172bbf 100755 --- a/src/controlP5/ControlWindow.java +++ b/src/controlP5/ControlWindow.java @@ -840,12 +840,12 @@ public final class ControlWindow { public ControlWindow setUndecorated( boolean theFlag ) { if ( theFlag != isUndecorated( ) ) { isUndecorated = theFlag; - _myApplet.frame.removeNotify( ); - _myApplet.frame.setUndecorated( isUndecorated ); + //_myApplet.frame.removeNotify( ); + //_myApplet.frame.setUndecorated( isUndecorated ); _myApplet.setSize( _myApplet.width , _myApplet.height ); - _myApplet.setBounds( 0 , 0 , _myApplet.width , _myApplet.height ); - _myApplet.frame.setSize( _myApplet.width , _myApplet.height ); - _myApplet.frame.addNotify( ); + //_myApplet.setBounds( 0 , 0 , _myApplet.width , _myApplet.height ); + //_myApplet.frame.setSize( _myApplet.width , _myApplet.height ); + //_myApplet.frame.addNotify( ); } return this; } @@ -859,7 +859,7 @@ public final class ControlWindow { } public ControlWindow setLocation( int theX , int theY ) { - _myApplet.frame.setLocation( theX , theY ); + //_myApplet.frame.setLocation( theX , theY ); return this; } diff --git a/src/controlP5/Textfield.java b/src/controlP5/Textfield.java index b42957c..bc00e2e 100755 --- a/src/controlP5/Textfield.java +++ b/src/controlP5/Textfield.java @@ -71,7 +71,7 @@ public class Textfield extends Controller< Textfield > { protected boolean isPasswordMode; protected boolean autoclear = true; protected int _myColorCursor = 0x88ffffff; - private PGraphics buffer; + protected PGraphics buffer; public enum InputFilter { INTEGER(Arrays.asList( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' )), FLOAT(Arrays.asList( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '.' )), BITFONT(Arrays.asList( '\n' , '\r' , ' ' , '!' , '"' , '#' , '$' , '%' , diff --git a/src/controlP5/TextfieldMultiline.java b/src/controlP5/TextfieldMultiline.java new file mode 100755 index 0000000..34a0d3b --- /dev/null +++ b/src/controlP5/TextfieldMultiline.java @@ -0,0 +1,223 @@ +package controlP5; + +import processing.core.PApplet; +import processing.core.PGraphics; + +import java.util.ArrayList; + +import controlP5.ControlEvent; +import controlP5.ControlFont; +import controlP5.ControlListener; +import controlP5.ControlP5; +import controlP5.Slider; +import controlP5.Textfield; + +/** + * a textarea can be used to leave notes, it uses the controlP5 BitFont to + * render text. Scrollbars + * will automatically be added when text extends the visible area. Textarea + * extends ControllerGroup, + * for more methods available see the ControllerGroup documentation. + * + * @example controllers/ControlP5textarea + */ + +public class TextfieldMultiline extends Textfield implements ControlListener { + + public boolean isScrollbarVisible = false; + protected Slider _myScrollbar; + + public int _myWidth = 300; + protected int _myTextBufferRowIndex = 0; + protected int _myTextBufferColumnIndex = 0; + + private ArrayList _myTextBuffer = new ArrayList(); + + public TextfieldMultiline(ControlP5 theControlP5, String theName) { + super(theControlP5, theName); + _myValueLabel.setLabeltype(_myValueLabel.new MultilineLabel()); + _myTextBuffer = new ArrayList<>(_myTextBuffer); + keyMapping.put(ENTER, new NewLine()); + keyMapping.put(DOWN, new MoveDown()); + keyMapping.put(UP, new MoveUp()); + keyMapping.put(LEFT, new MoveLeft()); + keyMapping.put(RIGHT, new MoveRight()); + keyMapping.put(DEFAULT, new InsertCharacter()); + keyMapping.put(BACKSPACE, new DeleteCharacter()); + } + + class InsertCharacter implements TextfieldCommand { + + public void execute() { + + if ((int) (cp5.getKey()) == 65535) { + return; + } + + if (_myInputFilter.apply(cp5.getKey())) { + + _myTextBuffer.get(_myTextBufferRowIndex).insert(_myTextBufferColumnIndex, (char) cp5.getKey()); + _myTextBufferColumnIndex += 1; + + } + } + } + + class DeleteCharacter implements TextfieldCommand { + public void execute() { + if (_myTextBufferColumnIndex > 0) { + _myTextBuffer.get(_myTextBufferRowIndex).deleteCharAt(_myTextBufferColumnIndex - 1); + _myTextBufferColumnIndex -= 1; + } + } + } + + class NewLine implements TextfieldCommand { + public void execute() { + _myTextBuffer.add(_myTextBufferRowIndex + 1, new StringBuffer()); + _myTextBufferRowIndex += 1; + _myTextBufferColumnIndex = 0; + } + } + + class MoveDown implements TextfieldCommand { + public void execute() { + // if not at the last line + if (_myTextBufferRowIndex < _myTextBuffer.size() - 1) { + // if the next line is shorter than the current line + // set cursor to the end of the next line + if (_myTextBuffer.get(_myTextBufferRowIndex + 1).length() < _myTextBufferColumnIndex) { + _myTextBufferColumnIndex = _myTextBuffer.get(_myTextBufferRowIndex + 1).length(); + } + _myTextBufferRowIndex += 1; + } + } + } + + class MoveUp implements TextfieldCommand { + public void execute() { + if (_myTextBufferRowIndex > 0) { + // if the next line is shorter than the current line + // set cursor to the end of the next line + if (_myTextBuffer.get(_myTextBufferRowIndex - 1).length() < _myTextBufferColumnIndex) { + _myTextBufferColumnIndex = _myTextBuffer.get(_myTextBufferRowIndex - 1).length(); + } + _myTextBufferRowIndex -= 1; + } + + } + } + + class MoveLeft implements TextfieldCommand { + public void execute() { + // if not at the first char + if(_myTextBufferColumnIndex > 0) { + _myTextBufferColumnIndex -= 1; + }// if at the first char of a line + else if(_myTextBufferColumnIndex == 0 && _myTextBufferRowIndex > 0) { + _myTextBufferRowIndex -= 1; + _myTextBufferColumnIndex = _myTextBuffer.get(_myTextBufferRowIndex).length(); + } + } + } + + class MoveRight implements TextfieldCommand { + public void execute() { + if(_myTextBufferColumnIndex < _myTextBuffer.get(_myTextBufferRowIndex).length()) { + _myTextBufferColumnIndex += 1; + }else if (_myTextBufferColumnIndex == _myTextBuffer.get(_myTextBufferRowIndex).length() && _myTextBufferRowIndex < _myTextBuffer.size() - 1) { + _myTextBufferRowIndex += 1; + _myTextBufferColumnIndex = 0; + } + } + } + + @Override + public void controlEvent(ControlEvent theEvent) { + + } + + @Override + public void draw(PGraphics theGraphics) { + + theGraphics.pushStyle(); + theGraphics.fill(color.getBackground()); + theGraphics.pushMatrix(); + theGraphics.translate(x(position), y(position)); + theGraphics.rect(0, 0, getWidth(), getHeight()); + theGraphics.noStroke(); + + theGraphics.fill(_myColorCursor); + theGraphics.pushMatrix(); + theGraphics.pushStyle(); + + buffer.beginDraw(); + buffer.background(0, 0); + final String text = getText(); + final int textWidth = ControlFont.getWidthFor(text.substring(0, _myTextBufferColumnIndex), _myValueLabel,buffer); + final int dif = PApplet.max(textWidth - _myValueLabel.getWidth(), 0); + final String thisLine = _myTextBuffer.get(_myTextBufferRowIndex).toString(); + final int _myTextBufferIndexPosition = ControlFont.getWidthFor(thisLine.substring(0, _myTextBufferColumnIndex), + _myValueLabel, buffer); + _myValueLabel.setText(text); + _myValueLabel.draw(buffer, -dif, 0, this); + buffer.noStroke(); + if (isTexfieldActive) { + if (!cp5.papplet.keyPressed) { + buffer.fill(_myColorCursor, PApplet.abs(PApplet.sin(cp5.papplet.frameCount * 0.05f)) * 255); + } else { + buffer.fill(_myColorCursor); + } + + buffer.rect(PApplet.max(1, PApplet.min(_myTextBufferIndexPosition, _myValueLabel.getWidth() - 3)), + (_myTextBufferRowIndex) * _myValueLabel.getLineHeight(), 1, 10); + } + buffer.endDraw(); + theGraphics.image(buffer, 0, 0); + + theGraphics.popStyle(); + theGraphics.popMatrix(); + + theGraphics.fill(isTexfieldActive ? color.getActive() : color.getForeground()); + theGraphics.rect(0, 0, getWidth(), 1); + theGraphics.rect(0, getHeight() - 1, getWidth(), 1); + theGraphics.rect(-1, 0, 1, getHeight()); + theGraphics.rect(getWidth(), 0, 1, getHeight()); + _myCaptionLabel.draw(theGraphics, 0, 0, this); + theGraphics.popMatrix(); + theGraphics.popStyle(); + } + + @Override + public String getText() { + StringBuilder sb = new StringBuilder(); + for (StringBuffer s : _myTextBuffer) { + sb.append(s.toString() + "\n"); + } + return sb.toString(); + } + + @Override + public Textfield setValue(String theText) { + _myTextBuffer = new ArrayList(); + + // split theText into lines + String[] lines = theText.split("\n"); + for (int i = 0; i < lines.length; i++) { + _myTextBuffer.add(i, new StringBuffer(lines[i])); + } + + return this; + } + + public Textfield setText(String theText) { + return setValue(theText); + } + + public Textfield setIndex(int theColIndex, int theRowIndex) { + _myTextBufferColumnIndex = theColIndex; + _myTextBufferRowIndex = theRowIndex; + return this; + } + +} \ No newline at end of file diff --git a/src/sketch/Sketch.java b/src/sketch/Sketch.java new file mode 100644 index 0000000..ee7e42c --- /dev/null +++ b/src/sketch/Sketch.java @@ -0,0 +1,33 @@ +package sketch; + +import controlP5.ControlP5; +import controlP5.TextfieldMultiline; +import processing.core.PApplet; + +public class Sketch extends PApplet { + + static public void main (String[] args){ + + PApplet.main("sketch.Sketch"); + } + + ControlP5 cp5; + public void settings(){ + size(500,500); + } + public void setup(){ + cp5 = new ControlP5(this); + TextfieldMultiline commandTextfield = new TextfieldMultiline(cp5, "commandTextfield"); + commandTextfield.setPosition(0, 0) + .setSize(200, 50) + // .setFont(mainFont) + .setColor(color(255)) + .setColorForeground(color(255, 100)) + .setText(""); + + //cp5.addToggle(commandTextfield,"commandTextfield"); + } + public void draw(){ + + } +}