GO BACK

NewtonScript教室 その2

「レイアウト作成とブラウザの利用」



■レイアウトについてのちょっとした知識

 さて、いよいよNTKでプログラミングを始めることにしましょう。先にいったように、NTKでの開発は「レイアウトを作ること」です。まずはレイアウトの作り方から覚えておくことにしましょう。

 NTKでは、ツールパレットから部品を選んでクリックし、レイアウトウィンドウをマウスでドラッグすると、自動的に選んだ部品が画面に配置されます。が、しかしなんでもかんでも画面に配置すればいい、というものではありません。

 ツールパレットに用意されている部品には、大きく分けて2つの種類があるのです。1つは、レイアウトのベースとなる不部分、つまりウィンドウとして使われる部品です。そしてもう一つは、そのウィンドウ上に配置する部品です。ですから、レイアウトを作る時は、まずベースとなるウィンドウの部品を画面に配置し、その上に各種の部品を配置するようにしなければいけません。

 ツールパレットのアイコン上にマウスポインタを移動すると、ツールパレット上部にあるポップアップメニューが自動的に切り替わり、そのアイコンの部品名が選択されるようになります。つまり、このポップアップ部分を見れば、マウスポインタがある地点の部品の名前がわかるというわけです。NTKではさまざまな部品を使うので、これより先は、この方法で部品名を確認しながら読んでいって下さい。

 さて、まずはベースとなるウィンドウ用の部品からです。ベースとなる部品としては、以下の3つが比較的よく使われるものでしょう。


「protoApp」−−これは、ベースビューとして設定可能なアプリケーションのベースになるものです。NewtonのNamesやDatesを開くと、画面全体にパッとレイアウトが現れますね? あれです。この部品は、ウィンドウ上部にアプリケーションのタイトルが、また下部には時計アイコンとクローズボックスが自動的に作成されるのでとても便利です。

「protoFlatNGo」−−これは、各種の設定ウィンドウなどでよく使われるものです。周囲がグレーの枠線でかこわれているタイプのウィンドウです。こちらはprotoAppと違って、ペンでウィンドウ上部中央をドラッグすることでウィンドウを移動できます。この部品では、右下にクローズボックスだけが自動的に作られます。ちょっとしたプログラムを作る際にはこちらのほうが手軽に使えるでしょう。

「clview」−−一番シンプルなベースです。これは、何にもありません。ただのベースです。もちろん、クローズボックスさえありません。ある程度Newtonの開発に慣れてくると、これをベースに自分でオリジナルのウィンドウなどを定義していくんですが、まだ何もわからない段階では、これは使わないほうがいいでしょう。開いたが最後二度と終了できないソフトなんかを作ってしまうと大変ですからね。


 さて、次はベースの上に実際に配置していく部品です。これはかなりの数があるんですが、とりあえず使い方が簡単で「これだけ覚えておけばとりあえずオッケー」という基本中の基本のもの3つだけ説明しておきましょう。


「protoStaticText」−−文字を表示するのに使われる部品です。これは表示だけで書き換えたりできません。さまざまな部品のラベル表示などに使われます。

「protoInputLine」−−これは、テキストを入力する部品です。この種のものは他にもありますが、まあとりあえず一番シンプルで使いやすいものとして、これを覚えてきましょう。1行だけテキストを入力するには、これが一番です。

「protoTextButton」−−もっともシンプルなボタンです。ペンでタップして何かを動かす時の基本ですね。ボタンは他にもありますが、とりあえず最初はこれだけ覚えておきましょう。


 というわけで、以上の5つ(とりあえずclViewは除外するので)だけ覚えておけば、簡単なプログラム程度を作るには十分でしょう。

 では、簡単なレイアウトを実際に作ってみましょう。−−前回作った、何もないプロジェクトを開いて下さい。そして、「Window」メニューから「Open Layout」を選びます。すると、レイアウトウィンドウが画面に現れますね。

 では、レイアウトウィンドウに、以下のように部品を配置してみて下さい。


