object inspector: add new option "Bold non default values" and set it to true by default

git-svn-id: trunk@17041 -
This commit is contained in:
paul 2008-10-18 16:56:39 +00:00
parent 9b6a2c6b9d
commit 84f9c1b464
7 changed files with 110 additions and 72 deletions

View File

@ -1,12 +1,12 @@
object OIOptionsFrame: TOIOptionsFrame
Height = 316
Height = 340
Width = 598
ClientHeight = 316
ClientHeight = 340
ClientWidth = 598
TabOrder = 0
Visible = False
DesignLeft = 154
DesignTop = 203
DesignLeft = 432
DesignTop = 311
object ObjectInspectorColorsGroupBox: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
@ -139,20 +139,22 @@ object OIOptionsFrame: TOIOptionsFrame
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Height = 129
Height = 152
Top = 180
Width = 598
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 7
Caption = 'OIMiscGroupBox'
ClientHeight = 111
ClientHeight = 134
ClientWidth = 594
TabOrder = 1
object OIDefaultItemHeightLabel: TLabel
AnchorSideLeft.Control = OIMiscGroupBox
AnchorSideTop.Control = OIBoldNonDefaultCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 14
Top = 6
Top = 81
Width = 530
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
@ -162,11 +164,10 @@ object OIOptionsFrame: TOIOptionsFrame
end
object OIShowHintCheckBox: TCheckBox
AnchorSideLeft.Control = OIMiscGroupBox
AnchorSideTop.Control = OIDefaultItemHeightSpinEdit
AnchorSideTop.Side = asrBottom
AnchorSideTop.Control = OIMiscGroupBox
Left = 6
Height = 19
Top = 57
Top = 6
Width = 530
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
@ -180,7 +181,7 @@ object OIOptionsFrame: TOIOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 25
Top = 26
Top = 101
Width = 69
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -193,12 +194,25 @@ object OIOptionsFrame: TOIOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 82
Top = 31
Width = 134
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'OIAutoShowCheckBox'
TabOrder = 2
end
object OIBoldNonDefaultCheckBox: TCheckBox
AnchorSideLeft.Control = OIMiscGroupBox
AnchorSideTop.Control = OIAutoShowCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 56
Width = 159
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'OIBoldNonDefaultCheckBox'
TabOrder = 3
end
end
end

View File

