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 |