1.「protoFlatNGo」アイコンを選び、レイアウトウィンドウ上に適当な大きさで配置する。

2.「protoTextButton」を選び、配置したprotoFlatNGoの部品の上に配置する。


 これで、ボタン1つだけのパッケージのレイアウトができました。レイアウトウィンドウの表示は、ただの四角い枠ですが、これをコンパイルしてNewtonに転送すれば、ちゃんと部品として機能してくれるはずです。−−どうです、簡単でしょう? ウィンドウの部品とウィンドウ上に配置する部品の区別さえはっきりしていれば、レイアウトは割と簡単に作れるのです。

 配置した部品は、中央附近をドラッグすれば移動できますし、右下附近に見える四角い小さなハンドルをマウスでドラッグすると大きさを変えることができます。

 さて、この配置した部品ですが、そろそろ「部品」といういい加減な呼び方はやめて、正式名称はなんというのか知っておきましょう。レイアウトウィンドウに配置されたこれらの部品は「ビュー」といいます。JRのカードのことじゃないですよ。

 また、ツールパレットに用意されている部品を「テンプレート」といいます。−−NTKでは、ツールパレットに用意されているテンプレートを元に、レイアウトウィンドウ上にビューを配置してレイアウトを作る、というわけです。



■ブラウザを使う

 では、作成したボタンに実際に何か機能を組み込んでみましょう。−−レイアウトウィンドウに作ったボタンのビューをマウスでダブルクリックして下さい。画面に新しいウィンドウが現れますね。これは「ブラウザ」ウィンドウというものです。

 このブラウザは、ビューの細かな属性やビューで使う各種の変数の類い、またビューに割り付けるプログラムなどを全てまとめて管理編集するためのツールです。プログラムを作成したり、ビューの設定を変えたりする作業は、全てこのブラウザで行ないます。

 ブラウザは、3つの領域に分かれています。左上、右上、そして下部ですね。それぞれには、以下のようなものが表示されます。


・左上部分−−選択したビュー及びビューに含まれているビューの一覧が現れる。
・右上部分−−左上の部分でビューを選択すると、そのビューに用意されている各種の値やプログラムなどの一覧が現れる。
・下部分−−右上部分の項目を選択すると、その項目に設定されているものがここに表示される。プログラムを選んだ場合はプログラムのソースリストが現れるし、属性の類いの場合はその設定画面が表示される。


 それぞれのビューには、そのビューの属性を定義する「アトリビュート」というものが多数設定されています。例えば、ボタンの場合は、ボタンの大きさやボタンに表示するテキストなどは、アトリビュートとして用意されています。

 ブラウザ右上部分を見ると、「text」という項目が見えますね。これは、ボタンに表示するテキストのアトリビュートです。これを選択すると、下部分に「"Button"」と表示されます。この部分を書き換えて、例えば「"Test"」とすると、ボタンに表示されるテキストは「Test」に変わる、というわけです。

 また、「viewBounds」という項目を選ぶと、下部にはボタンの左上右下のそれぞれの位置が表示されます。ここにある数字を書き換えると、ボタンの大きさが変わるわけです。ボタンの大きさをドット単位で調整するような場合は、マウスで美容な操作をするより、この値を書き換えたほうが簡単ですね。

 では、プログラムはどうなっているんでしょう? 右上部分から「buttonClickScript」というのを選んでみて下さい。下部分になにやらコマンドらしきテキストが表示されますね。

 これが、このボタンのビューをクリックした時に実行されるプログラムなのです。ここに命令を書けば、クリックするとそれが実行されるというわけです。

 NTKでは、「こういう操作をしたらこれを呼び出す」というように、各種の操作ごとに実行されるサブルーチンが決まっています。例えば、「ボタンをクリックする」という操作をしたら、「buttonClickScript」というサブルーチンを呼び出す、とあらかじめ定義してあるのです。ユーザーは、何かしようと思ったら、その操作に対応するサブルーチンに実行させたいプログラムを割り付ければいいというわけです。

 さて、肝心のプログラムリストを見ると、既に3行の命令が書かれているのがわかります。

