[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] libvob/doc design_custominput.rst
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] libvob/doc design_custominput.rst |
Date: |
Sun, 29 Jun 2003 09:53:49 -0400 |
CVSROOT: /cvsroot/libvob
Module name: libvob
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/06/29 09:53:49
Modified files:
doc : design_custominput.rst
Log message:
jlink
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/design_custominput.rst.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: libvob/doc/design_custominput.rst
diff -u libvob/doc/design_custominput.rst:1.4
libvob/doc/design_custominput.rst:1.5
--- libvob/doc/design_custominput.rst:1.4 Sun Jun 29 05:36:19 2003
+++ libvob/doc/design_custominput.rst Sun Jun 29 09:53:49 2003
@@ -78,8 +78,11 @@
for programs to show the user what can be connected to what.
-Design
-======
+Design of the interfaces
+========================
+
+Models
+------
The ``*Model`` classes are a central piece of the API.
This is a design similar
@@ -91,11 +94,15 @@
.. UML:: custominput_models
+ jlinkpackage org.nongnu.libvob.input
+
class Model "interface"
+ jlink
methods
addActionListener(...)
class BoundedFloatModel "interface"
+ jlink
inherit Model
fields
minimum
@@ -103,6 +110,7 @@
value
class ModFloatModel "interface"
+ jlink
inherit Model
fields
modulus
@@ -115,48 +123,58 @@
vertically(50, yy, Model, xx);
-There can only be one main model per axis - to not confuse the user.
-If desired, we may later add the capability to put in "non-main"
-listeners, but this is not a priority.
+Axes
+----
The models are connected to the axes through absolute and relative
axis listeners:
.. UML:: custominput_adapters
+ jlinkpackage org.nongnu.libvob.input
+
class Axis "interface"
+ jlink
assoc multi(1) - multi(0..1) role(mainListener) AxisListener
methods
setMainListener(AxisListener l)
class AxisListener "interface"
+ jlink
class AbsoluteAxisListener "interface"
+ jlink
inherit AxisListener
methods
void changedAbsolute(float newvalue)
class RelativeAxisListener "interface"
+ jlink
inherit AxisListener
methods
void changedRelative(float delta)
class BoundedFloatLinearAbsoluteAdapter
+ jlink
realize AbsoluteAxisListener
assoc multi(0..1) - multi(1) BoundedFloatModel
class BoundedFloatLogAbsoluteAdapter
+ jlink
realize AbsoluteAxisListener
assoc multi(0..1) - multi(1) BoundedFloatModel
class ModFloatRelativeAdapter
+ jlink
realize RelativeAxisListener
assoc multi(0..1) - multi(1) ModFloatModel
class BoundedFloatModel "interface"
+ jlink
class ModFloatModel "interface"
+ jlink
---
horizontally(150, xx, Axis, AxisListener);
@@ -167,6 +185,12 @@
vertically(60, ww, AxisListener, yy, zz, qq);
+There can only be one main model per axis - to not confuse the user.
+If desired, we may later add the capability to put in "non-main"
+listeners, but this is not a priority.
+
+Input devices
+-------------
The input devices, on the other hand, are represented by a central class
which allows programs to access the currently configured input devices:
@@ -177,7 +201,10 @@
.. UML:: custominput_inputs
+ jlinkpackage org.nongnu.libvob.input
+
class InputDeviceManager "interface"
+ jlink
fields
STATE_CALIBRATING
STATE_CHOOSING
@@ -188,9 +215,11 @@
assoc multi(1) - multi(*) InputDevice
class InputDevice "interface"
+ jlink
assoc multi(1) - multi(*) Axis
class Axis "interface"
+ jlink
methods
getName()