[スレッド全体]

2017/10/7 (土) 16:32:53  
[643] Re2:画面表示開始行の取得方法

ちょっと考え直してパッチ投稿することにしました。
https://sourceforge.net/p/sakura-editor/patchunicode/1112/

この程度ならオレにもできる!
と感じてもらえれば幸いです。

berryzplus
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko


2017/10/8 (日) 23:31:49  
[644] Re3:画面表示開始行の取得方法

▼ berryzplusさん
ありがとうございます。
C++ は門外漢ですが,いただいた解説と実装例のパッチを拝見し,どうにかできそうな気になりました。

実のところ,もともとの目的は,以下の Request「EOFが最上部に来るまでスクロール可能にする」
http://sakura.qp.land.to/?Request%2F483
をマクロでどうにかすることです。
パッチ&ビルドが必要となると,私個人はともかく,Request の投稿者さんには敷居が高いですね。

需要についてですが,表示開始行/桁が取得できると,エディタの舌触りというか,使用感を変更できるようになります。
示していただいたサンプルのように,マクロでいろいろやった後に元の表示状態に戻すことが容易になります。
段落移動・タグジャンプ・次/前検索・ブックマーク移動 などで,カーソル移動後の表示を望む場所にできます。

正式版への採用をにらんで考えるに,仕様としては,新たに GetViewTop()・GetViewLeft() を増発するよりも,ChangeTabWidth(), ChangeWrapColm() のように,SetViewTop()・SetViewLeft()・CurLineCenter() の戻り値とした方が良いように思えます。

取得のみ行いたいときは SetViewTop(), SetViewLeft() へ 0 を指定するわけです。
NaKIT
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0


2017/10/9 (月) 21:08:59  
[645] Re4:画面表示開始行の取得方法

さらに考え直してパッチとパッチ適用済みexeをwikiにあげときました。

▼ NaKITさん
> 正式版への採用をにらんで考えるに,仕様としては,新たに GetViewTop()・GetViewLeft() を増発するよりも,ChangeTabWidth(), ChangeWrapColm() のように,SetViewTop()・SetViewLeft()・CurLineCenter() の戻り値とした方が良いように思えます。
>
> 取得のみ行いたいときは SetViewTop(), SetViewLeft() へ 0 を指定するわけです。


いらないものが増えるのは困りそうですが、
SetがあるのにGetがない状況は不自然だと思います。
戻り値を返すようにするのは賛成ですけど、
足りないものを補う増発はやむなしかな、と思います。


あと、ややこしいんですが、
SetViewTopは絶対レイアウト行番号を指定して
その行が上端になるようにスクロールする機能です。
正確な値が必要ならば、やはり取得関数が欲しいです。


ここであるべき姿についてグダグダ語ったとしても
きっと誰も読まないと思うのでそういうのは他所でやることにします。
berryzplus
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81