[リストへもどる]
一括表示

タイトル一体化時の情報行とステータス行について
記事No3625
投稿日: 2021/05/04(Tue) 02:44
投稿者にぶんのに
レイアウトのカスタマイズで、X_combo=1で一体化窓&タブ常時表示を試しています。
イメージは画面の上からタイトルバー、メニューバー、タブ、エントリ一覧、ステータス行の構成です。
カスタマイズ中、意図された動きか怪しく思えた個所がありましたので
その報告と可能なら修正検討頂ければと思います。
確認Ver:PPx1.78 x64 Unicode


a. 情報行を非表示に出来ない
一体化時に情報行を非表示にする方法が見つけられなかったのですが
仕様なのか教えてもらえますか。
試したこと
・*layoutダイアログ→そもそも情報行が存在しなかった
・X_winのCA/CBAで非表示設定→無視された
・Dockに情報行表示後、非表示にする→情報行は一時消えたがPPC起動やXC_stat変更などで復活
・情報行をDockに加えつつ表示内容皆無にして実質非表示状態に
 →XC_infで書式空、XC_ifix=1で表示内容は概ね消えたが
  X_dock幅指定を小さくしても約40pxは確保されてしまう
  縦2行は強制確保されてしまい1行にする設定は見つけられず

b. タブ共通のステータス行とした場合の問題
エントリ部ペイン数を常時1で運用したいので下部Dockにステータス行表示した場合に起きた事象です。
b-1. XC_statをスクリプトで変更して表示行を1→2行に変更した場合
 Dockの高さが変わらない。なおPPCを再起動すればちゃんと2行になる。
b-2. Ctrl+ホイールのフォントサイズ変更した場合、Dock外通常ステータス行も
 サイズ変更するが、Dock内ステータス行ではフォントサイズが変わらない。
 Dockはフォントサイズ変更の影響を受けない仕様にも思えたが
 ステータスを2行表示していると2行目がせり上がって1行目に食い込んでいく。


タイトルRe: 一体化時の情報行とステータス行について
記事No3628
投稿日: 2021/05/07(Fri) 22:28
投稿者TORO
> a. 情報行を非表示に出来ない

これは、カスタマイザの全般 - PPc - 画面構成・タブ で、
「情報行を共用にする」のチェックを外した後、
PPc を再起動し、更にペインの情報行を個別に非表示にする必要が
あります。

分かりにくいので、レイアウトメニューでも共用情報行の設定を
行えるようにします。


> b. タブ共通のステータス行とした場合の問題

こちらについては、Dock が Windows のレバーコントロールの
仕様で、高さを途中で変えることができないことが理由になります。
当分はこのままになります。

尚、一旦 Dock から削除し、再登録すれば新しい高さになります。

Dock + フォントサイズの変更については次版で修正します。


タイトルRe^2: 一体化時の情報行とステータス行について
記事No3630
投稿日: 2021/05/08(Sat) 22:17
投稿者にぶんのに
> > a. 情報行を非表示に出来ない
実現できました。
すいません、カスタマイズ項目にあったのに見落としていました。

> > b. タブ共通のステータス行とした場合の問題
仕様起因という点、了解です。

> 尚、一旦 Dock から削除し、再登録すれば新しい高さになります。
元々XC_statはマクロで表示内容を切り替えていたため、
ステータス行クリック時にその流れでDockの削除と再登録も組み込んだのですが期待通り動作しませんでした。
以下再現用のマクロです。
----
'!*script
If PPx.Extract("%*getcust(_User:TestFlg)") > "0" Then
  PPx.Execute "*customize XC_stat = _AUTO,_AUTO,0,0,I""A1"" / I""A2"""
  PPx.Execute("*dock delete,b,XC_stat")
PPx.Echo "A"
  PPx.Execute("*dock add,b,XC_stat")
  PPx.Execute("*dock delete,b,XC_stat")
  PPx.Execute "*setcust _User:TestFlg=0"
Else
  PPx.Execute "*customize XC_stat = _AUTO,_AUTO,0,0,I""B"""
  PPx.Execute("*dock delete,b,XC_stat")
PPx.Echo "B"
  PPx.Execute("*dock add,b,XC_stat")
  PPx.Execute("*dock delete,b,XC_stat")
  PPx.Execute "*setcust _User:TestFlg=1"
End If
----
一応、上記コード実行都度トグルで1行←→2行切替可能にはなったのですが、不要そうなコードが含まれています。
・PPx.Echoがない場合 1行→2行 にならず 2行中の1行目(A1) のみ見える状態でした
・[*dock add]後の[*dock delete]を減らすとDockに2つ以上ステータス行が追加されてしまいました。*dock addの代わりにtoggleも試しましたが追加されませんでした

単に私が何か勘違いしている可能性は高そうですが、
ひょっとしてスクリプトでDock追加削除することで更新をかけるのは難しいでしょうか。


> Dock + フォントサイズの変更については次版で修正します。
ありがとうございます。


タイトルRe^3: 一体化時の情報行とステータス行について
記事No3632
投稿日: 2021/05/09(Sun) 21:15
投稿者TORO
こちらでも確認してみましたが、add と delete の連続が
できませんでした。

理由が分からないので調べてみます。


タイトルRe^4: 一体化時の情報行とステータス行について
記事No3634
投稿日: 2021/05/09(Sun) 22:15
投稿者にぶんのに
お手数おかけします。
もし不足している情報があったら教えてください


