mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 10:59:11 +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,
|
DefaultDBNavigatorButtons = [nbFirst, nbPrior, nbNext, nbLast,
|
||||||
nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
|
nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
|
||||||
DBNavButtonResourceName: array[TDBNavButtonType] of string = (
|
DBNavButtonResourceName: array[TDBNavButtonType] of string = (
|
||||||
'DBNavFirst', 'DBNavPrior', 'DBNavNext', 'DBNavLast',
|
{ nbFirst } 'DBNavFirst',
|
||||||
'DBNavInsert', 'DBNavDelete', 'DBNavEdit', 'DBNavPost',
|
{ nbPrior } 'DBNavPrior',
|
||||||
'DBNavCancel', 'DBNavRefresh'
|
{ 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
|
type
|
||||||
|
|
||||||
|
@ -268,60 +268,40 @@ begin
|
|||||||
|
|
||||||
// update button properties
|
// update button properties
|
||||||
CurButton.Flat:=Flat;
|
CurButton.Flat:=Flat;
|
||||||
CurButton.Enabled:=Enabled;
|
|
||||||
CurButton.Index:=CurButtonType;
|
CurButton.Index:=CurButtonType;
|
||||||
CurButton.SetBounds(X,Y,W,H);
|
CurButton.SetBounds(X,Y,W,H);
|
||||||
CurButton.Visible:=CurButtonType in FVisibleButtons;
|
CurButton.Visible:=CurButtonType in FVisibleButtons;
|
||||||
CurButton.OnClick:=@ButtonClickHandler;
|
CurButton.OnClick:=@ButtonClickHandler;
|
||||||
CurButton.Parent:=Self;
|
CurButton.Parent:=Self;
|
||||||
CurButton.ControlStyle := CurButton.ControlStyle + [csNoDesignSelectable];
|
CurButton.ControlStyle := CurButton.ControlStyle + [csNoDesignSelectable];
|
||||||
if CurButton.Visible then begin
|
if CurButton.Visible then
|
||||||
|
begin
|
||||||
inc(ButtonNumber);
|
inc(ButtonNumber);
|
||||||
ButtonStartPos:=ButtonEndPos;
|
ButtonStartPos:=ButtonEndPos;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
ActiveChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDBCustomNavigator.UpdateHints;
|
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
|
var
|
||||||
CurButton: TDBNavButtonType;
|
CurButton: TDBNavButtonType;
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
if (FDefaultHints.Count=0) then begin
|
if (FDefaultHints.Count = 0) then
|
||||||
TStringList(FDefaultHints).OnChange:=nil;
|
begin
|
||||||
for CurButton:=Low(Buttons) to High(Buttons) do
|
TStringList(FDefaultHints).OnChange := nil;
|
||||||
FDefaultHints.Add(GetDBNavButtonHint(CurButton));
|
for CurButton := Low(Buttons) to High(Buttons) do
|
||||||
|
FDefaultHints.Add(DBNavButtonDefaultHint[CurButton]);
|
||||||
FOriginalHints := FDefaultHints.Text;
|
FOriginalHints := FDefaultHints.Text;
|
||||||
TStringList(FDefaultHints).OnChange:=@DefaultHintsChanged;
|
TStringList(FDefaultHints).OnChange := @DefaultHintsChanged;
|
||||||
end;
|
end;
|
||||||
i:=0;
|
for CurButton := Low(Buttons) to High(Buttons) do
|
||||||
for CurButton:=Low(Buttons) to High(Buttons) do begin
|
begin
|
||||||
if FHints.Count>i then
|
if FHints.Count > Ord(CurButton) then
|
||||||
Buttons[CurButton].Hint:=FHints[i]
|
Buttons[CurButton].Hint := FHints[Ord(CurButton)]
|
||||||
else
|
else
|
||||||
Buttons[CurButton].Hint:=FDefaultHints[i];
|
Buttons[CurButton].Hint := FDefaultHints[Ord(CurButton)];
|
||||||
Buttons[CurButton].ShowHint:=ShowButtonHints;
|
Buttons[CurButton].ShowHint := ShowButtonHints;
|
||||||
inc(i);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -80,6 +80,18 @@ resourceString
|
|||||||
|
|
||||||
// DBGrid
|
// DBGrid
|
||||||
rsDeleteRecord = 'Delete record?';
|
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
|
// gtk interface
|
||||||
rsWarningUnremovedPaintMessages = ' WARNING: There are %s unremoved LM_'
|
rsWarningUnremovedPaintMessages = ' WARNING: There are %s unremoved LM_'
|
||||||
|
Loading…
Reference in New Issue
Block a user