|
Tekst jest tłumaczeniem widget themes tutorial napisanego przez
Daniela M. Duley mosfet @kde.org.
Oryginał tutoriala dostępny jest pod adresem
KDE2.0 widget theme tutorial
Tłumaczył Norbert Popiołek dla kde.com.pl.
1. POCZĄTEK
Zaczynamy z czystym widget tematem.
Temat ma tylko jeden klucz, który mówi kde jakiego widget stylu ma używać.
[KDE]
widgetStyle=basicstyle.la
Ten wpis mówi KDE aby używało widget stylu wspierającego tematy. To powinno wyglądać jak poniżej :
To nie wygląda najlepiej, gdyż wszystko używa tych samych wartości domyślnych i musi zostać dostosowane
2. USTAWIENIA WIDGET KOLORÓW
Dodamy kilka kolorów dla PushButton widget. Każdy widget posiada własną grupę w pliku tematu,
zawierający faktycznie kilka fakultatywnych kluczy. Dla umieszczenia tła i koloru pierwszego
planu użyjesz kluczy "Background" oraz "Foreground"
[PushButton]
Background=150,150,150
Foreground=255,255,255
[KDE]
widgetStyle=basicstyle.la
Powyższe nadaje kolor przyciskom
Skopiuj powyższe ustawienia do twojego pliku konfiguracyjnego tematu, uruchom temat. Znajdziesz
wszystkie widgety używające tego ogólnego formatu - widget nazywa się jak grupa konfiguracyjna tj.
[PushButton],
3. USTAWIENIA GRADIENTU WIDGET
KDE posiada małe możliwości nadania gradientu. Oczywiście jest to spowodowane używaniem widget
plugin tematu. Aby nadać automatycznie gradient potrzebujesz umieścić trzy klucze w
grupie konfiguracyjnej [PushButton]. Klucz "Gradient" który opisuje
jakiego gradientu używać , "GradientHigh" opisuje mocny kolor dla
gradientu, klucz "GradientLow" określa niski kolor. Poniżej przykład:
[PushButton]
Background=150,150,150
Foreground=255,255,255
Gradient=Vertical
GradientHigh=175,175,175
GradientLow=125,125,125
[KDE]
widgetStyle=basicstyle.la
Powyższe wpisy nadają wypukłości przyciskom

Poniżej jest wykaz dostępnych gradientow:
Gradient=Diagonal/Przekątny
Gradient=Vertical/Pionowy
Gradient=Horizontal/Poziomy
Gradient=Elliptic/Eliptyczny
Gradient=Pyramid/Piramida
Gradient=Rectangle/Prostokąt
4.ZASTOSOWANIE WIDGETU PIXMAPA ORAZ BLENDING
Poza gradientami można używać obrazków z podstawową manipulacja na nich.
Dostępny jest klucz o nazwie "Pixmap" pozwalający na używanie pixmap.
Jeżeli będziesz chciał używać dzielenia pixmapy wszystko jest w pliku konfiguracyjnym.
Dostępne są różne opcje skalowania obrazków.
Przykłady zastosowania pixmapy:
[PushButton]
Background=200,200,200
Foreground=0,0,0
Pixmap=graymarble.png
Border=0
Highlight=2
[KDE]
widgetStyle=basicstyle.la
Na razie możesz ignorować ustawienia Border (Granic) oraz Highlight (Jaskrawość) które będą
poprawione później, wygląd przycisków jest następujący
Miłe ale nie zupełnie. Najlepiej byłoby gdyby można automatycznie połączyć pixmapę bazującą na
rozmiarze widgetu. Klucze odpowiadające za to to "BlendIntensity",
"Gradient", oraz "GradientLow". BlendIntensity jest kluczem zmiennoliczbowym
w zakresie od (-1)do(1) dodatni określa zanikanie obrazu, ujemny określa ile z oryginalnego obrazu
ma być ucięte. Klucz Gradient jak powyżej, określa który ma być użyty. Klucz GradientLow określa kolor tła
zanikającego. GradientHigh jest nie używany. Poniżej kilka przykładów przy użyciu tej samej pixmapy.
[PushButton]
Background=200,200,200
Foreground=0,0,0
Pixmap=graymarble.png
Border=0
Highlight=2
Gradient=Diagonal
GradientLow=150,150,150
[KDE]
widgetStyle=basicstyle.la
Przykład użycia pionowego mieszania
Przykład użycia pionowego blend (mieszania) i wysokiej wartości zanikania
5. OPCJE SKALOWANIA PIXMAPY
W poprzedniej sekcji używaliśmy dzielonej pixmapy. KDE może skalować pixmapę poziomo, pionowo lub
w oba kierunki. Klucz konfiguracyjny to "Scale" z domyślnym ustawieniem "Tile".
Dostępne opcje skalowania naszą pixmapą to :
X (krzyżyk)
Scale=Tile (domyślnie)
Scale=Full
Scale=Horizontal
Scale=Vertical
6. OPCJE OBRAMOWANIA WIDGET
Dużo zmiennorozmiarowych widgetów jak PushButton i ComboBoxes ma obramowanie coś jak nadanie wyglądu 3D.
KDE oferuje dwa klucze kontrolujące te dekoracje. Są to "Border" która rysuje stałą ramkę
dookoła widgetu oraz "Highlight" nadaje efekt #d tj, przesunięcia ramki w prawo na dół.
Wartościami domyślnymi jest =1 i jest to szerokość linii. Poniższa tabela pokazuje przykładowe wartości:
| |
Highlight=0 |
Highlight=1 |
Highlight=2 |
| Border=0 |
 |
 |
 |
