178 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| (* ***** BEGIN LICENSE BLOCK *****
 | |
|  * Version: MPL 1.1
 | |
|  *
 | |
|  * The contents of this file are subject to the Mozilla Public License Version
 | |
|  * 1.1 (the "License"); you may not use this file except in compliance with
 | |
|  * the License. You may obtain a copy of the License at
 | |
|  * http://www.mozilla.org/MPL/
 | |
|  *
 | |
|  * Software distributed under the License is distributed on an "AS IS" basis,
 | |
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 | |
|  * for the specific language governing rights and limitations under the
 | |
|  * License.
 | |
|  *
 | |
|  * The Original Code is TurboPower Abbrevia
 | |
|  *
 | |
|  * The Initial Developer of the Original Code is
 | |
|  * TurboPower Software
 | |
|  *
 | |
|  * Portions created by the Initial Developer are Copyright (C) 1997-2002
 | |
|  * the Initial Developer. All Rights Reserved.
 | |
|  *
 | |
|  * Contributor(s):
 | |
|  *
 | |
|  * ***** END LICENSE BLOCK ***** *)
 | |
| 
 | |
| {*********************************************************}
 | |
| {* ABBREVIA: AbPeCol.pas                                 *}
 | |
| {*********************************************************}
 | |
| {* ABBREVIA: Property Editor - ZipView column headings   *}
 | |
| {*   Use AbQPeCol.pas for CLX                            *}
 | |
| {*********************************************************}
 | |
| 
 | |
| {$IFNDEF UsingCLX}
 | |
| unit AbPeCol;
 | |
| {$ENDIF}
 | |
| 
 | |
| {$I AbDefine.inc}
 | |
| 
 | |
| interface
 | |
| 
 | |
| uses
 | |
| {$IFDEF MSWINDOWS}
 | |
|   Windows,
 | |
| {$ENDIF}
 | |
| {$IFDEF UsingClx}
 | |
|   QGraphics,
 | |
|   QForms,
 | |
|   QControls,
 | |
|   QStdCtrls,
 | |
|   QButtons,
 | |
|   QExtCtrls,
 | |
|   AbQView,
 | |
|   AbBseCLX,
 | |
| {$ELSE}
 | |
|   Graphics,
 | |
|   Forms,
 | |
|   Controls,
 | |
|   StdCtrls,
 | |
|   Buttons,
 | |
|   ExtCtrls,
 | |
|   AbView,
 | |
|   AbBseVcl,
 | |
| {$ENDIF}
 | |
|   DesignIntf,
 | |
|   DesignEditors,
 | |
|   AbConst,
 | |
|   SysUtils,
 | |
|   Classes;
 | |
| 
 | |
| type
 | |
|   TAbColHeadingsEditor = class(TForm)
 | |
|     Panel1: TPanel;
 | |
|     Label1: TLabel;
 | |
|     Attribute1: TComboBox;
 | |
|     Done1: TBitBtn;
 | |
|     Apply1: TBitBtn;
 | |
|     Label2: TLabel;
 | |
|     Heading1: TEdit;
 | |
|     Button1: TButton;
 | |
|     procedure FormShow(Sender: TObject);
 | |
|     procedure Attribute1Click(Sender: TObject);
 | |
|     procedure Apply1Click(Sender: TObject);
 | |
|     procedure Heading1Exit(Sender: TObject);
 | |
|   private
 | |
|     { Private declarations }
 | |
|   public
 | |
|     Viewer : TAbBaseViewer;
 | |
| 
 | |
|   end;
 | |
| 
 | |
|   TAbColHeadingsProperty = class(TClassProperty)
 | |
|   public
 | |
|     procedure Edit; override;
 | |
|     function GetAttributes: TPropertyAttributes; override;
 | |
|   end;
 | |
| 
 | |
| 
 | |
| var
 | |
|   AbColHeadingsEditor: TAbColHeadingsEditor;
 | |
| 
 | |
| implementation
 | |
| 
 | |
| uses
 | |
|   AbResString;
 | |
| 
 | |
| {$IFNDEF UsingCLX}
 | |
| {$R *.dfm}
 | |
| {$ENDIF}
 | |
| 
 | |
| type
 | |
|   TAbViewerFriend = class(TAbBaseViewer);
 | |
| 
 | |
| 
 | |
| {===TAbColHeadingsProperty==========================================}
 | |
| procedure TAbColHeadingsProperty.Edit;
 | |
| var
 | |
|   hEditor : TAbColHeadingsEditor;
 | |
| begin
 | |
|   hEditor := TAbColHeadingsEditor.Create(Application);
 | |
|   try
 | |
|     hEditor.Viewer := TAbViewerFriend(GetComponent(0));
 | |
|     hEditor.ShowModal;
 | |
|     Designer.Modified;
 | |
|   finally
 | |
|     hEditor.Free;
 | |
|   end;
 | |
| end;
 | |
| { -------------------------------------------------------------------------- }
 | |
| function TAbColHeadingsProperty.GetAttributes: TPropertyAttributes;
 | |
|   begin
 | |
|     Result := inherited GetAttributes + [paDialog, paAutoUpdate];
 | |
|   end;
 | |
| 
 | |
| 
 | |
| {===TAbColHeadingsEditor============================================}
 | |
| 
 | |
| procedure TAbColHeadingsEditor.FormShow(Sender: TObject);
 | |
| const
 | |
|   cResString: array[TAbViewAttribute] of string = (AbItemNameHeadingS,
 | |
|     AbPackedHeadingS, AbMethodHeadingS, AbRatioHeadingS, AbCRCHeadingS,
 | |
|     AbFileAttrHeadingS, AbFileFormatHeadingS, AbEncryptionHeadingS,
 | |
|     AbTimeStampHeadingS, AbFileSizeHeadingS, AbVersionMadeHeadingS,
 | |
|     AbVersionNeededHeadingS, AbPathHeadingS);
 | |
| var
 | |
|   i : TAbViewAttribute;
 | |
| begin
 | |
|   with Attribute1 do begin
 | |
|     Clear;
 | |
|     for i := Low(TAbViewAttribute) to High(TAbViewAttribute) do
 | |
|       Items.Add(cResString[i]);
 | |
| 
 | |
|     ItemIndex := 0;
 | |
|   end;
 | |
|   Attribute1Click(nil);
 | |
| end;
 | |
| 
 | |
| procedure TAbColHeadingsEditor.Attribute1Click(Sender: TObject);
 | |
| begin
 | |
|   if (Attribute1.ItemIndex > -1) then
 | |
|     Heading1.Text := TAbViewerFriend(Viewer).Headings[Attribute1.ItemIndex];
 | |
| end;
 | |
| 
 | |
| procedure TAbColHeadingsEditor.Apply1Click(Sender: TObject);
 | |
| begin
 | |
|   if (Attribute1.ItemIndex > -1) then begin
 | |
|     TAbViewerFriend(Viewer).Headings[Attribute1.ItemIndex] := Heading1.Text;
 | |
|     TAbViewerFriend(Viewer).InvalidateRow(0);
 | |
|   end;
 | |
| end;
 | |
| 
 | |
| procedure TAbColHeadingsEditor.Heading1Exit(Sender: TObject);
 | |
| begin
 | |
|   Apply1Click(nil);
 | |
| end;
 | |
| 
 | |
| end.
 | |
| 
 |