バグ #988
完了[1.0.0版検証] コンフィグパラメータの制約条件(Vol2)
100%
説明
制約条件の入力の仕方が分かり、また、「RTC名.conf」のコメントアウトを外すことで、
制約条件を有効化できたので、確認を行っていたところ、いくつかの不具合が出ています。
(RtSystemEditor側の操作にも影響してますが、こちらにチケット発行します。調整ください。)
(1)"Widget"に「radio」を選ぶと、"Step"の欄が入力不可となるが、これは、他のコンフィグパラメータを変更する時にも影響が残ってしてしまい、他のパラメータで例えば「Slider」を選んだ際に、"Step"を入れられない状態になる。
(2)"Step"について、「刻み幅」を入れるものと思ってましたが、Step数を入れるようですね。これは、刻み幅を入れた方がユーザビリティ的には良いのでは?(例えば大きなMin/Maxの場合は均等な刻みにするためのStep数を算出したり、割り切れない数の場合に面倒です。ユーザは「1」とか「100」とか「0.1」とかを入れたいと思います。)
(3)Builderで、「Spin」を選び、例えば「-100<x<100」という制約にし、"Step"に「100」を
入れて保存してgenerateすると、吐かれる「RTC名.conf」にSpinの刻み情報が入りません。
気づけば、入力したはずの"Step"の値が消えてます。("Slider"の時は入りますが。)どうも、Spinの時のStepの入力が反映されない。
(4)「RTC名.conf」を手修正し、例えば、"conf._widget_.aaaa: spin.100"などとして、RTCを
起動すると、コンフィグの変更において、普通のテキストBOXになりSpin機能が出てきません。
そもそも、Spinの刻みを指定が不可?
(5)Spinの場合、Stepなしのデフォルトだと、「1」ずつ刻まれるようですが、上述の「-100<x<100」
という制約に対し、負の値の方に進めません「0」より下がれません。
(6)例えば、コンフィグパラメータがDouble型だとしても、制約条件で「-100<x<100」のように
int扱いにすると、Stepを変えても、小数点単位で刻めない(Spinだと「1」ずつ)。「-100.0<x<100.0」のように変えれば、Spinの場合「0.1」ずつ、「-100.00<x<100.00」とすれば、「0.01」ずつのようだが、
ここは、やはり、制約条件の有効数字を見るのではなく、「Step数」でなく「刻み幅」としてその刻みの
有効数字で小数点判断した方がよいのでは?
(7)Slider,Splinとも、テキスト入力にて、Min/Maxを越える値を指定できるが、その際に、
赤色に入力欄がなり、強制的にApplyした時に、Min/Max値に変更される場合と、そうではなく
ランダムな値に変わることがある。エラー処理の部分があやしいかも?
(8)「Slider」において、デフォルト値が「1.0」とし、制約が「-100.0<x<100」の場合に、最初のバーの位置が「1.0」の位置にない。(表示は「1.0」なのに、実際は「-53.0」くらいの位置にあった)
(9)細かいですが、「radio」で列挙型に同一なものを入れてもエラーは出ません。このままRTCを起動すると、初期値で複数にradioが付く不具合もあります。(このあたりはエラー処理が細かいので未着手と思いますが。)
(10)制約条件については、開発者が決めるため、Builderで指定は納得ですが、"Step"については、
どちらかというとRTC利用者に依存すると思うので、Builderで指定すべなのか疑問があります。
これは、RtSystemEditorのコンフィグ変更画面にて、ユーザが指定できるようにした方がよいのでは?
ファイル