0 scieditor2 4
190823
- loadfile の研究
一旦バイナリで読み込んでからsettextに渡すときにdecodeするようにした
このときエンコードタイプをイテレータにしてループでtryする
全てのエンコードタイプで失敗したらエラーを表示する - ファイルオープンでエラーを出すかデコードでエラーを出すかの違いなんだけど、何度もファイルオープンするのが何となくいやだった
バイナリで読めばエラー出ないからこの方がスマートかなと - u8ならバイナリのままシンチラに渡したかったけど出来なかった
setTextが文字列しか受け取らない
バイナリのまま渡せると思うんだけど?? - 少しエンコードがわかってきたような気がしてきた
デコード = ユニコード化すること
190824
- filebrowser をサブクラス化してコンテキストメニューを実装、ファイルの削除を実装
190827
- ステータスバーの分割
addPeramanentWidget (self, QWidget widget, int stretch = *)
でlabelを三つ、211で配置してみた - 分割はちょっとわかりにくい。ウイジェットを配置しなくてもテキストは直接表示出来るが、分割したければこんな感じでラベルを配置するんだと思う。
これ以降はこのラベルに対してsetTextしていくことになる - テキストエディタは色んな状態の表示にステータスバーはあった方が良いと思うけど、純粋に書くだけなら邪魔なだけだから表示は切り替えれた方が良いかな
190829
- 文字の白抜き表示 --> 難しい
文字色の設定はできたが背景色を変えれない
理由がわからん ┐('д')┌
RibberBund の時と似てるかな、結構難しい - 試しにhtml記述もやってみて文字色はできたが背景色は変えれなかった
ふむ
190830
- タイマーで赤字を表示して消すのはできた
シングルショットタイマーのスロットに引数を与えるためにラムダ式を使った
これはQtの基本テクニックだな、ラムダをもっと使いこなせるようになりたい - ラムダ自体はプログラミングの一般的な仕組みになってるんだな、c++でも実装されてるみたい、新しそうだけど
実態は関数の引数付きポインタ渡しってことか?
190902
- ファイルのロードを派生クラスに移した
- sci派生クラスのドロップファイルと保存をシグナルにして親でコネクトするように変更
子供のクラスは親の関数を直接叩かない方針に沿ったもの - 同じくファイルブラウザのダブルクリックもシグナルに変更
この場合の処理はドロップとほぼ同じだったので受けは同じにした - 変更行マーカーについて、保存時クリアを実装
ファイル読みこみ時に先頭行が変更マークされる動作は修正しづらいので読みこみ時に一旦マーカークリアすることにした
---> scieditor2
コメント(0)