func()
begin
end

 こうですね。これが、NewtonScriptのサブルーチンの基本形です。NewtonScriptでは、「begin」と「end」の間にプログラムを書く決まりになっています。

 では、とりあえず何かプログラムを書いてみましょう。

func()
begin
	 :Notify(kNotifyAlert,"Alert","Hey, Don't Tap Me !!");
end

 わかりますか? 要するに「begin」と「end」の間を改行し、1行書き加えただけですね。書いてある命令の意味はわからなくて結構です。書き終わったら、「Build Package」メニューでコンパイルし、パッケージを作って下さい。

 では、このパッケージがどんなものか、Newtonへ転送して動かしてみましょう。パッケージをタップして起動すると、このような画面が現れます。

 いやー、なんか感動しますね(笑)。ちゃんとウィンドウとボタンのあるプログラムが実行されているじゃないですか。−−それじゃ、ボタンをタップしてみましょう。画面にアラートウィンドウが現れますよ。

 クローズボックスをタップすればウィンドウは消えます。そしてのパッケージのウィンドウのクローズボックスをクリックすると、ちゃんとパッケージは終了してくれます。どうです、一応それなりに動いているじゃないですか!  今回使った「Notify」という命令は、アラートウィンドウを表示する働きをするものです。これは、以下のように使います。


:Notify(kNotifyAlert,《タイトル》,《表示するテキスト》);


 最初のkNotifyAlertというのは、アラートウィンドウの種類を設定する定数です。これを変更すれば、他のタイプのウィンドウを表示させたりもできるのですが、まあとりあえず今はこのkNotifyAlertというものだけ覚えておきましょう。いずれいろいろ説明していきますから。

 というわけで、なんとかブラウザを使い、プログラムを書いてコンパイルするところまでいきました。NewtonScriptの細かな言語仕様は後でゆっくり覚えるとして、まずはブラウザの使い方など基本的な操作をよーく復習しておいて下さい。



■Toolkitのインストールと働き

 さて、先に作ったパッケージをNewtonにインストールする方法ですが、皆さんはどのようにしましたか? Newtonに付属の「Newton Backup Utility」を使った人が多いでしょうね。

 NTKでの開発は、「プログラミングを書いてコンパイルする」→「Newtonに転送する」ということを何度も繰り返しますから、いちいち転送用のソフトを起動するのでは大変です。そういうことを考えて、NTKにはちゃんとコンパイルしたパッケージを転送する機能があるのです。

 この機能を使うためには、Newton側に「Toolkit」というパッケージを入れておく必要があります。これは、以下のようにしてください。


1.マシンとNewtonを接続します。
2.Newtonで「接続」パッケージを開きます。
3.NTKの「Install Toolkit App」メニューを選びます。ダイアログが現れ、待ち状態となります。
4.Newtonで「接続」をタップします。これでToookitがNewtonに転送されます。


 もし、転送がうまくいかない場合は、NTKの「Toolkit Preferences」メニューを選び、現れたダイアログの「Connection」の項目を確認して下さい。ここで接続の設定を間違えるとうまくつながりません。

 Toolkitの転送がうまくいったら、これを使えば簡単にパッケージの転送ができます。やりかたは以下のようにします。


1.Newtonで「Toolkit」パッケージを開きます。
2.「Download Package」ボタンをクリックします。
3.NTKで、「Project」メニューより「Download Package」を選びます。


 これで、コンパイルして作られたパッケージが自動的に転送されます。とても簡単でしょう? これを使うと、既にパッケージがNewtonにあった場合も自動的に新しいものに入れ替えてくれます。

 NewtonにインストールしたToolkitには、もちろん他にもいろいろな機能が用意されています。ある程度Newtonのプログラミングに慣れてくるとそれらの機能も使えるようになってくるはずですから、メモリに余裕がある人はぜひインストールしておきましょう。


GO NEXT


GO HOME