scieditor2 hoge version 25

2019/08/28 17:24 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2   hoge
- ファイルロードをサブクラスに押しつける
枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
しかし、タブでのマルチウインドウ管理という点ではタブに固有の動作は枠では実装しない方が良いような気がしてきた
- ロード、アウトライン解析はサブクラスに移すか。セーブはもともとサブクラスで実装してるし
- ロードはお気に入り、DD、ブラウザ、新規?の四パタン
枠からクラスにファイル名を渡す、クラスではロードしてアウトラインのデータモデルを作って親に返すことにするか
新規の場合はどうする?

----
- save時の処理
・新規の場合:タブ名の変更
・modefyフラグの消去
・ステータスバーに保存のメッセージ

---
- ステータスバーとwinタイトルでサブクラス化するか
合計4箇所、クラスに文字列と表示場所を送る仕様
- 保存は赤い背景に白抜きで表示、時間でクリアする
色はラベルだから簡単にできると思う
時間はタイマーを使う
- QTimerか? ( QtCore )
QTimer.singleShot (int msec, callable receiver)
①文字列をもらって赤の白抜きで描画する関数を書く
②普通の色に戻す関数を書く
③①の最後でタイマー設定して②を呼び出す
①と②は再帰してもいい
文字列がNULLなら②の動作にするか??

## ラベルの文字背景色
①
Pythonlbl2 = QLabel('<font color="RED"><h1>かきくけこ<h1></font>', self)
Pythonlbl2 = QLabel('<body bgcolor="BLACK"><font color="RED"><h1>かきくけこ<h1></font></body>', self)

②QPalette,QColor ( QtGui)
pal=QLabel.palette()
pal.setColor( QPalette.Background , QColor(Qt.red) )
pal.setColor( QPalette.Foreground , QColor(Qt.white) )
QLabel.setPalette( pal )
QLabel.setText( *** )

カラーコード
http://www.netyasun.com/home/color.html


## お気に入りの保存

settings.beginGroup("favorite")

for i in range(100):
 l = settings.value( ''.frmat() ,NULL)
 if not l :
   break
 l.splt('|')
settings.endGroup("favorite")

----------
- 新規文書を保存したらタグを変える
- 保存したらmodifyh表示を消すか、保存済みのメッセージを出す
- 保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい ---> 保存はu8 に統一する方向

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

---

---
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)

      
  • ファイルロードをサブクラスに押しつける
    枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
    しかし、タブでのマルチウインドウ管理という点ではタブに固有の動作は枠では実装しない方が良いような気がしてきた
  • ロード、アウトライン解析はサブクラスに移すか。セーブはもともとサブクラスで実装してるし
  • ロードはお気に入り、DD、ブラウザ、新規?の四パタン
    枠からクラスにファイル名を渡す、クラスではロードしてアウトラインのデータモデルを作って親に返すことにするか
    新規の場合はどうする?

  • save時の処理
    ・新規の場合:タブ名の変更
    ・modefyフラグの消去
    ・ステータスバーに保存のメッセージ

  • ステータスバーとwinタイトルでサブクラス化するか
    合計4箇所、クラスに文字列と表示場所を送る仕様
  • 保存は赤い背景に白抜きで表示、時間でクリアする
    色はラベルだから簡単にできると思う
    時間はタイマーを使う
  • QTimerか? ( QtCore )
    QTimer.singleShot (int msec, callable receiver)
    ①文字列をもらって赤の白抜きで描画する関数を書く
    ②普通の色に戻す関数を書く
    ③①の最後でタイマー設定して②を呼び出す
    ①と②は再帰してもいい
    文字列がNULLなら②の動作にするか??

ラベルの文字背景色


Pythonlbl2 = QLabel('<font color="RED"><h1>かきくけこ<h1></font>', self)
Pythonlbl2 = QLabel('<body bgcolor="BLACK"><font color="RED"><h1>かきくけこ<h1></font></body>', self)

②QPalette,QColor ( QtGui)
pal=QLabel.palette()
pal.setColor( QPalette.Background , QColor(Qt.red) )
pal.setColor( QPalette.Foreground , QColor(Qt.white) )
QLabel.setPalette( pal )
QLabel.setText( *** )

カラーコード
http://www.netyasun.com/home/color.html

お気に入りの保存

settings.beginGroup("favorite")

for i in range(100):
l = settings.value( ''.frmat() ,NULL)
if not l :
break
l.splt('|')
settings.endGroup("favorite")


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

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

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

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



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