【開発の裏側㉝】チャートを狭めて広げ直したら、文字が小さいまま戻らなかった。倍率を2つに分けた話

【開発の裏側㉝】チャートを狭めて広げ直したら、文字が小さいまま戻らなかった。倍率を2つに分けた話

記事
IT・テクノロジー
どうも、FXトレーダー兼システムエンジニアのナオトです。

経済指標の発表までの残り時間を、チャートに一覧で出す e-EconomicStopper の話です。
このパネルは、右の縁をつかんで幅を変えると、文字もその幅に合わせて大きくなったり小さくなったりします。

作り直している途中、自分で使っていて気づいたことがありました。
チャートの大きさを変えると、パネルも付いてくる。けれど、文字がなぜか小さくなってしまう。



確かめると、こういう動きでした。

チャートを狭めると、パネルがはみ出さないように、文字が小さくなります。ここまでは狙いどおりです。
ところが、チャートを元の大きさに広げ直しても、文字は小さいままでした。



原因は、倍率の持ち方でした。

パネルには、使う人が縁をつかんで決めた倍率があります。これは覚えておいて、次に開いたときも使う値です。
チャートが狭くなって幅に収まらないとき、この使う人の倍率そのものを下げていました。

一度下げてしまうと、元の倍率がどこにも残りません。チャートが広くなっても、戻す先が分からないわけです。



直し方は、倍率を2つに分けることでした。

1つは、使う人が決めた倍率。縁をつかんだときだけ変わり、覚えておく値です。
もう1つは、その回の表示で使う倍率。幅や高さに入らないときだけ、こちらを下げます。

使う人の倍率には、収めるための調整では手を付けません。チャートが広がれば、表示の倍率は使う人の倍率まで戻ります。



位置にも、同じ形の不具合がありました。

チャートが狭くなると、パネルがはみ出さないように内側へ押し戻します。その押し戻した位置を、使う人が決めた位置として覚えてしまっていました。
こちらも、使う人が決めた位置と、その回だけ押し戻した位置を分けて持つようにしました。



同じ版で、見出しをダブルクリックするとチャートいっぱいに広がり、もう一度で元の位置と大きさに戻る、という動きも足しました。
これも、使っていて欲しくなった動きです。

MTには、ダブルクリックを知らせる仕組みがありません。
そこで、同じ所が0.4秒以内に2回押されたら、ダブルクリックとして扱うようにしました。



確かめるのには、チャートの大きさを決めた手順で変えていく試験用の台本を作りました。
狭める、広げる、を繰り返して、文字の大きさと位置が元に戻るかを、MT5とMT4の両方で見ています。

覚えておく値と、その場の都合で変える値を、1つの変数で兼ねない。
画面の大きさに合わせて動くものを作るときは、ここが分かれ目になります。

e-EconomicStopper はこちらです。


最後までお読みいただき、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す