Archiwum dla August, 2006

Autopromocja…

Od jakiegoś czasu posiadam profil na Linkedin, które jest biznesowym narzędziem internetowym do małej reklamy siebie samego :). Linkedin jest w wersji angielskiej, natomiast polskim odpowiednikiem tego serwisu jest Goldenline.

Poniżej są namiary do moich obu profili:

;)

W sierpniu takie mrozy? ;)

Dziś rano ok godziny szóstej rano, gdy wracałem z imprezy w Opolu, w jednej z miejscowości pod Opolem - panował siarczysty mróz… Ze zdziwieniem spojrzałem na termometr na drodze, gdyż to co ujrzałem… A sami zobaczcie ;)

Mroz

Heh widział ktoś niższą temperaturę w Polsce? A zdjęcie robione telefonem przez szybę auta, więc sorry za jakość :P

MDC - Nowe artykuły (sierpień 2006)

Pod koniec każdego miesiąca będę pisał takie małe podsumowanie dotyczące ostatnich opublikowanych oraz przetłumaczonych artykułów na MDC. Może i nie jest dużo tłumaczeń całych artykułów, gdyż głównie zajmujemy się teraz dokumentacjami, lecz warto przeczytać i poszukać ewentualnych błędów w:

  1. Liczniki CSS
  2. Skrócone deklaracje CSS
  3. Ajax:Na początek - aktualizacja
  4. Poprawne zastosowanie CSS i JavaScript w dokumentach XHTML
  5. Poprawne zastosowanie CSS i JavaScript w dokumentach XHTML:Przykłady
  6. HTML:Elementy - aktualizacja (tłumaczenie niedokończone)
  7. Wiele innych artykułów zostało ukończonych, lecz są one częścią dokumentacji, więc nie warto wypisywać, że zostały przetłumaczone poszczególne elementy tych dokumentacji, czy kursów. Wypisze tylko dokumentacje: Dokumentacja XUL, Kurs XUL - aktualizacja, Dokumentacja CSS

Wiele tłumaczeń jest rozpoczętych, jeśli ktoś czuje się na siłach - niech dołączy i wniesie swój wkład w polskie MDC :).

Zapraszam również do śledzenia ostatnich zmian, oraz o korektę tłumaczeń (ale tylko, gdy zauważycie jakieś błędy ;)).

XUL - praca ze skryptami cz.2

Jak obiecałem w poprzedniej części, w kolejnej części także napisze co nieco o skryptach JS w XUL.

Element script:

Możemy wykorzystać element script, aby dołączyć skrypty JS do plików XUL. Można także umieścić kod skryptu bezpośrednio w pliku XUL poprzez umieszczenie go pomiędzy otwartym i zamkniętym znacznikiem script. Korzystanie z plików zewnętrznych, przyspiesza czas ładowanie okna. Atrybut src jest stosowany celu powiązania zewnętrznego pliku JS ze skryptem. Aby dodać do naszego pliku XUL plik zewnętrzny należy umieścić poniższy kod przed znacznikiem window.

<script src="przykladowy_plik.js"/>

Oczywiście możemy zdefiniować więcej plików skryptów w jednym pliku XUL:

<script src="przykladowy_plik.js"/>
<script src="chrome://nazwa/zawartosc/nazwa.js"/>
<script src="http://www.przykladowy_adres.com/js/przykladowy_plik.js"/>

lub:

<script>
   function foo(){
     // kod
    }
</script>

Zdarzenie oncommand

Zazwyczaj prosty kod odnosi się do funkcji zdefiniowanej w oddzielnym skrypcie. Poniżej przykład odpowiedzi na wciśnięcie przycisku (kod obsługujący zdarzenie został zawarty w pliku XUL):

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="przyklad"
			title="Przycisk 2"
			xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<button label="Naciśnij" oncommand="alert('Cześć, po raz drugi!');"/>;
</window>

Przykład XUL

Zobacz przykład

