CComponentSpliceService



Implements component splice service. You may use it as a base class for your component splice service and overwrite the only needed methods. By default all methods of this class just call corresponding methods of the service specified at construction time.

You can find more information in comments below. Overrided methods can be found in corresponding base interface.

class CComponentSpliceService :public virtual IComponentService
{
public:
    void setName(const String &value) override;
    void setForm(IForm *value) override;

    void Release() override;
    void SendChangeNotification() override;
    void FreeResources() override;

    // State change notifications
    void NotifyOnAttach() override;
    void NotifyOnDetaching() override;
    void NotifyOnDetach() override;

    // Component notifications
    void NotifyOnComponentAttach(IComponent *component) override;
    void NotifyOnComponentDetach(IComponent *component) override;
    void NotifyOnComponentChange(IComponent *component) override;

    // Control notifications
    void NotifyOnControlAttach(IControl *control) override;
    void NotifyOnControlDetach(IControl *control) override;
    void NotifyOnControlChange(IControl *control) override;
    void NotifyOnControlSetFocus(IControl *control, const MESSAGE_FOCUS &m) override;
    void NotifyOnControlKillFocus(IControl *control) override;
    void NotifyOnControlSetCaptureKeyboard(IControl *control) override;
    void NotifyOnControlKillCaptureKeyboard(IControl *control) override;
    void NotifyOnControlSetCaptureMouse(IControl *control) override;
    void NotifyOnControlKillCaptureMouse(IControl *control) override;
    void NotifyOnControlSetModal(IControl *control) override;
    void NotifyOnControlKillModal(IControl *control) override;

    // Other input notifications
    void NotifyOnHotkey(const MESSAGE_HOTKEY &m) override;

    // Application notifications
    void NotifyOnApplicationActivate() override;
    void NotifyOnApplicationDeactivate() override;
    void NotifyOnTimeChange() override;
    void NotifyOnInputLanguageChange() override;
    void NotifyOnDisplayChange(const MESSAGE_SIZE &m) override;
    void NotifyOnThemeChange() override;
    void NotifyOnClipboardUpdate() override;
    // Since 2.0.0
    void NotifyOnTranslateChange() override;

    // Form/window notifications
    void NotifyOnFormActivate(const MESSAGE_WINDOW_ACTIVATE &m) override;
    void NotifyOnFormDeactivate() override;
    void NotifyOnFormSetFocus() override;
    void NotifyOnFormKillFocus() override;
    void NotifyOnFormEnable() override;
    void NotifyOnFormDisable() override;
    void NotifyOnFormShow() override;
    void NotifyOnFormHide() override;
    void NotifyOnFormMove(const MESSAGE_POSITION &m) override;
    void NotifyOnFormRestore(const MESSAGE_SIZE &m) override;
    void NotifyOnFormMinimize(const MESSAGE_SIZE &m) override;
    void NotifyOnFormMaximize(const MESSAGE_SIZE &m) override;
    void NotifyOnFormEnterSizeMove() override;
    void NotifyOnFormExitSizeMove() override;

    // Dialog box notifications(since 9.0.0)
    void NotifyOnDialogBoxActivate(IDialogBox *control) override;
    void NotifyOnDialogBoxDeactivate(IDialogBox *control) override;

    CComponentSpliceService(IComponent *component); // Specify component which service should be spliced(replaced) by this one. Component is assumed to be valid, empty value should not be used. Also component should return valid service via QueryService() method. Empty service is unacceptable
    virtual ~CComponentSpliceService(); // Restore component original service and destroy itself. If component's service was spliced several times, restore only own splicing changes. It allows to work propertly with multiple splicing
};
Namespace: nitisa
Include: Nitisa/Core/ComponentSpliceService.h