AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Desktop Widget Engine (v0.72)
Thema durchsuchen
Ansicht
Themen-Optionen

Desktop Widget Engine (v0.72)

Ein Thema von littleDave · begonnen am 27. Aug 2008 · letzter Beitrag vom 14. Aug 2011
Antwort Antwort
Seite 19 von 26   « Erste     9171819 2021     Letzte »    
Benutzerbild von littleDave
littleDave
Registriert seit: 27. Apr 2006
Hallo

ich hab mal wieder ein Projekt, welches ich hier veröffentlichen will: Eine ...


Downloads
  • hier ist eine Übersicht über alle Versionen
  • hier (ca. 1.5 MB) kann die aktuellste Version heruntergeladen werden
  • hier könnt ihr weitere Widgets herunterladen und eure eigenen Widgets hochladen
  • hier ist jetzt der komplette ChangeLog seit Version 0.1 aufgelistet
  • hier sind jetzt die möglichen Startparameter aufgelistet

Was ist eine Widget Engine?
Widget? Was ist das denn? ... Hm, das ist nicht so schnell zu beschreiben. Kurz gesagt: Widgets sind kleine Fenster, die auf dem Desktop sitzen und unterschiedliche Aufgaben übernehmen können. Jedes Widget ist dabei nur eine Ansammlungen von Anweisungen, Bildern oder sonstigen Daten. Diese Daten werden dann von einem Hauptprogramm visualisiert und verarbeiten. Diese Widget-Engine ist dabei dieses Hauptprogramm.

Wie funktioniert das ganze?
Das ist ganz einfach. Im Hauptprogramm klickt ihr einfach auf Widgets und dann auf Add widget. In einem Dialog wählt ihr dann die Widget-Datei aus, die ihr starten wollt. Danach erscheint ein neues Fenster auf dem Bildschirm - fertig: das Widget läuft jetzt.

Screenshots (für größere Version einfach auf das Bild klicken)
Mal ein Paar Widgets auf dem Desktop
http://widgets.godlikesoft.de/progra...p001-small.jpg http://widgets.godlikesoft.de/progra...p002-small.jpg http://widgets.godlikesoft.de/progra...p006-small.jpg
Der Editor
http://widgets.godlikesoft.de/progra...p003-small.jpg http://widgets.godlikesoft.de/progra...p004-small.jpg
Die Widget-Auswahl
http://widgets.godlikesoft.de/progra...p005-small.jpg

Kann ich selbst Widgets erstellen?
Natürlich! Im Hauptprogramm ist ein Widget-Editor dabei, mit dem ihr neue Widgets erstellen und bearbeiten könnt.

Wie erstelle ich eigene Widgets?
Das ist schon nicht so einfach zu beschreiben, da ihr durch die Script-Sprache extrem viel Möglichkeiten habt.
Zuerst wählt ihr im Menü unter Edit den Punkt Create new Widget aus. Dort gibst du die ersten groben Daten zu deinem Widget ein (diese können natürlich später noch geändert werden). Unten müsst ihr noch die Zieldatei eingeben, in dem die Daten gespeichert werden sollen. Danach erscheint der Editor. Der Editor ist ungefähr so aufgebaut wie ihr es von Delphi gewohnt seid. Es gibt einen Form-Designer und einen Code-Editor. Im Formdesigner könnt ihr Komponenten hinzufügen, bearbeiten und löschen. Im Code-Editor bearbeitet ihr die Funktionalität des Widgets. Die Programmiersprache des Widgets ist Pascal, somit könnt ihr wahrscheinlich gleich loslegen. Als Scriptsprache verwende ich (wie könnte es anders sein ), meine Script-Engine. Um alle Funktionen zu beschreiben bräuchte ich jetzt sehr lange - am besten schaut ihr euch bereits mitgelieferten Widgets im Editor an.

Wie veröffentliche ich meine eigenen Widgets
Das ist ganz einfach: sobald ihr euer Widget fertig habt, klickt ihr im Editor auf Datei -> Publish-Datei erstellen.... Nachdem ihr die Publish-Datei gespeichert habt, geht ihr auf Website der Desktop Widget Engine. Dort loggt ihr euch mit eurem Account ein (wenn ihr noch keinen habt, einfach kurz registrieren) und wählt dann rechts unten den Eintrag Publish own widget. Dann wählt ihr die gerade erstellte Publish-Datei aus und wählt noch die Kategorie des Widgets - fertig.