Kolejnym małym skrypcikiem będzie skrypt funkcji, która zwróci nam nazwę użytego elementu w jakimś tam fragmencie naszego okna, a wszystko będzie możliwe po kliknięciu kursorem w dany element:

 <vbox oncommand="alert(event.target.tagName);">
  <button label="OK"/>
  <checkbox label="Pole wyboru"/>
  <radio label="Pole opcji"/>
 </vbox>

Przykład XUL

Przykład

Hmm dalej o skryptach, co nieco napisze w kolejnej części. Miałem dołączyć plik w PDF-ie lecz zrobię to kolejnym razem.

Zobacz więcej:

XUL - praca ze skryptami cz.1

Dawno nie pisałem nic na temat XUL-a, lecz postaram się to nadrobić. Między czasie tłumaczyłem trochę dokumentację XUL, znajdującą się na MDC w wersji PL. Przy okazji tego tłumaczenia znalazłem kilka fajnych elementów, które pokaże w miarę tego i następnych postów o XUL-u. Od następnej wersji pomyślałem, że warto dodać wszystkie posty o XUL z mojego bloga w formacie *.pdf. Taki mały zbiór :), który bym rozszerzał co dwa lub trzy nowe posty jakie napisze nt. języka XUL. Ok, zajmijmy się pracą ze
skryptami w języku XUL.

W jaki sposób możemy stworzyć obsługę zdarzeń, funkcji? Odpowiedź: za pomocą JavaScriptu (a ściślej z DOM). Sposób działania DOM polega na tworzeniu drzewa elementów. Więcej o samym DOM znajdziecie na MDC.

Pierwszym naszym przykładem będzie przycisk z kodem JavaScriptu.

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="test-przycisku"
			title='Zastosowanie JS'
			xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<button id='name' label='Przycisk skryptu' /> 
</window>

Wyświetli:

XUL

Zobacz plik

Powyższy kod jest tylko ‘nieżywym’ przyciskiem, aby go ‘ożywić’ dodajmy do elementu button:

<button id='name' label='Przycisk skryptu' onclick='alert("Cześć");' /> 

XUL

Zobacz plik

W powyższym przykładzie, zwrócę tylko uwagę na zamieszczaniu w zdarzeniu onclick, tekstu w cudzysłowach.

Ok, tyle jeśli chodzi o JS w XUL-u na dziś, lecz to jeszcze nie koniec bo chciałem Wam bardzo fajny element znaleziony podczas tłumaczenia dokumentacji XUL. W kolejnym poście postaram się dodać i omówić element script. Teraz o…

Element colorpicker:

Paleta kolorów, z której użytkownik może wybrać jedną komórkę siatki z kolorem poprzez kliknięcie w nią. Spójrzmy na prosty kod elementu:

<colorpicker type="button"/>

Przykład tego elementu wygląda natomist tak:

colorpicker

Tym kolorowym akcentem zapraszam na kolejną porcję XUL-a. Gwarantuje, że będzie o wiele wiele dłuższa.

BTW: Ma ktoś jakiś fajny pomysł na aplikację, którą można by było wykonać w XUL-u?

Zobacz także:

Google Analytics

Dziś rano postanowiłem wypróbować nowe narzędzie Google - Google Analytics. Mając praktycznie od samego początku darmowe statystyki stat.pl, będę mógł porównać oba systemy statystyk.

Na wyniki niestety trzeba będzie poczekać ok 3 miesięcy, myślę, że to taki bezpieczny okres, aby przetestować i porównać obie statystyki. Wyniki przedstawię w którymś tam w przyszłości poście na moim blogu…

Widżety, Opera i mój blog - podsumowanie ;)

Kilka dni po tym jak została wydana wersja 9 Opery, zainteresowałem się czym są dziwnie brzmiące “Widżety”. Napisałem dwa posty o Widżetach:

  1. Widżety i Opera 9.0
  2. Opera 9.0 i widżety cz.2

Pisząc je wtedy nie sądziłem, że linki do powyższych dwóch moich wpisów będą osiągną pozycje nr 1 w Google, dla jak się okazało dwóch podstawowych słów dot. operowych Widżetów. Dosłownie po kilku dniach mój blog znajdował się na szczycie listy stron dla słów: “Widżety” i “Widżety opera”. Dzięki tej pozycji wszyscy (tak przypuszczam), którzy szukali nowości Opery, na dzień dobry odwiedzali moje dwa wpisy, które są moim wyłącznie zdaniem.

