You've already forked lazarus-ccr
tvplanit: Activate inplace-editor of NavBar
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4997 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -14,10 +14,10 @@ object Form1: TForm1
|
|||||||
Top = 0
|
Top = 0
|
||||||
Width = 128
|
Width = 128
|
||||||
ActiveFolder = 0
|
ActiveFolder = 0
|
||||||
|
AllowInplaceEdit = True
|
||||||
AllowRearrange = True
|
AllowRearrange = True
|
||||||
BackgroundColor = clInactiveCaption
|
BackgroundColor = clInactiveCaption
|
||||||
BackgroundMethod = bmTile
|
BackgroundMethod = bmTile
|
||||||
BorderStyle = bsNone
|
|
||||||
ButtonHeight = 20
|
ButtonHeight = 20
|
||||||
DrawingStyle = dsEtchedButton
|
DrawingStyle = dsEtchedButton
|
||||||
FolderCollection = <
|
FolderCollection = <
|
||||||
|
@ -206,6 +206,8 @@ type
|
|||||||
FShowButtons: Boolean;
|
FShowButtons: Boolean;
|
||||||
FSoundAlias: string;
|
FSoundAlias: string;
|
||||||
FLoadingFolder: Integer;
|
FLoadingFolder: Integer;
|
||||||
|
FMouseDownPt: TPoint;
|
||||||
|
FAllowInplaceEdit: Boolean;
|
||||||
|
|
||||||
{event variables}
|
{event variables}
|
||||||
FOnArrange: TNotifyEvent;
|
FOnArrange: TNotifyEvent;
|
||||||
@ -305,6 +307,7 @@ type
|
|||||||
function AddContainer(Container: TVpFOlderContainer): Integer;
|
function AddContainer(Container: TVpFOlderContainer): Integer;
|
||||||
procedure RemoveContainer(Container: TVpFolderContainer);
|
procedure RemoveContainer(Container: TVpFolderContainer);
|
||||||
|
|
||||||
|
procedure DblClick; override;
|
||||||
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||||
procedure MouseLeave; override;
|
procedure MouseLeave; override;
|
||||||
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
||||||
@ -320,6 +323,7 @@ type
|
|||||||
|
|
||||||
{properties}
|
{properties}
|
||||||
property ActiveFolder: Integer read FActiveFolder write SetActiveFolder;
|
property ActiveFolder: Integer read FActiveFolder write SetActiveFolder;
|
||||||
|
property AllowInplaceEdit: Boolean read FAllowInplaceEdit write FAllowInplaceEdit default false;
|
||||||
property AllowRearrange: Boolean read FAllowRearrange write FAllowRearrange;
|
property AllowRearrange: Boolean read FAllowRearrange write FAllowRearrange;
|
||||||
property BackgroundColor: TColor read FBackgroundColor write SetBackgroundColor;
|
property BackgroundColor: TColor read FBackgroundColor write SetBackgroundColor;
|
||||||
property BackgroundImage: TBitmap read FBackgroundImage write SetBackgroundImage;
|
property BackgroundImage: TBitmap read FBackgroundImage write SetBackgroundImage;
|
||||||
@ -373,8 +377,8 @@ type
|
|||||||
procedure RenameFolder(AFolderIndex: Integer);
|
procedure RenameFolder(AFolderIndex: Integer);
|
||||||
procedure InsertItem(const ACaption: string; AFolderIndex, AItemIndex, AIconIndex: Integer);
|
procedure InsertItem(const ACaption: string; AFolderIndex, AItemIndex, AIconIndex: Integer);
|
||||||
procedure AddItem(const ACaption: string; AFolderIndex, AIconIndex: Integer);
|
procedure AddItem(const ACaption: string; AFolderIndex, AIconIndex: Integer);
|
||||||
procedure RemoveItem(AFolderIndex, AItemIndex: Integer);
|
|
||||||
procedure InvalidateItem(FolderIndex, ItemIndex: Integer);
|
procedure InvalidateItem(FolderIndex, ItemIndex: Integer);
|
||||||
|
procedure RemoveItem(AFolderIndex, AItemIndex: Integer);
|
||||||
procedure RenameItem(AFolderIndex, AItemIndex: Integer);
|
procedure RenameItem(AFolderIndex, AItemIndex: Integer);
|
||||||
property ActiveItem: Integer read FActiveItem;
|
property ActiveItem: Integer read FActiveItem;
|
||||||
property Containers[Index: Integer]: TVpFolderContainer read GetContainer;
|
property Containers[Index: Integer]: TVpFolderContainer read GetContainer;
|
||||||
@ -387,6 +391,7 @@ type
|
|||||||
TVpNavBar = class(TVpCustomNavBar)
|
TVpNavBar = class(TVpCustomNavBar)
|
||||||
published
|
published
|
||||||
property ActiveFolder;
|
property ActiveFolder;
|
||||||
|
property AllowInplaceEdit;
|
||||||
property AllowRearrange;
|
property AllowRearrange;
|
||||||
property BackgroundColor;
|
property BackgroundColor;
|
||||||
property BackgroundImage;
|
property BackgroundImage;
|
||||||
@ -1454,8 +1459,7 @@ begin
|
|||||||
nabEdit.FolderIndex := AFolderIndex;
|
nabEdit.FolderIndex := AFolderIndex;
|
||||||
nabEdit.ItemIndex := AItemIndex;
|
nabEdit.ItemIndex := AItemIndex;
|
||||||
nabEdit.Font.Size := ItemFont.Size;
|
nabEdit.Font.Size := ItemFont.Size;
|
||||||
nabEdit.Font.Size := ItemFont.Size;
|
nabEdit.BorderStyle := bsNone;
|
||||||
nabEdit.BorderStyle := bsSingle;
|
|
||||||
nabEdit.Top := Item.LabelRect.Top-1;
|
nabEdit.Top := Item.LabelRect.Top-1;
|
||||||
nabEdit.Left := 10;
|
nabEdit.Left := 10;
|
||||||
nabEdit.Height := HeightOf(Item.LabelRect) + 2;
|
nabEdit.Height := HeightOf(Item.LabelRect) + 2;
|
||||||
@ -1788,9 +1792,31 @@ begin
|
|||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
procedure TVpCustomNavBar.DblClick;
|
||||||
|
var
|
||||||
|
folder: TVpNavFolder;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
if FAllowInplaceEdit and (FActiveFolder <> -1) then
|
||||||
|
begin
|
||||||
|
folder := Folders[FActiveFolder];
|
||||||
|
if PtInRect(folder.Rect, FMouseDownPt) then
|
||||||
|
RenameFolder(FActiveFolder)
|
||||||
|
else
|
||||||
|
if (FSelectedItem <> -1) then
|
||||||
|
begin
|
||||||
|
if PtInRect(folder.Items[FSelectedItem].LabelRect, FMouseDownPt) then
|
||||||
|
RenameItem(FActiveFolder, FSelectedItem);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TVpCustomNavBar.MouseDown(Button: TMouseButton; Shift: TShiftState;
|
procedure TVpCustomNavBar.MouseDown(Button: TMouseButton; Shift: TShiftState;
|
||||||
X, Y: Integer);
|
X, Y: Integer);
|
||||||
begin
|
begin
|
||||||
|
FMouseDownPt := Point(X,Y);
|
||||||
|
|
||||||
{complete any editing}
|
{complete any editing}
|
||||||
nabCommitEdit(nil);
|
nabCommitEdit(nil);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user