ConePluginInfo.h 2.76 KB
Newer Older
hrchilds's avatar
hrchilds committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// ************************************************************************* //
//  File: ConePluginInfo.h
// ************************************************************************* //

#ifndef CONE_PLUGIN_INFO_H
#define CONE_PLUGIN_INFO_H
#include <OperatorPluginInfo.h>
#include <operator_plugin_exports.h>

class ConeAttributes;

// ****************************************************************************
//  Class: ConePluginInfo
//
//  Purpose:
//    Five classes that provide all the information about an Cone operator
//
hrchilds's avatar
hrchilds committed
18 19
//  Programmer: whitlocb -- generated by xml2info
//  Creation:   Fri Jan 6 18:12:18 PST 2006
hrchilds's avatar
hrchilds committed
20 21 22 23 24 25 26 27 28 29 30
//
//  Modifications:
//
// ****************************************************************************

class ConeGeneralPluginInfo : public virtual GeneralOperatorPluginInfo
{
  public:
    virtual char *GetName() const;
    virtual char *GetVersion() const;
    virtual char *GetID() const;
hrchilds's avatar
hrchilds committed
31
    virtual bool  EnabledByDefault() const;
hrchilds's avatar
hrchilds committed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
};

class ConeCommonPluginInfo : public virtual CommonOperatorPluginInfo, public virtual ConeGeneralPluginInfo
{
  public:
    virtual AttributeSubject *AllocAttributes();
    virtual void CopyAttributes(AttributeSubject *to, AttributeSubject *from);
};

class ConeGUIPluginInfo : public virtual GUIOperatorPluginInfo, public virtual ConeCommonPluginInfo
{
  public:
    virtual const char *GetMenuName() const;
    virtual QvisPostableWindowObserver *CreatePluginWindow(int type,
        AttributeSubject *attr, QvisNotepadArea *notepad);
    virtual const char **XPMIconData() const;
};

class ConeViewerPluginInfo : public virtual ViewerOperatorPluginInfo, public virtual ConeCommonPluginInfo
{
  public:
    virtual AttributeSubject *GetClientAtts();
    virtual AttributeSubject *GetDefaultAtts();
    virtual void SetClientAtts(AttributeSubject *atts);
    virtual void GetClientAtts(AttributeSubject *atts);

    virtual void InitializeOperatorAtts(AttributeSubject *atts,
hrchilds's avatar
hrchilds committed
59 60
                                        const ViewerPlot *plot,
                                        const bool fromDefault);
hrchilds's avatar
hrchilds committed
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
    virtual const char **XPMIconData() const;

    static void InitializeGlobalObjects();
  private:
    static ConeAttributes *defaultAtts;
    static ConeAttributes *clientAtts;
};

class ConeEnginePluginInfo : public virtual EngineOperatorPluginInfo, public virtual ConeCommonPluginInfo
{
  public:
    virtual avtPluginFilter *AllocAvtPluginFilter();
};

class ConeScriptingPluginInfo : public virtual ScriptingOperatorPluginInfo, public virtual ConeCommonPluginInfo
{
  public:
hrchilds's avatar
hrchilds committed
78
    virtual void InitializePlugin(AttributeSubject *subj, void *data);
hrchilds's avatar
hrchilds committed
79 80
    virtual void *GetMethodTable(int *nMethods);
    virtual bool TypesMatch(void *pyobject);
hrchilds's avatar
hrchilds committed
81
    virtual char *GetLogString();
hrchilds's avatar
hrchilds committed
82 83 84 85
    virtual void SetDefaults(const AttributeSubject *atts);
};

#endif