Zaraz za moimi dwoma wynikami znalazł się blog kolegi, który opisał to co ja opisałem :). Moje wielkie zdziwienie wywołał fakt, że to nie blogi Opery, a kogoś czyli mnie (osobie, której bliżej do Firefoksa, niż do Opery).
Jakieś 2 dni temu blog mój spadł z 1 miejsca na drugie lub trzecie, lecz nadal widzę w statystykach, że chętni są do czytania wspomnianych wpisów: Na dziś, dla słowa kluczowego “widżety“:

Google, widżety

A dla słów: “widżety opera

Google, Widżety, opera

WNIOSKI: Nadal pozostaje zdania, że Opera źle zrobiła stawiając premierę nowej wersji i Widżetów. Zapytam, czy Widżety to udany ruch w stronę użytkowników? Sądząc po statystykach, które mam dzięki pozycji w Google to, nie. Ale zapewne osoby związane z Operą, będą twierdziły inaczej. Pewnie, też nie można udostępnić statystyk zainteresowania użytkowników tej społeczności. A może jednak ktoś je opublikuje - tak dla zaciekawienia mojej i pewnie nie tylko mojej ciekawości.

MDC - powstaje dokumentacja XUL

Wszystkich zainteresowanych językiem XUL, chciałbym poinformować, że niebawem (niestety nie jestem w stanie określić daty ukończenia) powstanie polskojęzyczna wersja dokumentacji XUL. Treść dokumentacji najpierw jest przenoszona na wersje polką MDC, a następnie pomału tłumaczona. Wydaje mi się, że zajmie to sporu czasu - bo i spora dokumentacja do przetłumaczenia :).

Warto śledzić zmiany oraz czytać już te fragmenty, które są już przetłumaczone. Czytając poprawiajcie znalezione błędy, literówki czy orty. W ten sposób przyczynicie się, aby powstała pierwsza polskojęzyczna wersja dokumentacji XUL (bo treści o XUL w Internecie jest bardzo mało, a po polsku nie ma prawie nic).

