scieditor2 hoge version 31
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2 hoge
s-barのクラス設計
class mysbar():
def init(p):# p -> statusbr
pにラベルを三つセットする
self.label[]
def settext( str , id ) : # id -> 表示する場所、そのほか特殊メッセ
if id<3 :
self.label[id].setext(str)
elif id==4 : # save message
self.savemes()
else:
pass
def savemes(self):
----
- ファイルロードをサブクラスに押しつける
枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
しかし、タブでのマルチウインドウ管理という点ではタブに固有の動作は枠では実装しない方が良いような気がしてきた
- ロード、アウトライン解析はサブクラスに移すか。セーブはもともとサブクラスで実装してるし
- ロードはお気に入り、DD、ブラウザ、新規?の四パタン
枠からクラスにファイル名を渡す、クラスではロードしてアウトラインのデータモデルを作って親に返すことにするか
新規の場合はどうする?
----
- save時の処理
・新規の場合:タブ名の変更
・ステータスバーに保存のメッセージ --> この二つは親で実装
・modefyフラグの消去 --> これはサブクラス内
- サブのクラスは親の関数を直接叩かない、を基本に据えよう
そのためにサブクラスでシグナルを実装しよう(面倒だけど)
**その方がオブジェクト指向になってると思うから**
- **この理由は曖昧だな**
親を直接叩くクラスは再利用しづらいから、が本音かな
あるいは可読性が低い、メンテがしづらい
**今のところはこれで良いか**
---
カラーコード
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)
s-barのクラス設計
class mysbar():
def init(p):# p -> statusbr
pにラベルを三つセットする
self.label[]
def settext( str , id ) : # id -> 表示する場所、そのほか特殊メッセ
if id<3 :
self.label[id].setext(str)
elif id==4 : # save message
self.savemes()
else:
pass
def savemes(self):
- ファイルロードをサブクラスに押しつける
枠的な部分とエディタ部分を分けるとしたらロードセーブは微妙な位置だ
しかし、タブでのマルチウインドウ管理という点ではタブに固有の動作は枠では実装しない方が良いような気がしてきた - ロード、アウトライン解析はサブクラスに移すか。セーブはもともとサブクラスで実装してるし
- ロードはお気に入り、DD、ブラウザ、新規?の四パタン
枠からクラスにファイル名を渡す、クラスではロードしてアウトラインのデータモデルを作って親に返すことにするか
新規の場合はどうする?
- save時の処理
・新規の場合:タブ名の変更
・ステータスバーに保存のメッセージ --> この二つは親で実装
・modefyフラグの消去 --> これはサブクラス内
カラーコード
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")
-
保存ルーチンを見直し、try errors ristrict にして保存できない場合はその場所に飛ぶようにしたい ---> 保存はu8 に統一する方向
-
アウトライン変更
まずウイジェットをビューにしてから、モデルをサブクラスで保持する仕様にする
これはバージョン管理だな
- 保存
①utf8
シンチラからゲットしたバイナリをそのままバイナリで書き込めば良い
②utf8以外
シンチラからゲットしたバイナリをデコードしてから保存時にそのコーデックにエンコードする(今の保存ルーチンのまま) - エラー処理
上記①ではエラーは発生し得ない
②の場合エンコードエラーとなる可能性があるがその時はstrictにして保存させないようにする
エラー文字をハイライトにして飛ぶようにしたいな - cp932の問題
現在エンコードは三つ、cp932,u8,u16を想定している
この中でエラー発生の可能性があるのはcp932だけだ、多分
オープンしたファイルがcp932でも保存時はu8にしてしまえば保存はものすごく楽だ
バイナリで書き込めば良いから
仕様として、読込は多種のコーデックに対応するけど書き込みはu8のみ、って割り切るか!!!!!!!
---> scieditor2