llll  
ll  
TU WSTAW TEKST

KDE 2 TEMATY - JAK ZROBIĆ CZĘŚĆ PIERWSZA

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
   

[ Powrót ] [ Dalej ] [ Do góry ]

 
ll  
   
  kde.com.pl