W Polsce XUL - nie jest dość popularnym i znanym językiem :(. Efekty widać po wpisaniu w Google słowa kluczowego xul. Więc warto, przetłumaczyć w pełni i tą dokumentację.

Zobacz także:

  1. Dokumentacja XUL - polska wersja strony nt. dokumentacji XUL (aktualnie tłumaczona).
  2. Dokumentacja XUL - wersja angielska.

XUL - tabbox

Siła języka XUL tkwi w jego sposobie, w jaki pozyskuje on dane użytkowników. Użytkownik podczas korzystanie z aplikacji XUL, nie zobaczy różnicy pomiędzy nim a jakimiś innymi aplikacjami napisanym w znanych dotąd językach. Dodatkowo, np aplikacje napisane, w Javie potrzebują własne środowisko - które zainstalujemy po jego pobraniu. Zajmuje to niestety niezbędny dla nas czas! Java też wymaga “mocniejszego” komputera, co nie znaczy, że jest złym językiem - bo wg mnie jest bardzo dobrym, lecz w tym miejscu, jeśli chodzi o aplikacje internetowe jej konkurentem stał się XUL.

Ok, napiszmy coś nowego o XUL. W tym poście chciałbym zająć się elementem <tabbox>, który służy do tworzenia pudełka kart. Najpierw spójrzmy na poniższy kod:

<tabbox id="tablist">
  <tabs>
    <!-- elementy tab -->
  </tabs>
  <tabpanels>
    <!-- elementy tabpanel -->
  </tabpanels>
</tabbox>

gdzie:

  1. <tabbox> - pudełko zewnętrzne, które zawiera karty.
  2. <tabs> - pudełko wewnętrzne, które stanowi pojedynczą kartę.
  3. <tab> - określona karta.
  4. <tabpanels> - kontener dla strony.
  5. <tabpanel> - za pomocą tego elementu umieszczamy zawartość strony karty.

Z powyższego napisanego kodu możemy wywnioskować, że tabbox posiada dwa elementy potomne; tabs oraz tabpanels. Analogicznie wnioski możemy wyciągnąć w stosunku do elementów tab, które umieszczamy wewnątrz elementu tabs. W przypadku tabpanels jest podobnie. Przykład:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="tabbox"
               title="Element tabbox"
               xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<tabbox>
  <tabs>
    <tab label="Karta 1"/>
    <tab label="Karta 2"/>
  </tabs>
  <tabpanels>
    <tabpanel id="przycisk1">
      <button label="Przycisk 1"/>
    </tabpanel>
    <tabpanel id="przycisk2">
      <button label="Przycisk 2"/>
    </tabpanel>
  </tabpanels>
</tabbox>
</window>

tabbox.xul -
powinniśmy zobaczyć podobny efekt powyższego kodu:

Element tabbox Element tabbox

Zobacz także:

  • Kurs XUL
  • Pozostałe wpisy na moim blogu

XUL - kontrolki listy (menulist) cz.2

W pierwszej części o kontrolkach listy w języku XUL, wspominałem, że nie opisałem, jednego przykładu, oto i on:

Wiersz nagłówka

Możemy również na zastosować elementy specjalnego wiersza nagłówka w utworzonym przeze mnie przykładu. Wiersz nagłówka jest wyświetlany w inny sposób i odróżnia się on od pozostałych elementów.

Do jego powstania będziemy potrzebować:

  1. <listhead> - stosuje się w wierszach nagłówka.
  2. <listheader> - stosujemy dla każdej komórki wiersza nagłówka, a atrybut label do ustawienia etykiety dla wszystkich komórek nagłówka.
<listbox>
  <listhead>
    <listheader label="Nazwa"/>
    <listheader label="Produkt"/>
  </listhead>

  <listcols>
    <listcol/>
    <listcol flex="1"/>
  </listcols>
  <listitem>
    <listcell label="Element"/>
    <listcell label="Element"/>
  </listitem>
  <listitem>
    <listcell label="Element"/>
    <listcell label="Element"/>
  </listitem>
  <listitem>
    <listcell label="Element"/>
    <listcell label="Element"/>
  </listitem>
</listbox>

Przykład XUL

Przykład XUL

Ok, to tyle jeśli chodzi o element listbox.

Listy rozwijane

XUL posiada element <menulist>, który możemy wykorzystać do tworzenia menu z listą rozwijaną (HTML-u służy do tego select). Do zdefiniowania listy rozwijanej potrzebne są trzy elementy.

  1. menulist - który tworzy pole tekstowe z przyciskiem przy nim.
  2. menupopup - tworzy okienko pojawiające się po kliknięciu przycisku.
  3. menuitem - tworzy poszczególne pozycje.
<menulist label="Elementy">
  <menupopup>
    <menuitem label="Element 1"/>
    <menuitem label="Element 2"/>
    <menuitem label="Element 3" selected="true"/>
    <menuitem label="Element 4"/>
  </menupopup>
</menulist>

Przykład XUL

Przykład XUL

W tym przypadku lista rozwijana składa się z czterech pozycji do wyboru, jeden dla każdego elementu menuitem. Aby wyświetlić pozycje listy, kliknij w przycisk strzałki na liście. Kiedy jedna pozycja jest zaznaczona, to pojawiająca się pozycja jest wybrana z listy. Atrybut selected stosuje się do wskazania wartości, która jest zaznaczona domyślnie.

Aby utworzyć edytowalną listę rozwijaną, dodaj atrybut editable w sposób pokazany poniżej:

<menulist editable="true">
  <menupopup>
    <menuitem label="Element 1"/>
    <menuitem label="Element 2"/>
    <menuitem label="Element 3" selected="true"/>
    <menuitem label="Element 4"/>
  </menupopup>
</menulist>

Przykład XUL

Zobacz także:

  1. Kurs XUL
  2. Dokumentacja XUL (dokumentacja XUL jest aktualnie tworzona)

Następna strona »