scintilla 始める前に version 29

2019/07/29 14:38 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
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は検索でつくるか??

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)      

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 #