Implements control splice service. You may use it as a base class for your control 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 CControlSpliceService :public virtual IControlService
{
public:
// Getters
PointF getSizeRequested() override;
// Setters
void setName(const String &value) override;
void setForm(IForm *value) override;
void setParent(IControl *value) override;
void setTabOrder(const int value) override;
void setSize(const PointF &value) override;
// Helpers
void Release() override;
void SendChangeNotification() override;
void AdjustSize() override;
bool MoveControl(IControl *control, const int before) override;
void AlignControls() override;
void InsertControl(IControl *control, const int before) override;
// State change notifications
void NotifyOnAttach() override;
void NotifyOnDetaching() override;
void NotifyOnDetach() override;
void NotifyOnFreeResources() 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 MessageFocus &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 MessageHotkey &m) override;
// Application notifications
void NotifyOnApplicationActivate() override;
void NotifyOnApplicationDeactivate() override;
void NotifyOnTimeChange() override;
void NotifyOnInputLanguageChange() override;
void NotifyOnDisplayChange(const MessageSize &m) override;
void NotifyOnThemeChange() override;
void NotifyOnClipboardUpdate() override;
void NotifyOnTranslateChange() override;
// Form/window notifications
void NotifyOnFormActivate(const MessageWindowActivate &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 MessagePosition &m) override;
void NotifyOnFormRestore(const MessageSize &m) override;
void NotifyOnFormMinimize(const MessageSize &m) override;
void NotifyOnFormMaximize(const MessageSize &m) override;
void NotifyOnFormEnterSizeMove() override;
void NotifyOnFormExitSizeMove() override;
// Dialog box notifications
void NotifyOnDialogBoxActivate(IDialogBox *control) override;
void NotifyOnDialogBoxDeactivate(IDialogBox *control) override;
// Notifications from parent control
void NotifyOnParentStyleChange() override;
void NotifyOnParentFontChange() override;
void NotifyOnParentResize() override;
void NotifyOnParentTransform() override;
void NotifyOnParentTransformControls() override;
// Notifications from child controls
void NotifyOnChildStyleChange(IControl *control) override;
void NotifyOnChildFontChange(IControl *control) override;
void NotifyOnChildTransform(IControl *control) override;
void NotifyOnChildResize(IControl *control) override;
void NotifyOnChildShow(IControl *control) override;
void NotifyOnChildHide(IControl *control) override;
void NotifyOnChildAttach(IControl *control) override;
void NotifyOnChildDetach(IControl *control) override;
void NotifyOnChildEnable(IControl *control) override;
void NotifyOnChildDisable(IControl *control) override;
void NotifyOnChildBeforeTransform(IControl *control, bool &allowed) override;
void NotifyOnChildBeforeResize(IControl *control, bool &allowed) override;
void NotifyOnChildBeforeShow(IControl *control, bool &allowed) override;
void NotifyOnChildBeforeHide(IControl *control, bool &allowed) override;
void NotifyOnChildBeforeEnable(IControl *control, bool &allowed) override;
void NotifyOnChildBeforeDisable(IControl *control, bool &allowed) override;
// State change notifications
void NotifyOnShow() override;
void NotifyOnHide() override;
void NotifyOnEnable() override;
void NotifyOnDisable() override;
void NotifyOnResize() override;
void NotifyOnTransform() override;
void NotifyOnTransformControls() override;
void NotifyOnStyleChange() override;
void NotifyOnFontChange() override;
void NotifyOnSetModal() override;
void NotifyOnKillModal() override;
void NotifyOnSetFocus(const MessageFocus &m) override;
void NotifyOnKillFocus() override;
void NotifyOnSetCaptureKeyboard() override;
void NotifyOnKillCaptureKeyboard() override;
void NotifyOnSetCaptureMouse() override;
void NotifyOnKillCaptureMouse() override;
void NotifyOnActivate() override;
void NotifyOnDeactivate() override;
// Paint notifications
void NotifyOnPaint(const MessagePaint &m, bool &draw_children) override;
void NotifyOnPaintEnd(const MessagePaint &m) override;
// Keyboard input notifications
void NotifyOnKeyDown(const MessageKey &m, bool &processed) override;
void NotifyOnKeyUp(const MessageKey &m, bool &processed) override;
void NotifyOnChar(const MessageChar &m, bool &processed) override;
void NotifyOnDeadChar(const MessageChar &m, bool &processed) override;
// Mouse input notifications
void NotifyOnMouseHover(const MessagePosition &m) override;
void NotifyOnMouseLeave() override;
void NotifyOnMouseMove(const MessageMouse &m, bool &processed) override;
void NotifyOnLeftMouseButtonDown(const MessageMouse &m, bool &processed) override;
void NotifyOnLeftMouseButtonUp(const MessageMouse &m, bool &processed) override;
void NotifyOnLeftMouseButtonDoubleClick(const MessageMouse &m, bool &processed) override;
void NotifyOnRightMouseButtonDown(const MessageMouse &m, bool &processed) override;
void NotifyOnRightMouseButtonUp(const MessageMouse &m, bool &processed) override;
void NotifyOnRightMouseButtonDoubleClick(const MessageMouse &m, bool &processed) override;
void NotifyOnMiddleMouseButtonDown(const MessageMouse &m, bool &processed) override;
void NotifyOnMiddleMouseButtonUp(const MessageMouse &m, bool &processed) override;
void NotifyOnMiddleMouseButtonDoubleClick(const MessageMouse &m, bool &processed) override;
void NotifyOnMouseVerticalWheel(const MessageMouseWheel &m, bool &processed) override;
void NotifyOnMouseHorizontalWheel(const MessageMouseWheel &m, bool &processed) override;
// Other input notifications
void NotifyOnDropFiles(const MessageDropFiles &m, bool &processed, bool &accepted) override;
// Clipboard notifications
void NotifyOnPasteString(const MessagePasteString &m) override;
// Interceptors
bool InterceptSetCursor(IControl *control) override;
bool InterceptMouseHover(IControl *control) override;
bool InterceptShowHint(IControl *control, String &hint) override;
bool InterceptTabOrder() override;
bool InterceptHotkeys(IControl *control, const MessageHotkey &m) override;
bool InterceptKeyDown(IControl *control, const MessageKey &m) override;
bool InterceptKeyUp(IControl *control, const MessageKey &m) override;
bool InterceptChar(IControl *control, const MessageChar &m) override;
bool InterceptDeadChar(IControl *control, const MessageChar &m) override;
bool InterceptMouseMove(IControl *control, const MessageMouse &m) override;
bool InterceptLeftMouseButtonDown(IControl *control, const MessageMouse &m) override;
bool InterceptLeftMouseButtonUp(IControl *control, const MessageMouse &m) override;
bool InterceptLeftMouseButtonDoubleClick(IControl *control, const MessageMouse &m) override;
bool InterceptMiddleMouseButtonDown(IControl *control, const MessageMouse &m) override;
bool InterceptMiddleMouseButtonUp(IControl *control, const MessageMouse &m) override;
bool InterceptMiddleMouseButtonDoubleClick(IControl *control, const MessageMouse &m) override;
bool InterceptRightMouseButtonDown(IControl *control, const MessageMouse &m) override;
bool InterceptRightMouseButtonUp(IControl *control, const MessageMouse &m) override;
bool InterceptRightMouseButtonDoubleClick(IControl *control, const MessageMouse &m) override;
bool InterceptMouseVerticalWheel(IControl *control, const MessageMouseWheel &m) override;
bool InterceptMouseHorizontalWheel(IControl *control, const MessageMouseWheel &m) override;
bool InterceptDropFiles(IControl *control, const MessageDropFiles &m) override;
bool InterceptFocus(IControl *control, const FocusedBy focused_by) override;
CControlSpliceService(IControl *control); // Specify control which service should be spliced(replaced) by this one. Control is assumed to be valid, empty value should not be used. Also control should return valid service via QueryService() method. Empty service is unacceptable
virtual ~CControlSpliceService(); // Restore control original service and destroy itself. If control's service was spliced several times, restore only own splicing changes. It allows to work propertly with multiple splicing
};
Namespace: | nitisa |
Include: | Nitisa/Core/ControlSpliceService.h |