Wichtige Sachen für den Editor
  • Events zuweisen:
    Um einer Komponente ein Event zuzuweisen solltet ihr im Object-Inspector den Tab "Events" auswählen. Dort klickst ihr doppelt auf den Namen des Events. Dann wird automatisch alles nötige erstellt. Ihr könnt die Events natürlich auch manuell eintragen, jedoch ist solltet ihr dann genau wissen, welche Parameter wann wo kommen. Wenn eine Event-Funktion falsche Parameter hat, wird das Widget zwar erfolgreich kompiliert, die Event-Funktion wird aber niemals erreicht.
  • Bilder zuweisen:
    Widgets sind meistens mit einer aufwendigeren grafischen Oberfläche ausgestattet. In dieser Widget-Engine geht das natürlich auch. Dafür fügt ihr einfach ein Image hinzu und wählt im Objekt-Inspektor den Eintrag "Graphic" aus. Dort findet ihr einen Eintrag "ImageFile", welcher einen Dialog öffnet. In diesem Dialog wählt ihr das gewünschte Bild aus. Dabei könnt ihr nur Bilder auswählen, die sich in der Wiget-Datei befinden. Um eine Datei hinzuzufügen wählt ihr links den Eintrag Add file to folder.
    ACHTUNG: Bei den Bildern werden nur PNGs, JPEGs, Bitmaps und Gifs unterstützt. Andere Bildtypen funktionieren nicht!

Was ist alles dabei?
Das Hauptpacket besteht nur aus einer analogen Uhr und einer SideBar. Wenn ihr weitere Widgets haben wollt, geht ihr auf die Website der Desktop Widget Engine. Dort könnt ihr viele weitere Widgets herunterladen.

Eigene PlugIns?
Die Funktionalität von Widgets kann man mit Hilfe von PlugIns erweitern. Die Erweiterbarkeit mit Hilfe durch PlugIns ist extrem groß. Um ein PlugIn zu erstellen, solltet ihr vorher die PlugIn-API-Reference herunterladen (der Download-Link befindet sich am Ende dieses Abschnitts). Dort findet ihr einen Pascal-Header sowie eine Hilfe, die euch anhand des mitgelieferten Beispiels erklärt, wie ihr ein PlugIn erstellen könnt und worauf ihr achten müsst. Die PlugIn-API findet ihr hier (ca. 1 MB)

Noch ein paar Hinweise
  • Getestet mit Windows XP
  • Verwende Komponenten: Sysygy Script Engine, SynEdit, Jedi Component Library, GraphicEx, GR32 (TBitmap32)
  • Aktuelle Version: 0.72
  • Programmiert mit Delphi 7
  • Das Programm erstellt folgende Ordner:
    • Den Ordner "Desktop Widget Engine" in %APPDATA%
  • Das Programm erstellt folgende Registry-Einträge:
    • "Desktop Widget Engine" in "HKCU\Software\Microsoft\Windows\CurrentVersion\Ru n\" (nur falls die Einstellung "Autostart" aktiviert wurde)
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
 
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#181
  Alt 12. Nov 2008, 19:01
Das ist ja mal ganz praktisch

Also die Vorschau zu erstellen ist ganz einfach: Widget im Editor öffnen, ausführen und dann unter "Projekt" den untersten Eintrag: "Widget-Screenshot erstellen" wählen. Dann speichern und fertig.

Ich hab das für dein Widget schon mal gemacht und auch schon auf die Website hochgeladen

Vielen Dank für das wirklich gute Widget
Grüße
Dave
  Mit Zitat antworten Zitat
Dbof
 
#182
  Alt 12. Nov 2008, 20:57
Könnte man denn die TwgSound - Komponente so erweitern, dass damit der Zugriff auf die Dateien auf der Festplatte möglich ist? Das würde eine Möglichkeit ergeben, einen kleinen Musik-Player zu machen.

Mfg, Dbof
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#183
  Alt 12. Nov 2008, 21:09
Dafür ist der TwgNetworkPlayer gedacht. Der kann Internet-Streams und lokale Dateien wiedergeben . Der Name ist zwar etwas verwirrend, ich gebs ja zu. Am Anfang war er nur dafür gedacht, jedoch hab ich ihn noch erweitert so dass er jetzt lokale Dateien wiedergeben kann (wenn die Sicherheitseinstellungen das erlauben )
  Mit Zitat antworten Zitat
Dbof
 
