2015.11.14. 16:57 keltezéssel, Mattias Gaertner írta:
I created a property and attached the patch. Please review.

Only TClassPropertyEditor shows the classname. Descends like
TPersistentPropertyEditor shows the name for Components.

Maybe better make the option a class option of TClassPropertyEditor.

New patch attached. I hope better than the previous.

Gabor
Index: components/ideintf/objectinspector.pp
===================================================================
--- components/ideintf/objectinspector.pp       (revision 50331)
+++ components/ideintf/objectinspector.pp       (working copy)
@@ -295,6 +295,7 @@
     FActiveRowBmp: TCustomBitmap;
     FFirstClickTime: DWORD;
     FKeySearchText: string;
+    FHideClassNames: Boolean;
 
     // hint stuff
     FHintTimer: TTimer;
@@ -507,6 +508,7 @@
     property TopY: integer read FTopY write SetTopY default 0;
     property Favorites: TOIFavoriteProperties read FFavorites write 
SetFavorites;
     property Filter : TTypeKinds read FFilter write SetFilter;
+    property HideClassNames: Boolean read FHideClassNames write 
FHideClassNames;
   end;
 
 
@@ -1859,6 +1861,8 @@
   end;
   if PropEditor is TClassPropertyEditor then
     (PropEditor as TClassPropertyEditor).SubPropsTypeFilter := FFilter;
+  if PropEditor is TClassPropertyEditor then
+    (PropEditor as TClassPropertyEditor).HideClassName:=FHideClassNames;
   NewRow := TOIPropertyGridRow.Create(Self, PropEditor, nil, WidgetSets);
   FRows.Add(NewRow);
   if FRows.Count>1 then begin
@@ -1983,6 +1987,8 @@
 begin
   if PropEditor is TClassPropertyEditor then
     (PropEditor as TClassPropertyEditor).SubPropsTypeFilter := FFilter;
+  if PropEditor is TClassPropertyEditor then
+    (PropEditor as TClassPropertyEditor).HideClassName:=FHideClassNames;
   NewRow:=TOIPropertyGridRow.Create(Self,PropEditor,FExpandingRow, []);
   NewIndex:=FExpandingRow.Index+1+FExpandingRow.ChildCount;
   NewRow.FIndex:=NewIndex;
Index: components/ideintf/propedits.pp
===================================================================
--- components/ideintf/propedits.pp     (revision 50331)
+++ components/ideintf/propedits.pp     (working copy)
@@ -571,6 +571,7 @@
   TClassPropertyEditor = class(TPropertyEditor)
   private
     FSubPropsTypeFilter: TTypeKinds;
+    FHideClassName: Boolean;
     procedure SetSubPropsTypeFilter(const AValue: TTypeKinds);
     function EditorFilter(const AEditor: TPropertyEditor): Boolean;
   protected
@@ -584,6 +585,7 @@
 
     property SubPropsTypeFilter: TTypeKinds
       read FSubPropsTypeFilter write SetSubPropsTypeFilter default tkAny;
+    property HideClassName: Boolean read FHideClassName write FHideClassName;
   end;
 
 { TMethodPropertyEditor
@@ -4222,7 +4224,7 @@
 
 function TClassPropertyEditor.GetValue: ansistring;
 begin
-  Result:='(' + GetPropType^.Name + ')';
+  if not FHideClassName then Result:='(' + GetPropType^.Name + ')';
 end;
 
 procedure TClassPropertyEditor.SetSubPropsTypeFilter(const AValue: TTypeKinds);
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to