タイトルRe^5: 一体化時の情報行とステータス行について
記事No3636
投稿日: 2021/05/10(Mon) 22:51
投稿者TORO
いちおう +6 で消えるようになったと思います。
ただ、実行直後は高さが合わない例がありました。
他のツールバーの高さに揃ってしまうことがあるようです。
引き続き調整していきます。


タイトルRe^6: 一体化時の情報行とステータス行について
記事No3641
投稿日: 2021/05/15(Sat) 03:35
投稿者にぶんのに
+7を導入してみました。

Dock内ステータス行ではフォントサイズが変わらない件は
2行目がせり上がって1行目に食い込んでいく症状が消えました。ありがとうございます。
Dockはエントリ部フォントサイズ変更の影響を受けないものと考えておきます。

No.3630のマクロで試しにPPx.Echoをコメントアウトして連続起動してみると
次の3点の症状がみられました。
*dock add/deleteの方は調整中とのことなので仕方ない事と思いますが、一応報告しておきます。

・2→1行に切り替えた際に何故かDockでなくウィンドウの高さが下方向に伸びた
・1→2行表示に切り替えた場合に2行表示になることがあったが、ならないこともあった(※)
・Dockに2つ以上ステータス行が追加されてしまうケースがあった(※)

(※) 条件を変えて色々試行しましたが法則性は分かりませんでした。


タイトルRe^7: 一体化時の情報行とステータス行について
記事No3643
投稿日: 2021/05/16(Sun) 17:22
投稿者TORO
+8 で多少改善できました。

+8 では、
*customize XC_stat = _AUTO,_AUTO,0,0,I"A1" / I"A2" %: %K"LOADCUST"
で高さが合うようになっています。


タイトルRe^8: 一体化時の情報行とステータス行について
記事No3646
投稿日: 2021/05/17(Mon) 03:14
投稿者にぶんのに
+8試してみました。
次の様にスクリプトを変えて連続しました。

'!*script
If PPx.Extract("%*getcust(_User:TestFlg)") > "0" Then
'PPx.Execute "*customize XC_stat = _AUTO,_AUTO,0,0,I""A1"" / I""A2""" '■修正前
  PPx.Execute "*customize XC_stat = _AUTO,_AUTO,0,0,I""A1"" / I""A2"" %: %K""LOADCUST"""
  PPx.Execute("*dock delete,b,XC_stat")
  PPx.Echo "A" '■HACK-A1
  PPx.Execute("*dock add,b,XC_stat")
  PPx.Execute("*dock delete,b,XC_stat") '■HACK-A2
  PPx.Execute "*setcust _User:TestFlg=0"
Else
  PPx.Execute "*customize XC_stat = _AUTO,_AUTO,0,0,I""B"""
  PPx.Execute("*dock delete,b,XC_stat")
  PPx.Echo "B" '■HACK-B1
  PPx.Execute("*dock add,b,XC_stat")
  PPx.Execute("*dock delete,b,XC_stat") '■HACK-B2
  PPx.Execute "*setcust _User:TestFlg=1"
End If
PPx.Quit

スクリプトのXC_stat内容はあっているでしょうか。
実は報告済の事象は+8変更後も微妙に症状を変えて発生してしまいました。

・HACK-A1/2、B1/B2があると意図通り1←→2行変更出来る
・HACK-A1/B1を削除時
 ・1→2行の表示行変更は出来たが、ウィンドウの高さが下方向に伸びる事象は発生
 ・2→1行変更時にウィンドウの高さが下方向に伸びる事象は発生しなかったが、表示行変更は出来ない(2行のまま)
 ・1←→2行のいずれでもDockに2つ以上ステータス行が追加されることがあった
 ・2度ほど異常終了(そのうち一方は送信しました)
・HACK-B1/B2を削除時、Dockに2つ以上ステータス行が追加される


タイトルRe^9: 一体化時の情報行とステータス行について
記事No3647
投稿日: 2021/05/17(Mon) 21:38
投稿者TORO
説明不足でした。

*dock add / delete が不要になり、
"*customize XC_stat = _AUTO,_AUTO,0,0,I""A1"" I""A2"" %: %K""LOADCUST""" と
"*customize XC_stat = _AUTO,_AUTO,0,0,I""A1"" / I""A2"" %: %K""LOADCUST"""
だけで切り替えできるようになっていると思います。

あと、Text module を使って
*RotateCustomize XC_stat,"_AUTO,_AUTO,0,0,I""A1"" / I""A2""","_AUTO,_AUTO,0,0,I""A1"" I""A2""" %: %K"LOADCUST"
を実行するだけで切り替えできます。
この1行だけで実行できるのでスクリプトが不要になります。


タイトルRe^10: 一体化時の情報行とステータス行について
記事No3648
投稿日: 2021/05/18(Tue) 06:09
投稿者にぶんのに
教えてもらった方法で試したところ、
私の環境でも想定通り動作しました。
対応ありがとうございました

なお余談ですが折角なのでText moduleも導入しました。


タイトルRe^11: 一体化時の情報行とステータス行について
記事No3649
投稿日: 2021/05/18(Tue) 22:39
投稿者TORO
とりあえずできるようになりましたが、納得できないところも
あるので、後日更に調整していきます。