mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 02:42:33 +01:00 
			
		
		
		
	IDE: project options: overrides: show LCLWidgetType macro only when project uses LCL
git-svn-id: trunk@45089 -
This commit is contained in:
		
							parent
							
								
									ff794a0e77
								
							
						
					
					
						commit
						df5bd3cc50
					
				| @ -27,7 +27,7 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame | ||||
|       ShowHint = True | ||||
|     end | ||||
|     object BMMMoveDownButton: TToolButton | ||||
|       Left = 26 | ||||
|       Left = 24 | ||||
|       Top = 0 | ||||
|       Caption = 'Down' | ||||
|       OnClick = BMMMoveDownButtonClick | ||||
| @ -35,7 +35,7 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame | ||||
|       ShowHint = True | ||||
|     end | ||||
|     object BMMUndoButton: TToolButton | ||||
|       Left = 78 | ||||
|       Left = 74 | ||||
|       Top = 0 | ||||
|       Caption = 'Undo' | ||||
|       OnClick = BMMUndoButtonClick | ||||
| @ -43,7 +43,7 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame | ||||
|       ShowHint = True | ||||
|     end | ||||
|     object BMMRedoToolButton: TToolButton | ||||
|       Left = 119 | ||||
|       Left = 111 | ||||
|       Top = 0 | ||||
|       Caption = 'Redo' | ||||
|       OnClick = BMMRedoToolButtonClick | ||||
| @ -51,36 +51,36 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame | ||||
|       ShowHint = True | ||||
|     end | ||||
|     object BMMDeleteButton: TToolButton | ||||
|       Left = 408 | ||||
|       Left = 385 | ||||
|       Top = 0 | ||||
|       Caption = 'Delete' | ||||
|       OnClick = BMMDeleteButtonClick | ||||
|       ParentShowHint = False | ||||
|       ShowHint = True | ||||
|     end | ||||
|     object ToolButton1: TToolButton | ||||
|       Left = 68 | ||||
|     object MoveSepToolButton: TToolButton | ||||
|       Left = 64 | ||||
|       Top = 0 | ||||
|       Width = 10 | ||||
|       Caption = 'ToolButton1' | ||||
|       Caption = 'MoveSepToolButton' | ||||
|       Style = tbsSeparator | ||||
|     end | ||||
|     object ToolButton2: TToolButton | ||||
|       Left = 158 | ||||
|     object DoSepToolButton: TToolButton | ||||
|       Left = 148 | ||||
|       Top = 0 | ||||
|       Width = 10 | ||||
|       Caption = 'ToolButton2' | ||||
|       Caption = 'DoSepToolButton' | ||||
|       Style = tbsSeparator | ||||
|     end | ||||
|     object ToolButton3: TToolButton | ||||
|       Left = 398 | ||||
|     object AddOtherSepToolButton: TToolButton | ||||
|       Left = 375 | ||||
|       Top = 0 | ||||
|       Width = 10 | ||||
|       Caption = 'ToolButton3' | ||||
|       Caption = 'AddOtherSepToolButton' | ||||
|       Style = tbsSeparator | ||||
|     end | ||||
|     object BMMAddOtherButton: TToolButton | ||||
|       Left = 315 | ||||
|       Left = 297 | ||||
|       Top = 0 | ||||
|       Caption = 'Add Other' | ||||
|       DropdownMenu = BMMAddOtherPopupMenu | ||||
| @ -88,17 +88,17 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame | ||||
|       Style = tbsDropDown | ||||
|     end | ||||
|     object BMMAddLclWidgetButton: TToolButton | ||||
|       Left = 168 | ||||
|       Left = 158 | ||||
|       Top = 0 | ||||
|       Caption = 'Add LCLWidgetType' | ||||
|       OnClick = BMMAddLclWidgetButtonClick | ||||
|       Style = tbsDropDown | ||||
|     end | ||||
|     object ToolButton4: TToolButton | ||||
|       Left = 305 | ||||
|     object LCLMacroSepToolButton: TToolButton | ||||
|       Left = 287 | ||||
|       Top = 0 | ||||
|       Width = 10 | ||||
|       Caption = 'ToolButton4' | ||||
|       Caption = 'LCLMacroSepToolButton' | ||||
|       Style = tbsSeparator | ||||
|     end | ||||
|   end | ||||
|  | ||||
| @ -24,7 +24,6 @@ | ||||
|    Options frame for build mode matrix options. | ||||
| 
 | ||||
