SpkToolbar: Fix anchors in Appearance editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7737 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-03 14:39:46 +00:00
parent e1af77e5b3
commit bf2850f8a1
2 changed files with 530 additions and 508 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -15,6 +15,9 @@ type
{ TfrmAppearanceEditWindow } { TfrmAppearanceEditWindow }
TfrmAppearanceEditWindow = class(TForm) TfrmAppearanceEditWindow = class(TForm)
bvHorSpacer: TBevel;
bvPaneHorSpacer: TBevel;
bvVertSpacer: TBevel;
bMenuButtonActiveCaptionColor: TSpeedButton; bMenuButtonActiveCaptionColor: TSpeedButton;
bMenuButtonActiveFrameColor: TSpeedButton; bMenuButtonActiveFrameColor: TSpeedButton;
bMenuButtonActiveGradientFromColor: TSpeedButton; bMenuButtonActiveGradientFromColor: TSpeedButton;
@@ -27,6 +30,7 @@ type
bMenuButtonIdleFrameColor: TSpeedButton; bMenuButtonIdleFrameColor: TSpeedButton;
bMenuButtonIdleGradientFromColor: TSpeedButton; bMenuButtonIdleGradientFromColor: TSpeedButton;
bMenuButtonIdleGradientToColor: TSpeedButton; bMenuButtonIdleGradientToColor: TSpeedButton;
bvPaneVertSpacer: TBevel;
cbMenuButtonActiveGradientKind: TComboBox; cbMenuButtonActiveGradientKind: TComboBox;
cbMenuButtonHottrackGradientKind: TComboBox; cbMenuButtonHottrackGradientKind: TComboBox;
cbMenuButtonIdleGradientKind: TComboBox; cbMenuButtonIdleGradientKind: TComboBox;
@@ -40,12 +44,12 @@ type
Label30: TLabel; Label30: TLabel;
Label31: TLabel; Label31: TLabel;
Label32: TLabel; Label32: TLabel;
Label33: TLabel; lblMenuButtonFont: TLabel;
Label34: TLabel; Label34: TLabel;
Label6: TLabel; lMenuButtonIdleFrame: TLabel;
LblActive1: TLabel; lblMenuButtonActive: TLabel;
LblHotTrack1: TLabel; lblMenuButtonHotTrack: TLabel;
LblIdle1: TLabel; lblMenuButtonIdle: TLabel;
lblTabCornerRadius: TLabel; lblTabCornerRadius: TLabel;
lblTabCaptionHeight: TLabel; lblTabCaptionHeight: TLabel;
@@ -71,12 +75,11 @@ type
Label19: TLabel; Label19: TLabel;
Label20: TLabel; Label20: TLabel;
PaneHSpacer: TBevel; PaneHSpacer: TBevel;
ItemHSpacer: TBevel; bvItemHorSpacer: TBevel;
edPaneHotTrackBrightnessChange: TSpinEdit; edPaneHotTrackBrightnessChange: TSpinEdit;
edItemHotTrackBrightnessChange: TSpinEdit; edItemHotTrackBrightnessChange: TSpinEdit;
edTabCornerRadius: TSpinEdit; edTabCornerRadius: TSpinEdit;
TabSheet6: TTabSheet; TabSheet6: TTabSheet;
TabVSpacer: TBevel;
bInactiveTabHeaderFontColor: TSpeedButton; bInactiveTabHeaderFontColor: TSpeedButton;
bItemActiveInnerDarkColor: TSpeedButton; bItemActiveInnerDarkColor: TSpeedButton;
bItemActiveGradientFromColor: TSpeedButton; bItemActiveGradientFromColor: TSpeedButton;
@@ -110,7 +113,7 @@ type
cbItemStyle: TComboBox; cbItemStyle: TComboBox;
cbPaneStyle: TComboBox; cbPaneStyle: TComboBox;
ColorView: TShape; ColorView: TShape;
ItemVSpacer: TBevel; bvItemVertSpacer: TBevel;
gbPreview: TGroupBox; gbPreview: TGroupBox;
Label12: TLabel; Label12: TLabel;
Label27: TLabel; Label27: TLabel;
@@ -124,7 +127,6 @@ type
ButtonPanel: TPanel; ButtonPanel: TPanel;
bTabFrameColor: TSpeedButton; bTabFrameColor: TSpeedButton;
SpkTab2: TSpkTab; SpkTab2: TSpkTab;
TabHSpacer: TBevel;
tbPreview: TSpkToolbar; tbPreview: TSpkToolbar;
SpkTab1: TSpkTab; SpkTab1: TSpkTab;
SpkPane1: TSpkPane; SpkPane1: TSpkPane;
@@ -141,11 +143,11 @@ type
SpkSmallButton6: TSpkSmallButton; SpkSmallButton6: TSpkSmallButton;
SpkSmallButton7: TSpkSmallButton; SpkSmallButton7: TSpkSmallButton;
SpkSmallButton8: TSpkSmallButton; SpkSmallButton8: TSpkSmallButton;
PageControl1: TPageControl; PageControl: TPageControl;
TabSheet1: TTabSheet; TabSheet1: TTabSheet;
TabSheet2: TTabSheet; TabSheet2: TTabSheet;
TabSheet3: TTabSheet; TabSheet3: TTabSheet;
Label2: TLabel; lblTabFrame: TLabel;
pTabFrame: TPanel; pTabFrame: TPanel;
pTabGradientFrom: TPanel; pTabGradientFrom: TPanel;
Label3: TLabel; Label3: TLabel;
@@ -155,7 +157,7 @@ type
Label5: TLabel; Label5: TLabel;
lblTabHeaderFont: TLabel; lblTabHeaderFont: TLabel;
pTabHeaderFont: TPanel; pTabHeaderFont: TPanel;
Label8: TLabel; lblPaneBorderDark: TLabel;
pPaneBorderDark: TPanel; pPaneBorderDark: TPanel;
pPaneBorderLight: TPanel; pPaneBorderLight: TPanel;
Label21: TLabel; Label21: TLabel;
@@ -166,10 +168,10 @@ type
Label11: TLabel; Label11: TLabel;
cbPaneGradientKind: TComboBox; cbPaneGradientKind: TComboBox;
pPaneCaptionBackground: TPanel; pPaneCaptionBackground: TPanel;
LblPaneCaptionBackground: TLabel; lblPaneCaptionBackground: TLabel;
Label13: TLabel; Label13: TLabel;
pPaneCaptionFont: TPanel; pPaneCaptionFont: TPanel;
Label1: TLabel; lblItemIdleFrame: TLabel;
Label7: TLabel; Label7: TLabel;
Label14: TLabel; Label14: TLabel;
Label25: TLabel; Label25: TLabel;
@@ -179,12 +181,12 @@ type
pItemIdleGradientTo: TPanel; pItemIdleGradientTo: TPanel;
pItemIdleGradientFrom: TPanel; pItemIdleGradientFrom: TPanel;
pItemIdleFrame: TPanel; pItemIdleFrame: TPanel;
LblIdle: TLabel; lblItemIdle: TLabel;
Label28: TLabel; Label28: TLabel;
pItemIdleCaptionColor: TPanel; pItemIdleCaptionColor: TPanel;
Label29: TLabel; Label29: TLabel;
pItemIdleInnerDark: TPanel; pItemIdleInnerDark: TPanel;
LblLinkInnerLightColor: TLabel; lblItemInnerLightColor: TLabel;
pItemIdleInnerLight: TPanel; pItemIdleInnerLight: TPanel;
cbItemHottrackGradientKind: TComboBox; cbItemHottrackGradientKind: TComboBox;
pItemHottrackGradientTo: TPanel; pItemHottrackGradientTo: TPanel;
@@ -390,6 +392,7 @@ type
{%H-}Shift: TShiftState; {%H-}X, {%H-}Y: integer); {%H-}Shift: TShiftState; {%H-}X, {%H-}Y: integer);
private private
FAutoSized: Boolean;
procedure UpdateImages; procedure UpdateImages;
procedure UpdateSizes; procedure UpdateSizes;
@@ -411,7 +414,7 @@ implementation
{$R *.lfm} {$R *.lfm}
uses uses
Types, clipbrd, spkt_Const; Types, clipbrd;
var var
CurrPageIndex: Integer = 0; CurrPageIndex: Integer = 0;
@@ -955,12 +958,12 @@ end;
procedure TfrmAppearanceEditWindow.FormCloseQuery(Sender: TObject; procedure TfrmAppearanceEditWindow.FormCloseQuery(Sender: TObject;
var CanClose: boolean); var CanClose: boolean);
begin begin
if CanClose then CurrPageIndex := PageControl1.PageIndex; if CanClose then CurrPageIndex := PageControl.PageIndex;
end; end;
procedure TfrmAppearanceEditWindow.FormCreate(Sender: TObject); procedure TfrmAppearanceEditWindow.FormCreate(Sender: TObject);
begin begin
PageControl1.PageIndex := CurrPageIndex; PageControl.PageIndex := CurrPageIndex;
end; end;
procedure TfrmAppearanceEditWindow.FormShow(Sender: TObject); procedure TfrmAppearanceEditWindow.FormShow(Sender: TObject);
@@ -1561,91 +1564,39 @@ procedure TfrmAppearanceEditWindow.UpdateSizes;
var var
w, h: Integer; w, h: Integer;
procedure AddToHeight(var AHeight: Integer; AControl: TControl); function Max(a, b: Integer): Integer;
begin begin
inc(AHeight, AControl.Height); if a > b then Result := a else Result := b;
with AControl.BorderSpacing do
inc(AHeight, Top + Bottom + Around);
end; end;
begin begin
if FAutoSized then
exit;
// Update layout of controls // Update layout of controls
bOK.AutoSize := false; bOK.AutoSize := false;
bOK.Width := bCancel.Width; bOK.Width := bCancel.Width;
ColorView.Width := ColorView.Height; ColorView.Width := ColorView.Height;
h := CbTabGradientKind.Height; h := cbPaneStyle.Top + cbPanestyle.Height + cbPaneStyle.BorderSpacing.Bottom;
{$IF lcl_fullversion < 1080000} PageControl.Constraints.MinHeight := PageControl.Height - PageControl.Clientheight + h;
w := SpkScaleX(pTabFrame.Width, 96);
{$ELSE}
w := pTabFrame.Width;
{$ENDIF}
// h := SpkScaleY(pTabFrame.Height, 96);
pTabFrame.Width := w; w := bMenuButtonActiveFramecolor.Left + bMenuButtonActiveFrameColor.Width;
pTabFrame.Height := h; PageControl.Constraints.MinWidth := PageControl.Width - PageControl.ClientWidth + w;
pTabGradientFrom.Height := h;
pTabGradientTo.Height := h;
pActiveTabHeaderFont.Height := h;
pInactiveTabHeaderFont.Height := h;
pTabHeaderFont.Height := h;
pPaneBorderDark.Width := w; Constraints.MinHeight := PageControl.Constraints.MinHeight + gbPreview.Height +
pPaneBorderDark.Height := h; ButtonPanel.Height + ButtonPanel.BorderSpacing.Top * 2;
pPaneBorderLight.Height := h; Constraints.MinWidth := Max(
pPaneGradientFrom.Height := h; tbPreview.Tabs[0].Panes[2].Rect.Right + 2,
pPaneGradientTo.Height := h; PageControl.Constraints.MinWidth
pPaneCaptionBackground.Height := h; );
pPaneCaptionFontColor.Height := h;
pPaneCaptionFont.Height := h;
pItemIdleFrame.Width := w;
pItemHotTrackFrame.Width := w;
pItemActiveFrame.Width := w;
pItemIdleFrame.Height := h;
pItemIdleGradientFrom.Height := h;
pItemIdleGradientTo.Height := h;
pItemIdleCaptionColor.Height := h;
pItemIdleInnerDark.Height := h;
pItemIdleInnerLight.Height := h;
pItemFont.Height := h;
pMenuButtonIdleFrame.Width := w; AutoSize := false;
pMenuButtonHotTrackFrame.Width := w; FAutoSized := true;
pMenuButtonActiveFrame.Width := w;
pMenuButtonIdleFrame.Height := h;
pMenuButtonIdleGradientFrom.Height := h;
pMenuButtonIdleGradientTo.Height := h;
pMenuButtonIdleCaptionColor.Height := h;
pMenuButtonFont.Height := h;
// TabSheet2 requires the largest height Position := poDesigned;
h := Height - TabSheet2.ClientHeight; // This is the height outside the tabsheet
// Add the heights of all controls
AddToHeight(h, cbLinkPane);
AddToHeight(h, pPaneBorderDark);
AddToHeight(h, pPaneBorderLight);
AddToHeight(h, pPaneGradientFrom);
AddToHeight(h, pPaneGradientTo);
AddToHeight(h, cbPaneGradientKind);
AddToHeight(h, pPaneCaptionBackground);
AddToHeight(h, edPaneHotTrackBrightnessChange);
AddToHeight(h, pPaneCaptionFontColor);
AddToHeight(h, pPaneCaptionFont);
AddToHeight(h, cbPaneStyle);
// Adjust width and height
{$IF lcl_fullversion < 1080000}
Width := SpkScaleX(Width, 96);
Height := SpkScaleY(Height, 96);
// Height := h;
{$ENDIF}
(*
Constraints.MinHeight := h;
Height := 0; *)
Position := poScreenCenter;
end; end;
procedure TfrmAppearanceEditWindow.bMenuButtonIdleFrameColorClick(Sender: TObject); procedure TfrmAppearanceEditWindow.bMenuButtonIdleFrameColorClick(Sender: TObject);