@ -1,16 +1,16 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TOIOptionsFrame','FORMDATA',[
'TPF0'#15'TOIOptionsFrame'#14'OIOptionsFrame'#6'Height'#3'<'#1#5'Width'#3'V'#2
+#12'ClientHeight'#3'<'#1#11'ClientWidth'#3'V'#2#8'TabOrder'#2#0#7'Visible'#8
+#10'DesignLeft'#3#154#0#9'DesignTop'#3#203#0#0#9'TGroupBox'#29'ObjectInspect'
+'orColorsGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Co'
+'ntrol'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight'
+'.Side'#7#9'asrBottom'#6'Height'#3#173#0#5'Width'#3'V'#2#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#7'Caption'#6#29'ObjectInspectorCol'
+'orsGroupBox'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomS'
+'pacing'#2#6#29'ChildSizing.HorizontalSpacing'#2#2#27'ChildSizing.VerticalSp'
+'acing'#2#2#12'ClientHeight'#3#155#0#11'ClientWidth'#3'R'#2#8'TabOrder'#2#0#0
'TPF0'#15'TOIOptionsFrame'#14'OIOptionsFrame'#6'Height'#3'T'#1#5'Width'#3'V'#2
+#12'ClientHeight'#3'T'#1#11'ClientWidth'#3'V'#2#8'TabOrder'#2#0#7'Visible'#8
+#10'DesignLeft'#3#176#1#9'DesignTop'#3'7'#1#0#9'TGroupBox'#29'ObjectInspecto'
+'rColorsGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Con'
+'trol'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.'
+'Side'#7#9'asrBottom'#6'Height'#3#173#0#5'Width'#3'V'#2#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#7'Caption'#6#29'ObjectInspectorColo'
+'rsGroupBox'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSp'
+'acing'#2#6#29'ChildSizing.HorizontalSpacing'#2#2#27'ChildSizing.VerticalSpa'
+'cing'#2#2#12'ClientHeight'#3#155#0#11'ClientWidth'#3'R'#2#8'TabOrder'#2#0#0
+#12'TColorButton'#23'OIBackgroundColorButton'#4'Left'#2#6#6'Height'#2#23#3'T'
+'op'#2#6#5'Width'#2'2'#11'BorderWidth'#2#2#15'ButtonColorSize'#2#16#5'Color'
+#7#9'clBtnFace'#0#0#12'TColorButton'#21'OISubPropsColorButton'#4'Left'#2#6#6
@ -43,26 +43,31 @@ LazarusResources.Add('TOIOptionsFrame','FORMDATA',[
+#11'ParentColor'#8#0#0#0#9'TGroupBox'#14'OIMiscGroupBox'#22'AnchorSideLeft.C'
+'ontrol'#7#5'Owner'#21'AnchorSideTop.Control'#7#29'ObjectInspectorColorsGrou'
+'pBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5
+'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#6'Height'#3#129#0#3'Top'#3
+'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#6'Height'#3#152#0#3'Top'#3
+#180#0#5'Width'#3'V'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'Bord'
+'erSpacing.Top'#2#7#7'Caption'#6#14'OIMiscGroupBox'#12'ClientHeight'#2'o'#11
+'ClientWidth'#3'R'#2#8'TabOrder'#2#1#0#6'TLabel'#24'OIDefaultItemHeightLabel'
+#22'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#4'Left'#2#6#6'Height'#2#14#3
+'Top'#2#6#5'Width'#3#18#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'B'
+'orderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#24'OIDefaultI'
+'temHeightLabel'#11'ParentColor'#8#0#0#9'TCheckBox'#18'OIShowHintCheckBox'#22
+'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#21'AnchorSideTop.Control'#7#27
+'OIDefaultItemHeightSpinEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#19#3'Top'#2'9'#5'Width'#3#18#2#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Capt'
+'ion'#6#18'OIShowHintCheckBox'#8'TabOrder'#2#0#0#0#9'TSpinEdit'#27'OIDefault'
+'ItemHeightSpinEdit'#22'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#21'Anch'
+'orSideTop.Control'#7#24'OIDefaultItemHeightLabel'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#26#5'Width'#2'E'#18'BorderSp'
+'acing.Left'#2#6#17'BorderSpacing.Top'#2#6#8'TabOrder'#2#1#5'Value'#2#1#0#0#9
+'TCheckBox'#18'OIAutoShowCheckBox'#22'AnchorSideLeft.Control'#7#14'OIMiscGro'
+'upBox'#21'AnchorSideTop.Control'#7#18'OIShowHintCheckBox'#18'AnchorSideTop.'
+'Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'R'#5'Width'#3#134#0
+#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#18'OIAuto'
+'ShowCheckBox'#8'TabOrder'#2#2#0#0#0#0
+'erSpacing.Top'#2#7#7'Caption'#6#14'OIMiscGroupBox'#12'ClientHeight'#3#134#0
+#11'ClientWidth'#3'R'#2#8'TabOrder'#2#1#0#6'TLabel'#24'OIDefaultItemHeightLa'
+'bel'#22'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#21'AnchorSideTop.Contr'
+'ol'#7#24'OIBoldNonDefaultCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#2'Q'#5'Width'#3#18#2#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6
+#7'Caption'#6#24'OIDefaultItemHeightLabel'#11'ParentColor'#8#0#0#9'TCheckBox'
+#18'OIShowHintCheckBox'#22'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#21'A'
+'nchorSideTop.Control'#7#14'OIMiscGroupBox'#4'Left'#2#6#6'Height'#2#19#3'Top'
+#2#6#5'Width'#3#18#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'Border'
+'Spacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#18'OIShowHintCheck'
+'Box'#8'TabOrder'#2#0#0#0#9'TSpinEdit'#27'OIDefaultItemHeightSpinEdit'#22'An'
+'chorSideLeft.Control'#7#14'OIMiscGroupBox'#21'AnchorSideTop.Control'#7#24'O'
+'IDefaultItemHeightLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6
+'Height'#2#25#3'Top'#2'e'#5'Width'#2'E'#18'BorderSpacing.Left'#2#6#17'Border'
+'Spacing.Top'#2#6#8'TabOrder'#2#1#5'Value'#2#1#0#0#9'TCheckBox'#18'OIAutoSho'
+'wCheckBox'#22'AnchorSideLeft.Control'#7#14'OIMiscGroupBox'#21'AnchorSideTop'
+'.Control'#7#18'OIShowHintCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2#19#3'Top'#2#31#5'Width'#3#134#0#18'BorderSpacing.Left'
+#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#18'OIAutoShowCheckBox'#8'TabOrde'
,'r'#2#2#0#0#9'TCheckBox'#24'OIBoldNonDefaultCheckBox'#22'AnchorSideLeft.Cont'
+'rol'#7#14'OIMiscGroupBox'#21'AnchorSideTop.Control'#7#18'OIAutoShowCheckBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'8'
+#5'Width'#3#159#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Cap'
+'tion'#6#24'OIBoldNonDefaultCheckBox'#8'TabOrder'#2#3#0#0#0#0
]);

