Zaloguj się
Projekty Kategorie Archiwum
21 czerwca

Makagiga 0.9.4 (SVN) potrafi teraz obsługiwać wtyczki całkowicie napisane w JavaScripcie. Każda taka wtyczka musi składać się z przynajmniej dwóch plików...

Plik 1. - Informacje o wtyczce

Pierwszy plik to "plugin.properties", który zawiera informacje o wtyczce. Minimalny plik musi zawierać jedynie 4 pola: String.id, String.name, String.type i String.scriptName. Przykład:

# "id" musi być unikalne. Można użyć polecenia "uuidgen" w Konsoli Makagigi.
String.id={831dacaf-badf-4d6f-8a4f-676b7da9402f}

# Nazwa wtyczki
String.name=Weather
String.name[pl]=Pogoda

# Typ wtyczki (widget, internetsearch, etc)
String.type=widget

# Nazwa pliku z głównym skryptem
String.scriptName=pogoda.js

Plik 2. - Skrypt

Gdy już mamy "plugin.properties", czas na napisanie skryptu. Tworzymy plik "pogoda.js" i zapisujemy go w tym samym miejscu co "plugin.properties". Przykładowy skrypt wyświetlający mapę pogody... (każdy kto nigdy nie programował w Javie, a pisał coś w JavaScripcie, powinien mniej więcej wiedzieć o co chodzi ;)

importPackage(org.makagiga.commons); // MLabel, MPanel, etc
importClass(org.makagiga.desktop.Widget);

var pogoda;

function wczytaj(dzien) {
	var adres = "http://www.se.com.pl/Iso/dzisiaj/Mapki/" + dzien + ".gif";
	pogoda.setImage(adres);
}

// ta funkcja wykonywana jest, gdy użytkownik dodaje nowy widget
function onCreate() {
	var widget = new Widget("Pogoda"); // utwórz nowy widget
	
	pogoda = new MLabel();
	// umieść obrazek "na środku" widgeta
	// "MScrollPane" doda paski przewijania
	widget.addCenter(new MScrollPane(pogoda));
	
	var przyciski = MPanel.createHBoxPanel(); // panel z przyciskami
	
	// pogoda na dziś
	var dziś = new MButton("Dziś");
	dziś.onClick = function() { wczytaj("dzis"); }

	// pogoda na jutro
	var jutro = new MButton("Jutro");
	jutro.onClick = function() { wczytaj("jutro"); }
	
	// link do strony SE
	var stronaDomowa = new MURLButton("Strona Domowa", "http://www.se.com.pl");

	// dodaj panel z przyciskami
	przyciski.add(dziś);
	przyciski.add(jutro);
	przyciski.addStretch();
	przyciski.add(stronaDomowa);
	przyciski.addGap();
	widget.addSouth(przyciski);
	
	wczytaj("dzis"); // wczytaj dzisiejszą pogodę
	
	return widget;
}

Instalacja

Uwaga: Podany poniżej sposób instalacji, będzie niedługo znacznie prostszy i bardziej zautomatyzowany :)

Teraz wrzucamy powyższe dwa pliki do katalogu "~/.makagiga/plugins/{831dacaf-badf-4d6f-8a4f-676b7da9402f}" ({831dacaf-badf-4d6f-8a4f-676b7da9402f} musi być takie same jak w pliku plugin.properties) i po restarcie aplikacji mamy nowy, własnoręcznie wydziergany widżet :)

Free Image Hosting at www.ImageShack.us

Napisz komentarz

Dodaj komentarz

Formatowanie komentarza

Kategorie

Ewolucja Internetu 8 | Fail 40 | Gry 46 | Humor 129 | Idiotyzm 50 | Java 110 | KDE 85 | KShutDown 22 | Linux 84 | Makagiga 58 Muzeum 3 | Ogólne 819 | Polityka 76 | Programowanie 51 | Reklamy 4 | Techblog 19 | Teorie Spiskowe 12 | TV 59 | UI 9 | Użyteczność 30 | WWW 90 | Wyrwane z Kontekstu 34 | X Files 14

Archiwum

Maj 2012 | Kwiecień 2012 | Marzec 2012 | Luty 2012 | Styczeń 2012 | Grudzień 2011 | Listopad 2011 | Październik 2011 | Wrzesień 2011 | Sierpień 2011 | Lipiec 2011 | Czerwiec 2011 | Maj 2011 | Kwiecień 2011 | Styczeń 2011 | Listopad 2010 | Październik 2010 | Wrzesień 2010 | Sierpień 2010 | Lipiec 2010 | Czerwiec 2010 | Kwiecień 2010 | Marzec 2010 | Luty 2010 | Styczeń 2010 | Grudzień 2009 | Listopad 2009 | Październik 2009 | Wrzesień 2009 | Sierpień 2009 | Lipiec 2009 | Czerwiec 2009 | Maj 2009 | Kwiecień 2009 | Marzec 2009 | Styczeń 2009 | Grudzień 2008 | Listopad 2008 | Październik 2008 | Wrzesień 2008 | Sierpień 2008 | Lipiec 2008 | Czerwiec 2008 | Maj 2008 | Kwiecień 2008 | Marzec 2008 | Luty 2008 | Styczeń 2008 | Grudzień 2007 | Listopad 2007 | Październik 2007 | Wrzesień 2007 | Sierpień 2007 | Lipiec 2007 | Czerwiec 2007 | Maj 2007 | Kwiecień 2007 | Marzec 2007 | Luty 2007 | Styczeń 2007 | Grudzień 2006 | Listopad 2006 | Październik 2006 | Wrzesień 2006 | Sierpień 2006 | Lipiec 2006 | Czerwiec 2006 | Maj 2006 | Kwiecień 2006 | Marzec 2006 | Luty 2006 | Styczeń 2006 | Grudzień 2005 | Listopad 2005 | Październik 2005 | Wrzesień 2005 | Sierpień 2005 | Lipiec 2005 | Czerwiec 2005 | Maj 2005 | Kwiecień 2005 | Marzec 2005 | Luty 2005 | Styczeń 2005