mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 09:39:31 +02:00
db (can be merged):
- move hints constants to resourcestrings - simplified default hints assigning - don't set enabled state of buttons directly, use a more correct way which depends on current DataLink state (as result in runtime only correct buttons are enabled, not every) git-svn-id: trunk@16736 -
This commit is contained in:
parent
5d3611d298
commit
c911e73e25
@ -844,10 +844,29 @@ const
|
||||
DefaultDBNavigatorButtons = [nbFirst, nbPrior, nbNext, nbLast,
|
||||
nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
|
||||
DBNavButtonResourceName: array[TDBNavButtonType] of string = (
|
||||
'DBNavFirst', 'DBNavPrior', 'DBNavNext', 'DBNavLast',
|
||||
'DBNavInsert', 'DBNavDelete', 'DBNavEdit', 'DBNavPost',
|
||||
'DBNavCancel', 'DBNavRefresh'
|
||||
{ nbFirst } 'DBNavFirst',
|
||||
{ nbPrior } 'DBNavPrior',
|
||||
{ nbNext } 'DBNavNext',
|
||||
{ nbLast } 'DBNavLast',
|
||||
{ nbInsert } 'DBNavInsert',
|
||||
{ nbDelete } 'DBNavDelete',
|
||||
{ nbEdit } 'DBNavEdit',
|
||||
{ nbPost } 'DBNavPost',
|
||||
{ nbCancel } 'DBNavCancel',
|
||||
{ nbRefresh } 'DBNavRefresh'
|
||||
);
|
||||
DBNavButtonDefaultHint: array[TDBNavButtonType] of string = (
|
||||
{ nbFirst } rsFirstRecordHint,
|
||||
{ nbPrior } rsPriorRecordHint,
|
||||
{ nbNext } rsNextRecordHint,
|
||||
{ nbLast } rsLastRecordHint,
|
||||
{ nbInsert } rsInsertRecordHint,
|
||||
{ nbDelete } rsDeleteRecordHint,
|
||||
{ nbEdit } rsEditRecordHint,
|
||||
{ nbPost } rsPostRecordHint,
|
||||
{ nbCancel } rsCancelRecordHint,
|
||||
{ nbRefresh } rsRefreshRecordsHint
|
||||
);
|
||||
|
||||
type
|
||||
|
||||
|
@ -268,60 +268,40 @@ begin
|
||||
|
||||
// update button properties
|
||||
CurButton.Flat:=Flat;
|
||||
CurButton.Enabled:=Enabled;
|
||||
CurButton.Index:=CurButtonType;
|
||||
CurButton.SetBounds(X,Y,W,H);
|
||||
CurButton.Visible:=CurButtonType in FVisibleButtons;
|
||||
CurButton.OnClick:=@ButtonClickHandler;
|
||||
CurButton.Parent:=Self;
|
||||
CurButton.ControlStyle := CurButton.ControlStyle + [csNoDesignSelectable];
|
||||
if CurButton.Visible then begin
|
||||
if CurButton.Visible then
|
||||
begin
|
||||
inc(ButtonNumber);
|
||||
ButtonStartPos:=ButtonEndPos;
|
||||
end;
|
||||
end;
|
||||
ActiveChanged;
|
||||
end;
|
||||
|
||||
procedure TDBCustomNavigator.UpdateHints;
|
||||
|
||||
function GetDBNavButtonHint(CurButton: TDBNavButtonType): string;
|
||||
begin
|
||||
case CurButton of
|
||||
// ToDo: convert to resourcestrings
|
||||
nbFirst: Result:='First';
|
||||
nbPrior: Result:='Prior';
|
||||
nbNext: Result:='Next';
|
||||
nbLast: Result:='Last';
|
||||
nbInsert: Result:='Insert';
|
||||
nbDelete: Result:='Delete';
|
||||
nbEdit: Result:='Edit';
|
||||
nbPost: Result:='Post';
|
||||
nbCancel: Result:='Cancel';
|
||||
nbRefresh: Result:='Refresh';
|
||||
else
|
||||
RaiseGDBException('TDBCustomNavigator.InitHints');
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
CurButton: TDBNavButtonType;
|
||||
i: Integer;
|
||||
begin
|
||||
if (FDefaultHints.Count=0) then begin
|
||||
TStringList(FDefaultHints).OnChange:=nil;
|
||||
for CurButton:=Low(Buttons) to High(Buttons) do
|
||||
FDefaultHints.Add(GetDBNavButtonHint(CurButton));
|
||||
if (FDefaultHints.Count = 0) then
|
||||
begin
|
||||
TStringList(FDefaultHints).OnChange := nil;
|
||||
for CurButton := Low(Buttons) to High(Buttons) do
|
||||
FDefaultHints.Add(DBNavButtonDefaultHint[CurButton]);
|
||||
FOriginalHints := FDefaultHints.Text;
|
||||
TStringList(FDefaultHints).OnChange:=@DefaultHintsChanged;
|
||||
TStringList(FDefaultHints).OnChange := @DefaultHintsChanged;
|
||||
end;
|
||||
i:=0;
|
||||
for CurButton:=Low(Buttons) to High(Buttons) do begin
|
||||
if FHints.Count>i then
|
||||
Buttons[CurButton].Hint:=FHints[i]
|
||||
for CurButton := Low(Buttons) to High(Buttons) do
|
||||
begin
|
||||
if FHints.Count > Ord(CurButton) then
|
||||
Buttons[CurButton].Hint := FHints[Ord(CurButton)]
|
||||
else
|
||||
Buttons[CurButton].Hint:=FDefaultHints[i];
|
||||
Buttons[CurButton].ShowHint:=ShowButtonHints;
|
||||
inc(i);
|
||||
Buttons[CurButton].Hint := FDefaultHints[Ord(CurButton)];
|
||||
Buttons[CurButton].ShowHint := ShowButtonHints;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -80,6 +80,18 @@ resourceString
|
||||
|
||||
// DBGrid
|
||||
rsDeleteRecord = 'Delete record?';
|
||||
|
||||
// DBCtrls
|
||||
rsFirstRecordHint = 'First';
|
||||
rsPriorRecordHint = 'Prior';
|
||||
rsNextRecordHint = 'Next';
|
||||
rsLastRecordHint = 'Last';
|
||||
rsInsertRecordHint = 'Insert';
|
||||
rsDeleteRecordHint = 'Delete';
|
||||
rsEditRecordHint = 'Edit';
|
||||
rsPostRecordHint = 'Post';
|
||||
rsCancelRecordHint = 'Cancel';
|
||||
rsRefreshRecordsHint = 'Refresh';
|
||||
|
||||
// gtk interface
|
||||
rsWarningUnremovedPaintMessages = ' WARNING: There are %s unremoved LM_'
|
||||
|
Loading…
Reference in New Issue
Block a user