scieditor2 hoge version 16

2019/08/28 09:09 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2   hoge
- ファイルロードをサブクラスに押しつける
枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
しかし、タブでのマルチウインドウ管理という点ではタブ固有の情報は枠で持たない方が良い



- 新規文書を保存したらタグを変える
- 保存したらmodifyh表示を消すか、保存済みのメッセージを出す
- ステータスバーを分割するか?
addWidget (self, QWidget widget, int stretch = 0)
でlabelを加えてみるか
- 
- 保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい ---> 保存はu8 に統一する方向

- アウトライン変更
まずウイジェットをビューにしてから、モデルをサブクラスで保持する仕様にする
これはバージョン管理だな

---
190823
- loadfile の研究
一旦バイナリで読み込んでからsettextに渡すときにdecodeするようにした
このときエンコードタイプをイテレータにしてループでtryする
全てのエンコードタイプで失敗したらエラーを表示する
- ファイルオープンでエラーを出すかデコードでエラーを出すかの違いなんだけど、何度もファイルオープンするのが何となくいやだった
バイナリで読めばエラー出ないからこの方がスマートかなと
- u8ならバイナリのままシンチラに渡したかったけど出来なかった
setTextが文字列しか受け取らない
バイナリのまま渡せると思うんだけど??
- **少しエンコードがわかってきたような気がしてきた**

---
190824
- filebrowser をサブクラス化してコンテキストメニューを実装、ファイルの削除を実装

---
190827
- ステータスバーの分割
addPeramanentWidget (self, QWidget widget, int stretch = *)
でlabelを三つ、211で配置してみた
- 分割はちょっとわかりにくい。ウイジェットを配置しなくてもテキストは直接表示出来るが、分割したければこんな感じでラベルを配置するんだと思う。
これ以降はこのラベルに対してsetTextしていくことになる 
- テキストエディタは色んな状態の表示にステータスバーはあった方が良いと思うけど、純粋に書くだけなら邪魔なだけだから表示は切り替えれた方が良いかな

---
ctypes 文字列
https://www.haya-programming.com/entry/2018/11/05/023748

pthon3
str   unicode
byte  encoded u8,shiftjis ///

byte をデコードしたら unicode になる

---
- 保存
①utf8
シンチラからゲットしたバイナリをそのままバイナリで書き込めば良い
②utf8以外
シンチラからゲットしたバイナリをデコードしてから保存時にそのコーデックにエンコードする(今の保存ルーチンのまま)
- エラー処理
上記①ではエラーは発生し得ない
②の場合エンコードエラーとなる可能性があるがその時はstrictにして保存させないようにする
エラー文字をハイライトにして飛ぶようにしたいな
- cp932の問題
現在エンコードは三つ、cp932,u8,u16を想定している
この中でエラー発生の可能性があるのはcp932だけだ、多分
オープンしたファイルがcp932でも保存時はu8にしてしまえば保存はものすごく楽だ
バイナリで書き込めば良いから
仕様として、読込は多種のコーデックに対応するけど書き込みはu8のみ、って割り切るか!!!!!!!


---

----
---> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)

      
  • ファイルロードをサブクラスに押しつける
    枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
    しかし、タブでのマルチウインドウ管理という点ではタブ固有の情報は枠で持たない方が良い

  • 新規文書を保存したらタグを変える

  • 保存したらmodifyh表示を消すか、保存済みのメッセージを出す

  • 保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい ---> 保存はu8 に統一する方向

  • アウトライン変更
    まずウイジェットをビューにしてから、モデルをサブクラスで保持する仕様にする
    これはバージョン管理だな


190823

  • loadfile の研究
    一旦バイナリで読み込んでからsettextに渡すときにdecodeするようにした
    このときエンコードタイプをイテレータにしてループでtryする
    全てのエンコードタイプで失敗したらエラーを表示する
  • ファイルオープンでエラーを出すかデコードでエラーを出すかの違いなんだけど、何度もファイルオープンするのが何となくいやだった
    バイナリで読めばエラー出ないからこの方がスマートかなと
  • u8ならバイナリのままシンチラに渡したかったけど出来なかった
    setTextが文字列しか受け取らない
    バイナリのまま渡せると思うんだけど??
  • 少しエンコードがわかってきたような気がしてきた

190824

  • filebrowser をサブクラス化してコンテキストメニューを実装、ファイルの削除を実装

190827

  • ステータスバーの分割
    addPeramanentWidget (self, QWidget widget, int stretch = *)
    でlabelを三つ、211で配置してみた
  • 分割はちょっとわかりにくい。ウイジェットを配置しなくてもテキストは直接表示出来るが、分割したければこんな感じでラベルを配置するんだと思う。
    これ以降はこのラベルに対してsetTextしていくことになる
  • テキストエディタは色んな状態の表示にステータスバーはあった方が良いと思うけど、純粋に書くだけなら邪魔なだけだから表示は切り替えれた方が良いかな

ctypes 文字列
https://www.haya-programming.com/entry/2018/11/05/023748

pthon3
str unicode
byte encoded u8,shiftjis ///

byte をデコードしたら unicode になる


  • 保存
    ①utf8
    シンチラからゲットしたバイナリをそのままバイナリで書き込めば良い
    ②utf8以外
    シンチラからゲットしたバイナリをデコードしてから保存時にそのコーデックにエンコードする(今の保存ルーチンのまま)
  • エラー処理
    上記①ではエラーは発生し得ない
    ②の場合エンコードエラーとなる可能性があるがその時はstrictにして保存させないようにする
    エラー文字をハイライトにして飛ぶようにしたいな
  • cp932の問題
    現在エンコードは三つ、cp932,u8,u16を想定している
    この中でエラー発生の可能性があるのはcp932だけだ、多分
    オープンしたファイルがcp932でも保存時はu8にしてしまえば保存はものすごく楽だ
    バイナリで書き込めば良いから
    仕様として、読込は多種のコーデックに対応するけど書き込みはu8のみ、って割り切るか!!!!!!!


---> scieditor2