mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 05:21:28 +01:00 
			
		
		
		
	added methods to ideintf for NewItemIntf to register custom categories
git-svn-id: trunk@7425 -
This commit is contained in:
		
							parent
							
								
									63ebe03976
								
							
						
					
					
						commit
						21a9d058d9
					
				| @ -83,6 +83,7 @@ type | ||||
|     destructor Destroy; override; | ||||
|     procedure Clear; override; | ||||
|     procedure Add(ACategory: TNewIDEItemCategory); override; | ||||
|     Procedure Add(ACategoryName : String); override;  | ||||
|     function Count: integer; override; | ||||
|     function IndexOf(const CategoryName: string): integer; override; | ||||
|     function FindByName(const CategoryName: string): TNewIDEItemCategory; override; | ||||
| @ -459,6 +460,21 @@ begin | ||||
|   FItems.Add(ACategory); | ||||
| end; | ||||
| 
 | ||||
| procedure TNewLazIDEItemCategories.Add(ACategoryName : String); | ||||
| 
 | ||||
| Var | ||||
|   I : integer; | ||||
| 
 | ||||
| begin | ||||
|   I:=IndexOf(ACategoryName); | ||||
|   If I<>-1 then | ||||
|     begin | ||||
|     Items[I].Free; | ||||
|     FItems.Delete(I); | ||||
|     end; | ||||
|   Add(TNewLazIDEItemCategoryFile.Create(ACategoryName)); | ||||
| end; | ||||
| 
 | ||||
| function TNewLazIDEItemCategories.Count: integer; | ||||
| begin | ||||
|   Result:=FItems.Count; | ||||
|  | ||||
| @ -67,6 +67,7 @@ type | ||||
|   public | ||||
|     procedure Clear; virtual; abstract; | ||||
|     procedure Add(ACategory: TNewIDEItemCategory); virtual; abstract; | ||||
|     Procedure Add(ACategoryName : String); virtual; abstract;  | ||||
|     function Count: integer; virtual; abstract; | ||||
|     function IndexOf(const CategoryName: string): integer; virtual; abstract; | ||||
|     function FindByName(const CategoryName: string): TNewIDEItemCategory; virtual; abstract; | ||||
| @ -115,9 +116,17 @@ procedure RegisterNewDialogItem(const Paths: string; | ||||
|   NewItem: TNewIDEItemTemplate); | ||||
| procedure UnregisterNewDialogItem(NewItem: TNewIDEItemTemplate); | ||||
| 
 | ||||
| procedure RegisterNewItemCategory(const ACategory: String); | ||||
| 
 | ||||
| 
 | ||||
| implementation | ||||
| 
 | ||||
| 
 | ||||
| procedure RegisterNewItemCategory(const ACategory: String); | ||||
| begin | ||||
|   NewIdeItems.Add(ACategory); | ||||
| end; | ||||
| 
 | ||||
| procedure RegisterNewDialogItem(const Paths: string; | ||||
|   NewItem: TNewIDEItemTemplate); | ||||
| begin | ||||
|  | ||||
| @ -560,12 +560,20 @@ function ProjectFlagsToStr(Flags: TProjectFlags): string; | ||||
| 
 | ||||
| procedure RegisterProjectFileDescriptor(FileDesc: TProjectFileDescriptor); | ||||
| procedure RegisterProjectDescriptor(ProjDesc: TProjectDescriptor); | ||||
| procedure RegisterProjectFileDescriptor(FileDesc: TProjectFileDescriptor; ACategory : String); | ||||
| procedure RegisterProjectDescriptor(ProjDesc: TProjectDescriptor; ACategory : String); | ||||
| 
 | ||||
| 
 | ||||
| implementation | ||||
| 
 | ||||
| 
 | ||||
| procedure RegisterProjectFileDescriptor(FileDesc: TProjectFileDescriptor); | ||||
| 
 | ||||
| begin | ||||
|   RegisterProjectFileDescriptor(FileDesc,FileDescGroupName); | ||||
| end; | ||||
| 
 | ||||
| procedure RegisterProjectFileDescriptor(FileDesc: TProjectFileDescriptor; ACategory : String); | ||||
| var | ||||
|   NewItemFile: TNewItemProjectFile; | ||||
| begin | ||||
| @ -573,11 +581,17 @@ begin | ||||
|   if FileDesc.VisibleInNewDialog then begin | ||||
|     NewItemFile:=TNewItemProjectFile.Create(FileDesc.Name,niifCopy,[niifCopy]); | ||||
|     NewItemFile.Descriptor:=FileDesc; | ||||
|     RegisterNewDialogItem(FileDescGroupName,NewItemFile); | ||||
|     RegisterNewDialogItem(ACategory,NewItemFile); | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
| procedure RegisterProjectDescriptor(ProjDesc: TProjectDescriptor); | ||||
| 
 | ||||
| begin | ||||
|   RegisterProjectDescriptor(ProjDesc,ProjDescGroupName); | ||||
| end; | ||||
| 
 | ||||
| procedure RegisterProjectDescriptor(ProjDesc: TProjectDescriptor; ACategory : String); | ||||
| var | ||||
|   NewItemProject: TNewItemProject; | ||||
| begin | ||||
| @ -585,7 +599,7 @@ begin | ||||
|   if ProjDesc.VisibleInNewDialog then begin | ||||
|     NewItemProject:=TNewItemProject.Create(ProjDesc.Name,niifCopy,[niifCopy]); | ||||
|     NewItemProject.Descriptor:=ProjDesc; | ||||
|     RegisterNewDialogItem(ProjDescGroupName,NewItemProject); | ||||
|     RegisterNewDialogItem(ACategory,NewItemProject); | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 mattias
						mattias