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 13 von 26   « Erste     3111213 141523     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
 
#121
  Alt 5. Okt 2008, 20:13
Hab eben Version 0.55 hochgeladen.

Das ging jetzt relativ schnell, da ich gerade etwas Ablenkung gebraucht habe und etwas rumprogrammiert habe.Ich hab versucht, die vielen tollen Vorschläge von Toms und Matze zu realisieren und hab das auch fast geschafft.

Zum einen ist da das Hinzufügen von Widgets: dies dauerte bisher immer etwas, bis alle Previews in den Dialog geladen wurden: das hab ich nun geändert. Zwar noch nicht mit einer Cache-Datei, jedoch wirklich viel schneller wird es dadurch wahrscheinlich auch nicht. Jedenfalls dauert das Erstellen der Preview jetzt wirklich viel weniger Zeit als vorher, da ich eine für die Preview obsolete Funktion rausgeschmissen habe, die sehr viel Zeit gebraucht hatte.
Der HandCursor ist jetzt der von Windows und nicht mehr der von Delphi (ist mir bisher noch garnicht aufgefallen, dass die unterschiedlich sind )
Das mit dem Einrasten in der Sidebar hab ich immernoch nicht geschafft, irgendwie will das nicht so wie ich. Aber ich werd weiter drann sitzen.
Die Themes lassen sich dafür aber jetzt schnell aus dem Tray-Popup laden (ohne Dialog) und es ist jetzt auch möglich, alle Widgets aus dem Popup-Menü heraus zu entfernen.
Die ... hinter den Menüeinträgen hab ich auch noch eingefügt (irgendwie lern ich das nie).
Im Programm wird oben jetzt auch das aktuelle Theme angezeigt. Leider steht nach dem Start noch "current" da, aber das werd ich auch noch ändern. Dafür müsst ich aber sehr viel ändern und das wollt ich heut nicht mehr. Werd ich erst morgen schaffen.

Der Download sowie der ChangeLog befinden sich im ersten Post
Grüße
Dave

@Matze: leider konnt ich den zweiten Fisch nicht in das Download-Paket hinzufügen, da sonst die 3MB-Grenze überschritten wäre. Wenn du willst, kann ich dir aber den Fisch seperat als PM schicken
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#122
  Alt 7. Okt 2008, 18:45
Sodala, Version 0.56 is ready for public testing.

Diesmal ist nicht so viel passiert - ich hab hauptsächlich Bugs behoben. Jedoch gibt es jetzt für TwgGraphic die Möglichkeit, Bilder aus einem Stream oder aus einem String zu laden. Dies kann z.B. dazu benutzt werden, um Bilder aus dem Internet herunterzuladen und diese dann Anzuzeigen. Das hab ich gleich zur Demonstration in einem neuen Widget benutzt: Einem Flickr Image Viewer.

Download sowie ChangeLog befindet sich im ersten Post.
Grüße
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#123
  Alt 7. Okt 2008, 20:52
Zitat von littleDave:
Im Programm wird oben jetzt auch das aktuelle Theme angezeigt.
Ich würde das geladene Theme im Titel anzeigen. Entweder wie 1. oder 2.

1. Desktop Widget Engine - Themename

2. Themename - Desktop Widget Engine
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#124
  Alt 10. Okt 2008, 00:07
Zitat von toms:
Ich würde das geladene Theme im Titel anzeigen. Entweder wie 1. oder 2.

1. Desktop Widget Engine - Themename
2. Themename - Desktop Widget Engine
Sorry toms, dass ich mich so lange nicht gemeldet habe. War in letzter Zeit ziemlich im Stress und hab so das Antworten komplett verschwitzt . Ich wollt das zuerst nicht so machen, jedoch hab ich mich umentschieden. In der gerade von mir hochgeladenen Version ist jetzt Nummer 2 der Fenstertitel:

Version 0.57 ist jetzt bereit für euren Download.

Die größte Neuerung ist, dass man jetzt im Editor mehrere Units erstellen und benutzen kann. Somit kann man nun seinen Code besser sortieren. Außerdem ist das ein wichtiger Schritt für den Einbau von mehreren Forms.

Der komplette ChangeLog sowie der Download-Link befindet sich im ersten Post.

Grüße
David
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#125
  Alt 13. Okt 2008, 02:47
Ich hab gerade noch eine neue Version hochgeladen. Diesmal mit nur einem Change, jedoch behebt die aktuelle Version einen relativ wichtiger Bug: es war nicht mehr möglich, den Formulardesigner zu benutzen, wenn man ein neues Widget erstellt hat.

Der Download ist im ersten Post zu finden
Grüße
Dave
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#126
  Alt 15. Okt 2008, 22:08
Version 0.59 ist nun Verfügbar!

