mqsdx 310.0.1 MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ

- メインページ
- 関連ページ
- モジュール
- クラス
- ファイル

- 構成
- 構成索引
- クラス階層
- 構成メンバ

全て クラス 関数 変数 型定義 プロパティ グループ ページ
Public メソッド | Protected 型 | Protected メソッド | プロパティ | すべてのメンバ一覧
クラス テンプレート MQCLI::Plugins::StationPluginTemplate< T_MANAGEDBASE, T_UNMANAGED >
MQCLIの一覧

StationPluginおよびCommandPluginの基底実装テンプレート [詳細]

`#include <MQCLI.hpp>`

MQCLI::Plugins::StationPluginTemplate< T_MANAGEDBASE, T_UNMANAGED >に対する継承グラフ
[凡例]

## Public メソッド
| StationPluginTemplate (const char *productName, const char *pluginFullName, const char *displayName)
| StationPluginTemplate (const char *productName, const char *pluginFullName, const char *displayName, const DWORD idProduct, const DWORD idPlugin)

## Protected 型
typedef PluginDefault::DRAW_OBJECT_VIISIBILITY | DRAW_OBJECT_VIISIBILITY
typedef PluginDefault < typename T_UNMANAGED::PluginType > | PluginDefault
typedef PluginDefault::SCENE_OPTION | SCENE_OPTION

## Protected メソッド
MQMaterial | CreateDrawingMaterial (MQDocument doc, int &index, BOOL instant)
MQMaterial | CreateDrawingMaterial (MQDocument doc, int &index)
MQObject | CreateDrawingObject (MQDocument doc, DRAW_OBJECT_VIISIBILITY visibility, BOOL instant)
MQObject | CreateDrawingObject (MQDocument doc, DRAW_OBJECT_VIISIBILITY visibility)
void | DeleteDrawingMaterial (MQDocument doc, MQMaterial mat)
void | DeleteDrawingObject (MQDocument doc, MQObject obj)
int | GetCurrentUndoState (MQDocument doc)
void | GetSceneOption (MQScene scene, SCENE_OPTION &option)

## プロパティ
MQBasePlugin * | basePlugin`[get]`
T_UNMANAGED * | pluginBody`[get]`
MQ0x::SettingProxy::Handle | Setting`[get]`
| Settingハンドルの取得 [詳細]
MQStationPlugin * | stationPlugin`[get]`

## 説明

### template<class T_MANAGEDBASE, class T_UNMANAGED>
class MQCLI::Plugins::StationPluginTemplate< T_MANAGEDBASE, T_UNMANAGED >

StationPluginおよびCommandPluginの基底実装テンプレート

StationPluginTemplateはT_MANAGEDBASEに指定したマネージド型を継承するマネージドクラスです。

StationPluginはStationPluginsInterfacedBaseを継承し、そのまま機能をStationPlugin型として公開します。 CommandPluginはCommandPluginsInterfacedBaseを継承し、さらにStationPluginTemplateだけでは足りないいくつかの機能を追加してCommandPlugin型として公開します。

T_UNMANAGEDについては、通常プログラマは意識する必要はありません。 StationPluginやCommandPluginの定義時に、それぞれ対応するMQStationPluginやMQCommandPluginを専用にカスタムしたアンマネージド型を自動的に割り当てます （またこのアンマネージド型が暗黙にInitialize()処理と連携してマネージドクラスへ処理をパイプしたり、もともとのprotect属性メンバをマネージド側へ公開する仕組みになっています）。

## プロパティ

template<class T_MANAGEDBASE, class T_UNMANAGED>

MQ0x:: SettingProxy:: Handle MQCLI::Plugins::StationPluginTemplate< T_MANAGEDBASE, T_UNMANAGED >::Setting
| get

Settingハンドルの取得

Settingハンドルを取得してMQ0x::Settingクラスを生成します。 MQ0x::SettingはMQSettingクラスの代行です。 コンストラクト時にOpen、デストラクト時にCloseを自動的に実行します。

StationPlugin^ plugin = gcnew StationPlugin("tiritomato", "SamplePlugin Copyright(C) 2013, tiritomato.", "SamplePlugin");
{
SettingProxy setting( plugin.Setting );
setting.Load(...);
setting.Save(...);
setting.Close(); // このClose()はSettingProxyのデストラクタに任せる事も出来ます。
}