scieditor2 hoge version 55
scieditor2 hoge
@[TOC](項目なり)
# 折り返し設定 Line wrapping
正しくスクロールするには、最初のSCN_PAINTED通知を待って、折り返しが実行されるまでスクロールを遅らせます。
- sendScintila( 2268, 2 )
SCI_SETWRAPMODE(int wrapMode) 2268
SC_WRAP_CHAR(2)
# 検索の実装
SCI_SEARCHINTARGET(position length, const char *text) → position
virtual bool QsciScintilla::findFirst ( const QString & expr,
bool re, bool cs, bool wo, bool wrap,
bool forward = true,
int line = -1,
int index = -1,
bool show = true,
bool posix = false,
bool cxx11 = false
)
self.ui.qsci.findFirst ( text, 1,0,0,1 )
findNext ( )
replace ( text )
cancelFind ( )
文字列exprの最初の出現を検索し、exprが見つかった場合はtrueを返し、そうでない場合はfalseを返します。 exprが見つかると、それが現在の選択になります。
reがtrueの場合、exprは単純な文字列ではなく正規表現として解釈されます。
csがtrueの場合、検索では大文字と小文字が区別されます。
woがtrueの場合、検索では単語全体の一致のみが検索され、そうでない場合は一致するテキストが検索されます。
wrapがtrueの場合、検索はテキストの終わりを折り返します。
forwardがtrue(デフォルト)の場合、検索は開始位置からテキストの終わりまで順方向に行われ、そうでない場合はテキストの先頭まで逆方向に行われます。
lineまたはindexのいずれかが負の場合(デフォルト)、現在のカーソル位置から検索が開始されます。それ以外の場合、行lineの位置インデックスから検索が開始されます。
showがtrue(デフォルト)の場合、見つかったテキストはすべて表示されます(つまり、展開されます)。
posixがtrueの場合、正規表現は、(および)ではなくタグ付きセクションとして裸の(および)を解釈することにより、よりPOSIX互換の方法で処理されます。
cxx11がtrueの場合、正規表現はCxx11正規表現として扱われます。
# tryのexceptionを全て表示
# お気に入りのフォルダ sql 化
- sql 化する前に実験する
①treeview とボタンだけのダイアログをdesignerで作って実験する
ボタン:ok : cancel : insFolda
②ドラッグでファイルを追加できること、DDで順番を変更できること
③その順番でsqlで書き出しできること、読みこみできること
- **アウトラインクリック時の挙動も確認**
アウトライン行+10を第1行目にしてみたらどうだろう
# 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):
----
# ロード時の重複チェック
# アウトライン
- **listWidgetの動作を確認**
データモデル作成は良いけど、クリック時の飛び方
- 行データの与え方
非表示で二列目も作る、二列目に行番号を入れる
foobar を参考に
- 解析ルーチンを派生クラスのメソッドにして親から呼ぶ、データモデルをselfで保持する(これは再解析を含む)、データモデルが戻り値
- 親に対してモデルを帰すメソッド実装、タブ切替時に呼ぶ
- かならずモデルを作る、解析すべきモノが無ければ「┐('д')┌」
----
# タブ名の変更 新規保存時
QTabWidget.setTabText (self, int index, QString)
int QTabWidget.currentIndex (self)
# 重複確認
QString QTabWidget.tabText (self, int index)
int QTabWidget.count (self)
QWidget QTabWidget.widget (self, int index)
for i in range( tabwidget.count() ) :
if fname == tabwidget.widget(i).**子供**.procDict['fname']
**ロードしないでそのタブを表示して終わる**
**その旨メッセージ出すか**
---
カラーコード
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")
----------
---
----
---> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)
項目なり折り返し設定 Line wrapping検索の実装tryのexceptionを全て表示お気に入りのフォルダ sql 化s-barのクラス設計ロード時の重複チェックアウトラインタブ名の変更 新規保存時重複確認お気に入りの読込
折り返し設定 Line wrapping
正しくスクロールするには、最初のSCN_PAINTED通知を待って、折り返しが実行されるまでスクロールを遅らせます。
- sendScintila( 2268, 2 )
SCI_SETWRAPMODE(int wrapMode) 2268
SC_WRAP_CHAR(2)
検索の実装
SCI_SEARCHINTARGET(position length, const char *text) → position
virtual bool QsciScintilla::findFirst ( const QString & expr,
bool re, bool cs, bool wo, bool wrap,
bool forward = true,
int line = -1,
int index = -1,
bool show = true,
bool posix = false,
bool cxx11 = false
)
self.ui.qsci.findFirst ( text, 1,0,0,1 )
findNext ( )
replace ( text )
cancelFind ( )
文字列exprの最初の出現を検索し、exprが見つかった場合はtrueを返し、そうでない場合はfalseを返します。 exprが見つかると、それが現在の選択になります。
reがtrueの場合、exprは単純な文字列ではなく正規表現として解釈されます。
csがtrueの場合、検索では大文字と小文字が区別されます。
woがtrueの場合、検索では単語全体の一致のみが検索され、そうでない場合は一致するテキストが検索されます。
wrapがtrueの場合、検索はテキストの終わりを折り返します。
forwardがtrue(デフォルト)の場合、検索は開始位置からテキストの終わりまで順方向に行われ、そうでない場合はテキストの先頭まで逆方向に行われます。
lineまたはindexのいずれかが負の場合(デフォルト)、現在のカーソル位置から検索が開始されます。それ以外の場合、行lineの位置インデックスから検索が開始されます。
showがtrue(デフォルト)の場合、見つかったテキストはすべて表示されます(つまり、展開されます)。
posixがtrueの場合、正規表現は、(および)ではなくタグ付きセクションとして裸の(および)を解釈することにより、よりPOSIX互換の方法で処理されます。
cxx11がtrueの場合、正規表現はCxx11正規表現として扱われます。
tryのexceptionを全て表示
お気に入りのフォルダ sql 化
-
sql 化する前に実験する
①treeview とボタンだけのダイアログをdesignerで作って実験する
ボタン:ok : cancel : insFolda
②ドラッグでファイルを追加できること、DDで順番を変更できること
③その順番でsqlで書き出しできること、読みこみできること -
アウトラインクリック時の挙動も確認
アウトライン行+10を第1行目にしてみたらどうだろう
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):
ロード時の重複チェック
アウトライン
-
listWidgetの動作を確認
データモデル作成は良いけど、クリック時の飛び方 -
行データの与え方
非表示で二列目も作る、二列目に行番号を入れる
foobar を参考に -
解析ルーチンを派生クラスのメソッドにして親から呼ぶ、データモデルをselfで保持する(これは再解析を含む)、データモデルが戻り値
-
親に対してモデルを帰すメソッド実装、タブ切替時に呼ぶ
-
かならずモデルを作る、解析すべきモノが無ければ「┐('д')┌」
タブ名の変更 新規保存時
QTabWidget.setTabText (self, int index, QString)
int QTabWidget.currentIndex (self)
重複確認
QString QTabWidget.tabText (self, int index)
int QTabWidget.count (self)
QWidget QTabWidget.widget (self, int index)
for i in range( tabwidget.count() ) :
if fname == tabwidget.widget(i).子供.procDict['fname']
ロードしないでそのタブを表示して終わる
その旨メッセージ出すか
カラーコード
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")
---> scieditor2