View File

@ -17,6 +17,7 @@ type
OIAutoShowCheckBox: TCheckBox;
OIBackgroundColorButton: TColorButton;
OIBackgroundColorLabel: TLabel;
OIBoldNonDefaultCheckBox: TCheckBox;
OIDefaultItemHeightLabel: TLabel;
OIDefaultItemHeightSpinEdit: TSpinEdit;
OIDefaultValueColorButton: TColorButton;
@ -60,6 +61,7 @@ begin
OIDefaultItemHeightLabel.Caption := dlgOIItemHeight;
OIShowHintCheckBox.Caption := lisShowHintsInObjectInspector;
OIAutoShowCheckBox.Caption := lisAutoShowObjectInspector;
OIBoldNonDefaultCheckBox.Caption := lisBoldNonDefaultObjectInspector;
end;
function TOIOptionsFrame.GetTitle: String;
@ -87,6 +89,7 @@ begin
OIDefaultItemHeightSpinEdit.Value:=ObjectInspectorOptions.DefaultItemHeight;
OIShowHintCheckBox.Checked := ObjectInspectorOptions.ShowHints;
OIAutoShowCheckBox.Checked := ObjectInspectorOptions.AutoShow;
OIBoldNonDefaultCheckBox.Checked := ObjectInspectorOptions.BoldNonDefaultValues;
end;
end;
@ -111,6 +114,7 @@ begin
RoundToInt(OIDefaultItemHeightSpinEdit.Value);
ObjectInspectorOptions.ShowHints := OIShowHintCheckBox.Checked;
ObjectInspectorOptions.AutoShow := OIAutoShowCheckBox.Checked;
ObjectInspectorOptions.BoldNonDefaultValues := OIBoldNonDefaultCheckBox.Checked;
end;
end;

View File

@ -1030,6 +1030,7 @@ resourcestring
dlgOIItemHeight = 'Item height';
lisShowHintsInObjectInspector = 'Show hints in Object Inspector';
lisAutoShowObjectInspector = 'Auto show Object Inspector';
lisBoldNonDefaultObjectInspector = 'Bold non default values';
dlgEnvColors = 'Colors';
dlgEnvBackupHelpNote =
'Notes: Project files are all files in the project directory';

View File

