GSModeler Engine Version: 9.0

RenderingPanelInterfaceImp class



Description Ancestor class of rendering dialog interface implementer. Details...
Module Rendering API
Base classes -
Derived classes -
Header RenderingPanelInterfaceImp.hpp


Public methods

    Constructors

Interface functions

    GetName
    GetIcon
    CreateTabPage
    DestroyTabPage
    RenderingSettingsChanged
    ChoosePicture

Detailed description

This class is the ancestor of the add-on created rendering dialog panels. The add-on can customize the rendering settings dialog creating one or more new panel into the dialog using this interface.
Here is a typical implementation of the RenderingDialogInterface class:


class RenderingDialogInterface : RenderingPanelInterfaceImp {
private:
    RenderingPanel*         panel;     // The new panel.
    RenderingPanelObserver* observer;  // The observer of the new panel.

public:
             RenderingDialogInterface ();
    explicit RenderingDialogInterface (GSModeler::RenderingDialogInterfaceImp* dialogInterface);

    virtual void      GetName (char* name);
    virtual DG::Icon  GetIcon (void);
    virtual bool      CreateTabPage (const DG::TabControl& tabControl);
    virtual void      DestroyTabPage (void);
    virtual void      RenderingSettingsChanged (GSModeler::RenderingSettings* renderingSettings);
};

The RenderingPanel class:


class RenderingPanel: public DG::TabPage  // The class of the new material tabpage.
{
friend class MaterialPanelObserver;

private:
    enum {                                    // Identifyers of controls.
        EditControlId = 1
    };

    DG::PosIntEdit editControl;               // Controls.

    GSModeler::RenderingSettings* renderingSettings;  // The rendering settings.

public:
    RenderingPanel (const DG::TabControl& tabControl, short resourceId);

    void RenderingSettingsChanged ( GSModeler::RenderingSettings* settings);
};

The RenderingPanelObserver class:


class RenderingPanelObserver: private DG::PanelObserver,        // The observer of the new panel.
                              public  DG::PosIntEditObserver,
                              private DG::CompoundItemObserver
{
private:
    RenderingPanel* panel;                                     // Pointer to the panel.

public:
     RenderingPanelObserver (RenderingPanel* panel);
    ~RenderingPanelObserver ();

    virtual void PosIntEditChanged (const DG::PosIntEditChangeEvent& ev);
};




See Also

RenderingDialogInterfaceImp

Copyright © 2004 - Graphisoft R&D Software Development Rt. All rights reserved worldwide.