0 scintilla 始める前に

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は検索でつくるか??

  5. その他機能
    ・行の数字列の加算
    ・矢印キーで罫線

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)

  1. で、どれを使えばイーのよ┐('д')┌

---> scieditor2 #

0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone