« Zaurusでエディタを作ろう~ 4 | トップページ | Zaurusでエディタを作ろう~ 6 »

2008年12月 7日 (日)

Zaurusでエディタを作ろう~ 5

第5回。画面表示その他2(細かいところ残り)

画面表示の中から行番号、検索文字列、選択文字、カーソル表示の説明です。

行番号は単純に行の桁数+縦罫線+αの分のマージンをsetHMargin()で設定して、その中にカーソルが入らないようにしてからsetFont()でフォント変えて背景色の設定があったらfillRect()で塗潰しdrawText()row+1を描画すればOKです。簡単
ブックマーク行は色をブックマーク用の色に変更するだけですね。ブックマーク関連のデータ管理については他でやろうと思ってます。
ブックマーク自体はQValueList<int>なだけですが、ブロックコメント系との絡みも一時期あったので…。

検索文字列はQString::find()で文字列を探して、必要なら単語単位チェック。前景色と背景色については、使用するならそれぞれdrawText()とfillRect()を指定色で描画。
と、これも単純です。なにも考えてませんw

選択文字もZEditorの同箇所から流用。fillRect()の前にsetRasterOp( XorROP )で描画方式を設定してその後のdrawText()を省いてます。
drawText()1回分お得? setRasterOp()に与えるオプションはConfigで指定できるようにしたいですね。

カーソル表示は今のところZEditorのを使わせてもらってます。

と、まぁ、最初の勢いはどこへやら、です^^; まぁ、それほど詳しく説明するまでも無い箇所なんでコードも省略。
次からまたちょっと長くなるかもしれないですが…。

|

« Zaurusでエディタを作ろう~ 4 | トップページ | Zaurusでエディタを作ろう~ 6 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/199635/43352285

この記事へのトラックバック一覧です: Zaurusでエディタを作ろう~ 5:

« Zaurusでエディタを作ろう~ 4 | トップページ | Zaurusでエディタを作ろう~ 6 »