|  ToDo: | ||||
|    - add checkbox "Show build modes" when there is only one build mode | ||||
|    - editor for targets | ||||
|    - show pick list icon for type column | ||||
|    - undo: combine changes while editing a cell | ||||
| @ -60,11 +59,11 @@ type | ||||
|     BMMAddOtherButton: TToolButton; | ||||
|     BMMNewIDEMacroMenuItem: TMenuItem; | ||||
|     BMMNewOutDirMenuItem: TMenuItem; | ||||
|     ToolButton1: TToolButton; | ||||
|     ToolButton2: TToolButton; | ||||
|     ToolButton3: TToolButton; | ||||
|     MoveSepToolButton: TToolButton; | ||||
|     DoSepToolButton: TToolButton; | ||||
|     AddOtherSepToolButton: TToolButton; | ||||
|     BMMAddLclWidgetButton: TToolButton; | ||||
|     ToolButton4: TToolButton; | ||||
|     LCLMacroSepToolButton: TToolButton; | ||||
|     procedure BMMDeleteButtonClick(Sender: TObject); | ||||
|     procedure BMMMoveDownButtonClick(Sender: TObject); | ||||
|     procedure BMMMoveUpButtonClick(Sender: TObject); | ||||
| @ -617,25 +616,31 @@ var | ||||
|   List: TStringList; | ||||
|   MenuIndex: Integer; | ||||
|   MacroMenuItem: TMenuItem; | ||||
|   PkgList: TFPList; | ||||
| begin | ||||
|   LCLWidgetTypeMacro:=Nil; | ||||
|   PkgList:=nil; | ||||
|   List:=TStringList.Create; | ||||
|   try | ||||
|     // First collect all macros from all used packages to a sorted list. | ||||
|     for i:=0 to PackageGraph.Count-1 do begin | ||||
|       Pkg:=PackageGraph[i]; | ||||
|       Macros:=Pkg.CompilerOptions.BuildMacros; | ||||
|       for j:=0 to Macros.Count-1 do begin | ||||
|         Macro:=Macros[j]; | ||||
|         if Macro.Identifier = 'LCLWidgetType' then | ||||
|           LCLWidgetTypeMacro:=Macro | ||||
|         else if IsValidIdent(Macro.Identifier) then | ||||
|           List.AddObject(Macro.Identifier,Macro); | ||||
|     PackageGraph.GetAllRequiredPackages(nil,LazProject.FirstRequiredDependency,PkgList); | ||||
|     if PkgList<>nil then begin | ||||
|       for i:=0 to PkgList.Count-1 do begin | ||||
|         Pkg:=TLazPackage(PkgList[i]); | ||||
|         Macros:=Pkg.CompilerOptions.BuildMacros; | ||||
|         for j:=0 to Macros.Count-1 do begin | ||||
|           Macro:=Macros[j]; | ||||
|           if Macro.Identifier = 'LCLWidgetType' then | ||||
|             LCLWidgetTypeMacro:=Macro | ||||
|           else if IsValidIdent(Macro.Identifier) then | ||||
|             List.AddObject(Macro.Identifier,Macro); | ||||
|         end; | ||||
|       end; | ||||
|     end; | ||||
|     List.Sort; | ||||
|     // LCLWidgetType gets its own button. | ||||
|     BMMAddLclWidgetButton.Visible:=Assigned(LCLWidgetTypeMacro); | ||||
|     LCLMacroSepToolButton.Visible:=BMMAddLclWidgetButton.Visible; | ||||
|     if Assigned(LCLWidgetTypeMacro) then | ||||
|       AddLCLWidgetTypeValues(BMMAddLclWidgetPopupMenu, LCLWidgetTypeMacro); | ||||
|     // Place other macros to the popup menu opened from "Add" button. | ||||
| @ -650,6 +655,7 @@ begin | ||||
|       AddMacroValues(MacroMenuItem, Macro); | ||||
|     end; | ||||
|   finally | ||||
|     PkgList.Free; | ||||
|     List.Free; | ||||
|   end; | ||||
| end; | ||||
| @ -743,7 +749,7 @@ begin | ||||
|   try | ||||
|     Grid.StoreUndo; | ||||
|     MatRow:=Grid.Matrix[aRow-1]; | ||||
|     debugln(['TCompOptModeMatrix.CreateNewOption ',DbgSName(MatRow),' ',MatRow.AsString]); | ||||
|     //debugln(['TCompOptModeMatrix.CreateNewOption ',DbgSName(MatRow),' ',MatRow.AsString]); | ||||
|     if MatRow is TGroupedMatrixGroup then begin | ||||
|       Group:=TGroupedMatrixGroup(MatRow); | ||||
|       if Group.Group=nil then begin | ||||
| @ -1147,7 +1153,6 @@ begin | ||||
|   BMMAddOtherButton.Caption:=lisAdd; | ||||
| 
 | ||||
|   UpdateButtons; | ||||
|   FillMenus; | ||||
| end; | ||||
| 
 | ||||
| destructor TCompOptModeMatrixFrame.Destroy; | ||||
| @ -1181,7 +1186,7 @@ begin | ||||
|   //debugln(['TCompOptModeMatrix.ReadSettings ',DbgSName(AOptions)]); | ||||
|   if not (AOptions is TProjectCompilerOptions) then exit; | ||||
|   CompOptions:=TProjectCompilerOptions(AOptions); | ||||
|   if FProject=CompOptions.LazProject then begin | ||||
|   if LazProject=CompOptions.LazProject then begin | ||||
|     // options already loaded, only active compiler options are reloaded | ||||
|     UpdateActiveMode; | ||||
|     exit; | ||||
| @ -1190,6 +1195,7 @@ begin | ||||
|   fProject:=CompOptions.LazProject; | ||||
| 
 | ||||
|   UpdateModes(false); | ||||
|   FillMenus; | ||||
| 
 | ||||
|   // read IDE options | ||||
|   AssignBuildMatrixOptionsToGroup(EnvironmentOptions.BuildMatrixOptions, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 mattias
						mattias