スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[AIR] DataGrid にて、特定の行の背景色を変更する

Flex での DataGrid の背景色の変更については、
少し調べるとセルを描画するレンダラを変更して
云々というのが見つかるのですが、

DataGridで特定の行のスタイルを変更したい - 教えて!goo
http://oshiete1.goo.ne.jp/qa2728403.html

DataGridの背景色を変える - Flex Coder
http://d.hatena.ne.jp/sato-shi/20060824/p3

斜め読みしてまあまあ理解したような気にはなったのですが、
コードが長く、正直ちょっと手を出しにくい感じです。

そこでこちらの方法を採用しました。

第12回 Flexが備えるMXMLコンポーネント(Part7:データグリッド)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070330/267029/

 「1-9.データによって行の背景色を変える」の部分を参照下さい。

 Webプログラミングで表など作った事のある方はピンときやすいと思うのですが、
交互に行の背景色を変える際に、その表の行のインデクス(n番目)を、2で割って
その余りで行の背景色を変える、というのが常道としてあるかと思います。
( 0, 1, 0, 1 .... と交互になるので、これで振分けを行う )

 DataGrid もこの方式を内部では用いているので、この色パターンを行数分だけ
再構築してやることで、特定の色をつけたい行に、色をセットすればいいようです。

 上記サイトでのサンプルコードがダウンロードできますので、
コードはそちらを参照下さい。
DataGridSample2.mxml の setColorPattern() です。

 関数の引数、変数など適宜変更することで応用可能かと思います。
 肝はループ内で振り分けて colors.push() している部分で、
ここが複数回処理されるループではデータの件数分、
すなわち表の行数分だけ処理(背景色の設定)が行われます。

 通常であれば、既定である色パターンを交互に採用します。
 特定の行に対しては、条件で振り分けてやることで指定色を設定しています。
 これにより、行数分の色パターンが設定され、もともとの DataGrid が行っている
背景色表示を行うときにその色パターンを参照してもらえるというわけです。
スポンサーサイト

[AppleScript] 常駐アプリのように一定時間で繰り返しの処理をさせたい場合

Macintosh の操作自体もよくわからないまま AppleScript を触っております。
VBでいうところの Timer コントロールを使ったときのように、
アプリを実行させている間、一定の処理を繰り返しでさせる、
ということをやりたかったわけです。

XCode ( + Interface Builder ) を使っていますが、
それらしき部品がないようなので、無限ループを走らせてその中で
処理をすればいいか、とも考えたのですがいざ動かせてみると
ループ処理の中で処理がまわっているので、そのウインドウを
触ることが出来ず、閉じるボタンすら押せないというありさま。

VBならOSに制御を渡す DoEvents などあるわけですが、
それも探してもなさそうなので途方に暮れておりました。
さらに探すと、どうもそういう方法ではないらしいと気がつく。

Xcode & アップルスクリプト虎の巻
http://homepage3.nifty.com/kajiwa-nya/applescript/anchoco.html

ここの「常駐型」というところですね。


on idle
 …
 return 30
end idle




on idle ~ end idle でくくり、 return には一定秒数を記述します。
上記の場合、30秒ごとに「・・・」に記述されたスクリプトが処理されます。

なるほどと思いそう書いてみるものの、ビルドして実行してみると
どうもこのイベントが効いている様子がない。

まだ一工夫いるようです。

AppleScript -- Handlers
http://www.drycarbon.com/applescript/manuals/handlers/handler_etc.html

 「アイドル状態」は、スクリプトが「実行後自動的に終了しない」をチェックした状態で保存されていなければ実行されません。また、スクリプトを開始した場合、まず「run」が実行された直後、一度目の「アイドル状態」が実行されます。



でも XCode ではこういう項目がないわけです。
おそらくテキストエディタで作った場合での方法でしょう。

「AppleScript Programming for Mac OS X」追補情報
http://homepage.mac.com/tuyano/Tankoubon/X-AS.html

●8-2. Dropletプロジェクトのスクリプト設定について

1. MainMenu.nibをInterface Builderで開く。
2. Nibファイルウィンドウで「File's Owner」を選択し、InfoウィンドウのAppleScriptを開く。
3. Applicationの中に「idle」「open」の2つの項目がONになっていることを確認する。
4. その下のスクリプトファイルのチェックがはずれているはずなのでONにする。
5. すべて保存すれば完了。これできちんとイベントが機能するはずです。



新しい Xcode だと Info ウインドウではなく Inspector だったり違いはあるわけですが、
とりあえず Application の設定自体にイベントが有効であるかを示す設定があるので
それをONにしろということのようです。

[AIR] copyTo() メソッドでのファイル上書きコピーの際にエラーが出る

Q.
copyTo() メソッドを使用の際に "Cannot delete file or directory copyto"
(ファイル・あるいはディレクトリが削除できません)というエラーが出ます

A.
ファイルが実際に削除できない(読み取り専用など)ほかに、
copyTo() メソッドで第二引数のオプションを設定していないことが
考えられます。( overwrite:Boolean==false )

