add button click event to pagecontrol

This commit is contained in:
Basile Burg 2016-08-20 12:31:14 +02:00
parent 7580d621af
commit c4b01c901e
1 changed files with 20 additions and 1 deletions

View File

@ -35,6 +35,8 @@ const
type type
TPageControlButtonClick = procedure(sender: TObject; button: TCEPageControlButton) of object;
(** (**
* Minimalist page-control dedicated to Coedit * Minimalist page-control dedicated to Coedit
* *
@ -65,12 +67,14 @@ type
fOptions: TCEPageControlOptions; fOptions: TCEPageControlOptions;
fOnDragDrop: TDragDropEvent; fOnDragDrop: TDragDropEvent;
fOnDragOver: TDragOverEvent; fOnDragOver: TDragOverEvent;
fPageControlButtonClick: TPageControlButtonClick;
procedure btnCloseClick(sender: TObject); procedure btnCloseClick(sender: TObject);
procedure btnMoveLeftClick(sender: TObject); procedure btnMoveLeftClick(sender: TObject);
procedure btnMoveRightClick(sender: TObject); procedure btnMoveRightClick(sender: TObject);
procedure btnAddClick(sender: TObject); procedure btnAddClick(sender: TObject);
procedure btnSplitClick(sender: TObject); procedure btnSplitClick(sender: TObject);
procedure btnClickEvent(button: TCEPageControlButton); inline;
procedure tabsChanging(sender: TObject; var AllowChange: Boolean); procedure tabsChanging(sender: TObject; var AllowChange: Boolean);
procedure tabsChanged(sender: TObject); procedure tabsChanged(sender: TObject);
@ -114,6 +118,7 @@ type
property moveRightButton: TSpeedButton read fMoveRightBtn; property moveRightButton: TSpeedButton read fMoveRightBtn;
property addButton: TSpeedButton read fAddBtn; property addButton: TSpeedButton read fAddBtn;
property splitButton: TSpeedButton read fSplitBtn; property splitButton: TSpeedButton read fSplitBtn;
property onButtonClick: TPageControlButtonClick read fPageControlButtonClick write fPageControlButtonClick;
property onChanged: TNotifyEvent read fOnChanged write fOnChanged; property onChanged: TNotifyEvent read fOnChanged write fOnChanged;
property onChanging: TTabChangingEvent read fOnChanging write fOnChanging; property onChanging: TTabChangingEvent read fOnChanging write fOnChanging;
@ -146,7 +151,10 @@ begin
inherited; inherited;
ctrl := TCEPageControl(owner); ctrl := TCEPageControl(owner);
i := ctrl.getPageIndex(self); i := ctrl.getPageIndex(self);
if i <> -1 then ctrl.fTabs.Tabs[i] := caption; ctrl.fTabs.BeginUpdate;
if i <> -1 then
ctrl.fTabs.Tabs[i] := value;
ctrl.fTabs.EndUpdate;
end; end;
constructor TCEPageControl.Create(aowner: TComponent); constructor TCEPageControl.Create(aowner: TComponent);
@ -525,24 +533,34 @@ begin
setPageIndex(fPageIndex-1); setPageIndex(fPageIndex-1);
end; end;
procedure TCEPageControl.btnClickEvent(button: TCEPageControlButton);
begin
if assigned(fPageControlButtonClick) then
fPageControlButtonClick(self, button);
end;
procedure TCEPageControl.btnCloseClick(sender: TObject); procedure TCEPageControl.btnCloseClick(sender: TObject);
begin begin
btnClickEvent(pbClose);
deletePage(fPageIndex); deletePage(fPageIndex);
end; end;
procedure TCEPageControl.btnMoveLeftClick(sender: TObject); procedure TCEPageControl.btnMoveLeftClick(sender: TObject);
begin begin
movePageLeft; movePageLeft;
btnClickEvent(pbMoveLeft);
end; end;
procedure TCEPageControl.btnMoveRightClick(sender: TObject); procedure TCEPageControl.btnMoveRightClick(sender: TObject);
begin begin
movePageRight; movePageRight;
btnClickEvent(pbMoveRight);
end; end;
procedure TCEPageControl.btnAddClick(sender: TObject); procedure TCEPageControl.btnAddClick(sender: TObject);
begin begin
addPage; addPage;
btnClickEvent(pbAdd);
end; end;
procedure TCEPageControl.btnSplitClick(sender: TObject); procedure TCEPageControl.btnSplitClick(sender: TObject);
@ -556,6 +574,7 @@ begin
fSplittedPageIndex:= fPageIndex; fSplittedPageIndex:= fPageIndex;
end; end;
setPageIndex(fPageIndex); setPageIndex(fPageIndex);
btnClickEvent(pbSplit);
end; end;
procedure TCEPageControl.setButtons(value: TCEPageControlButtons); procedure TCEPageControl.setButtons(value: TCEPageControlButtons);