#184
  Alt 12. Nov 2008, 21:28
Oh, OK Klasse

Gleich mal anschauen...
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 11 Alexandria
 
#185
  Alt 13. Nov 2008, 11:05
@CK_CK: Praktisches kleines Ding, das ich heute schon mehrfach genutzt habe.

Was mich allerdings etwas irritiert ist die Eingabe der Zeit. Ich kann nichts markieren. Ich würde eigentlich gerne auf das Edit für die Minuten doppelklicken und dann ist es markiert und wird durch eine Eingabe ersetzt. Aber das geht nicht, und das macht die Eingabe etwas mühsam, weil man auch nicht alles löschen kann, es muss immer mindestens eine "0" drin stehen bleiben.

Ist das eine Einschränkung durch die ScriptEngine?

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#186
  Alt 13. Nov 2008, 11:34
Zitat von littleDave:
Dafür ist der TwgNetworkPlayer gedacht. Der kann Internet-Streams und lokale Dateien wiedergeben . Der Name ist zwar etwas verwirrend, ich gebs ja zu.
Könntest ihn ja umtaufen in TwgMediaPlayer
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#187
  Alt 13. Nov 2008, 12:51
Zitat von toms:
Zitat von littleDave:
Dafür ist der TwgNetworkPlayer gedacht. Der kann Internet-Streams und lokale Dateien wiedergeben . Der Name ist zwar etwas verwirrend, ich gebs ja zu.
Könntest ihn ja umtaufen in TwgMediaPlayer
Das ist leider nicht mehr so einfach möglich. Der Name ist mit relativ vielen Sachen verknüpft. Wenn ich das jetzt ändere, müssten alle Widgets, die diese Komponente benutzen, neu erstellt werden. Natürlich kann ich eine Art Weiche einbauen, jedoch muss ich erst schauen, wie aufwändig es ist.

WICHTIG
Ich habe gerade eine neue Version hochgeladen. Es hat sich leider ein Bug in die Security-Settings eingeschlichen, den ich in der Version jetzt behoben habe. Download-Link ist im ersten Post.

Ich hab mich gestern mal hingesetzt und ein Widget für eine ToDo-Liste erstellt. In den Widget können die ToDo-Listen in verschiedene Kategorien sortiert werden. Das Widget kann hier heruntergeladen werden (es wird Version 0.68 benötigt)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 11 Alexandria
 
#188
  Alt 13. Nov 2008, 13:28
Ich weiss nicht, ob das schon irgendwo als Wunsch steht, aber ich finde es eigentlich ziemlich cool, wie die Vista-Widgets unterschiedlich aussehen, je nachdem ob sie auf der Sidebar liegen, oder nicht.

Ich nutze die Sidebar, damit ich trotz geöffneter Fenster die Widgets im Blick habe. Und da ist dann zum Beispiel das ToDo-Widget viel zu breit dafür.

Sherlock
Miniaturansicht angehängter Grafiken
wetter-ohne_104.png   wetter-bar_116.png  
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#189
  Alt 13. Nov 2008, 13:42
Zitat von Sherlock:
Ich weiss nicht, ob das schon irgendwo als Wunsch steht, aber ich finde es eigentlich ziemlich cool, wie die Vista-Widgets unterschiedlich aussehen, je nachdem ob sie auf der Sidebar liegen, oder nicht.

Ich nutze die Sidebar, damit ich trotz geöffneter Fenster die Widgets im Blick habe. Und da ist dann zum Beispiel das ToDo-Widget viel zu breit dafür.

Sherlock
Um das Problem zu umgehen, hab ich ja die Skalierfunktion für die Widgets eingebaut. Was man vielleicht noch machen könnte, wäre eine automatische Einpassung in die SideBar - also das die Skalierung beim Verschieben in die SideBar automatisch so gewählt wird, dass das Widget genau reinpasst. Ich weiß, dass die ToDo-Liste etwas groß ist, jedoch hab ich das erstmal absichtlich gemacht, da ich gerade eine große gebraucht habe. Aber eine bereits vorhandene ToDo-Liste heißt ja nicht, dass man selber keine mehr machen kann. Ich kann ja mal schauen, dass ich noch eine Lite-Version erstelle.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 11 Alexandria
 
#190
  Alt 13. Nov 2008, 13:47
Niedrige Prio...ich probier das selber mal...mit der ToDo-Light-Version.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 19 von 26   « Erste     9171819 2021     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz