7月 2011

You are currently browsing the monthly archive for 7月 2011.

概要


前回作成したAir for Android用 Alertダイアログをベースに、質問ダイアログを作成しました。

Alertダイアログでは、Yes,No,Cancelからの選択でしたが、今回作成したダイアログでは任意の文字列をボタンに割り当てられるようにしました。ボタンの数も自由に変更できます。(画面に表示可能な範囲で)
 


仕様


AlertDialogからのチョイ変です。

  1. static関数 CustomQuestionDialog.show()で表示
  2. ダイアログが閉じたときに、CloseEventをディスパッチ
  3. CloseEvent.detailに、選択結果(選択されたボタンのインデックス)を格納

としました。

 

ダウンロード


  ・ライブラリファイル(.swcファイル)
  ・プロジェクトファイル(.zip)
  ・ASDoc(APIリファレンス)

 

使い方


1. ライブラリファイル(CustomQuestionDialog.swc)を、プロジェクトのlibフォルダにおきます。




 

2.確認ダイアログを表示したいときに、CustomQuestionDialog.show()関数を呼びます。

1
2
3
4
5
6
7
CustomQuestionDialog..show(
                   this,
                   "メッセージ",
                   "タイトル",
                   ["選択肢1","選択肢2","選択肢3"]
                   onCloseQuestionDialog
                );

引数として、

  1. ダイアログの親のDisplayObject
  2. 表示するメッセージ
  3. ダイアログのタイトル
  4. ボタンに表示するテキスト(選択肢)の配列
  5. ダイアログが閉じたときに呼ばれる関数 (CloseEventのEventListenner, デフォルト: null)

を指定します。

 

3.確認ダイアログが閉じたときに呼ばれる関数(CloseEventのEventListener)を作成します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/** Dialogが閉じたときに呼ばれる関数 */
private function onCloseQuestionDialog
        (event:CloseEvent):void        
{
    /* ボタンの押下結果を取得する */
    var result:int = event.detail;
           
    if(result == 0)
    {
        /* 0番目のボタンを選択したとき */
        trace(0);
    }
    else if(result == 1)
    {
        /* 1番目のボタンを選択したとき */
        trace(1);
    }
    else if(result == 2)
    {
        /* 2番目のボタンを選択したとき */
        trace(2);
    }
    else if(result == -1)
    {
        /* xボタンでキャンセルしたとき */
        trace(-1);
    }
    else
    {
        /* 未到達コード */
        trace("その他");
    }
}

CloseEventのdetailに、ダイアログでのボタンの押下結果が含まれます。

  ・0番目(1番上のボタン)が選ばれたときは、1
  ・1番目(上から2番目のボタン)が選ばれたときは、2
  ・………
  ・キャンセル(xボタン)が選ばれたときは、-1
 
が格納されます。

EclipseからSubversionをつかうときに
だいぶ手間がかかってしまったのでメモ的に残しておきます。(Windowsの場合)

 

hetemlでのSVNサーバーの構築


hetemlに方法が載っているのでこれを参考にします。
SSH アカウントの作成方法
SVN ご利用時の設定( Windows の場合)

 

Eclipse側の設定(FlashBuilderもEclipseベースなので同様)


1. まず、EclipseにSVNクライアントのプラグイン、Subclipseを導入します。

subclipse プロジェクト ホーム のDownload and Installから、使用中のEclipseのバージョンに合うSubclipseの更新サイトを探します。今回は、Eclipse3.5を使用したので、http://subclipse.tigris.org/update_1.6.xが更新サイトとなります。



2 Eclipseのメニュー -> ヘルプ -> 新規インストールを選択します。



3 1.2で、表示されたウィンドウの作業対象:に、1.1で見つけたURLを入れ、追加ボタンを押します。



4 名前は、適当にSubclipseなどと入れておきます


5 インストールするものを選択して、次へ-> ボタンをおします。
次へ->ボタン押すと、インストールするソフトウェアの一覧が表示されます。そのまま次へ->ボタンをします。
その後、利用規約に同意を選択し、完了ボタンを押します。


