You are not logged in.
Hi,
I would like to add the ability for the ribbon to be notified when a mark sql action popup menu item has been clicked by the user. This is so that I can update a "mark status" that I can display on my reports to show on the report what the report contains (if an item is marked since a mark action or query has been performed I clear the mark status to "Marked Items").
What I propose is in mORMotToolbar:
TMarkActionEvent = procedure (Sender : TObject; const aRecordClass : TSqLRecordClass; aSQLAction : TSQLAction) or object;
A TSQLLister.OnMarkAction property
private
FOnMarkAction: TMarkActionEvent;
public
property OnMarkAction: TMarkActionEvent read FOnMarkAction write FOnMarkAction;
and a call to OnMarkAction event handler in TSQLLister.ActionButtonClick()
begin
if fReportDetailedIndex<0 then
exit; // avoid recursive call after GB.Down := false below
aAction := isActionButton(Sender);
case A of
actNoAction: exit;
actUnMarkAll:
// (un)marking are standard actions
TableToGrid.SetMark(A);
actMark:
if Sender.InheritsFrom(TSynToolButton) then
Btn.DoDropDown else
if Sender.InheritsFrom(TMenuItem) then begin
// actMarkAllEntries..actMarkBeforeOneYear are regrouped in
// the only one aAction=actMark button
TableToGrid.SetMark(TSQLAction(TMenuItem(Sender).Tag));
if Assigned(FOnMarkAction) then
FOnMarkAction(Sender, fClass, TSQLAction(TMenuItem(Sender).Tag));
end
else begin
etc.
Thanks,
Kevin.
Offline
Should be included by http://synopse.info/fossil/info/39b1c09c12
Thanks for the proposal!
Offline