scieditor2 hoge version 96

2019/09/18 09:42 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2   hoge
@[TOC](項目なり)

# BugFix
- アナライズが再構築のときはうまく作動しない
# 行単位検索の大小文字区別無し
if name.lower() in string.lower():
両方を lower に合わせれば良いだけだね

# lexer
- pyの時はpyにする、派生クラスのファイルロードでチェックしよう
```
if  fname[:-2]=='py' :
    setlexer /////////////////
```

## 高速化

```
from numba import jit

@jit
def ****
```
## enhancer で実験
大きな画像でプログレスバーで調整したときにかなり遅い
この受けの関数で使ってみたい
テーブルを作って画素毎にマッピングをするルーチンだな






# ファイルロードタブ
- タブを開いたらロードするようにする
ロードボタンはリフレッシュだな
- designer でスロットを設定する tabChanged[int]

# S-Bar 
・ステータスバー(初期化含む)とウィンドウタイトル
・中からとシンチラから
・汎用メッセージと常用メッセージに分ける
・文字列とオブジェクト

- メインと派生のpyファイルはバージョン管理しておく

```
class main :
def init
    self.mes = dispinfo()
def showinfo( self , id , object ):  # emit の受け 内部からも呼ぶ
    self.mes.disp( id , object )
    if  id == -1 : # save ok 


class dispinfo() : 
init( self , parent ) : ラベル三つを配置してオブジェクトをリストで保持 id 通常は 0-2
def disp( self , id , object ) : # オブジェクトで受ける、最初に判定する
    if  id == -1 :  # special message
        self.saveok()
        return 
    if  id == -2 :  # special message
        self.sciproperty( object )  # カレントチーを引数にする
        return 
    if  type(object)  is str :
        pass
    elif  type(object)  is int :
        object = str( oject )
    else : 
        object = self.print_s( object )
    self.label( id ).setText( object )
def saveok(self) :    # 
def sciproperty(self , current): # 
def print_f( self , object ) :

class qsci() : 派生 emit 時の引数を変更するだけ
```