| Border=1 |
 |
 |
 |
| Border=2 |
 |
 |
 |
Możesz użyć również ramki pixmapy która będzie opisana dalej. Powyższe obrazki używają stylu
highlight Windows który jest wartością domyślną ale możesz użyć również stylu border Motif
przez ustawienie klucz "ShadeStyle" w grupie opcji [Misc].
Zmieni to styl dla wszystkich widgetów z użyciem highlight. Dodaj:
[Misc]
ShadeStyle=Motif
Przyciski będą wyglądały tak :
Bez standartowej wartości highlight :
7. WYKAZ RESIZABLE WIDGET (" widget zmiennorozmiarowy")
Poniżej znajduje się spis wszystkich resizable widgets aktualnie dostępnych dla twojego tematu.
Nie są wymienione widgety stałe w rozmiarze których używanie jest różne a opisane są w następnej
części. Włączone są do spisu typy widgetów, klucze grup konfiguracyjnych, i kilka uwag jeżeli są
potrzebne. Jedną z ostatnich rzeczy jaką musisz pamiętać to grupa "Background".
Ta grupa definiuje główny widget tła i jest używany tam gdzie nie ma żadnego widgetu w danym
obszarze. Musisz o tym pamiętać bo jeżeli jakiś widget np. QLabel też używa tej pixmapy,ale nie
oblicza nowej wartości offsetu przy przeciąganiu (rysowaniu) pixmapy opartej na tej gdzie
jest to widget rysuje w punkcie (0,0) wewnątrz pixmapy. Twoje pierwotne tło pixmapy musi być zdolne
do dzielenia się (skalowania) i wyglądać przyzwoicie zaczynając się w jakimkolwiek punkcie pixmapy.
Zobacz temat Marble oraz System włączony do KDE jako przykład tego.Te ograniczenia zostaną zmienione
prawdopodobnie w przyszłych wersjach QT. Matthias Ettrich już zmienił QToolButton, który używał
pierwotnego tła pixmapy aż mysz przesuwała go do właściwego miejsca pixmapy w zależności gdzie był.
Inną rzeczą jest pamiętać o tym, że pierwotne tło pixmapy KWin jest używane również przez standartowe
style KDE i System jak również przez pixmapy KStyle. Pamiętaj o tym kiedy będziesz dzielił (skalował)
pixmapę. Grupa "Background" powinna zawierać tylko pixmapy. Definiowane kolory używają
mechanizmu standartowych schematów kolorów. Gradient oraz efekty nie są wspierane w tej chwili.
| Widget |
Config Group Key |
Notes |
| PushButton |
[PushButton] |
|
| Sunken PushButton |
[PushButtonDown] |
|
| ComboBox |
[ComboBox] |
You also need to set ComboDeco (described next) |
| Sunken ComboBox |
[ComboBoxDown] |
|
| Horizontal Scrollbar Slider |
[HSBarSlider] |
|
| Sunken Horizontal Scrollbar Slider |
[HSBarSliderDown] |
|
| Vertical Scrollbar Slider |
[VSBarSlider] |
|
| Sunken Vertical Scrollbar Slider |
[VSBarSliderDown] |
|
| Generic Bevel |
[Bevel] |
|
| Sunken Generic Bevel |
[BevelDown] |
|
| Toolbar Button |
[ToolButton] |
Recommended you theme |
| Sunken Toolbar Button |
[ToolButtonDown] |
|
| Scrollbar Button |
[ScrollButton] |
|
| Sunken Scrollbar Button |
[ScrollButtonDown] |
|
| Normal Menu Items |
[MenuItem] |
|
| Active Menu Item |
[MenuItemDown] |
Recommended you theme |
| Inactive Tabs |
[Tab] |
Recommended you theme |
| Active Tab |
[TabDown] |
Recommended you theme |
| Horizontal ScrollBar Groove |
[HScrollGroove] |
|
| Vertical ScrollBar Groove |
[VScrollGroove] |
|
| Slider Groove |
[SliderGroove] |
|
| Horizontal Tool/Menubar Handle |
[HBarHandle] |
Recommended you theme |
| Vertical Tool/Menubar Handle |
[VBarHandle] |
Recommended you theme |
| ToolBar |
[ToolBar] |
Recommended you theme |
| Splitter |
[Splitter] |
|
| MenuBar |
[MenuBar] |
Recommended you theme |
| Progress Indicator Bar |
[ProgressBar] |
|
| Progress Indicator Background |
ProgressBackground] |
Pixmap and color setting only |
| Active Menubar Item |
[Menu] |
|
| Primary Widget Background |
[Background] |
Pixmap setting only |
|