このデフォルト値は false なので、無指定の場合は上書きを行わないこととなり、
ファイルが既に存在するときには上記のエラーが表示されます。

flash.filesystem / copyTo() メソッド
http://www.adobe.us/livedocs/flex/3_jp/langref/flash/filesystem/File.html#copyTo()

overwrite:Boolean (default = false) ― false の場合、target パラメータで指定されたファイルが既に存在すると、コピーが失敗します。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。

麻生首相の「ホッケの煮付け」で、ホッケという魚について

麻生首相が「ホッケの煮付け」云々、と言ったことから、
「首相の庶民アピールが失敗」とカップラーメンのときのように
一部報道が鬼の首をとったかのように喜んでおりますが、
どういう考えで首相がそういったかは別として、
私としては特に違和感はなかったわけです。

それは「築地魚河岸三代目」で確かホッケの話があり、
記憶はおぼろげながらもホッケのことについて
少々の知識を得ていたからでありました。

築地魚河岸三代目 20 (20) (ビッグコミックス)築地魚河岸三代目 20 (20) (ビッグコミックス)
(2007/01/30)
鍋島 雅治

商品詳細を見る


断片的な記憶でしかありませんが、

ホッケは「囚人魚」といわれるほど昔はまずい魚の代表であった
・それは鮮度が落ちやすいためで、北海道周辺以外では生ホッケはあまりみかけない
ホッケは2種類あり、マホッケとシマホッケがある
・開きにすると食べやすい魚であり、居酒屋チェーンでは若者に人気がある
・居酒屋チェーンで出る干物は多くはシマホッケ
・生ホッケは煮つけやムニエルやらにすると美味い

てな感じで、世代によってホッケにもつイメージが違う、みたいな話だったと思います。

22巻でもホッケの話があり、巻末で「ホッケの顔の煮付け」 のレシピがあります。

築地魚河岸三代目 22 (22) (ビッグコミックス)築地魚河岸三代目 22 (22) (ビッグコミックス)
(2008/04/26)
不明

商品詳細を見る


平野文の DJ blog  ~fumi fumi station~ : 1月31日(水) もお これがホッケ!?
http://fumi23blog.exblog.jp/4656774/

こんな感じ。うまそうです。

で、例によって毎日変態新聞なのですが、

近事片々:過ちては改むるに憚ることなかれ - 毎日jp(毎日新聞)
http://mainichi.jp/select/opinion/kinji/news/20081111k0000e070054000c.html

> それにしても「ホッケの煮付け」とはどんなものか。庶民としては、食べてみたくなった。

コラムとはいえ、適当感ただよう筆運びです。

首相が魚のことを知らないのはともかく、天下の大新聞である毎日新聞
「庶民」代表の記者大先生が、「ホッケの煮付け」が奇異なものであるような
ものいいは如何なものかと思ったしだいでございます。

【楽天市場】楽天ランキング市場ほっけ部門1位 送料無料商品の同梱にも人気 鮭、いくら、たらこ、と一緒の贈り物に 大変喜ばれています。 ラウス産特選 天日干し 真ホッケ開き(大)【北海道産】【あす楽対応_北海道】【tokuichi1011】【お中元 特集2009】:小樽・海産物専門店小町商店


■追記:2009/09/03
鳩山代表余裕、“ホッケ”で首相やゆ!?
http://www.sanspo.com/shakai/news/090903/sha0909030538003-n1.htm
>民主党の鳩山由紀夫代表(62)は2日、この日の昼食の食事メニューを尋ねられ
>「ホッケ。煮付けじゃないよ」と答えるひと幕があった。

こんなエントリ書いていた私でさえ忘れていたようなネタをなぜこの人は掘り出すのか。

タグ : ホッケ ほっけ 毎日新聞

[AIR] コントロールの doubleClick イベントが動作しない

コントロールの doubleClick イベントに関数を設定し、
マウスでダブルクリックしても反応がなく、関数内にブレークポイントを
設置してもそこを通過した形跡がない。

doubleClick イベントを実効化させようとするためには、
コントロールのプロパティ doubleClickEnabled を true にする必要があるらしい。

doubleClickEnabled プロパティ
http://livedocs.adobe.com/flex/3_jp/langref/flash/display/InteractiveObject.html#doubleClickEnabled

オブジェクトが doubleClick イベントを受け取るかどうかを指定します。デフォルト値は false です。これは、InteractiveObject インスタンスがデフォルトでは doubleClick イベントを受け取らないことを意味します。doubleClickEnabled プロパティがtrue に設定される場合、インスタンスはその境界内で doubleClick イベントを受け取ります。InteractiveObject インスタンスの mouseEnabled プロパティもtrue に設定する必要があります。この設定は、オブジェクトが doubleClick イベントを受け取るようにするには必須です。



参照:
Flex2基礎講座(第16章 ダブルクリックイベント)| iBizSolution
http://www.necst.co.jp/product/ibiz/column/flex/chap16.html
検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。