--- Title: scintilla 始める前に Author: yamasyuh68 Web: https://mimemo.io/m/OX6eWonreWowPDQ --- 190723 - 画像処理も音楽再生もそこそこ使えるプログラムが出来た で、中途で投げ出したテキストエディタが気がかり 今ならもっとうまく書けるような気がするのさ - scintilla 、ネックは保存、エンコード オープンはまだ良い、エラーが出ても でも保存は困る どうしよう?? - ここら辺はscintillaのマニュアルにも書いてない 自分で何とかしなくちゃだめなんだろう - **読み込みルーチンをエラーで完全にはじく**ようにするか **そうしたうえでそのコードで保存**する 保存時エラーになったら保存させない 「別名で保存時は」保存のエンコードを選べる(UTF8だけね) - 考えたら保存だけで無く sendscintilla がうまく使えなくて切れてやめたような気もしてきたぞ - 最近Qtのドキュメントを見つけたので調べてみるか https://www.riverbankcomputing.com/static/Docs/QScintilla/annotated.html - 検索整形まわりを好きに書けたら凄く良いよな # sendscintilla - 上のページで単純にやってみるか 具体的に何をしたかったかを覚えてないんだが? - 文書毎に関数のポインタを取得してそこに対してsendmessageしろってシンチラのドキュメントをその通りpythonでやりたかったんだった - パラメータの使い方がのってるからそれを参考にやってみよう - # 設計 1. ui作り直し ベースはウインドウにしてメニューとステータスバーをつける 左のツリーとお気に入りの間はスプリッタ-で可変にする メインはタブだけにする 2. 読み込み・保存 shitjis(種類があった)とutf8,utf16 のみに対応してあとは拒絶する エラーは受け付けない どうしても読みたいときは警告を出して一番エラーが少ないエンコードで読み込む、その時は サロゲートエスケープを行う https://docs.python.org/ja/3.7/library/functions.html?highlight=open#open 'strict' --> 'surrogateescape' 読み込んだエンコードで書き込む、utf8だけには変更できる 3. マルチ対応 QSCintillaDocumentクラスを利用する 4. 検索窓 ・検索窓をアウトラインの位置に置いて切り替え表示する ・複数行検索は当然出来るように ・置換も出来るように ・UI上はwidgetを置くか?通常はそこにtreeviewだが、メニューで検索に切り替える。UIは検索でつくるか?? 4. その他機能 ・行の数字列の加算 ・矢印キーで罫線 # shif-jis 雑感 1. 開発を投げ出した辺りではこの問題もあって嫌になった これにも何種類かある 文字数は基本的に増えていってるんだが、下方互換性がなく、前のverと新しいverとで表示される文字が違う場合がある **どうなってるんだ、shif-jis!!!** 2. pythonで使える s-jis https://docs.python.org/ja/3.7/library/codecs.html cp932 shift_jis shift_jis_2004 shift_jisx0213 システムのデフォルトはこれで取得 >import locale >locale.getpreferredencoding(False) 3. で、どれを使えばイーのよ┐('д')┌ ---- ---> [scieditor2 #](https://mimemo.io/m/zeXgworpjz4K0Ek)