Files
lazarus-ccr/components/spktoolbar/SpkToolbar/spkt_Const.pas

193 lines
6.8 KiB
ObjectPascal
Raw Normal View History

unit spkt_Const;
{$mode delphi}
(*******************************************************************************
* *
* Plik: spkt_Const.pas *
* Opis: Sta³e wykorzystywane do obliczania geometrii toolbara *
* Copyright: (c) 2009 by Spook. Jakiekolwiek u¿ycie komponentu bez *
* uprzedniego uzyskania licencji od autora stanowi z³amanie *
* prawa autorskiego! *
* *
*******************************************************************************)
interface
const // ****************
// *** Elementy ***
// ****************
LARGEBUTTON_DROPDOWN_FIELD_SIZE = 29;
LARGEBUTTON_GLYPH_MARGIN = 1;
LARGEBUTTON_CAPTION_HMARGIN = 3;
LARGEBUTTON_MIN_WIDTH = 24;
LARGEBUTTON_RADIUS = 4;
LARGEBUTTON_BORDER_SIZE = 2;
LARGEBUTTON_CHEVRON_HMARGIN = 4;
LARGEBUTTON_CAPTION_TOP_RAIL = 45;
LARGEBUTTON_CAPTION_BOTTOM_RAIL = 58;
SMALLBUTTON_GLYPH_WIDTH = 16;
SMALLBUTTON_BORDER_WIDTH = 2;
SMALLBUTTON_HALF_BORDER_WIDTH = 1;
SMALLBUTTON_PADDING = 2;
SMALLBUTTON_DROPDOWN_WIDTH = 11;
SMALLBUTTON_RADIUS = 4;
SMALLBUTTON_MIN_WIDTH = 2 * SMALLBUTTON_PADDING + SMALLBUTTON_GLYPH_WIDTH;
// ********************
// *** Obszar tafli ***
// ********************
/// <summary>Maksymalna wysokoœæ obszaru, który mo¿e zaj¹æ zawartoœæ
/// tafli z elementami</summary>
MAX_ELEMENT_HEIGHT = 67;
/// <summary>Wysokoœæ pojedynczego wiersza elementów tafli</summary>
PANE_ROW_HEIGHT = 22;
PANE_FULL_ROW_HEIGHT = 3 * PANE_ROW_HEIGHT;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy pierwszym elementem a
/// tafl¹ w przypadku wersji jednowierszowej</summary>
PANE_ONE_ROW_TOPPADDING = 22;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy ostatnim elementem
/// a tafl¹ w przypadku wersji jednowierszowej</summary>
PANE_ONE_ROW_BOTTOMPADDING = 23;
/// <summary>Odleg³oœæ pomiêdzy wierszami w przypadku wersji dwuwierszowej
/// </summary>
PANE_TWO_ROWS_VSPACER = 7;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy pierwszym elementem a
/// tafl¹ w przypadku wersji dwuwierszowej</summary>
PANE_TWO_ROWS_TOPPADDING = 8;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy ostatnim elementem
/// a tafl¹ w przypadku wersji dwuwierszowej</summary>
PANE_TWO_ROWS_BOTTOMPADDING = 8;
/// <summary>Odleg³oœæ pomiêdzy wierszami w przypadku wersji
/// trzywierszowej</summary>
PANE_THREE_ROWS_VSPACER = 0;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy pierwszym elementem a
/// tafl¹ w przypadku wersji trzywierszowej</summary>
PANE_THREE_ROWS_TOPPADDING = 0;
/// <summary>Wewnêtrzny pionowy margines pomiêdzy ostatnim elementem
/// a tafl¹ w przypadku wersji trzywierszowej</summary>
PANE_THREE_ROWS_BOTTOMPADDING = 1;
PANE_FULL_ROW_TOPPADDING = PANE_THREE_ROWS_TOPPADDING;
PANE_FULL_ROW_BOTTOMPADDING = PANE_THREE_ROWS_BOTTOMPADDING;
/// <summary>Odleg³oœæ pomiêdzy lew¹ krawêdzi¹ a pierwszym elementem
/// tafli</summary>
PANE_LEFT_PADDING = 2;
/// <summary>Odleg³oœæ pomiêdzy ostatnim elementem tafli a praw¹ krawêdzi¹
/// </summary>
PANE_RIGHT_PADDING = 2;
/// <summary>Odleg³oœæ pomiêdzy dwoma kolumnami wewn¹trz tafli</summary>
PANE_COLUMN_SPACER = 4;
/// <summary>Odleg³oœæ pomiêdzy dwoma osobnymi grupami wewnêtrz wiersza
/// w tafli</summary>
PANE_GROUP_SPACER = 4;
// *************
// *** Tafla ***
// *************
/// <summary>Wysokoœæ obszaru tytu³u tafli</summary>
PANE_CAPTION_HEIGHT = 15;
PANE_CORNER_RADIUS = 3;
/// <summary>SzerokoϾ/wysokoϾ ramki tafli</summary>
/// <remarks>Nie nale¿y zmieniaæ tej sta³ej!</remarks>
PANE_BORDER_SIZE = 2;
/// <summary>Po³owa szerokoœci ramki tafli</summary>
/// <remarks>Nie nale¿y zmieniaæ tej sta³ej!</remarks>
PANE_BORDER_HALF_SIZE = 1;
/// <summary>Wysokoœæ ca³ej tafli (uwzglêdniaj¹c ramkê)</summary>
PANE_HEIGHT = MAX_ELEMENT_HEIGHT + PANE_CAPTION_HEIGHT + 2 * PANE_BORDER_SIZE;
/// <summary>Poziomy margines etykiety zak³adki</summary>
PANE_CAPTION_HMARGIN = 6;
// ***********************
// *** Obszar zak³adki ***
// ***********************
/// <summary>Promieñ zaokr¹glenia zak³adki</summary>
TAB_CORNER_RADIUS = 4;
/// <summary>Lewy wewnêtrzny margines zak³adki</summary>
TAB_PANE_LEFTPADDING = 2;
/// <summary>Prawy wewnêtrzny margines zak³adki</summary>
TAB_PANE_RIGHTPADDING = 2;
/// <summary>Górny wewnêtrzny margines zak³adki</summary>
TAB_PANE_TOPPADDING = 2;
/// <summary>Dolny wewnêtrzny margines zak³adki</summary>
TAB_PANE_BOTTOMPADDING = 1;
/// <summary>Odleg³oœæ pomiêdzy taflami</summary>
TAB_PANE_HSPACING = 3;
/// <summary>Szerokoœæ/wysokoœæ ramki zak³adki (nie nale¿y zmieniaæ!)
/// </summary>
TAB_BORDER_SIZE = 1;
/// <summary>Wysokoœæ zak³adki</summary>
TAB_HEIGHT = PANE_HEIGHT + TAB_PANE_TOPPADDING + TAB_PANE_BOTTOMPADDING + TAB_BORDER_SIZE;
// ***************
// *** Toolbar ***
// ***************
TOOLBAR_BORDER_WIDTH = 1;
TOOLBAR_CORNER_RADIUS = 3;
/// <summary>Wysokoœæ etykiet z nazwami zak³adek</summary>
TOOLBAR_TAB_CAPTIONS_HEIGHT = 22;
/// <summary>Poziomy margines wewnêtrznego tytu³u zak³adki</summary>
TOOLBAR_TAB_CAPTIONS_TEXT_HPADDING = 4;
TOOLBAR_MIN_TAB_CAPTION_WIDTH = 32;
/// <summary>Sumaryczna wysokoϾ toolbara</summary>
TOOLBAR_HEIGHT = TOOLBAR_TAB_CAPTIONS_HEIGHT +
TAB_HEIGHT;
implementation
initialization
{$IFDEF DEBUG}
// Sprawdzanie poprawnoœci
// £uk du¿ego przycisku
assert(LARGEBUTTON_RADIUS * 2 <= LARGEBUTTON_DROPDOWN_FIELD_SIZE);
// Tafla, wersja z jednym wierszem
assert(PANE_ROW_HEIGHT +
PANE_ONE_ROW_TOPPADDING +
PANE_ONE_ROW_BOTTOMPADDING <= MAX_ELEMENT_HEIGHT);
// Tafla, wersja z dwoma wierszami
assert(2*PANE_ROW_HEIGHT +
PANE_TWO_ROWS_TOPPADDING +
PANE_TWO_ROWS_VSPACER +
PANE_TWO_ROWS_BOTTOMPADDING <= MAX_ELEMENT_HEIGHT);
// Tafla, wersja z trzema wierszami
assert(3*PANE_ROW_HEIGHT +
PANE_THREE_ROWS_TOPPADDING +
2*PANE_THREE_ROWS_VSPACER +
PANE_THREE_ROWS_BOTTOMPADDING <= MAX_ELEMENT_HEIGHT);
{$ENDIF}
end.