ICustomGridService


This interface describes custom grid control service. If a service derived from this interface is assigned to grid control, it will be used to trigger additional notifications provided by standard grid controls like DrawGrid, StringGrid, and ValueListEditor.

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

class ICustomGridService :public virtual IControlService
{
public:
    // Cell status change notifications. "item" can be nullptr if no item is assigned to cell. No notifications are sent when cells are being deleted 
    virtual void NotifyOnHoverCell( // Called when mouse appears over the cell 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnLeaveCell( // Called when mouse pointer leaves the cell 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnSelectCell( // Called when cell becomes selected 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnDeselectCell( // Called when selected cell becomes unselected 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnActivateCell( // Called when cell becomes active 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnDeactivateCell( // Called when active cell becomes inactive 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnEnableCell( // Called when cell becomes enabled 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnDisableCell( // Called when cell becomes disabled 
        const int column, const int row, // Cell coordinates 
        IListItem *item) = 0; // Assocciated item. Can be nullptr 
    virtual void NotifyOnMouseDownCell( // Called when mouse button was down over the cell 
        const int column, const int row, // Cell coordinates 
        IListItem *item, // Assocciated item. Can be nullptr 
        const PointF &position, // Down position in control coordinates 
        const bool left, const bool middle, const bool right, // Mouse button states 
        const bool ctrl, const bool alt, const bool shift) = 0; // Control key states 
    virtual void NotifyOnMouseUpCell( // Called when mouse button was release over the cell 
        const int column, const int row, // Cell coordinates 
        IListItem *item, // Assocciated item. Can be nullptr. Can be different from "down" nitification cell 
        const PointF &position, // Release position in control coordinates 
        const bool left, const bool middle, const bool right, // Mouse button states 
        const bool ctrl, const bool alt, const bool shift) = 0; // Control key states 
    virtual bool NotifyOnMouseMoveCell( // Called when mouse pointer is moving over the cell. Return true if repaint is required or false if not 
        const int column, const int row, // Cell coordinates 
        IListItem *item, // Assocciated item. Can be nullptr 
        const PointF &position, // New mouse pointer position 
        const bool left, const bool middle, const bool right, // Mouse button states 
        const bool ctrl, const bool alt, const bool shift) = 0; // Control key states 
    virtual void NotifyOnMouseDownCancel() = 0; // Called when mouse down state should be reset to normal one. Could be triggered alone or after "NotifyOnMouseUpCell" notification 
};
Namespace: nitisa::standard
Include: Standard/Controls/IDrawGrid.h