Diesmal hat sich extrem viel intern geändert. Wie man am ChangeLog im ersten Post sehen kann, hab ich ziemlich viele Fehler, die mit der Script-Engine zusammenhängen, ausgebessert. Jedoch ist es bei einer ScriptEngine schwer, alle Möglichkeiten zu testen. Falls euch irgendwas ausfällt (eine If-Abfrage gibt False zurück, obwohl sie True sein sollte oder sowas), dann schickt mir das zusammen mit dem Problem-Quelltext - dann hab ich die Möglichkeit das noch weiter auszubessern.

Da ich nun eine etwas veränderte Script-Engine eingebaut habe, ist es sinnvoll, dass ihr eure eigenen Widgets nochmal neu kompiliert und abspeichert. Dies hab ich bereits bei allen mitgelieferten Widgets gemacht. Der alte kompilierte ByteCode funktioniert auch weiterhin so wie gehabt, da ich den Interpretor nicht verändert habe.

Auch die Anzeige der aktiven Widgets im Hauptfenster hab ich überarbeitet. Sie schaut nun etwas schicker aus und enthällt nun auch den Autor des Widgets.

Der komplette ChangeLog sowie die Downloads sind im ersten Post zu finden.
Grüße
Dave
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#127
  Alt 17. Okt 2008, 13:37
Gerade hab ich Version 0.5.10 hochgeladen!

Diesmal hab ich die erste Alpha-Version des PlugIn-Systems mit dabei. Mit Hilfe des PlugIn-Systems könnt ihr die Funktionalität von Widgets mit Hilfe von DLLs erweitern - somit gibt es jetzt fast keine Grenzen mehr *g*.

Bisher ist das PlugIn-System noch im Alpha-Stadium: manche Sachen funktionieren noch nicht so ganz: Ein PlugIn kann zwar generell von mehreren Widgets gleichzeitig benutzt werden - doch das funktioniert nur solange ihr keine Script-Funktionen aus dem PlugIn heraus aufruft (z.B. ein Event). Das funktioniert nur wenn das PlugIn nur von einem Widget geladen wird. Ich werd mir da noch was überlegen müssen und ich weiß noch nicht, ob ich dafür den API-Header anpassen muss. Aber ich werd alle Änderungen natürlich genau dokumentieren. Diese Aussage mit den Events ist seit der neuen Version obsolet und veraltet.
Die API-Reference findet ihr ebenfalls im ersten Post im Abschnitt "Eigene PlugIns"

Ebenfalls neu ist die Palette im Editor. Die alte hat mir nicht mehr gefallen, daher hab ich eine neue gemacht.

Der Download sowie der komplette ChangeLog befinden sich im ersten Post.
Grüße
Dave

Wichtiges Update
Ich hab gerade eine neue PlugIn-API sowie eine neue Version hochgeladen. Die alte Version hatte einen Bug, der jetzt nicht mehr auftreten sollte. An alle, die bereits die aktuellste Version heruntergeladen habe - sorry, aber ihr solltet nochmal kurz die aktuellste Version herunterladen.
In der neuen Version ist das von mir angesprochene Problem mit den Events bereits behoben - das ist ab sofort kein Problem mehr
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#128
  Alt 18. Okt 2008, 09:21
Zitat von littleDave:
Zitat von toms:
PS: Eine Menü Toolbar wäre noch gut. Mit Schnellzugriff auf Load, Save, Run etc.
Klingt nicht schlecht, nur das Problem ist: Irgendwie steh ich mit TCoolbar und TToolbar auf Kriegsfuß, die Komponenten machen es immer so wie ich es nicht will
Wenn man betrachtet, was du schon alles geschafft hast, ist das doch eine Kleinigkeit, oder?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#129
  Alt 18. Okt 2008, 17:58
Zitat von toms:
Zitat von littleDave:
Zitat von toms:
PS: Eine Menü Toolbar wäre noch gut. Mit Schnellzugriff auf Load, Save, Run etc.
Klingt nicht schlecht, nur das Problem ist: Irgendwie steh ich mit TCoolbar und TToolbar auf Kriegsfuß, die Komponenten machen es immer so wie ich es nicht will
Wenn man betrachtet, was du schon alles geschafft hast, ist das doch eine Kleinigkeit, oder?
Ja, die Toolbar ... ... irgendwie hab ich es vergessen . Es gibt so viele Baustellen in dem Programm und oft hab ich so viele Ideen, die ich einbauen/verwirklichen will, da hab ich das irgendwie vergessen. Aber jetzt werd ich es höchstwahrscheinlich nicht mehr vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#130
  Alt 20. Okt 2008, 19:50
Nun ist auch Version 0.5.11 online!

Ich hab es jetzt endlich geschafft, die ToolBar in den Editor einzubauen. *Puh* *schnauf*. Naja

Download sowie der komplette ChangeLog befinden sich wie immer im ersten Post
Grüße
Dave
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 13 von 26   « Erste     3111213 141523     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:13 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