
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@44 8e941d3f-bd1b-0410-a28a-d453659cc2b4
611 lines
21 KiB
ObjectPascal
611 lines
21 KiB
ObjectPascal
{*********************************************************}
|
|
{* OVCLBL0.PAS 4.06 *}
|
|
{*********************************************************}
|
|
|
|
{* ***** BEGIN LICENSE BLOCK ***** *}
|
|
{* Version: MPL 1.1 *}
|
|
{* *}
|
|
{* The contents of this file are subject to the Mozilla Public License *}
|
|
{* Version 1.1 (the "License"); you may not use this file except in *}
|
|
{* compliance with the License. You may obtain a copy of the License at *}
|
|
{* http://www.mozilla.org/MPL/ *}
|
|
{* *}
|
|
{* Software distributed under the License is distributed on an "AS IS" basis, *}
|
|
{* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License *}
|
|
{* for the specific language governing rights and limitations under the *}
|
|
{* License. *}
|
|
{* *}
|
|
{* The Original Code is TurboPower Orpheus *}
|
|
{* *}
|
|
{* The Initial Developer of the Original Code is TurboPower Software *}
|
|
{* *}
|
|
{* Portions created by TurboPower Software Inc. are Copyright (C)1995-2002 *}
|
|
{* TurboPower Software Inc. All Rights Reserved. *}
|
|
{* *}
|
|
{* Contributor(s): *}
|
|
{* *}
|
|
{* ***** END LICENSE BLOCK ***** *}
|
|
|
|
{$I OVC.INC}
|
|
|
|
{$B-} {Complete Boolean Evaluation}
|
|
{$I+} {Input/Output-Checking}
|
|
{$P+} {Open Parameters}
|
|
{$T-} {Typed @ Operator}
|
|
{.W-} {Windows Stack Frame}
|
|
{$X+} {Extended Syntax}
|
|
|
|
unit ovclbl0;
|
|
|
|
interface
|
|
|
|
uses
|
|
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, Buttons, {$ENDIF}
|
|
SysUtils, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, ExtCtrls,
|
|
{$IFNDEF LCL} {$IFDEF VERSION6} DesignIntf, DesignEditors, {$ELSE} DsgnIntf, {$ENDIF} {$ELSE} PropEdits, ComponentEditors, {$ENDIF}
|
|
Menus, IniFiles, OvcLbl2, TypInfo, OvcCmbx, OvcClrCb, OvcLabel, OvcBase,
|
|
OvcData;
|
|
|
|
type
|
|
TfrmOvcLabel = class(TForm)
|
|
Panel1: TPanel;
|
|
OvcLabel: TOvcLabel;
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
Panel2: TPanel;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
SchemeCb: TComboBox;
|
|
SaveAsBtn: TButton;
|
|
DeleteBtn: TButton;
|
|
Panel3: TPanel;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
Label6: TLabel;
|
|
Label7: TLabel;
|
|
Label8: TLabel;
|
|
GraduateRg: TRadioGroup;
|
|
ShadowRg: TRadioGroup;
|
|
HighlightRg: TRadioGroup;
|
|
FromColorCcb: TOvcColorComboBox;
|
|
HighlightColorCcb: TOvcColorComboBox;
|
|
ShadowColorCcb: TOvcColorComboBox;
|
|
HighlightDirectionLbl: TLabel;
|
|
ShadowDirectionLbl: TLabel;
|
|
FontColorCcb: TOvcColorComboBox;
|
|
Panel4: TPanel;
|
|
Label9: TLabel;
|
|
Label10: TLabel;
|
|
Label11: TLabel;
|
|
FontSizeSb: TScrollBar;
|
|
FontSizeLbl: TLabel;
|
|
HighlightDepthLbl: TLabel;
|
|
ShadowDepthLbl: TLabel;
|
|
ShadowDepthSb: TScrollBar;
|
|
HighlightDepthSb: TScrollBar;
|
|
AppearanceCb: TComboBox;
|
|
ColorSchemeCb: TComboBox;
|
|
OvcController1: TOvcController;
|
|
procedure FontSizeSbChange(Sender: TObject);
|
|
procedure HighlightDepthSbChange(Sender: TObject);
|
|
procedure ShadowDepthSbChange(Sender: TObject);
|
|
procedure GraduateRgClick(Sender: TObject);
|
|
procedure HighlightRgClick(Sender: TObject);
|
|
procedure ShadowRgClick(Sender: TObject);
|
|
procedure FromColorCcbChange(Sender: TObject);
|
|
procedure HighlightColorCcbChange(Sender: TObject);
|
|
procedure ShadowColorCcbChange(Sender: TObject);
|
|
procedure FontColorCcbChange(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure SaveAsBtnClick(Sender: TObject);
|
|
procedure DeleteBtnClick(Sender: TObject);
|
|
procedure SchemeCbChange(Sender: TObject);
|
|
procedure AppearanceCbChange(Sender: TObject);
|
|
procedure ColorSchemeCbChange(Sender: TObject);
|
|
private
|
|
public
|
|
HighlightDirectionDp : TOvcDirectionPicker;
|
|
ShadowDirectionDp : TOvcDirectionPicker;
|
|
SettingScheme : Boolean;
|
|
SettingCb : Boolean;
|
|
|
|
procedure DeleteScheme(const S : string);
|
|
procedure HighlightDirectionChange(Sender: TObject);
|
|
procedure ShadowDirectionChange(Sender: TObject);
|
|
procedure SchemeChange;
|
|
end;
|
|
|
|
type
|
|
{component editor for the notebook pages}
|
|
{$IFNDEF LCL}
|
|
TOvcLabelEditor = class(TDefaultEditor)
|
|
{$ELSE}
|
|
TOvcLabelEditor = class(TDefaultComponentEditor)
|
|
{$ENDIF}
|
|
public
|
|
procedure ExecuteVerb(Index : Integer);
|
|
override;
|
|
function GetVerb(Index : Integer) : AnsiString;
|
|
override;
|
|
function GetVerbCount : Integer;
|
|
override;
|
|
end;
|
|
|
|
{property editor for the special settings class}
|
|
TOvcCustomSettingsProperty = class(TClassProperty)
|
|
public
|
|
procedure Edit;
|
|
override;
|
|
function GetAttributes : TPropertyAttributes;
|
|
override;
|
|
end;
|
|
|
|
function EditOvcLabel(L : TOvcLabel) : Boolean;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
OvcLbl1;
|
|
|
|
{$IFNDEF LCL}
|
|
{$R *.DFM}
|
|
{$ENDIF}
|
|
|
|
const
|
|
IniFileName = 'orpheus.ini';
|
|
// Note: Location of this file needs to consider platform differences.
|
|
// Currently creates it in Lazarus folder (Windows) or root folder (OS X).
|
|
|
|
function EditOvcLabel(L : TOvcLabel) : Boolean;
|
|
var
|
|
D : TfrmOvcLabel;
|
|
begin
|
|
Result := False;
|
|
D := TfrmOvcLabel.Create(Application);
|
|
try
|
|
D.OvcLabel.Font.Assign(L.Font);
|
|
D.OvcLabel.CustomSettings.Assign(L.CustomSettings);
|
|
|
|
D.FontSizeSb.Position := L.Font.Size;
|
|
D.HighlightDepthSB.Position := L.CustomSettings.HighlightDepth;
|
|
D.ShadowDepthSB.Position := L.CustomSettings.ShadowDepth;
|
|
|
|
D.GraduateRg.ItemIndex := Ord(L.CustomSettings.GraduateStyle);
|
|
D.HighlightRg.ItemIndex := Ord(L.CustomSettings.HighlightStyle);
|
|
D.ShadowRg.ItemIndex := Ord(L.CustomSettings.ShadowStyle);
|
|
|
|
D.FontColorCcb.SelectedColor := L.Font.Color;
|
|
D.FromColorCcb.SelectedColor := L.CustomSettings.GraduateFromColor;
|
|
D.HighlightColorCcb.SelectedColor := L.CustomSettings.HighlightColor;
|
|
D.ShadowColorCcb.SelectedColor := L.CustomSettings.ShadowColor;
|
|
|
|
D.HighlightDirectionDp.Direction := Ord(L.CustomSettings.HighlightDirection)-1;
|
|
D.ShadowDirectionDp.Direction := Ord(L.CustomSettings.ShadowDirection)-1;
|
|
|
|
if D.ShowModal = mrOK then begin
|
|
L.CustomSettings.BeginUpdate;
|
|
try
|
|
L.Font.Assign(D.OvcLabel.Font);
|
|
L.CustomSettings.Assign(D.OvcLabel.CustomSettings);
|
|
finally
|
|
L.CustomSettings.EndUpdate;
|
|
end;
|
|
Result := True;
|
|
end;
|
|
finally
|
|
D.Free;
|
|
end;
|
|
end;
|
|
|
|
|
|
{*** TOvcLabelEditor ***}
|
|
|
|
procedure TOvcLabelEditor.ExecuteVerb(Index : Integer);
|
|
begin
|
|
if EditOvcLabel(TOvcLabel(Component)) then
|
|
{$IFNDEF LCL}
|
|
Designer.Modified;
|
|
{$ELSE}
|
|
Modified;
|
|
{$ENDIF}
|
|
end;
|
|
|
|
function TOvcLabelEditor.GetVerb(Index : Integer) : AnsiString;
|
|
begin
|
|
Result := 'Style Manager...';
|
|
end;
|
|
|
|
function TOvcLabelEditor.GetVerbCount : Integer;
|
|
begin
|
|
Result := 1;
|
|
end;
|
|
|
|
|
|
{*** TOvcCustomSettingsProperty ***}
|
|
|
|
procedure TOvcCustomSettingsProperty.Edit;
|
|
var
|
|
I : Integer;
|
|
C : TComponent;
|
|
L : TOvcLabel;
|
|
M : TOvcLabel;
|
|
begin
|
|
C := TComponent(GetComponent(0));
|
|
if C is TOvcCustomLabel then begin
|
|
L := TOvcLabel(C);
|
|
if EditOvcLabel(L) then begin
|
|
{if more than one component selected, apply changes to others}
|
|
for I := 2 to PropCount do begin
|
|
M := TOvcLabel(GetComponent(Pred(I)));
|
|
M.CustomSettings.BeginUpdate;
|
|
try
|
|
M.Font.Assign(L.Font);
|
|
M.CustomSettings.Assign(L.CustomSettings);
|
|
finally
|
|
M.CustomSettings.EndUpdate;
|
|
end;
|
|
M.Invalidate;
|
|
end;
|
|
{$IFNDEF LCL}
|
|
Designer.Modified;
|
|
{$ELSE}
|
|
Modified;
|
|
{$ENDIF}
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
function TOvcCustomSettingsProperty.GetAttributes: TPropertyAttributes;
|
|
begin
|
|
Result := [paSubProperties, paMultiSelect, paDialog, paReadOnly]
|
|
end;
|
|
|
|
|
|
{*** TOvcLabelFrm ***}
|
|
|
|
procedure TfrmOvcLabel.FontSizeSbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.Font.Size := FontSizeSb.Position;
|
|
FontSizeLbl.Caption := IntToStr(OvcLabel.Font.Size);
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.HighlightDepthSbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.HighlightDepth := HighlightDepthSb.Position;
|
|
HighlightDepthLbl.Caption := IntToStr(OvcLabel.CustomSettings.HighlightDepth);
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.ShadowDepthSbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.ShadowDepth := ShadowDepthSb.Position;
|
|
ShadowDepthLbl.Caption := IntToStr(OvcLabel.CustomSettings.ShadowDepth);
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.GraduateRgClick(Sender: TObject);
|
|
begin
|
|
case GraduateRg.ItemIndex of
|
|
0 : OvcLabel.CustomSettings.GraduateStyle := gsNone;
|
|
1 : OvcLabel.CustomSettings.GraduateStyle := gsHorizontal;
|
|
2 : OvcLabel.CustomSettings.GraduateStyle := gsVertical;
|
|
end;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.HighlightRgClick(Sender: TObject);
|
|
begin
|
|
case HighlightRg.ItemIndex of
|
|
0 : OvcLabel.CustomSettings.HighlightStyle := ssPlain;
|
|
1 : OvcLabel.CustomSettings.HighlightStyle := ssExtrude;
|
|
2 : OvcLabel.CustomSettings.HighlightStyle := ssGraduated;
|
|
end;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.ShadowRgClick(Sender: TObject);
|
|
begin
|
|
case ShadowRg.ItemIndex of
|
|
0 : OvcLabel.CustomSettings.ShadowStyle := ssPlain;
|
|
1 : OvcLabel.CustomSettings.ShadowStyle := ssExtrude;
|
|
2 : OvcLabel.CustomSettings.ShadowStyle := ssGraduated;
|
|
end;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.FromColorCcbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.GraduateFromColor := FromColorCcb.SelectedColor;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.HighlightColorCcbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.HighlightColor := HighlightColorCcb.SelectedColor;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.ShadowColorCcbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.ShadowColor := ShadowColorCcb.SelectedColor;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.FontColorCcbChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.Font.Color := FontColorCcb.SelectedColor;
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.FormCreate(Sender: TObject);
|
|
var
|
|
Ini : TIniFile;
|
|
A : TOvcAppearance;
|
|
C : TOvcColorScheme;
|
|
begin
|
|
Top := (Screen.Height - Height) div 3;
|
|
Left := (Screen.Width - Width) div 2;
|
|
|
|
{load scheme names into combo box}
|
|
Ini := TIniFile.Create(IniFileName);
|
|
try
|
|
SchemeCb.Items.Clear;
|
|
Ini.ReadSection('Schemes', SchemeCb.Items);
|
|
finally
|
|
Ini.Free;
|
|
end;
|
|
|
|
{create direction pickers}
|
|
HighlightDirectionDp := TOvcDirectionPicker.Create(Self);
|
|
HighlightDirectionDp.Top := HighlightDirectionLbl.Top;
|
|
HighlightDirectionDp.Left := HighlightDirectionLbl.Left + HighlightDirectionLbl.Width;
|
|
HighlightDirectionDp.Width := 50;
|
|
HighlightDirectionDp.Height := 50;
|
|
HighlightDirectionDp.NumDirections := 8;
|
|
HighlightDirectionDp.OnChange := HighlightDirectionChange;
|
|
HighlightDirectionDp.Parent := HighlightDirectionLbl.Parent;
|
|
HighlightDirectionDp.Visible := True;
|
|
|
|
ShadowDirectionDp := TOvcDirectionPicker.Create(Self);
|
|
ShadowDirectionDp.Top := ShadowDirectionLbl.Top;
|
|
ShadowDirectionDp.Left := ShadowDirectionLbl.Left + ShadowDirectionLbl.Width;
|
|
ShadowDirectionDp.Width := 50;
|
|
ShadowDirectionDp.Height := 50;
|
|
ShadowDirectionDp.NumDirections := 8;
|
|
ShadowDirectionDp.OnChange := ShadowDirectionChange;
|
|
ShadowDirectionDp.Parent := ShadowDirectionLbl.Parent;
|
|
ShadowDirectionDp.Visible := True;
|
|
|
|
{initialize appearance and color scheme ComboBoxes using rtti}
|
|
for A := Low(TOvcAppearance) to High(TOvcAppearance) do
|
|
AppearanceCb.Items.Add(GetEnumName(TypeInfo(TOvcAppearance), Ord(A)));
|
|
for C := Low(TOvcColorScheme) to High(TOvcColorScheme) do
|
|
ColorSchemeCb.Items.Add(GetEnumName(TypeInfo(TOvcColorScheme), Ord(C)));
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.SaveAsBtnClick(Sender: TObject);
|
|
var
|
|
Ini : TIniFile;
|
|
S : string;
|
|
begin
|
|
with TfrmSaveScheme.Create(Self) do begin
|
|
if (ShowModal = mrOK) and (SchemeNameEd.Text > '') then begin
|
|
S := SchemeNameEd.Text;
|
|
Ini := TIniFile.Create(IniFileName);
|
|
try
|
|
{delete scheme}
|
|
DeleteScheme(S);
|
|
|
|
{add scheme name to list of schemes}
|
|
Ini.WriteInteger('Schemes', S, 0);
|
|
|
|
{create new scheme section and add values}
|
|
Ini.WriteInteger(S, 'GraduateStyle', Ord(OvcLabel.CustomSettings.GraduateStyle));
|
|
Ini.WriteInteger(S, 'HighlightStyle', Ord(OvcLabel.CustomSettings.HighlightStyle));
|
|
Ini.WriteInteger(S, 'ShadowStyle', Ord(OvcLabel.CustomSettings.ShadowStyle));
|
|
Ini.WriteString(S, 'GraduateFromColor', ColorToString(OvcLabel.CustomSettings.GraduateFromColor));
|
|
Ini.WriteString(S, 'HighlightColor', ColorToString(OvcLabel.CustomSettings.HighlightColor));
|
|
Ini.WriteString(S, 'ShadowColor', ColorToString(OvcLabel.CustomSettings.ShadowColor));
|
|
Ini.WriteInteger(S, 'HighlightDirection', Ord(OvcLabel.CustomSettings.HighlightDirection));
|
|
Ini.WriteInteger(S, 'ShadowDirection', Ord(OvcLabel.CustomSettings.ShadowDirection));
|
|
Ini.WriteString(S, 'FontColor', ColorToString(OvcLabel.Font.Color));
|
|
Ini.WriteString(S, 'FontName', OvcLabel.Font.Name);
|
|
Ini.WriteInteger(S, 'FontPitch', Ord(OvcLabel.Font.Pitch));
|
|
Ini.WriteInteger(S, 'FontSize', OvcLabel.Font.Size);
|
|
Ini.WriteBool(S, 'FontBold', fsBold in OvcLabel.Font.Style);
|
|
Ini.WriteBool(S, 'FontItalic', fsItalic in OvcLabel.Font.Style);
|
|
Ini.WriteBool(S, 'FontUnderline', fsUnderline in OvcLabel.Font.Style);
|
|
Ini.WriteBool(S, 'FontStrikeOut', fsStrikeOut in OvcLabel.Font.Style);
|
|
Ini.WriteInteger(S, 'HighlightDepth', OvcLabel.CustomSettings.HighlightDepth);
|
|
Ini.WriteInteger(S, 'ShadowDepth', OvcLabel.CustomSettings.ShadowDepth);
|
|
finally
|
|
Ini.Free;
|
|
end;
|
|
|
|
{add item to the ComboBox, if its not there already}
|
|
if SchemeCb.Items.IndexOf(S) < 0 then
|
|
SchemeCb.Items.Add(S);
|
|
end;
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.DeleteBtnClick(Sender: TObject);
|
|
var
|
|
I : Integer;
|
|
begin
|
|
I := SchemeCb.ItemIndex;
|
|
if I > -1 then begin
|
|
DeleteScheme(SchemeCb.Items[I]);
|
|
{delete the entry from the combo box}
|
|
SchemeCb.Items.Delete(I);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.DeleteScheme(const S : string);
|
|
var
|
|
Ini : TIniFile;
|
|
begin
|
|
{delete the scheme entry from the ini file}
|
|
Ini := TIniFile.Create(IniFileName);
|
|
try
|
|
{delete the section}
|
|
Ini.EraseSection(S);
|
|
{delete the scheme name}
|
|
Ini.DeleteKey('Schemes', S);
|
|
finally
|
|
Ini.Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.SchemeCbChange(Sender: TObject);
|
|
var
|
|
I : Integer;
|
|
Ini : TIniFile;
|
|
S : string;
|
|
begin
|
|
I := SchemeCb.ItemIndex;
|
|
if I > -1 then begin
|
|
S := SchemeCb.Items[I];
|
|
Ini := TIniFile.Create(IniFileName);
|
|
SettingScheme := True;
|
|
try
|
|
OvcLabel.CustomSettings.GraduateStyle := TOvcGraduateStyle(Ini.ReadInteger(S, 'GraduateStyle', 0));
|
|
OvcLabel.CustomSettings.HighlightStyle := TOvcShadeStyle(Ini.ReadInteger(S, 'HighlightStyle', 0));
|
|
OvcLabel.CustomSettings.ShadowStyle := TOvcShadeStyle(Ini.ReadInteger(S, 'ShadowStyle', 0));
|
|
OvcLabel.CustomSettings.GraduateFromColor := StringToColor(Ini.ReadString(S, 'GraduateFromColor', '0'));
|
|
OvcLabel.CustomSettings.HighlightColor := StringToColor(Ini.ReadString(S, 'HighlightColor', '0'));
|
|
OvcLabel.CustomSettings.ShadowColor := StringToColor(Ini.ReadString(S, 'ShadowColor', '0'));
|
|
OvcLabel.CustomSettings.HighlightDirection := TOvcShadeDirection(Ini.ReadInteger(S, 'HighlightDirection', 0));
|
|
OvcLabel.CustomSettings.ShadowDirection := TOvcShadeDirection(Ini.ReadInteger(S, 'ShadowDirection', 0));
|
|
OvcLabel.CustomSettings.HighlightDepth := Ini.ReadInteger(S, 'HighlightDepth', 1);
|
|
OvcLabel.CustomSettings.ShadowDepth := Ini.ReadInteger(S, 'ShadowDepth', 1);
|
|
|
|
OvcLabel.Font.Color := StringToColor(Ini.ReadString(S, 'FontColor', '0'));
|
|
{$IFNDEF LCL}
|
|
OvcLabel.Font.Name := Ini.ReadString(S, 'FontName', 'Times New Roman');
|
|
{$ELSE}
|
|
OvcLabel.Font.Name := Ini.ReadString(S, 'FontName', 'default');
|
|
{$ENDIF}
|
|
OvcLabel.Font.Pitch := TFontPitch(Ini.ReadInteger(S, 'FontPitch', 0));
|
|
OvcLabel.Font.Size := Ini.ReadInteger(S, 'FontSize', 10);
|
|
OvcLabel.Font.Style := [];
|
|
if Ini.ReadBool(S, 'FontBold', False) then
|
|
OvcLabel.Font.Style := OvcLabel.Font.Style + [fsBold];
|
|
if Ini.ReadBool(S, 'FontItalic', False) then
|
|
OvcLabel.Font.Style := OvcLabel.Font.Style + [fsItalic];
|
|
if Ini.ReadBool(S, 'FontUnderline', False) then
|
|
OvcLabel.Font.Style := OvcLabel.Font.Style + [fsUnderline];
|
|
if Ini.ReadBool(S, 'FontStrikeOut', False) then
|
|
OvcLabel.Font.Style := OvcLabel.Font.Style + [fsStrikeOut];
|
|
|
|
FontSizeSb.Position := OvcLabel.Font.Size;
|
|
HighlightDepthSB.Position := OvcLabel.CustomSettings.HighlightDepth;
|
|
ShadowDepthSB.Position := OvcLabel.CustomSettings.ShadowDepth;
|
|
GraduateRg.ItemIndex := Ord(OvcLabel.CustomSettings.GraduateStyle);
|
|
HighlightRg.ItemIndex := Ord(OvcLabel.CustomSettings.HighlightStyle);
|
|
ShadowRg.ItemIndex := Ord(OvcLabel.CustomSettings.ShadowStyle);
|
|
FontColorCcb.SelectedColor := OvcLabel.Font.Color;
|
|
FromColorCcb.SelectedColor := OvcLabel.CustomSettings.GraduateFromColor;
|
|
HighlightColorCcb.SelectedColor := OvcLabel.CustomSettings.HighlightColor;
|
|
ShadowColorCcb.SelectedColor := OvcLabel.CustomSettings.ShadowColor;
|
|
HighlightDirectionDp.Direction := Ord(OvcLabel.CustomSettings.HighlightDirection)-1;
|
|
ShadowDirectionDp.Direction := Ord(OvcLabel.CustomSettings.ShadowDirection)-1;
|
|
finally
|
|
SettingScheme := False;
|
|
Ini.Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.HighlightDirectionChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.HighlightDirection :=
|
|
TOvcShadeDirection(HighlightDirectionDp.Direction+1);
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.ShadowDirectionChange(Sender: TObject);
|
|
begin
|
|
OvcLabel.CustomSettings.ShadowDirection :=
|
|
TOvcShadeDirection(ShadowDirectionDp.Direction+1);
|
|
SchemeChange;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.SchemeChange;
|
|
begin
|
|
if not SettingScheme then
|
|
SchemeCb.ItemIndex := -1;
|
|
|
|
if not SettingCb then begin
|
|
AppearanceCb.ItemIndex := -1;
|
|
ColorSchemeCb.ItemIndex := -1;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TfrmOvcLabel.AppearanceCbChange(Sender: TObject);
|
|
begin
|
|
if AppearanceCb.ItemIndex > -1 then begin
|
|
SettingScheme := True;
|
|
SettingCb := True;
|
|
try
|
|
OvcLabel.Appearance := TOvcAppearance(AppearanceCb.ItemIndex);
|
|
|
|
FontSizeSb.Position := OvcLabel.Font.Size;
|
|
HighlightDepthSB.Position := OvcLabel.CustomSettings.HighlightDepth;
|
|
ShadowDepthSB.Position := OvcLabel.CustomSettings.ShadowDepth;
|
|
GraduateRg.ItemIndex := Ord(OvcLabel.CustomSettings.GraduateStyle);
|
|
HighlightRg.ItemIndex := Ord(OvcLabel.CustomSettings.HighlightStyle);
|
|
ShadowRg.ItemIndex := Ord(OvcLabel.CustomSettings.ShadowStyle);
|
|
FontColorCcb.SelectedColor := OvcLabel.Font.Color;
|
|
FromColorCcb.SelectedColor := OvcLabel.CustomSettings.GraduateFromColor;
|
|
HighlightColorCcb.SelectedColor := OvcLabel.CustomSettings.HighlightColor;
|
|
ShadowColorCcb.SelectedColor := OvcLabel.CustomSettings.ShadowColor;
|
|
HighlightDirectionDp.Direction := Ord(OvcLabel.CustomSettings.HighlightDirection)-1;
|
|
ShadowDirectionDp.Direction := Ord(OvcLabel.CustomSettings.ShadowDirection)-1;
|
|
finally
|
|
SettingCb := False;
|
|
SettingScheme := False;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmOvcLabel.ColorSchemeCbChange(Sender: TObject);
|
|
begin
|
|
if ColorSchemeCb.ItemIndex > -1 then begin
|
|
SettingScheme := True;
|
|
SettingCb := True;
|
|
try
|
|
OvcLabel.ColorScheme := TOvcColorScheme(ColorSchemeCb.ItemIndex);
|
|
|
|
FontSizeSb.Position := OvcLabel.Font.Size;
|
|
HighlightDepthSB.Position := OvcLabel.CustomSettings.HighlightDepth;
|
|
ShadowDepthSB.Position := OvcLabel.CustomSettings.ShadowDepth;
|
|
GraduateRg.ItemIndex := Ord(OvcLabel.CustomSettings.GraduateStyle);
|
|
HighlightRg.ItemIndex := Ord(OvcLabel.CustomSettings.HighlightStyle);
|
|
ShadowRg.ItemIndex := Ord(OvcLabel.CustomSettings.ShadowStyle);
|
|
FontColorCcb.SelectedColor := OvcLabel.Font.Color;
|
|
FromColorCcb.SelectedColor := OvcLabel.CustomSettings.GraduateFromColor;
|
|
HighlightColorCcb.SelectedColor := OvcLabel.CustomSettings.HighlightColor;
|
|
ShadowColorCcb.SelectedColor := OvcLabel.CustomSettings.ShadowColor;
|
|
HighlightDirectionDp.Direction := Ord(OvcLabel.CustomSettings.HighlightDirection)-1;
|
|
ShadowDirectionDp.Direction := Ord(OvcLabel.CustomSettings.ShadowDirection)-1;
|
|
finally
|
|
SettingCb := False;
|
|
SettingScheme := False;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
{$IFDEF LCL}
|
|
{$I ovclbl0.lrs} {Include form's resource file}
|
|
{$ENDIF}
|
|
|
|
end.
|