mqsdx  300.0.0
MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ。
 全て クラス 関数 変数 プロパティ グループ ページ
クラス テンプレート MQCLI::StationPluginTemplate< T_MANAGEDBASE, T_UNMANAGED >

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

#include <MQCLI.hpp>

MQCLI::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::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::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のデストラクタに任せる事も出来ます。
}