@ -8,8 +8,9 @@ object ObjectInspectorDlg: TObjectInspectorDlg
ClientWidth = 275
KeyPreview = True
OnResize = ObjectInspectorResize
ParentFont = False
PopupMenu = MainPopupMenu
LCLVersion = '0.9.25'
LCLVersion = '0.9.27'
object StatusBar: TStatusBar
Height = 23
Top = 646
@ -27,7 +28,6 @@ object ObjectInspectorDlg: TObjectInspectorDlg
Height = 21
Width = 275
Align = alTop
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
ItemHeight = 13
OnCloseUp = AvailComboBoxCloseUp
Style = csDropDownList

View File

@ -4,13 +4,12 @@ LazarusResources.Add('TObjectInspectorDlg','FORMDATA',[
'TPF0'#19'TObjectInspectorDlg'#18'ObjectInspectorDlg'#4'Left'#3'$'#1#6'Height'
+#3#157#2#3'Top'#3#175#0#5'Width'#3#19#1#7'Caption'#6#18'ObjectInspectorDlg'
+#12'ClientHeight'#3#157#2#11'ClientWidth'#3#19#1#10'KeyPreview'#9#8'OnResize'
+#7#21'ObjectInspectorResize'#9'PopupMenu'#7#13'MainPopupMenu'#10'LCLVersion'
+#6#6'0.9.25'#0#10'TStatusBar'#9'StatusBar'#6'Height'#2#23#3'Top'#3#134#2#5'W'
+'idth'#3#19#1#6'Panels'#14#1#5'Width'#2'd'#0#1#5'Width'#2'2'#0#0#11'SimplePa'
+'nel'#8#0#0#9'TComboBox'#23'AvailPersistentComboBox'#6'Height'#2#21#5'Width'
+#3#19#1#5'Align'#7#5'alTop'#16'AutoCompleteText'#11#22'cbactEndOfLineComplet'
+'e'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'OnCloseUp'#7#20'AvailCo'
+'mboBoxCloseUp'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#10'TPopupM'
+'enu'#13'MainPopupMenu'#7'OnPopup'#7#20'OnMainPopupMenuPopup'#4'left'#2#9#3
+'top'#2#11#0#0#0
+#7#21'ObjectInspectorResize'#10'ParentFont'#8#9'PopupMenu'#7#13'MainPopupMen'
+'u'#10'LCLVersion'#6#6'0.9.27'#0#10'TStatusBar'#9'StatusBar'#6'Height'#2#23#3
+'Top'#3#134#2#5'Width'#3#19#1#6'Panels'#14#1#5'Width'#2'd'#0#1#5'Width'#2'2'
+#0#0#11'SimplePanel'#8#0#0#9'TComboBox'#23'AvailPersistentComboBox'#6'Height'
+#2#21#5'Width'#3#19#1#5'Align'#7#5'alTop'#10'ItemHeight'#2#13#9'OnCloseUp'#7
+#20'AvailComboBoxCloseUp'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0
+#10'TPopupMenu'#13'MainPopupMenu'#7'OnPopup'#7#20'OnMainPopupMenuPopup'#4'le'
+'ft'#2#9#3'top'#2#11#0#0#0
]);

View File

