Prototype > C++ アプリケーションでプロトタイプを使用する > プロトタイプの高度な使用 > Prototypes 拡張機能付き Rogue Wave Views Studio のカスタマイズ
 
Prototypes 拡張機能付き Rogue Wave Views Studio のカスタマイズ
このセクションでは、Prototypes 拡張機能付き Rogue Wave® Views Studio を拡張するために派生させるもっとも重要なクラスについて説明します。
拡張クラス
Rogue Wave Views Studio 拡張機能は IlvStPrototypeExtension クラスで表示され、<ILVHOME>/studio/ivstudio/protos/stproto.h で宣言されています。
class ILVSTPRCLASS IlvStPrototypeExtension
: public IlvStExtension {
public:
IlvStPrototypeExtension(IlvStudio* editor);
static IlvStPrototypeExtension* Get(IlvStudio* editor);
};
このクラス (あるいはサブクラス) のインスタンスは、IlvStudio オブジェクトが作成された後および initialize メソッドが呼び出される前に作成されなくてはなりません。静的な Get メソッドは、IlvStPrototypeExtension の (固有の) インスタンスを返します。
バッファー・クラス
Rogue Wave Views Studio は、IlvStBuffer の 4 つのサブクラスを定義します。これらのクラスは、<ILVHOME>/studio/ivstudio/protos/stproto.h でも宣言されています。
IlvStPrototypeManagerBuffer
IlvStPrototypeManagerBuffer クラスは、「プロトタイプ・インスタンス (2D)」タイプのバッファーを表しています。NewPrototypeManagerBuffer コマンドは、このクラスのインスタンスを作成します。IlvStPrototypeManagerBuffer によって制御されるマネージャーは、IlvManager のインスタンスです。
class ILVSTPRCLASS IlvStPrototypeManagerBuffer
: public IlvStBuffer
{
public:
IlvStPrototypeManagerBuffer(IlvStudio*,
const char* name,
IlvManager* = 0);
};
IlvStPrototypeEditionBuffer
IlvStPrototypeEditionBuffer クラスは、「プロトタイプ」タイプのバッファーを表しています。つまり、プロトタイプの編集に使用されるバッファーです。NewPrototypeEditionBuffer コマンドは、このクラスのインスタンスを作成します。IlvStPrototypeEditionBuffer によって制御されるマネージャーは、IlvGadgetManager のインスタンスです。
class ILVSTPRCLASS IlvStPrototypeEditionBuffer
: public IlvStPrototypeManagerBuffer
{
public:
IlvStPrototypeEditionBuffer(IlvStudio*,
const char* name,
IlvManager* = 0);
void editPrototype(IlvPrototype* prototype,
IlBoolean fromLib = IlTrue,
const char* filename = 0);
IlvPrototype* getPrototype();
IlvPrototype* getEditedPrototype();
};
editPrototype メソッドは、prototype によって指定されているプロトタイプを編集できるようにバッファーを初期化します。プロトタイプのコピーが作成され、関連するマネージャーに保存されます。fromLib 引数は、編集されたプロトタイプがプロトタイプ・パレットに含まれているプロトタイプ・ライブラリーに保存されているか、あるいは .ivp ファイルから読み込まれた「スタンドアロン」プロトタイプであるかを指定します。2 番目のケースでは、オプションの filename 引数は、.ivp ファイルのフル・パス名を含むことができます。
getPrototype() メソッドは、バッファーに含まれているプロトタイプを返します。getEditedPrototype() メソッドは、バッファーが現在ライブラリーからのプロトタイプを編集している場合は、「元の」プロトタイプを返します。そうでない場合は、0 を返します。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.