変更案:絞り込み入力・ブックマーク欄等を隠せるようにする

Issue #322 resolved
暗黒 騎士 created an issue

「宿帳を開く」「貼紙を見る」「荷物袋」「カード置き場」の絞り込み条件部分は 現在常時表示されており、オプションで非表示にできないPyで追加されたUI部分です。

これらの使用には個人差・プレイスタイルによる差があり、重い宿には有り難いのですが、 1~2PT程度の宿、3ページ程度の荷物袋、整理整頓が行き届いているシナリオフォルダではほぼ必要ありません。 画面がうるさくなっているという声もあるので切り替え可能にして従来のCWに近い見た目を提供するのはどうでしょうか。

個人的にはデバッグモードやWebブラウザのようにCtrl+Fなどで切り替えができると理想なのですが、 サブウィンドウでのCtrlコマンドは問題があるようなのでその場合はオプションでも構わないと思います。

Comments (51)

  1. k4nagatsuki repo owner

    ご提案ありがとうございます。たしかにごちゃごちゃ感があるので、よい案だと思います。

    私のイメージでは、右下に[+]みたいなボタンがあってそれを押すと切り替わる感じがいい気がします(それならオプションダイアログの項目は不要でしょう)。最初の状態では表示なしにして、表示有無を記憶する方がよいでしょう。また、ボタンにはショートカットキーがあった方がよいはずで、たぶんCtrl+FやAlt+何かのような感じになるはずです。ボタン上でキーを押すと警告音が出る問題をなんとかできればよいのですが……。

    荷物袋等のページ数も、背景色を青にするなどして少し目立たない感じにしてもいいかもしれませんね(それだと機能に気づかなくなる可能性もあるのですが)。

    今ちょっと作業するには具合が悪い状態なので、しばらくしてから取り組んでいたいと思います。この件について案がある方はどんどん仰ってください。

  2. 暗黒 騎士 reporter

    今ちょっと作業するには具合が悪い状態なので

    あ、体調が悪いということでしょうか…?

    なにか急かしてしまったようで&色々言ってしまってすいませんでした。無理せずお大事になさって下さい。

  3. k4nagatsuki repo owner

    なかなか作業に取り組める状態になりません。私自身は焦らずやっていくつもりですので、どうかご心配なく。

    作業するのが私でなければいけないというわけでもないので、どなたか一部のダイアログだけでも実装をやってみるというのはいかがでしょう。たぶんカード選択ダイアログ辺りの表示・非表示の切り替えだけなら簡単な気がします。

    もちろん、誰も手を付けないようでしたら私がやることになると思います。

  4. k4nagatsuki repo owner

    この変更の適用対象は次のダイアログです(漏れがあったらご指摘ください):

    • プレイヤー選択ダイアログ(宿帳)
    • シナリオ選択ダイアログ
    • カード選択ダイアログ

    まずはプレイヤー選択ダイアログに着手してみます。レイアウト上、おそらく追加項目を出し入れするたびにダイアログの高さが変わる事になりますが、そうした事への違和感の強弱も含めて指針になるかと思います。

  5. k4nagatsuki repo owner

    pull request #1286

    プレイヤー選択ダイアログです。追加項目が非表示になった時、絞り込みは解除されますが、整列設定は変更しないようにしてあります。これは追加項目非表示時でも任意の整列設定を使いたいという需要があるかもしれないと考えたためです。

    ショートカットキー設定するの忘れてた。後でCtrl+Fに設定してみます。

    次はシナリオ選択ダイアログをやろうと思っていますが、貼紙とツリーを同時に表示する設定の時は非表示機能は不要ではないかと思っています。

  6. Liar_cw NA
    cardwirthpy_20160124b
    CardWirthPy 0.12.4 Alpha 3
    Build: 2016-01-24 13:59:56
    

    お疲れ様です。もう体調などは大丈夫なのでしょうか……?

    軽く動かしてみましたが、懸念されていた警告音は鳴りませんでした。(Ctrl+F

    非常に細かな事ですが他に気になった点としては、 追加項目を非表示にした際に下のボタンのある部分(バー)の描画が正しく行われていないようです。 「絞込み条件の文字入力部分」の切れ端が僅かに残ってしまっています。 キャラクター情報ダイアログや他アプリケーションのウィンドウで乱れた部分を一度隠すと正常に表示されました。

  7. Liar_cw NA

    バージョン表記は上記の通りです。

    アルバムのダイアログがとんでもない事になっています。

    キャストの有無を関係なく、ダイアログが正しく描画されませんでした。 また、アルバムのダイアログを開いた後にCWPyを終了させると ランタイムエラーを吐きました。

    Traceback (most recent call last):
      File "cw\dialog\select.pyo", line 244, in OnPaint2
      File "cw\dialog\select.pyo", line 2412, in draw
      File "cw\dialog\select.pyo", line 2402, in _get_bg
    AttributeError: 'Album' object has no attribute '_bg'
    
  8. k4nagatsuki repo owner

    pull request #1288

    ありがとうございます。アルバムを修正し、シナリオ選択ダイアログでも切り替えできるようにしました(同時表示していない場合のみ)。

    ボタン周りの描画が乱れる問題は、手許ではすぐには確認できなかったのですが、たぶん再描画がされていないだけだと思うので、再描画処理を入れてみました。

    調子はどうもよくないようですが、無理せずに行きます。とりあえず今日はこれくらいにして、カード選択ダイアログは後回しにさせてください。

  9. Liar_cw NA
    cardwirthpy_20160124c
    CardWirthPy 0.12.4 Alpha 3
    Build: 2016-01-24 15:30:52
    

    月並みな言葉になりますが、どうぞご自愛ください。 幸いな事に、急ぐような重要な案件ではないと思います。

    • アルバムの修正を確認しました。特に問題なく動作しました。

    ボタン周りの描画の僅かな乱れについてですが、 CWPyのプロパティで「視覚テーマを無効(Windowsクラシック表示(Win7))」にした場合かつ 追加項目の表示切替を2回ほど行ったときに発生しました。 「Windowsベーシック(Aero無し)」では乱れは確認できませんでした。

    画像を添付します。

    報告用_ボタン周りの描画乱れ.png


    追加項目の表示切替による「ダイアログの高さが変わる」点については、 「宿帳」は追加部分が少ない(下部分だけ)ので特に違和感はありませんでした。

    「シナリオ選択」はダイアログ自体が大きくて、上部分も上下するので、 位置が大きく変わってしまうのが難点だと思いました。 (特に非表示から表示に切り替えた時)

    上部分のボタンをすべて下へ持ってくるのもひとつの手かもしれませんが、 下部分に纏めてしまってはボタンが集中しすぎて見栄えが悪くなり、 誤操作が増える可能性も考えられます。

    表示切替のボタンの下にまとめて表示するのもありかもしれませんが、 その場合の見栄えや操作性もあまり良くなさそうに思えます。 (没入感という視点で考えると、そもそも右上にポツンとある表示切替のボタンが目立ちすぎ、となってしまう。どうしようもない)

    見栄えと機能性の両立は難しいものですね……。

  10. k4nagatsuki repo owner

    ありがとうございます。表示の乱れを確認し、pull request #1289で対策したので、たぶんこれで大丈夫でしょう。

    見栄えの問題は、表示切替をどれくらいの頻度で行うかや、ボタンを押す時の心理にもよって結論が変わってきますね。少なくとも2回目以降は「これを押したらダイアログのサイズとレイアウトが変わる」と認識した上で押すはずですので問題ではないかも知れませんし、そうではないかもしれません。ボタンも非表示にできるオプションを提供するべきかもしれませんし、特にいらないかもしれません。UIの良し悪しは、結局実際に使ってみた色々な人の意見を聴かないと分からない所がありますね。

  11. 暗黒 騎士 reporter

    お疲れ様です。ゆっくりでいいかと構えていたのですが、不調の中、手をつけてくださってありがとうございます。

    ボタンはやはり目立ってしまうと本末転倒なので、「絞り込み・ソートの切り替えボタンを表示する」オプション(デフォルトで有効)のようなものがあってもいいような感じですね。 (DirectXのゲームとかだとカーソルをもっていくと半透明で出てきたりしますが…)

    カードダイアログは現時点でボタンが多すぎる上に他と違ってウインドウに埋め込まれている感じなのでコマンド操作ができれば十分かとも思いますが、微妙なところです。

    いずれにせよ半ば達成されていると思われますので優先度を下げます。

  12. Liar_cw NA
    cardwirthpy_20160124d
    CardWirthPy 0.12.4 Alpha 3
    Build: 2016-01-24 17:35:11
    

    宿帳ダイアログの修正を確認しました。 クラシック・ベーシックどちらのテーマでも問題なく表示されました。

  13. k4nagatsuki repo owner

    とりあえずオプションは置いておいて、カード選択ダイアログに着手します。

    技術的に難しい要素はないので、たぶん明日くらいにはできるでしょう。

  14. k4nagatsuki repo owner

    pull request #1291

    カード選択ダイアログです。スターの編集開始ボタンのみ、そんなに邪魔な感じはしなかったので、試みに残すようにしてあります。

    また、右上のスペースがなかったので、表示切替ボタンの位置は、一番邪魔にならない左下にしてみました。私の感覚ではそれほど悪くないです(宿帳などとの統一感はなくなりますが……)。

  15. Liar_cw NA
    cardwirthpy_20160127
    CardWirthPy 0.12.4 Alpha 3
    Build: 2016-01-27 20:10:00
    

    カード置場・荷物袋を問わず、 左下のページの現在値が二桁になったときに/と重なってしまいました。 三桁は未検証です。

    表示切替ボタンの位置はなるべく統一したほうがいい思います。 この場合は全て左下になるのでしょうか。

  16. Liar_cw NA

    言っておいてなんですが、 左下だと宿帳を一覧表示にしたときにLevelと名前に被ってしまいますね……。

    なんとも位置に困るボタンですね。これまたふとした思い付きですが、 いっそのことブラウザによくあるサイドバーの細長い開閉ボタンみたいにするのもありかもしれません。

  17. 暗黒 騎士 reporter

    お疲れ様です。だいぶすっきりしましたね。

    SS.png

    あくまで一意見ですが、Pyはこのように明らかに太くなっているので、できれば非表示時は他のウインドウと同じくサイズを準拠した方がいいように思います。 (ただ横クリック有効時は太い方が押しやすいというのはあるので、絞り込み有効時は全部のウィンドウで太くても問題ない)

    案としては1.50のソートボタンを入れ替えるような形で

    上 [整列] 隠蔽切り替えボタン/スター付与ボタン/送り先

    下 [技能表示/アイテム表示/召喚獣表示/スター先頭/絞り込み条件]

    ※[]内非表示可能

  18. k4nagatsuki repo owner

    ボタンの位置の選択は結構辛いものがあります。たしかに方形ではなく別の形のボタンでもいいかもしれませんが、カード選択ダイアログと他の2つではレイアウトの変わり方が違うので、結局別の形状のボタンを用意しないと違和感が出てしまい、そうなると統一も何もなくなってしまいます。

    宿帳とシナリオ選択は同系統の形状のダイアログですが、カード選択は系統が違います。追加項目の位置もだいぶ違います。その辺りを踏まえて開閉ボタンの位置が違っても多目に見てもらえないかなぁ、と思っているのですが……。

    それから、暗黒騎士さんのご意見ですが、ボタンを押すごとにダイアログのサイズが変わるのは、私は基本的にはよくないと考えています。宿帳とシナリオ選択でサイズ変更に踏み切ったのは、どうあがいてもそれが必要だったからです。

    ダイアログのサイズが動的に変わると、画面の外にはみ出ていったり、ボタンの位置が変わってしまってすぐ元に戻すにもマウスポインタを動かさなくてはいけなくなったりします。すでに宿帳とシナリオ選択と、設定ダイアログなどでもそういう事をしておいてなんですが、できれば避けたい挙動なのです。

    追加項目の開閉も含めて完全に消してしまうオプションをつけた時には、元通りのサイズにしてもいいかなぁとは思います(ちょっと面倒ですが)。

  19. k4nagatsuki repo owner

    あ、いかん、シナリオ選択でツリー表示にするとボタンが消えますね。ちょっと配置としては根本的な問題なのでどうするか考えなくてはなりません。

    誤操作を考えると、押した後、マウスポインタを動かさずにもう一度押せるようにしたいので、下の方に配置するのは避けたいのですが……。

  20. k4nagatsuki repo owner

    ツリーがあると東西南北どの選択肢も消えてしまうので、結局、pull request #1294で下部のボタンバーに紛れ込ませるように配置を変更しました。

    ダイアログのサイズ変更でボタンの位置が変わってしまう問題については、ダイアログの下端を固定して上端を動かすようにする事で解決しています(ただそれによって上端がモニタ外にはみ出るような場合、結局ウィンドウ自体が再配置されてボタンの位置も動きます)。

  21. 暗黒 騎士 reporter

    うーん、自分の感想としては28日版のが好きですね。ボタンの位置が変わる(消える)ことを気にされるようですが、メイン画面の位置が動く方が抵抗があります。カード操作ダイアログはまだいいのですが、宿帳と貼り紙は違和感がかなりあって、非表示オプション無しだと厳しいです。

    この変更によるものかと思いますが、終了時エラーが出ています。

    Traceback (most recent call last):
      File "wx\lib\buttons.pyo", line 290, in OnPaint
      File "wx\lib\buttons.pyo", line 461, in DrawLabel
    AttributeError: 'NoneType' object has no attribute 'GetWidth'
    

    また見過ごされてしまっているっぽいので、Liarさんご報告のページ数が(フォントによる?)ダブってしまう問題、自分も確認しました(確認されていたらすいません)。画像はCC0です。

  22. Liar_cw NA

    Bitbucketの送信トレイを覗いてみたら、また空になっていました。 Issueのリンク不発といい困りますね。

    ダイアログの上下やボタンの位置については特に意見はありませんが、 通知が届いていないようなので再度、ボタンについての案を出させていただきます。 画像を添付します。こういうボタンはどうでしょうか?

    提案用.png

  23. k4nagatsuki repo owner

    pull request #1295でページ数とエラーの問題に対応。色々見落としていて申し訳ないです。

    お二人の意見を踏まえて、@Liar_cwさん提案の細長いボタンを画面最上部に配置するというのがよいのではないかと考えはじめています。画面上部では誤操作もあまり発生しないはずですし、ウィンドウを動かすことなくボタンの位置を不動にできますし、見た目も悪くないのではないでしょうか。

    この場合もカード操作ダイアログは例外になって、こちらは現状のような形がいいのではないかと考えているのですが。

  24. Liar_cw NA

    「想像よりもボタンが太かった」というのが正直な感想ですが、 押しやすさや、認識のしやすさ等を考えると納得できました。

    個人的には、共通した機能を持つボタン(今回だと表示切替)は 全てのダイアログで位置も大体同じなのが好ましいと思いますが、 ボタンをすし詰めにし過ぎず、かつ、 暗黒騎士さんのご意見を尊重する場合は 確かにこの形にならざるを得ないと思います。 (「モード表示」のバーに既に席を取られてしまっている。)

    実装者である@k4nagatsukiさん、発案者である暗黒騎士さん、 それと私の計3名の発言・意見しか現在 出されていないので 可能であれば他の方のご意見をお聞きしたいですね。

  25. 暗黒 騎士 reporter

    お疲れ様です。両方とも修正を確認しました。

    うーーむ、流石にわがままばかりいっているようで、少々居たたまれないですが、自分も太いように感じますね。

    ちょっと伝わりにくかったかもしれません。メイン画面が動くというのはタイトルバーもですが、bill.bmpとBOOK.bmp部分もです。 下町砂介氏が現在作成中の逢魔がワース(http://sn.kokage.cc/nibu6/oumag/)は サブウィンドウとメインウインドウの背景を合わせて擬似的に透過っぽくしているのですが、Pyだと(元々)ズレてしまっていました。

    28日版だと貼紙のモード切り替え時以外は数ピクセルズレている程度だったので このバーを細くするとしても、非表示オプションを付けない場合はやはり28日版がこの中では一番調和しているように感じます。 まあ一意見ですので他の方が概ね問題ないようであれば自分の気にしすぎでしょうし、民主的に決めていただけたら幸いです。

  26. k4nagatsuki repo owner

    Bill.bmpの中にボタンを表示するのは、シナリオの一覧がネックになって現実的にできないですね(スクロールバーを独自実装する必要がある)。

    うーん、どうしたものでしょう。明らかに非表示にすればいいというものではありません。非表示にするという事は、例えばタッチ環境などで機能にアクセスできなくなるという事です。見た目の問題で非表示にするというのは、その機能がまったく不要だからという理由とは異なります。見た目は気に入らないが機能は使いたいかもしれません。いざ必要になった時に設定画面を開いて表示設定を変更するというのはさすがにありえないように思います。

    どうも現実的な妥協点が見えません。どうやっても無理な気がしています。

    上のバー状のボタンが太いというのは、Win7の見た目ではこれくらいが限度だったからですが、この辺りは独自描画にしてどうにかする事ができるかもしれません。

  27. k4nagatsuki repo owner

    今思いつきましたが、28日のボタン版に戻して、ツリー表示の時は上部のバーを強制表示にするという手があるかもしれませんね。

  28. 暗黒 騎士 reporter

    自分の理解が甘いのかもしれませんが、貼り紙に関しては切り替えのないフル表示モードもあって、シナリオの一覧表示をよく使う人なら有効にするでしょうし、シングル表示モードだとシナリオの一覧から貼り紙を選んだ時点でどのみち(ボタンのある)貼り紙表示に切り替わるのでタッチ環境を考慮しても、技術的問題で棚上げでもいい程度には些細ではないかなぁと……。

  29. k4nagatsuki repo owner

    いえ、貼紙表示で追加コントロールを非表示にして、ツリーに変更して、いざ追加コントロールを表示しようとするとボタンが見当たらないという事になります。

    その状態で、ツリー状態の検索を行うには、一度貼紙表示に戻して追加コントロールを表示し、その後ツリー表示に戻さなくてはなりません。これは操作性が非常に悪いです。

  30. Liar_cw NA

    上部のバーは、下部に設置することで全てのダイアログで同じ位置に持ってこれると思いましたが、 やはりカード操作ダイアログが鬼門ですね……。 狭く、そもそもボタンそのものを置ける場所が殆どない。

    全体的な違和感の無さで言えば、下のボタン群に埋め込まれた29日版はあまり気になりません。 (場合によっては、すし詰めだが悪目立ちしない。)

    28日版のボタン配置を採用する場合は、切替ボタンの非表示オプションが欲しく思います。 キーボード+マウスの環境ではどうしても あのボタンが気になってしまいます。 (切替自体はCtrl+Fでも行えるので。)

  31. k4nagatsuki repo owner

    ありがとうございます。ご意見を踏まえて、次のような形でどうでしょうか。

    • 右上にボタンを置く28日版をベースにする(カード選択ダイアログもこの時点に戻す?)
    • シナリオ選択でツリー表示の場合は上部バーを常に表示する
    • 非表示オプションをつける(Ctrl+Fは効く)
  32. Liar_cw NA

    はい。私はそれで問題ないと思います。

    解説口調になりますが、 非表示オプションにより違和感等を消し去り(雰囲気がCWに近づく)、 28日版をベースとして上部バーを組み合わせることで ボタンが一点に集中し過ぎる問題と シナリオ選択のツリー表示時のボタン配置の問題を解決できそうですね。

    しかしタッチ環境・マウス操作のみ、キーボード+マウス他見栄え等と色々考えると 本当にキリがないですね……。

  33. 暗黒 騎士 reporter

    良いと思います。カード表示ダイアログに関しては他ほど目立ってはいないのでどちらでも構いません(28日版のが比較的しっくり来る感じではあります)。

  34. k4nagatsuki repo owner

    書き忘れましたが、非表示オプションは詳細タブのダイアロググループにあります。

  35. 暗黒 騎士 reporter

    一覧表示でのボタンの表示のされ方は自分的にはとても良い感じに思えました。

    ボタンを表示するオプションが無効の状態では特に問題ないと思います。 有効の状態で貼り紙の一覧表示モードでボタンを押すとオンオフが切り替わらないようです。 終了時エラーログが出力されました。

    Traceback (most recent call last):
      File "cw\dialog\scenarioselect.pyo", line 1105, in OnClickViewBtn
      File "cw\dialog\scenarioselect.pyo", line 333, in update_additionals
      File "cw\dialog\scenarioselect.pyo", line 331, in <lambda>
    AttributeError: 'NoneType' object has no attribute 'GetSize'
    
    Version : 0.12.4 Alpha 3 / 2016-01-30 15:50:24
    DateTime: 2016-01-30 16:14:53
    Traceback (most recent call last):
      File "cw\thread.pyo", line 619, in run
      File "cw\thread.pyo", line 649, in _run
      File "cw\thread.pyo", line 657, in main_loop
      File "cw\thread.pyo", line 777, in input
    error: video system not initialized
    

    あと重箱隅ですが、オプションが有効かつ非表示になっている状態で貼り紙の一覧ボタンを押すと 切り替えボタンのバーの分、[見る・解説・一覧・中止]のバーが移動してしまうのでサイズを合わせた方が良い気がしないでもないです。(オプション無効時はバーがないのでサイズが変動しない)

  36. k4nagatsuki repo owner

    pull request #1297

    ありがとうございます。非デバッグモードでエディタボタンが存在しない事を忘れていました。バーの移動もそのせいだと思います。

  37. Liar_cw NA

    お疲れ様です。ツリー表示時のボタン配置、いいですね。うまくハマった感じがします。 ボタン非表示でテストしていますが、これ以上にない仕上がりだと思います。

    既に修正された内容ではありますが、 cardwirthpy_20160130bでツリー表示・追加項目非表示・非デバッグモードの状態のときに シナリオ選択ダイアログを開くとフリーズしていました。現在は正常に動作しています。

  38. 暗黒 騎士 reporter

    お疲れ様です。修正確認しました。デザインの方ではもう特に非の打ち所がないです。

    上のコメントのログにも追記したのですが、動作検証で貼り紙を一覧表示で移動しているうちにランタイムエラーで強制終了が起こりました。(30b版と30c版の二度確認)

    Version : 0.12.4 Alpha 3 / 2016-01-30 16:17:43
    DateTime: 2016-01-30 16:33:18
    Traceback (most recent call last):
      File "cw\thread.pyo", line 619, in run
      File "cw\thread.pyo", line 649, in _run
      File "cw\thread.pyo", line 657, in main_loop
      File "cw\thread.pyo", line 777, in input
    error: video system not initialized
    

    実は29日時点でもSFバリアントでキャラを作って「悪魔の書」か「悪夢ぁの書」のどちらかに入った時に独特の処理落ち的な間があって強制終了していたので、ここ数日で入った問題かもしれません。

  39. Liar_cw NA

    上の書き方では、初めからボタンを非表示にしたように思えてしまうので追加発言します。

    どうやら、バー型ボタンは初めから必要なかったようですね。 シナリオ選択ダイアログでは、Lv・済印・隠蔽・フォルダ表示ほかのバーに纏めてしまえたようですので。

  40. k4nagatsuki repo owner

    ご確認ありがとうございます。

    ランタイムエラーの理由がよく分かりません。お手数をおかけして申し訳ないのですが、具体的にどのcommitから発生しているか、hg update -r <リビジョン>などを使って調べていただけないでしょうか。

  41. 暗黒 騎士 reporter

    うーん、リビジョンを戻して操作したり、PCを再起動してみたのですが、めっきり再現できません。 環境による問題だったのかもしれません。(であれば申し訳ないです)

    ひとまず保留で、他の方が意見がなければ解決でいいかと思います。

  42. k4nagatsuki repo owner

    宿帳でも同じような現象が発生していたかと思いますが、どうも嫌な感じですね。

    wxPythonでコントロールを間違って二重にレイアウトしたりするとその手の不安定なエラーが出た記憶があるのですが、それっぽいものが見つからないです。

    他の方もそうした現象が発生した場合はお知らせいただけると助かります。

  43. k4nagatsuki repo owner

    ランタイムエラーは別件としてIssueを立てることにして、とりあえず機能追加はこれで完了ということでよろしいでしょうか。

    よろしければ、クローズしたいと思います。

  44. 暗黒 騎士 reporter

    自分は問題ありません。 ほぼ完璧に近い形で解決して下さってありがとうございました&お疲れ様でした!

  45. Liar_cw NA

    当初の目的も全て達成されていますし、私もこれで問題ないと思います。

  46. k4nagatsuki repo owner

    ありがとうございます。それでは、これで完了としてクローズさせていただきます。

  47. Log in to comment