Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-07-14

【主要機能1】選択した文字列に対する変換機能、を実装

| 【主要機能1】選択した文字列に対する変換機能、を実装 - そっとなでしこ を含むブックマーク はてなブックマーク - 【主要機能1】選択した文字列に対する変換機能、を実装 - そっとなでしこ

 エディタ部品上で選択された文字列を加工して返す処理を実装。

 実装する機能は、【主要機能1】の内、

  • 選択した文字列を、アスキーアート表示用@wiki記法で囲む

 同じく【主要機能1】の

  • 選択した文字列を、指定した文字サイズ、文字色で装飾する@wiki記法で囲む

は、リストやボタンなど複数部品で構成される独自フォームを呼び出す比較的に複雑な機能なので、後回しw

■ソースコード

#-----------------------------------------------------------------------
# GUI定義
#-----------------------------------------------------------------------
母艦のX=0
母艦のY=0
母艦のH=500
母艦のW=900

スレ引用ツールとはTエディタ
スレ引用ツールについて
 レイアウトは「全体」
 #ポップアップメニューは右クリックメニュー
 #左バーはオフ
 #ルーラーはオフ
 表示記号は「スペース{~}タブ{~}全角スペース{~}EOF{~}改行」
 折り返しは110
 オートインデントはオフ

# メニューバーの定義
「#親,部品名,テキスト,ショートカット,チェック,イベント
なし,ファイルメニュー,ファイル(&F)
-,出力メニュー,出力(&Q),Ctrl+Q,,出力処理
なし,編集メニュー,編集(&E)
-,AA記法挿入メニュー,AA記法挿入,F1,,AA記法挿入処理
-,画像記法挿入メニュー,画像記法挿入,F2,,画像記法挿入処理
-,サムネ画像記法挿入メニュー,サムネ画像記法挿入,F3,,サムネ画像記法挿入処理
-,-
-,文字装飾メニュー,文字装飾(&E),Ctrl+E,,文字装飾処理
」を、メニュー一括作成。
#-----------------------------------------------------------------------
# イベント処理
#-----------------------------------------------------------------------
スレ引用ツールのクリックした時は
 文字列選択状態別処理
スレ引用ツールのキー押した時は
 文字列選択状態別処理
#-----------------------------------------------------------------------
# 起動処理
#-----------------------------------------------------------------------
文字列選択状態別処理する。

#-----------------------------------------------------------------------
# 関数定義
#-----------------------------------------------------------------------
●文字列選択状態別処理
 もし、(スレ引用ツールの選択文字列)が「」ならば、
  画像記法挿入メニューの有効はオン。
  サムネ画像記法挿入メニューの有効はオン。
  AA記法挿入メニューの有効はオフ。
  文字装飾メニューの有効はオフ。
 違えば
  画像記法挿入メニューの有効はオフ。
  サムネ画像記法挿入メニューの有効はオフ。
  AA記法挿入メニューの有効はオン。
  文字装飾メニューの有効はオン。

●出力処理
 「エディタ上の文字列を出力変換処理をしてメモ記入する」と言う。

●AA記法挿入処理
 #「選択した文字をAA記法で囲う」と言う。 
 処理済み文字列は、「#aa{波カッコ}{波カッコ}{波カッコ}{波カッコ}{~}」&
 「{スレ引用ツールの選択文字列}{~}」&
 「{波カッコ閉じ}{波カッコ閉じ}{波カッコ閉じ}{波カッコ閉じ}」。
 スレ引用ツールの選択文字列は、処理済み文字列。

●画像記法挿入処理
 「画像記法を挿入する」と言う。 

●サムネ画像記法挿入処理
 「サムネ画像記法を挿入する」と言う。 

●文字装飾処理
 「選択した文字のサイズ・色を選択するフォームをポップアップする」と言う。

■コメント

■アスキーアート表示用@wiki記法の中カッコが4重になっている理由

 アスキーアート表示用@wiki記法では、対象となるアスキーアート文字列を最低限一つの中カッコで囲えば足ります。

 ただし、対象のアスキーアート文字列に中カッコが含まれた場合には正しく動作しません。その場合は、囲む中カッコの数を増やします。

 例えば4重に囲んだ場合は、アスキーアート内に「{」「}」「{{」「}}」「{{{」「}}}」が含まれても正しく機能します。しかし「{{{{」「}}}}」が含まれる場合は、正しく機能しません。

 経験上、「{{{{」「}}}}」を含むアスキーアートに出会ったことが無いので、ここでは4重の中カッコで囲っています。