| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- unit UnixDirViewColProperties;
- interface
- uses
- Classes, ComCtrls, DirViewColProperties;
- resourcestring
- SUnixDirViewRightsCol = 'Rights';
- SUnixDirViewOwnerCol = 'Owner';
- SUnixDirViewGroupCol = 'Group';
- const
- UnixDirViewColumns = 7;
- DefaultUnixDirViewCaptions: array[0..UnixDirViewColumns-1] of Pointer =
- (@SDirViewNameCol, @SDirViewSizeCol, @SDirViewChangedCol,
- @SUnixDirViewRightsCol, @SUnixDirViewOwnerCol, @SUnixDirViewGroupCol,
- @SDirViewExtCol);
- DefaultUnixDirViewWidths: array[0..UnixDirViewColumns-1] of Integer =
- (150, 80, 130, 100, 130, 130, 0);
- DefaultUnixDirViewAlignments: array[0..UnixDirViewColumns-1] of TAlignment =
- (taLeftJustify, taRightJustify, taLeftJustify, taLeftJustify,
- taLeftJustify, taLeftJustify, taLeftJustify);
- DefaultUnixDirViewVisible: array[0..UnixDirViewColumns-1] of Boolean =
- (True, True, True, True, True, True, False);
- type
- TUnixDirViewCol = (uvName, uvSize, uvChanged, uvRights, uvOwner, uvGroup, uvExt);
- TUnixDirViewColProperties = class(TCustomDirViewColProperties)
- private
- function StoreAlignment(Index: Integer): Boolean;
- function StoreCaption(Index: Integer): Boolean;
- function StoreWidth(Index: Integer): Boolean;
- function GetDirOrder(Index: Integer): TUnixDirViewCol;
- function GetSortDirColumn: TUnixDirViewCol;
- procedure SetDirOrder(Index: Integer; Value: TUnixDirViewCol);
- procedure SetSortDirColumn(Value: TUnixDirViewCol);
- protected
- public
- constructor Create(DirView: TCustomListView);
- published
- property MaxWidth;
- property MinWidth;
- property SortAscending;
- property SortByExtension;
- property SortDirColumn: TUnixDirViewCol read GetSortDirColumn write SetSortDirColumn default uvName;
- property NameCaption: string index uvName read GetCaptions write SetCaptions stored StoreCaption;
- property NameWidth: Integer index uvName read GetWidths write SetWidths stored StoreWidth;
- property NameVisible: Boolean index uvName read GetVisible write SetVisible default True;
- property NameAlignment: TAlignment index uvName read GetAlignments write SetAlignments stored StoreAlignment;
- property SizeCaption: string index uvSize read GetCaptions write SetCaptions stored StoreCaption;
- property SizeWidth: Integer index uvSize read GetWidths write SetWidths stored StoreWidth;
- property SizeVisible: Boolean index uvSize read GetVisible write SetVisible default True;
- property SizeAlignment: TAlignment index uvSize read GetAlignments write SetAlignments stored StoreAlignment;
- property ChangedCaption: string index uvChanged read GetCaptions write SetCaptions stored StoreCaption;
- property ChangedWidth: Integer index uvChanged read GetWidths write SetWidths stored StoreWidth;
- property ChangedVisible: Boolean index uvChanged read GetVisible write SetVisible default True;
- property ChangedAlignment: TAlignment index uvChanged read GetAlignments write SetAlignments stored StoreAlignment;
- property RightsCaption: string index uvRights read GetCaptions write SetCaptions stored StoreCaption;
- property RightsWidth: Integer index uvRights read GetWidths write SetWidths stored StoreWidth;
- property RightsVisible: Boolean index uvRights read GetVisible write SetVisible default True;
- property RightsAlignment: TAlignment index uvRights read GetAlignments write SetAlignments stored StoreAlignment;
- property OwnerCaption: string index uvOwner read GetCaptions write SetCaptions stored StoreCaption;
- property OwnerWidth: Integer index uvOwner read GetWidths write SetWidths stored StoreWidth;
- property OwnerVisible: Boolean index uvOwner read GetVisible write SetVisible default True;
- property OwnerAlignment: TAlignment index uvOwner read GetAlignments write SetAlignments stored StoreAlignment;
- property GroupCaption: string index uvGroup read GetCaptions write SetCaptions stored StoreCaption;
- property GroupWidth: Integer index uvGroup read GetWidths write SetWidths stored StoreWidth;
- property GroupVisible: Boolean index uvGroup read GetVisible write SetVisible default True;
- property GroupAlignment: TAlignment index uvGroup read GetAlignments write SetAlignments stored StoreAlignment;
- property ExtCaption: string index uvExt read GetCaptions write SetCaptions stored StoreCaption;
- property ExtWidth: Integer index uvExt read GetWidths write SetWidths stored StoreWidth;
- property ExtVisible: Boolean index uvExt read GetVisible write SetVisible default True;
- property ExtAlignment: TAlignment index uvExt read GetAlignments write SetAlignments stored StoreAlignment;
- property Column1: TUnixDirViewCol index 0 read GetDirOrder write SetDirOrder default uvName;
- property Column2: TUnixDirViewCol index 1 read GetDirOrder write SetDirOrder default uvSize;
- property Column3: TUnixDirViewCol index 2 read GetDirOrder write SetDirOrder default uvChanged;
- property Column4: TUnixDirViewCol index 3 read GetDirOrder write SetDirOrder default uvRights;
- property Column5: TUnixDirViewCol index 4 read GetDirOrder write SetDirOrder default uvOwner;
- property Column6: TUnixDirViewCol index 5 read GetDirOrder write SetDirOrder default uvGroup;
- property Column7: TUnixDirViewCol index 6 read GetDirOrder write SetDirOrder default uvExt;
- end; { TDirViewColProperties }
- implementation
- uses
- SysUtils;
- { TUnixDirViewColProperties }
- constructor TUnixDirViewColProperties.Create(DirView: TCustomListView);
- var
- Index: Integer;
- begin
- inherited Create(DirView, UnixDirViewColumns);
- for Index := 0 to Count-1 do
- begin
- Captions[Index] := LoadResString(DefaultUnixDirViewCaptions[Index]);
- Visible[Index] := DefaultUnixDirViewVisible[Index];
- Widths[Index] := DefaultUnixDirViewWidths[Index];
- Alignments[Index] := DefaultUnixDirViewAlignments[Index];
- end;
- end;
- function TUnixDirViewColProperties.GetDirOrder(Index: Integer): TUnixDirViewCol;
- begin
- Result := TUnixDirViewCol(GetOrder(Index));
- end;
- procedure TUnixDirViewColProperties.SetDirOrder(Index: Integer;
- Value: TUnixDirViewCol);
- begin
- SetOrder(Index, Integer(Value));
- end;
- procedure TUnixDirViewColProperties.SetSortDirColumn(Value: TUnixDirViewCol);
- begin
- SortColumn := Integer(Value);
- end;
- function TUnixDirViewColProperties.GetSortDirColumn: TUnixDirViewCol;
- begin
- Result := TUnixDirViewCol(SortColumn);
- end;
- function TUnixDirViewColProperties.StoreAlignment(Index: Integer): Boolean;
- begin
- Result := (Alignments[Index] <> DefaultUnixDirViewAlignments[Index]);
- end;
- function TUnixDirViewColProperties.StoreCaption(Index: Integer): Boolean;
- begin
- Result := (Captions[Index] <> LoadResString(DefaultUnixDirViewCaptions[Index]));
- end;
- function TUnixDirViewColProperties.StoreWidth(Index: Integer): Boolean;
- begin
- Result := (Widths[Index] <> DefaultUnixDirViewWidths[Index]);
- end;
- end.
|