6 インストール開始前に、以下のような画面がでるのでOKを選択します。
OKを選択すると、インストールが始まります。
インストールが完了すると、Eclipseの再起動が求められるので再起動します。

 



 

環境変数の設定


1 環境変数 SVN_SSHに、 hetemlでのSVNサーバーの構築でダウンロードしたTortoiseSVNに付属するTortoisePlink.exeのパスを入力します。

C:\Program Files\以下にインストールした場合は、
C:/Program Files/TortoiseSVN/bin/TortoisePlink.exeを入力します。\ではなく、/でパスを区切ります。

2 またhetemlの場合は、SSHのポートが2222なので引数として、-P 2222を渡します。


 

EclipseからSVNサーバーへの接続


1 Eclipseを起動したら、メニューから
ウィンドウ-> ビューの表示-> SVNリポジトリを選択します。


2 SVNリポジトリビューが表示されるので、その上で右クリックし、
新規 -> リポジトリーロケーション と選択します。


3 hetemlでのSVNサーバーの構築での接続と同様にして、接続先に
svn+ssh://[ユーザー名]@[ssh接続のアドレス]/[リポジトリまでの絶対パス]/trunkを指定して、完了ボタンを押します。


4 パスワードが求められるので、SSHへ接続する際のパスワードを入力します。


5 接続に成功すると、リポジトリーロケーションが表示されます。
左の→のところをクリックすると、構成管理しているリソースにアクセスできます。

概要


モバイルプロジェクトでは、mx.controls.Alert(確認ダイアログ)が使用できませんでした。
(Flex 4.5.1)
そこでライブラリとして自作することにしました。
TitleWindowがモバイルでも使えたのでこれベースとして作成。

 


仕様


Alertと挙動を合わせるために、
 
  1. static関数のshow()で表示
  2. ダイアログが閉じたときに、CloseEventをディスパッチ
  3. CloseEvent.detailに、選択結果を格納
 
という仕様にしました。
 
 
ダウンロード


  ・ ライブラリファイル(.swcファイル)
  ・ プロジェクトファイル(.zip)
  ・ ASDoc(APIリファレンス)
 
 
使い方


1. ライブラリファイル(AlertDialog.swc)を、プロジェクトのlibフォルダにおきます



 

2.確認ダイアログを表示したいときに、AlertDialog.show()関数を呼びます。

1
2
3
4
5
6
7
AlertDialog.show(
                   this,
                   "メッセージ",
                   "タイトル",
                   AlertDialog.YES_NO_DIALOG,
                   onCloseAlertDialog
                );

引数として、

  1. ダイアログの親のDisplayObject
  2. 表示するメッセージ
  3. ダイアログのタイトル
  4. ダイアログの種類(デフォルト: YES/NOダイアログ)
  5. ダイアログが閉じたときに呼ばれる関数 (CloseEventのEventListenner, デフォルト: null)

を指定します。

ダイアログの種類 (第4引数)は、

  ・YES/NOダイアログ (AlertDialog.YES_NO_DIALOG)
  ・YES/NO/Cancelダイアログ (AlertDialog.YES_NO_CANCEL_DIALOG)
  ・OKダイアログ (AlertDialog.OK_DIALOG)
  ・OK/CANCELダイアログ (AlertDialog.OK_CANCEL_DIALOG)

から選択できます。

 

3.確認ダイアログが閉じたときに呼ばれる関数(CloseEventのEventListener)を作成します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** 3. AlertDialogが閉じたときに呼ばれる関数 */
private function onCloseAlertDialog
                     (event:CloseEvent):void
{
    /* 選択結果 */
    var result:int = event.detail;
               
    if(result == AlertDialog.YES)
    {
        /* yesを選択したとき */     
    }
    else if(result == AlertDialog.NO)
    {
        /* noを選択したとき */
    }
}

CloseEventのdetailに、確認ダイアログでのボタンの押下結果が含まれます。

  ・Yesを選択したときは、AlertDialog.YES
  ・Noを選択したときは、AlertDialog.NO
  ・OKを選択したときは、AlertDialog.OK
  ・Cancelを選択したときは、AlertDialog.Cancel
 
が格納されます。