# かな漢字モードでカーソルかえる
# 実験
- analyze 計測したい、シンチラの関数
- 検索
置換文字列に \r\n を入れたら改行する
検索文字列では無視された
**複数行検索は独自実装だな**
- 文書取得の実験
print( 'byte' , self.bytes( 0 , self.length() ) )  #  ---> bytearray
print( 'text' , self.text() ) #  ---> str
- 保存時u8ならself.bytesでいけるのか??
- 
- 高速化 numba 逆に遅くなった
# 疑問
- 同じuiファイルに複数のダイアログを作れるか
- ダイレクトコール
できません┐('д')┌
本家サイトで推奨してるので何とか導入したいんだけど
pythonは基本的にはポインタを意識しなくて良い言語だけど、知識がないと対応できない
むしろ型宣言がしっかりした言語の方が使いやすいのかもしれないと思ったりします
cのように、型が厳格なくせにキャストはやりたい放題とか( ´∀`)
出来た方がいらしたら是非教えていただきたいです



# gPad の罫線機能を実装

# タブにコンテキストつけて全て閉じるとか実装
- しかしこれなくても良い、簡単だけど
何となく次々と機能増やしたらいつかすごく遅くなってたりするんじゃないのかなって思ったりした
# GrEP
- 前に作ったルーチンを使う
ヒットしたファイルは新規タブを作って表示していく
ダブルクリックで飛びたい
- ディレクトリ選択型ダイアログ
http://qt-log.open-memo.net/sub/dialog__directory_dialog.html


# tryのexceptionを全て表示

# お気に入りのフォルダ sql 化
- **テキストの方が簡単に直せて良いかもだなあ**
- sql 化する前に実験する
①treeview とボタンだけのダイアログをdesignerで作って実験する
ボタン:ok : cancel : insFolda
②ドラッグでファイルを追加できること、DDで順番を変更できること
③その順番でsqlで書き出しできること、読みこみできること


----

# アウトライン
- **listWidgetの動作を確認**
データモデル作成は良いけど、クリック時の飛び方
- 行データの与え方
非表示で二列目も作る、二列目に行番号を入れる
foobar を参考に

- 解析ルーチンを派生クラスのメソッドにして親から呼ぶ、データモデルをselfで保持する(これは再解析を含む)、データモデルが戻り値
- 親に対してモデルを帰すメソッド実装、タブ切替時に呼ぶ
- かならずモデルを作る、解析すべきモノが無ければ「┐('д')┌」
## リロード時に状態を復元する
## 現在行項目を選択する
現在文書の行を取得して、アウトラインの該当行を選択する
第二カラムのデータをスキャンして該当アイテムを見つける

## コンテキストつける
①アウトライン更新
②関数解析
③現在位置をアウトライン表示
④内容を新規文書に書き出し
- **リストビューに切り替えてからの方がよさそう**


----


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

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

      

項目なりBugFix行単位検索の大小文字区別無しlexerかな漢字モードでカーソルかえる実験疑問gPad の罫線機能を実装タブにコンテキストつけて全て閉じるとか実装GrEPtryのexceptionを全て表示お気に入りのフォルダ sql 化アウトラインリロード時に状態を復元する現在行項目を選択するコンテキストつける

BugFix

  • アナライズが再構築のときはうまく作動しない

行単位検索の大小文字区別無し

if name.lower() in string.lower():
両方を lower に合わせれば良いだけだね

lexer

  • pyの時はpyにする、派生クラスのファイルロードでチェックしよう
if  fname[:-2]=='py' :
    setlexer /////////////////

かな漢字モードでカーソルかえる

実験

  • analyze 計測したい、シンチラの関数
  • 検索
    置換文字列に \r\n を入れたら改行する
    検索文字列では無視された
    複数行検索は独自実装だな
  • 文書取得の実験
    print( 'byte' , self.bytes( 0 , self.length() ) ) # ---> bytearray
    print( 'text' , self.text() ) # ---> str
  • 保存時u8ならself.bytesでいけるのか??
  • 高速化 numba 逆に遅くなった

疑問

  • 同じuiファイルに複数のダイアログを作れるか
  • ダイレクトコール
    できません┐('д')┌
    本家サイトで推奨してるので何とか導入したいんだけど
    pythonは基本的にはポインタを意識しなくて良い言語だけど、知識がないと対応できない
    むしろ型宣言がしっかりした言語の方が使いやすいのかもしれないと思ったりします
    cのように、型が厳格なくせにキャストはやりたい放題とか( ´∀`)
    出来た方がいらしたら是非教えていただきたいです

gPad の罫線機能を実装

タブにコンテキストつけて全て閉じるとか実装

  • しかしこれなくても良い、簡単だけど
    何となく次々と機能増やしたらいつかすごく遅くなってたりするんじゃないのかなって思ったりした

GrEP

tryのexceptionを全て表示

お気に入りのフォルダ sql 化

  • テキストの方が簡単に直せて良いかもだなあ
  • sql 化する前に実験する
    ①treeview とボタンだけのダイアログをdesignerで作って実験する
    ボタン:ok : cancel : insFolda
    ②ドラッグでファイルを追加できること、DDで順番を変更できること
    ③その順番でsqlで書き出しできること、読みこみできること

アウトライン

  • listWidgetの動作を確認
    データモデル作成は良いけど、クリック時の飛び方

  • 行データの与え方
    非表示で二列目も作る、二列目に行番号を入れる
    foobar を参考に

  • 解析ルーチンを派生クラスのメソッドにして親から呼ぶ、データモデルをselfで保持する(これは再解析を含む)、データモデルが戻り値

  • 親に対してモデルを帰すメソッド実装、タブ切替時に呼ぶ

  • かならずモデルを作る、解析すべきモノが無ければ「┐('д')┌」

リロード時に状態を復元する

現在行項目を選択する

現在文書の行を取得して、アウトラインの該当行を選択する
第二カラムのデータをスキャンして該当アイテムを見つける

コンテキストつける

①アウトライン更新
②関数解析
③現在位置をアウトライン表示
④内容を新規文書に書き出し

  • リストビューに切り替えてからの方がよさそう


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


---> scieditor2