@ -172,6 +172,7 @@ type
FGridBackgroundColor: TColor;
FShowHints: boolean;
FAutoShow: Boolean;
FBoldNonDefaultValues: Boolean;
function FPropertyGridSplitterX(Page: TObjectInspectorPage): integer;
procedure FPropertyGridSplitterX(Page: TObjectInspectorPage;
const AValue: integer);
@ -213,6 +214,7 @@ type
property ShowHints: boolean read FShowHints
write FShowHints;
property AutoShow: boolean read FAutoShow write FAutoShow;
property BoldNonDefaultValues: boolean read FBoldNonDefaultValues write FBoldNonDefaultValues;
end;
TOICustomPropertyGrid = class;
@ -3205,6 +3207,7 @@ begin
FValueColor:=clMaroon;
FReferencesColor:= clMaroon;
FPropertyNameColor:=clWindowText;
FBoldNonDefaultValues := True;
end;
function TOIOptions.Load: boolean;
@ -3266,6 +3269,8 @@ begin
Path+'ShowHints',false);
FAutoShow := ConfigStore.GetValue(
Path+'AutoShow',true);
FBoldNonDefaultValues := ConfigStore.GetValue(
Path+'BoldNonDefaultValues',true);
except
on E: Exception do begin
DebugLn('ERROR: TOIOptions.Load: ',E.Message);
@ -3324,6 +3329,7 @@ begin
ConfigStore.SetDeleteValue(Path+'ShowHints',FShowHints,
false);
ConfigStore.SetDeleteValue(Path+'AutoShow',FAutoShow, True);
ConfigStore.SetDeleteValue(Path+'BoldNonDefaultValues',FBoldNonDefaultValues, True);
except
on E: Exception do begin
DebugLn('ERROR: TOIOptions.Save: ',E.Message);
@ -3355,8 +3361,9 @@ begin
FDefaultValueColor:=AnObjInspector.PropertyGrid.DefaultValueFont.Color;
FPropertyNameColor:=AnObjInspector.PropertyGrid.NameFont.Color;
FShowHints:=AnObjInspector.PropertyGrid.ShowHint;
FAutoShow:=AnObjInspector.AutoShow;
FShowHints := AnObjInspector.PropertyGrid.ShowHint;
FAutoShow := AnObjInspector.AutoShow;
FBoldNonDefaultValues := fsBold in AnObjInspector.PropertyGrid.ValueFont.Style;
end;
procedure TOIOptions.AssignTo(AnObjInspector: TObjectInspectorDlg);
@ -3364,26 +3371,34 @@ var
Page: TObjectInspectorPage;
Grid: TOICustomPropertyGrid;
begin
if FSaveBounds then begin
if FSaveBounds then
begin
AnObjInspector.SetBounds(FLeft,FTop,FWidth,FHeight);
end;
for Page:=Low(TObjectInspectorPage) to High(TObjectInspectorPage) do begin
for Page := Low(TObjectInspectorPage) to High(TObjectInspectorPage) do
begin
Grid:=AnObjInspector.GridControl[Page];
if Grid=nil then continue;
Grid.PrefferedSplitterX:=FGridSplitterX[Page];
Grid.SplitterX:=FGridSplitterX[Page];
Grid.BackgroundColor:=FGridBackgroundColor;
Grid.SubPropertiesColor:=FSubPropertiesColor;
Grid.ReferencesColor:=FReferencesColor;
Grid.ValueFont.Color:=FValueColor;
Grid.DefaultValueFont.Color:=FDefaultValueColor;
Grid.NameFont.Color:=FPropertyNameColor;
Grid.ShowHint:=FShowHints;
if Grid=nil then
Continue;
Grid.PrefferedSplitterX := FGridSplitterX[Page];
Grid.SplitterX := FGridSplitterX[Page];
Grid.BackgroundColor := FGridBackgroundColor;
Grid.SubPropertiesColor := FSubPropertiesColor;
Grid.ReferencesColor := FReferencesColor;
Grid.ValueFont.Color := FValueColor;
if FBoldNonDefaultValues then
Grid.ValueFont.Style := [fsBold]
else
Grid.ValueFont.Style := [];
Grid.DefaultValueFont.Color := FDefaultValueColor;
Grid.NameFont.Color := FPropertyNameColor;
Grid.ShowHint := FShowHints;
end;
AnObjInspector.DefaultItemHeight:=FDefaultItemHeight;
AnObjInspector.ShowComponentTree:=FShowComponentTree;
AnObjInspector.ComponentTreeHeight:=FComponentTreeHeight;
AnObjInspector.AutoShow:=AutoShow;
AnObjInspector.DefaultItemHeight := FDefaultItemHeight;
AnObjInspector.ShowComponentTree := FShowComponentTree;
AnObjInspector.ComponentTreeHeight := FComponentTreeHeight;
AnObjInspector.AutoShow := AutoShow;
end;