Interface Builder 2 覚え書き

 
1.Interface Builder とは
2.はじめよう
3.保存について
4.操作方法
5.インスペクタ
6.コネクト(接続)のやり方
7.サブクラスの作成
8.サブクラスのインスタンスの作成
9.作業の流れ
番外.Cocoa#
この文書の利用については、自己責任でお願いします。

Interface Builder とは

  • Interface Builder概要(Apple)
  • Interface builderとは (Wikipedia)
  • Interface Builder 2.5リリースノート(Apple)

    MVC(Model , View,Contoroller に分けることで効率よい開発を目指す) というソフトウェア設計の概念があって、 Interface Builder は、この中で View とController 部分を作成することに特化しているようです。
  • Model :本体のプログラム部分
  • View : 外観、ボタンやウインドウ等の GUI 部分を指す。
  • Controller : GUIを制御するための部分、View と Model を取次ぐ役目を持っている。 Controller(コントローラ)とか ApplicationController 等と呼ばれることが多い。( コントロ−ラ ≠ コントローラオブジェクト )
  • はじめよう

    起動〜メインウインドウ

    Interface Builder の アイコン を ダブルクリック!!
    Interface Builder を起動し、nibファイルを新規作成します。
    (Xcodeのプロジェクト内の場合は「グループとファイル」ツリーから nibファイルをダブルクリックでもInterface Builder が起動します)。


    メニュー画面
    メニュー画面が現れたら「File」を選び、プルダウン項目から「New」を選んでください。
    次に、nib がスタートする地点「StartingPoint」と「Language」(言語) を決めます。

    Cocoa で 始める 場合は、「▼Cocoa 」から、「Apllication」 を選択します。
    設定が終わったら「new」ボタンを押してください。

    スタートポイントにある HIG は Human Interface Guidelineの略?

    メインウインドウが現れます。このウインドウが作成中の nibファイルの本体です。
    様々な状態や設定を表示、編集したりできます。

    新規に作成を始めた場合、まだ、nib にはハッキリした名前がありません。
    とりあえずUntitled(名称未設定)と呼ばれています。
    そこで、すぐにセーブをして、nibファイルに、きちんとした名前をつけてあげてください。


    保存について

  • 始めるには、メニュー画面から「File」>「Open..」 を選びます。 ファイルセレクタから、読込む nibファイルを選択します。

  • 保存するには、メニュー画面から「File」>「Save..」 を選びます。 この時、名前の作成や変更もできます。

  • 作成された xxx.nib ファイル(パッケージ)の中身。
  • keyedobjects.nib (バイナリ)
  • classes.nib ; SubClass の定義と、 Outlet、Action が書かれている(テキストファイル)。
  • info.nib : nibファイルを作成した Interface Builderのバージョン情報、 (XMLファイル)
  • 直接これに触れる必要はないかもしれません。
  • 保存した時に生成されるファイルは、 .nib ファイル1個 だけです。


    操作方法

    メモ

  • キーボード、マウス操作
    マウスドラッグ GUI部品の配置, Connect時の併用。
    マウスクリック メニューなどで、項目の決定。アクションを選択。
    配置されたGUI部品を調べたり、選択したり、移動させたりする。
    ダブルクリック  配置されたGUI部品を調べる。
    メインウインドウのインスタンス-アイコンに対して行うと、元のClass が表示される。
    Window や MENUの場合は、配置のためのオブジェクトが表示される。
    SHIFT + Command + i   Inspector (インスペクタ)を出す。
    Inspector は、インスタンスや GUI 部品の属性や詳細な情報を表示します。
    (メニューのTool から Show Inspector を選択しても同じ)
    Control キー オブジェクト同士を接続する時に使います。


  • メインウインドウ「Instanceタブ」にはインスタンスが表示されています。
    ※新規作成時には、既にNSApplication, FirstResponder, Window, MainMenu のインスタンスが作成されています。
    ※MainMenu、Window の 元のクラスを見つけたければインスタンスのアイコンを選択したまま、Classesタブに切り替えます。


  • メインウインドウでの操作と挙動     
    インスタンス
    アイコン
    ...その作成元にあたるクラス
    (Classesタブをクリックで切替)
    アイコンを
    クリックで選択
    アイコンをダブルクリック
    (自動的にClassesタブに切替わる)
    Inspector
    パレット
    File's OwnerNSObject>NSResponder>NSApplication ---- NSRsponder>NSApplication
    NSApplication Class Inspector
    Attribute
    FirstRsponderNSObject>FirstRsponder ---- FirstRsponder
    FirstRsponder Class Inspector
    MainMenu NSObject>NSMenuNSMenu Inspector Mainmenu オブジェクト出現
    Window NSObject>NSResponder>NSwindowNSWindow Inspector Window オブジェクト出現
    Custom SubClass NSObject のサブクラス ---- NSObject>ApplicationControl
    ApplicationControl(Custom)Class Inspector

  • File's Owner について

    File's Owner はそのnibファイルを管理する外部オブジェクトを示します。初期状態では アプリケーション自身である NSApplication オブジェクトが 権限をもっています。複数のnibファイルを管理したい場合にこれが重要になるそうです。

  • First Responderについて

    WindowとNSApplicationは元を辿ればNSResponder クラスに行き当たります。GUI部品(NSResponder>NSView>NSControl )も。
    NSResponder は 「キーボードが押された」等のイベント伝達を行う運び屋の資格をもつオブジェクトです。

    ADCによればFirstResponder はその中でも変わった運び屋さんで、レスポンス-チェインの最初のResponderにあたります。FirstResponder と コマンドを接続すると、複数のwindowやテキストフィールドオブジェクトあれば、所構わず探し出してすべてにイベントを運ぼうとするので、「ウインドウを閉じる」が「すべてのウインドウを閉じる」にグレードアップするそうです。


    Inspector(インスペクタ)

  • インスタンス選択時のInspectorの挙動と設定可能なパレット一覧

    設定可能なパレット
    インスタンス、メニューオブジェクト、Class によってそれぞれ違います。 切替えでプルダウンメニューのパレット項目が見つからない場合は強制的にAttributesパレットに変更されてしまいます。

    インスタンス選択時に設定可能なパレット
    1.Attributes
    2.Connctions
    3.Size
    4.Bindings
    5.CustomClass
    6.Accessibility
    7.Help
    8.AppleScript
    9.Sherlock
    NSForm(TexField のグループ) , NSMatrix (ラジオボタンのグループ)には、さらに10.Prototype という項目がある。
    Class : Classカラム表示時のパレット
    1.Attributes
    2.Connections
    3.Size
    4.CustomClass
    5.Accessibility
    6.Help

    メニューオブジェクトのインスタンスを ダブルクリックした時のパレット
    1.Attribute
    2.Sharlock
    3. AppleScript
    Inspector のパレット一覧
    ○: 設定可能/△: 空欄のみ/ ×: Not Applicable
    戻: Attributesに戻る
    インスタンス123456789 Class表示
    File's Owner××××○1
    FirstRsponder××××××○1
    MainMenu ××× ※2,3
    NSMenu×××※2,3
    Window ×
    Custom SubClass ××××○1
    ASKDataSource ×××××
    NSDrawer ×○1
    Controller-Obj 123456789Class
    UsrDefalt×××○1
    ObjCtrl×××○1
    Array××××○1
    Tree×××○1
    Context×××○1
    GUI 部品 123456789
    Button ほか
    MENU部品 123456789
    Menu Item ××
    Menu ××
    各パレット概要

    Attributes
    オブジェクトの色や属性を設定。Classの場合はOutletとActionを設定。

    Connections
    Outlet, Target/Action オブジェクトに対する出入力インターフェイスOutletとActionを設定。

    Size
    オブジェクトの位置と、幅と高さを設定する。 Autosizingで、ウインドウの大きさに追随も可能。

    Bindings
    Cocoaバインディングを設定。コントローラオブジェクトを使ってビューをモデル側から動的に変化させる場合に関連付けを行います。変数埋込みなど。

    CustomClass
    Superクラスをカスタムクラスに置換えるらしい。

    Accessibility
    AuXiliary acessibility atrributesの関連付け。(参考)

    Help
    ToolTip(HelpTags)を記述する。マウスをかざすと黄色いボックスと説明文がポップアップします。

    AppleScript
    イベントに対応するAppleScriptを扱う。

    Sherlock
    Sherlock チャネルをGUI部品と関連づける。

    Prototype
    複数のGUI部品が構成された要素を扱う

    複数の要素から構成された特殊なオブジェクト −Attributeと Prototype 項目−

    ラジオボタンや、複数のGUI部品から成る、行・列で構成されたオブジェクトの扱い方。

    NSForm(TexField のグループ) , NSMatrix (ラジオボタンのグループ)のインスペクタ
    これらは少し特殊で、さらに内包する( NSFormCell,NSButtonCell )クラスのためのPrototype パレットが存在します。

    NSForm Inspector/ NSMatrix Inspector のAttributeパレット、またはプルダウンメニューから Prototype ( NSFormCell/NSButtonCell)が選択できます。

    全体を一括して変更するには
  • Prototype パレット
    構成要素の元になる部品を一括変更可能なprototypeの設定があります。
    この中にある Type項目を変更すると、 チェックボックやラジオボタン、決定ボタン等にも変更できます。

  • Attributeパレット
    主に行列構成の設定と、prototype設定の確定を行います。

    行列構成の設定は、 raws,columns欄に値を入れ、横raw個 x 縦column個 の行・列を生成します。
    またprototype設定の確定は、prototype設定後に、Attributeパレットの「Match Prototype」ボタンを押します。
    (この時「Match Prototype」ボタンを押さず、raw, columnを変更すると、異なった種類の prototype のGUI部品を行・列 に追加可能です)
  • 実際の手順
    ★1.GUI部品、NSMatrix (ラジオボタンのグループ)を配置。
    インスペクタウインドウを出す。

    ★2.Prototypeパレットで、Type を「push button」変更 にする

    ★3.Attribute パレット にある match Prototype で確定 (この時「Match Prototype」ボタンを押さず、raw, columnを変更すると、ラジオボタンとプッシュボタンが混じった行・列が出来る)

    ★4.prototype設定の変更が画面上に反映(ラジオボタンからプッシュボタンに変化)。

    個々の構成要素にアクセスするには
    配置されたNSForm, NSMatrix の各部品をダブルクリックします( NSFormCell,NSButtonCell)。

    接続(コネクト)


    Interface builder を使う上で重要な技のひとつです。
    コネクトの起点(クリックや表示などの入力)から、終点(結果の出力)へを結ぶ事でオブジェクト同士を接続します。

    コネクトのやり方
    オブジェクト同士の接続から確定まで、4段階に分けられます。
    起点と終点を結んで、Actionを設定し、 connect ボタンで確定。


    ★1.オブジェクト同士の接続(ウインドウ間をまたぐことも可能)。
    −ボタン(Button)から テキストフォーム (Form) に接続する場合−
    1. 対象(Form)を選択した状態で、
    2. Control キーを押したままにする。
    3. 対象(Button)をマウスで押して(起点に四角い印■が出現)
    4. ドラッグする(ズビズビっと、線が伸びる)、
    5. 接続したい対象(Form) まで引っ張る。
    6.マウスボタンを離す。

    ★2.接続すると、部品同士がつながったように見えますが、まだ接続が有効になっていません
    ★3.次に、Inspector ウインドウを開き、ボタンを押した時の Form に対するAction (takeIntValueFrom)を設定
    ★4.「Connect」ボタンを押して初めて接続が確定されます。

    接続時の注意
  • ★1.〜3. の段階で別の操作に移ったりすると、接続は無効になります。
  • ★3.の段階で、別のアクションに変更しても、うっかり「Connect」ボタンを押さずに別の操作に移ると接続が解除されます。
  • 接続を解除するには、Inspector ウインドウから、「Disconnect」ボタンを押します。
  • 起点と終点を逆にすると入力と出力の向きが逆になります(※対応するActionがあるとは限りません)。
  • 接続はGUIの部品同士以外にも、ウインドウやメニュー、SubClassインスタンスとも接続することができます。

  • 接続の相関を見るには、接続されたオブジェクトの Inspector ウインドウから、Outlet Target/Actionで有効になっている項目を選択します。 接続の表示には例外があり、メニューバーや、ウインドウオブジェクトに対して接続を行った場合、表示の際には「ウインドウバー」に対して接続線が表示されます。

    サブクラス、インスタンスの生成

    これも、重要な技です。

    サブクラスの作成
  • ★1.メインウインドウのClassタブを選択し、カラムから、元にするクラスオブジェクト(NSObject)を選択
  • ★2.メニューから「SubClass NSObject」を選択
  • ★3.カラムリストに、myObject という名前のサブクラスが作成されます。使う場合は、myObject という名前を適切な名前(この例ではApplicationControl)に変更しておきます。


  • サブクラスのインスタンスを作成
    Controller のサブクラスから、インスタンスを作成する時に行います。
  • ★4.メインウインドウのClassタブを選択し、カラムから、元にするクラスオブジェクト(ApplicationControll)を選択
  • ★5.メニューから 「Instanate ApplicationControl」を選択
  • ★6.メインウインドウに、ApplicationControl という名前の サブクラスオブジェクトの アイコンが作成されます。サブクラスオブジェクトに接続。

  • Model .......... main.m 本体のソースコード
    Controller..... controller.m, controller.h (GUI操作を行うサブクラス) Interface Builde で作成
    View............ .nib (GUI部分) Interface Builde で作成
    Controller と Model に、Controllerを含めてもOK。 メインウインドウの、サブクラスインスタンスのアイコンをダブルクリック。 ApplicationControl Class Inspector から  
  • 作成の流れ

    InterfaceBuilder を使った GUI 作成手順を、順に見ていきます。
    メモ

  • GUI を配置するには、最初にWindow インスタンスをダブルクリック!

  • Inspector のカレントメニュー項目はインスタンス共通
    (初期項目はどのInstanceでも「Attribute」固定)
    Inspectorウインドウで「Attribute」→「Connections」に変えておけば、他のInstanceを選択すると 「Connections」パレットで表示する。

  • この時、選択したパレットが、Classやメニューの Inspectorのパレット一覧に無い場合は、強制的に「Attributes」パレットに戻ります。

  • 雛形となるClassの設定項目は基本的に「Attribute」中心。

  • Inspectorウインドウで、編集対象が Class定義 なのか インスタンスなのか、見分ける方法。
    Controllerという名前のClassを定義していて、 Inspectorウインドウのタイトルが、「Controller Class Inspector」ならClass定義を編集中。 「Controller Class(Custom) Inspector」となっていればインスタンスを編集中
  • GUI部品の配置

    メインウインドウで、Windos インスタンスをダブルクリックすることで、 GUI部品をレイアウトするためのウインドウが出現します。 また、この段階で必要ならばGUI部品同士を接続させておくことができます。

    GUIコントローラをサブクラスで作成

    メインウインドウのClassタブを選択し、NSObject のサブクラスを作成。 コントローラの名前をつけます。myObject を ApplicationController という名前に変更。 NSObjectを選択したままで、右クリックで「NSObject subclass」を選択。

    ※NSApplicationからサブクラスを作る場合もあるようです。

  • サブクラスを作成し、Action(アクション/メソッド)とOutlet(アウトレット/出入力対象)を定義します。
    Classes タブで、作成したサブクラス名を選択したまま Inspector のAttributeパレットを選び、編集。
  • Outlet の作成

    Outletとは、出入力インターフェースです(プラグ差し込み口のようなもの)。

    ApplicationController Class Inspector を表示させて、Attribute パレット から、Outrets タブを選択し Add ボタン。

    Outletname という識別名 と、Type(型)を設定して、作成します。  ここで設定したTypeは 配置したGUI部品に対応したものを用意します。

    Actionの作成

    Action はOutletに接続するためのメソッドです。Action Nameで識別され、この名前の最後には必ずコロン「:」が付きます。

    ApplicationController Class Inspector を表示させて、Attribute パレット から、Actionタブを選択しし Add ボタン。

    Action Name を設定します。 ここで設定した名前はApplication Controller クラスや、それを制御するソースコードでも使われることになります。


    ApplicationController Class の Inspector では、
    Attributes パレットでOutletとActionを設定できます(Connections パレットは設定不可)。

    GUIコントローラのサブクラスから、インスタンスを作成

    ApplicationController を選択したままで、右クリックで「NSObject Instance」を選択。 インスタンスを作ってはじめて、メインウインドウに立方体のアイコンが出現します。
    これがサブクラス ApplicationControllerのインスタンスです。

  • サブクラスのインスタンスを、NSApplicationインスタンス(File's Owner) のDelegate※にするには、
    1.メインウインドウのインスタンス-タブ上 File's Owner → ApplicationController へ接続。
    2. File's Owner Inspector のConnectionパレットで、Outlet を 「Delegate」 に選択し、「Connect」ボタンを押す。

    ※Delegateとは、代表とか権限を委任するとかいう意味。 盾のようになって処理を代行できるオブジェクトのこと。継承と違って動的な制御ができるそうです。 アプリケーションを操作するのに、NSApplication のサブクラスを作る代わりに、NSApplicationのDelegateで済ますこともできるらしい。

  • GUIコントローラのインスタンスをDelegateにする

    詳しい事は良くわからないけど、これを行わないとアプリケーションコンパイル時に詰まります。

    File's Owner と Window に対してApplicationController を Delegateにする:

    File's owner から ApplicationController へ 接続


    Window から ApplicationController へ 接続

    それぞれ、Inspector のConnections パレットのOutlet項目の Delegate に自動的にフォーカスが移るので、Connection ボタンを押して接続を確定します。



    ApplicationControllerがnibファイル内の機能を一手に引き受けているし、起動時にウインドウも表示しなければいけないから、確かに代表(Delegate)といえる…。


  • Inspector の Connections パレットで、各インスタンス の Outlet、Action を接続する。
  • Outlet の接続

    まず、
    ApplicationController(Custom)→ GUI部品
      インスペクタの outlet/Actionを選択し「Connect」

    Action の接続

    次に、
    GUI部品 → ApplicationController (Custom)
    インスペクタの outlet/Actionを選択し「Connect」
    Action Nameの最後にはコロン「:」が付きます。

  • Controller側:サブクラスのインスタンスは ApplicationController(Custom)Class Inspector の Connections パレットで Outlet を編集
  • GUI部品側:NSButton Inspector の Connections パレットで Action を編集
  • 接続線を確認しよう: Outlet または Target/Action のリスト項目を青く選択して下さい(上の画像の button1 項目のように)。

    サブクラスを書き出す

    メインウインドウのClassタブで、サブクラスの Application Controlerを選択。
    メニューから、Class Create Files for Application Controler サブクラスのソースコードを書き出す。
    ヘッダ(.h)、ソースコード(.m)、.nibファイルが作成されます。

  • プログラミング言語によっては、Controller用のコードの作成と修正を自分の手で行うものがあります。
  • 最後に

  • これらファイルと nib ファイルをXcode プロジェクトに追加し、ControllerのGUI制御処理とメインプログラムの処理が連携できるように修正します。 Xcodeを使わず、GUI 部分だけを Interface Builderで作っておき、ビルドやコンパイルは Terminal 上 で行う方法もあります。


    参考文献:
  • Cocoaでいこう! Macらしく
  • できる! CamelBones
  • 「Xcode2入門」柴田文彦 著
  • 「Objective-C MacOSX プログラミング」萩原剛志 著
  • 「HappyMacintoshDevelopingTime Second Edition」木下 誠 著
  • BinaryGod
  • HappyMacintoshDeveloppingTimeNSResponder
  • About the First Responder(Apple)
  • Special Elements in a Cocoa Nib File(Apple)
  • Building Applications with Multiple Bundles(Apple)
  • nibファイルを分割してアプリケーションを作成する方法(藤棚工房別棟)
  • nibファイルを分ける(XO)
  • Cocoa#

    >プログラミング言語によっては、Controller用のコードの作成と修正を自分の手で行うものがあります。
    これです。

    Cocoa#とは


    現在、C# の実行環境 Monoの Mac OSX 版は、3種類のGUIに対応しています。
    C# を Cocoa でも使えるようにする仕組みが3番目にある Cocoa#です。
  • 1. system.windows.form による built-in scheme(X11)
  • 2. system.windows.form による Gtk# (X11)
  • 3. Cocoa# による Aqua インターフェイス(Cocoa)

  • もちろん Cocoa# で制御するための GUI は、 Interface Builderで作成します。
    しかし、InterfaceBuilderからは、C#用の subClass Controller のクラスコード を出力できません、
    そこで、CocoaSharp のソースコードに付いてくるサンプルや、classes.nibの情報を参考に自前で書くことになります。

    (ソースコードは必ずしも分離しているわけではなく、Model と Controllerが同じファイルに一緒に記述されている場合もあります← MVCとしては適切ではない例だけど)


    現時点では、C#で Windows でもOSX でも 同じコードで GUI構成を再現するなら、 Cocoa# を使うより 1 か 2 の方法を使うほうが簡単です。

    Cocoa# のApplicationController 例

     using Cocoa; でCocoa# が利用できます。 サンプルコードの中には、using Apple.Foundation;と、using Apple.AppKit; が含まれるコードがあります。これはは統合前の古いコードです。最近のCocoa#ではエラーが出ます。


    知っておくと便利な情報
  • Cocoaで使われるイベントメッセージ一覧。(applicationWillFinishLaunching: メッセージ は、 ApplicationKitフレームワークの。)
  • Cocoa# で使われる オブジェクト名のマネージド表現


    コントローラ部
    // "cocoasharp.nib" を制御するための Controller  
    // using は場合に応じて記述
    using System;
    using System.IO;
    using System.Collections;
    using Cocoa;
    
    
    //【Application Controller Class】コントローラクラスの登録 
    [Register("<Controller Class名>")]
    public class<Controller Class名> : Cocoa.Object {
    
    
    // 【Outlet】アウトレット。
    //Connect に続いて、アウトレット名とタイプを定義しておく(ボタンやウインドウ等)
    // アウトレットのタイプはC#のマネージド表現でなければいけません。例 NSButton → Button
    
    	[Connect]
    	public <アウトレットAのタイプ> <アウトレットAの名前>;  //例: public Button btn;
    
    	[Connect]
    	public <アウトレットBのタイプ> <アウトレットBの名前>; //例: public Window win;	
    
     		
    // 【Application Controller Class の Protected コンストラクタ】必須
    	protected <Controller Class名>(IntPtr native_object) : base(native_object){}
    
    
    // 【Action】アクション。イベント名の最後には、コロン「:」が付きます。
    // applicationWillFinishLaunching: アプリケーションが起動したというイベント発生。
     
    
    	[Export("applicationWillFinishLaunching:")]
    	public void FinishLoading(Notification aNotification) {
    		
    		 <アウトレットAの名前>.Value = <代入する値>";
                
    	}
    //【Action】アクション。 ボタンが押されたというイベントが発生。
    // nibファイルのAction Nameで設定したアクション名を記述。
    
    	[Export("<アクション名>:")]
    	public void <アクション名>(Cocoa.Object sender) {
    			
    		 <アウトレットAの名前>.Value = <代入する値>;
    		
    				
    	}
    }
    
    モデル部 Main.cs
    class MainClass {
    	public void Run() {
            Application.Init();
    		Application.LoadNib ("cocoasharp.nib");
    		Application.Run();
    	}
    	
    	static void Main(string[] args) {
    		MainClass main = new MainClass();
    		main.Run();
    	}
    	
    	
    }	
    
    ターミナルで、ビルド
    gmcs -t:exe -out:Main.exe -r:/Library/Frameworks/Mono.framework/Versions/1.1.15/lib/mono/cocoa-sharp/cocoa-sharp.dll  Main.cs
    macpack -m:2 -n:Main -o:. -a:Main.exe -r:/Library/Frameworks/Mono.framework/Versions/1.1.15/lib/mono/cocoa-sharp/cocoa-sharp.dll  -r:cocoasharp.nib
    参考文献:
  • CocoaSharp サンプルコード。
  • BinaryGod Cocoa#の、 nib チュートリアル。
  • BinaryGod Cocoa#の、TableView のチュートリアル。
  • CocoaSharpファーストインプレッション (Programmer's High)

    Outlet の Type 一覧

    (monodoc より)
    Cocoa#のクラス構成やメソッドに関するドキュメントは、MonoのXMLファイルに含まれています。これを見るための Monodocというアプリケーションが、CocoaSharp のソースコードからビルドすると、一緒に作成されます。もしFramework版をインストールしてしまった人は monodocs2html というツールがあるので、それを使ってドキュメントをHTML化することができます。(参考)


    HTML文書化の方法
    (Mono1.1.15をインストール済みで、cocoa-sharp-0.9.1をデスクトップに解凍した場合、 index.xml の type タグ情報に載っていないものがあるので(button等)追加しておく。)
    $ mono path/to/monodocs2html.exe --source XML文書のあるディレクトリ --dest 展開先ディレクトリ名

    mono /Library/Frameworks/Mono.framework/Versions/1.1.15/lib/monodoc/monodocs2html.exe --source /Users/user/Desktop/cocoa-sharp-0.9.1/doc/en/ --dest /Users/user/Desktop/cocoa-sharp-0.9.1/monodochtml/

    マネージド表現
    コントローラ部で、アウトレットのタイプにあたる型は、マネージド表現で書く必要があります。(参考?)
    Cocoa#ではコントローラ部分のコードで NSButton を扱う場合は Button とというマネージド表現で書きます。
    // Connect に続いて、アウトレット名とタイプを定義しておく
    [Connect]
    //例:public <アウトレットAのタイプ> <アウトレットAの名前>;
    public Button button2;
    Cocoa Namespace
    • ActionHandler ………イベントによって呼び出されるメソッドの形式を定義する
    • Alert ………NSAlert のマネージド表現(managed representation).
    • AlertStyle ………Alertによるスタイルの定義.
    • Application ………NSApplication class のマネージド表現
    • Array ………NSArray のマネージド表現.
    • AutoreleasePool ………NSAutoreleasePool のマネージド表現
    • BackingStoreType ……… windowのためのBacking store type( ウィンドウが隠されたときに描画部分を保持する仕組み)
    • BezierPath ………NSBezierPath のマネージド表現
    • Browser ………NSBrowserのマネージド表現
    • BrowserCell ………ANSBrowserCell のマネージド表現
    • Bundle ………NSBundleのマネージド表現
    • Button ………NSButtonのマネージド表現
    • CachedObject
    • CalibratedRGBColor ………NSCalibratedRGBColorのマネージド表現
    • Cell ………NSCellのマネージド表現
    • CellStateValue ………指定したセルの状態
    • CFString
    • CFTimer
    • Color ………NSColorのマネージド表現
    • ConnectAttribute
    • Control
    • DeviceRGBColor
    • Dictionary
    • DragDestination
    • DragOperation
    • Drawer
    • ExportAttribute
    • FileWrapper
    • Image
    • ImageView
    • MenuItem
    • MethodSignature
    • MutableArray
    • MutableString
    • Native
    • Native+ClassHandlerDelegate
    • Native+IMPDelegate
    • Notification
    • ObjCMessaging
    • Object
    • OpenGLView
    • OutlineView
    • Pasteboard
    • Point
    • PopUpButton ……… NSPopUpButtonのマネージド表現
    • ProgressIndicator
    • Rect
    • RegisterAttribute
    • Responder
    • RunLoop
    • Screen
    • SearchField
    • Size
    • StackPadding
    • String
    • TableColumn
    • Text ………NSText classのマネージド表現
    • TextField
    • TextView ………NSTextViewのマネージド表現
    • Timer
    • URL
    • URLRequest
    • URLResponse
    • View
    • Window
    WebKit Namespace
    • WebBackForwardList
    • WebDataSource
    • WebFrame
    • WebHistoryItem
    • WebView

  • 2005.5.23

    Tsukubado