mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 07:19:31 +02:00
Merge branch 'IDE/Options/Editor/Display/Colors/Filter' into 'main'
Draft: IDE/Options: Added filter to the frame of editor colors See merge request freepascal.org/lazarus/lazarus!459
This commit is contained in:
commit
6511678854
@ -530,7 +530,7 @@ object EditorColorOptionsFrame: TEditorColorOptionsFrame
|
||||
Constraints.MaxWidth = 1000
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
TabOrder = 3
|
||||
end
|
||||
object PnlTop2: TPanel
|
||||
AnchorSideLeft.Control = Owner
|
||||
@ -547,35 +547,14 @@ object EditorColorOptionsFrame: TEditorColorOptionsFrame
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 187
|
||||
ClientWidth = 640
|
||||
TabOrder = 2
|
||||
object ColorElementTree: TTreeView
|
||||
Left = 0
|
||||
Height = 181
|
||||
Top = 6
|
||||
Width = 200
|
||||
Align = alLeft
|
||||
AutoExpand = True
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 1
|
||||
Constraints.MinWidth = 150
|
||||
HideSelection = False
|
||||
ReadOnly = True
|
||||
ScrollBars = ssAutoBoth
|
||||
ShowRoot = False
|
||||
TabOrder = 0
|
||||
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
||||
OnAdvancedCustomDrawItem = ColorElementTreeAdvancedCustomDrawItem
|
||||
OnChange = ColorElementTreeChange
|
||||
OnClick = ColorElementTreeClick
|
||||
OnKeyDown = ColorElementTreeKeyDown
|
||||
end
|
||||
TabOrder = 0
|
||||
inline ColorPreview: TSynEdit
|
||||
AnchorSideLeft.Control = Splitter1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = PnlTop2
|
||||
AnchorSideRight.Control = PnlTop2
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = ColorElementTree
|
||||
AnchorSideBottom.Control = ColorElementPanel
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 207
|
||||
Height = 181
|
||||
@ -590,7 +569,7 @@ object EditorColorOptionsFrame: TEditorColorOptionsFrame
|
||||
Font.Quality = fqNonAntialiased
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
TabOrder = 2
|
||||
TabStop = False
|
||||
OnMouseUp = ColorPreviewMouseUp
|
||||
BookMarkOptions.Xoffset = 30
|
||||
@ -1116,6 +1095,52 @@ object EditorColorOptionsFrame: TEditorColorOptionsFrame
|
||||
Top = 0
|
||||
Width = 5
|
||||
end
|
||||
object ColorElementPanel: TPanel
|
||||
Left = 0
|
||||
Height = 187
|
||||
Top = 0
|
||||
Width = 200
|
||||
Align = alLeft
|
||||
BorderSpacing.Right = 1
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 187
|
||||
ClientWidth = 200
|
||||
TabOrder = 0
|
||||
object ColorElementTreeFilter: TTreeFilterEdit
|
||||
Left = 0
|
||||
Height = 23
|
||||
Top = 6
|
||||
Width = 200
|
||||
ButtonWidth = 23
|
||||
Align = alTop
|
||||
BorderSpacing.Top = 6
|
||||
NumGlyphs = 1
|
||||
MaxLength = 0
|
||||
TabOrder = 0
|
||||
OnKeyDown = ColorElementTreeKeyDown
|
||||
FilteredTreeview = ColorElementTree
|
||||
end
|
||||
object ColorElementTree: TTreeView
|
||||
Left = 0
|
||||
Height = 152
|
||||
Top = 35
|
||||
Width = 200
|
||||
Align = alClient
|
||||
AutoExpand = True
|
||||
BorderSpacing.Top = 6
|
||||
Constraints.MinWidth = 150
|
||||
HideSelection = False
|
||||
ReadOnly = True
|
||||
ScrollBars = ssAutoBoth
|
||||
ShowRoot = False
|
||||
TabOrder = 1
|
||||
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
||||
OnAdvancedCustomDrawItem = ColorElementTreeAdvancedCustomDrawItem
|
||||
OnChange = ColorElementTreeChange
|
||||
OnClick = ColorElementTreeClick
|
||||
OnKeyDown = ColorElementTreeKeyDown
|
||||
end
|
||||
end
|
||||
end
|
||||
object ToolBar: TToolBar
|
||||
Left = 0
|
||||
@ -1129,7 +1154,7 @@ object EditorColorOptionsFrame: TEditorColorOptionsFrame
|
||||
ParentShowHint = False
|
||||
ShowCaptions = True
|
||||
ShowHint = True
|
||||
TabOrder = 3
|
||||
TabOrder = 2
|
||||
object UseSyntaxHighlightCheckBox: TToolButton
|
||||
Left = 1
|
||||
Top = 0
|
||||
|
@ -31,7 +31,7 @@ uses
|
||||
// LCL
|
||||
LCLType, LCLIntf, StdCtrls, ExtCtrls, Graphics, ComCtrls, Dialogs, Menus,
|
||||
// LazControls
|
||||
DividerBevel,
|
||||
DividerBevel, TreeFilterEdit,
|
||||
// SynEdit
|
||||
SynEdit, SynEditMiscClasses, SynGutterCodeFolding, SynGutterLineNumber,
|
||||
SynEditTypes, SynGutterChanges, SynEditMouseCmds, SynEditHighlighter, SynEditStrConst,
|
||||
@ -88,6 +88,8 @@ type
|
||||
LanguageMenu: TPopupMenu;
|
||||
ColorSchemeMenu: TPopupMenu;
|
||||
Splitter1: TSplitter;
|
||||
ColorElementPanel: TPanel;
|
||||
ColorElementTreeFilter: TTreeFilterEdit;
|
||||
ColorElementTree: TTreeView;
|
||||
SynColorAttrEditor1: TSynColorAttrEditor;
|
||||
ToolBar: TToolBar;
|
||||
@ -536,17 +538,10 @@ begin
|
||||
ColorPreview.GetHighlighterAttriAtRowCol(XY, Token, Attri);
|
||||
if Attri = nil then
|
||||
Attri := FCurrentHighlighter.WhitespaceAttribute;
|
||||
if Attri <> nil then begin
|
||||
NewNode := ColorElementTree.Items.GetFirstNode;
|
||||
while Assigned(NewNode) do begin
|
||||
if (NewNode.Data <> nil)
|
||||
and (TColorSchemeAttribute(NewNode.Data).StoredName = Attri.StoredName) then
|
||||
break;
|
||||
NewNode := NewNode.GetNext;
|
||||
end;
|
||||
end;
|
||||
if NewNode <> nil then begin
|
||||
NewNode.Selected := True;
|
||||
|
||||
if Attri <> nil then
|
||||
begin
|
||||
SelectNamedColor(Attri.StoredName);
|
||||
FindCurHighlightElement;
|
||||
end;
|
||||
end;
|
||||
@ -870,7 +865,9 @@ procedure TEditorColorOptionsFrame.ShowCurAttribute;
|
||||
var
|
||||
CanGlobal: Boolean;
|
||||
begin
|
||||
SynColorAttrEditor1.Enabled := FCurHighlightElement <> nil;
|
||||
if (FCurHighlightElement = nil) then begin
|
||||
SynColorAttrEditor1.CurHighlightElement := nil;
|
||||
lblColorInfo.Visible := False;
|
||||
Exit;
|
||||
end;
|
||||
@ -1148,16 +1145,20 @@ procedure TEditorColorOptionsFrame.FindCurHighlightElement;
|
||||
begin
|
||||
if (ColorElementTree.Selected <> nil) and
|
||||
// (ColorElementTree.Selected.Parent = nil) and
|
||||
(ColorElementTree.Selected.GetFirstChild <> nil)
|
||||
(ColorElementTree.Selected.GetFirstVisibleChild <> nil)
|
||||
then
|
||||
ColorElementTree.Selected.GetFirstVisibleChild.Selected := True;
|
||||
|
||||
if (ColorElementTree.Selected <> nil) and
|
||||
(FCurHighlightElement = TColorSchemeAttribute(ColorElementTree.Selected.Data))
|
||||
then
|
||||
ColorElementTree.Selected.GetFirstChild.Selected := True;
|
||||
if (ColorElementTree.Selected = nil) or (ColorElementTree.Selected.Data = nil) then
|
||||
exit;
|
||||
|
||||
if FCurHighlightElement = TColorSchemeAttribute(ColorElementTree.Selected.Data) then
|
||||
exit;
|
||||
if ColorElementTree.Selected = nil then
|
||||
FCurHighlightElement := nil
|
||||
else
|
||||
FCurHighlightElement := TColorSchemeAttribute(ColorElementTree.Selected.Data);
|
||||
|
||||
FCurHighlightElement := TColorSchemeAttribute(ColorElementTree.Selected.Data);
|
||||
ShowCurAttribute;
|
||||
end;
|
||||
|
||||
@ -1752,16 +1753,16 @@ end;
|
||||
|
||||
procedure TEditorColorOptionsFrame.SelectNamedColor(XmlName: string);
|
||||
var
|
||||
i: Integer;
|
||||
n: TTreeNode;
|
||||
begin
|
||||
for i := 0 to ColorElementTree.Items.Count - 1 do begin
|
||||
if ColorElementTree.Items[i].Data = nil then continue;
|
||||
if TColorSchemeAttribute(ColorElementTree.Items[i].Data).StoredName <> XmlName
|
||||
then
|
||||
continue;
|
||||
ColorElementTree.Items[i].Selected := True;
|
||||
break;
|
||||
end;
|
||||
for n in ColorElementTree.Items do
|
||||
if assigned(n.Data) and (TColorSchemeAttribute(n.Data).StoredName = XmlName) then
|
||||
begin
|
||||
if not n.IsVisible then
|
||||
ColorElementTreeFilter.Clear;
|
||||
n.Selected := true;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorColorOptionsFrame.SelectAhaColor(aha: TAdditionalHilightAttribute);
|
||||
|
Loading…
Reference in New Issue
Block a user