プログラミング・動画編集 備忘録

プログラミングや動画編集についての備忘録です

RSkyrimLogViwer - 3 - 書式設定機能の実装

前回でそれなりに絞り込み機能が充実したと思うので、今度はエラーがあった場合、該当箇所の背景色を赤くするなどの書式設定の機能を実装します。

実装についての詳細は次の記事をご覧ください。

これで次のような表示が行えるようになりました。
f:id:rrryutaro:20161221112329p:plain

なんだか改行が多いです。どうやら、1段落で改行が追加されているので、基本2行で1行を表示するような状態となっています。
f:id:rrryutaro:20161221112428p:plain

気持ちが悪いので、改行コードを削除することにしました。
f:id:rrryutaro:20161221112517p:plain

おっいい感じになったかなと思ったら、改行を消したので、エラーもすべてまとめて1行になってしまっているようです。
内部の仕組み的に、エラー情報を一つの固まりとしてますので、3つ前の画像のようにエラー部分は1段落として固まりになっています。

さすがに丸ごと改行コードを削るのはまずかったので、文字列の最後の文字が改行コードの場合、これのみ削除することにします。
f:id:rrryutaro:20161221113117p:plain

最低限の目標を達成できました。
ですが、少々わかりづらいです。最初に行えていた余計な改行があった際の表示の方がまだ目立った感じがします。
エラー表示を目立たせるため、そもそもRich Text Format(RTF)でどのような事ができたか、Windowsに標準搭載されているワードパットで確認します。(Winキー + Rでファイル名を指定して実行にて"wordpad"で起動)
ワードパッドを起動したら、RSkyrimLogViewerで表示したログをコピーして貼り付けます。
f:id:rrryutaro:20161221114926p:plain

折り返しが邪魔なので、リボンの表示をクリックし、右端での折り返しからなしをクリックします。
試にエラーの範囲を選択し、行間を増やしてみます。
f:id:rrryutaro:20161221115128p:plain

これはちょっと違います。段落の設定で何ができるかを見てみます。
f:id:rrryutaro:20161221115208p:plain

どうも設定項目でできそうなことを見た感じ、エラーの範囲の前後の行の間隔を広げたい場合、直前の行と、エラーの最後の行に行間を設定するしかなさそうです。
とりあえず、ワードパッド上で試してみます。
f:id:rrryutaro:20161221120307p:plain

確かに開きましたが、背景色の付き具合が気に入りません。いったん行間を変えるのは、置いておいて、インデントを試してみます。
f:id:rrryutaro:20161221120506p:plain

目立つといえば目立つでしょうか。RSkyrimLogViwer側でやってみます。
f:id:rrryutaro:20161221120609p:plain

それっぽくはなりましたが、実際どうでしょう・・・なんとなく微妙な。
また、そもそも文字がある範囲しか背景が変わらないのも気に入りません、理想は次のような表示です。
f:id:rrryutaro:20161221121209p:plain

しかし、これを実現するにはなかなか難しそうです。自分でDrawを実装すればよいですが、さすがにそこまで手間をかけるのも。
とりあえず、今はインデントする形としておきます。

この書式設定はいずれは任意にユーザー指定するようにしたいですが、今はプログラム内部での決め打ちとしておきます。
というわけで、現在は次の表示ができるようになりました。
f:id:rrryutaro:20161221120609p:plain


以上

次回
RSkyrimLogViwer - 4 - 描画処理をさらに改造する - RのSkyrim Mod開発日記
前回
RSkyrimLogViwer - 2 - 絞込み機能の実装 - RのSkyrim Mod開発日記