IDE: Messages options: added text color

git-svn-id: trunk@48098 -
This commit is contained in:
mattias 2015-03-02 18:42:01 +00:00
parent 72b9421fd2
commit 4e22c679d5
4 changed files with 32 additions and 10 deletions

View File

@ -194,7 +194,8 @@ type
mwRunning,
mwSuccess,
mwFailed,
mwAutoHeader
mwAutoHeader,
mwTextColor
);
const
MsgWndDefBackgroundColor = clWindow;
@ -202,20 +203,23 @@ const
MsgWndDefHeaderBackgroundSuccess = TColor($60FF60); // light green
MsgWndDefHeaderBackgroundFailed = TColor($6060FF); // light red
MsgWndDefAutoHeaderBackground = clSkyBlue;
MsgWndDefTextColor = clDefault;
MsgWndDefaultColors: array[TMsgWndColor] of TColor = (
MsgWndDefBackgroundColor, // mwBackground
MsgWndDefHeaderBackgroundRunning, // mwRunning
MsgWndDefHeaderBackgroundSuccess, // mwSuccess
MsgWndDefHeaderBackgroundFailed, // mwFailed
MsgWndDefAutoHeaderBackground // mwAutoHeader
MsgWndDefAutoHeaderBackground, // mwAutoHeader
MsgWndDefTextColor
);
MsgWndColorNames: array[TMsgWndColor] of string = (
'Background',
'Running',
'Success',
'Failed',
'AutoHeader'
'AutoHeader',
'TextColor'
);
{ External Tools - the user menu items in the Tools menu }

View File

@ -154,6 +154,7 @@ type
FSelectedLine: integer;
FSelectedView: TLMsgWndView;
FSourceMarks: TETMarks;
FTextColor: TColor;
fUpdateLock: integer;
FUpdateTimer: TTimer;
fSomeViewsRunning: boolean;
@ -183,6 +184,7 @@ type
procedure SetSelectedLine(AValue: integer);
procedure SetSelectedView(AValue: TLMsgWndView);
procedure SetSourceMarks(AValue: TETMarks);
procedure SetTextColor(AValue: TColor);
procedure SetUrgencyStyles(Urgency: TMessageLineUrgency;
AValue: TMsgCtrlUrgencyStyle);
procedure SetAutoHeaderBackground(AValue: TColor);
@ -299,6 +301,7 @@ type
property SelectedView: TLMsgWndView read FSelectedView write SetSelectedView;
property ShowHint default true;
property SourceMarks: TETMarks read FSourceMarks write SetSourceMarks;
property TextColor: TColor read FTextColor write SetTextColor default MsgWndDefTextColor;
property UrgencyStyles[Urgency: TMessageLineUrgency]: TMsgCtrlUrgencyStyle read GetUrgencyStyles write SetUrgencyStyles;
end;
@ -1233,6 +1236,13 @@ begin
FreeNotification(SourceMarks);
end;
procedure TMessagesCtrl.SetTextColor(AValue: TColor);
begin
if FTextColor=AValue then Exit;
FTextColor:=AValue;
Invalidate;
end;
procedure TMessagesCtrl.SetUrgencyStyles(Urgency: TMessageLineUrgency;
AValue: TMsgCtrlUrgencyStyle);
begin
@ -1511,6 +1521,7 @@ var
IsSelected: Boolean;
FirstLineIsNotSelectedMessage: Boolean;
SecondLineIsNotSelectedMessage: Boolean;
col: TColor;
begin
if Focused then
Include(FStates,mcsFocused)
@ -1546,7 +1557,7 @@ begin
Canvas.Line(NodeRect.Left,NodeRect.Top,NodeRect.Right,NodeRect.Top);
Canvas.Pen.Style:=psSolid;
DrawText(NodeRect,GetHeaderText(View),
(fSelectedView=View) and (FSelectedLine=-1),clDefault);
(fSelectedView=View) and (FSelectedLine=-1),TextColor);
Canvas.Brush.Color:=BackgroundColor;
end;
inc(y,ItemHeight);
@ -1578,8 +1589,10 @@ begin
inc(NodeRect.Left,Images.Width+2);
end;
// message text
DrawText(NodeRect,GetLineText(Line),IsSelected,
UrgencyStyles[Line.Urgency].Color);
col:=TextColor;
if col=clDefault then
col:=UrgencyStyles[Line.Urgency].Color;
DrawText(NodeRect,GetLineText(Line),IsSelected,col);
inc(y,ItemHeight);
inc(j);
end;
@ -1597,7 +1610,7 @@ begin
NodeRect:=Rect(0,0,ClientWidth,ItemHeight);
Canvas.Line(NodeRect.Left,NodeRect.Bottom,NodeRect.Right,NodeRect.Bottom);
Canvas.Pen.Style:=psSolid;
DrawText(NodeRect,'...'+GetHeaderText(View),false,clDefault);
DrawText(NodeRect,'...'+GetHeaderText(View),false,TextColor);
Canvas.Brush.Color:=BackgroundColor;
end;
inc(y,ItemHeight*(View.Lines.Count-j));
@ -1607,9 +1620,11 @@ begin
if (y+ItemHeight>0) and (y<ClientHeight) then begin
// progress text
NodeRect:=Rect(Indent,y,ClientWidth,y+ItemHeight);
col:=TextColor;
if col=clDefault then
col:=UrgencyStyles[View.ProgressLine.Urgency].Color;
DrawText(NodeRect,View.ProgressLine.Msg,
(fSelectedView=View) and (FSelectedLine=View.Lines.Count),
UrgencyStyles[View.ProgressLine.Urgency].Color);
(fSelectedView=View) and (FSelectedLine=View.Lines.Count),col);
end;
inc(y,ItemHeight);
end;
@ -2360,6 +2375,7 @@ begin
FHeaderBackground[lmvtsSuccess]:=MsgWndDefHeaderBackgroundSuccess;
FHeaderBackground[lmvtsFailed]:=MsgWndDefHeaderBackgroundFailed;
FAutoHeaderBackground:=MsgWndDefAutoHeaderBackground;
FTextColor:=MsgWndDefTextColor;
TabStop := True;
ParentColor := False;
FImageChangeLink := TChangeLink.Create;
@ -2420,6 +2436,7 @@ begin
HeaderBackground[lmvtsRunning]:=EnvironmentOptions.MsgViewColors[mwRunning];
HeaderBackground[lmvtsSuccess]:=EnvironmentOptions.MsgViewColors[mwSuccess];
HeaderBackground[lmvtsFailed]:=EnvironmentOptions.MsgViewColors[mwFailed];
TextColor:=EnvironmentOptions.MsgViewColors[mwTextColor];
NewOptions:=Options;
SetOption(mcoSingleClickOpensFile,not EnvironmentOptions.MsgViewDblClickJumps);
SetOption(mcoShowMsgIcons,EnvironmentOptions.ShowMessagesIcons);

View File

@ -49,7 +49,7 @@ object MsgWndOptionsFrame: TMsgWndOptionsFrame
Height = 29
Top = 120
Width = 303
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbCustomColor, cbPrettyNames]
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbIncludeNone, cbIncludeDefault, cbCustomColor, cbPrettyNames, cbCustomColors]
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ItemHeight = 20

View File

@ -92,6 +92,7 @@ begin
Items.Add(lisToolHeaderSuccess);
Items.Add(lisToolHeaderFailed);
Items.Add(lisToolHeaderScrolledUp);
Items.Add(dlfMouseSimpleTextSect);
end;
procedure TMsgWndOptionsFrame.MWColorBoxChange(Sender: TObject);