AGB  ·  Datenschutz  ·  Impressum  







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

Desktop Widget Engine (v0.72)

Ein Thema von littleDave · begonnen am 27. Aug 2008 · letzter Beitrag vom 14. Aug 2011
Antwort Antwort
Seite 21 von 26   « Erste     11192021 2223     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
 
Dbof
 
#201
  Alt 17. Nov 2008, 20:36
Hey, Danke, wusste nicht, dass man das auch noch in den Einstellungen machen muss. Klapp jetzt natürlich...

Gibt es eine vorgefertigte Möglichkeit, Songs in Reihenfolge zu spielen? Wenn nicht, macht auch nichts, lass ich mir was einfallen, bis der TOpenDialog kommt
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#202
  Alt 17. Nov 2008, 20:41
Zitat von Dbof:
Gibt es eine vorgefertigte Möglichkeit, Songs in Reihenfolge zu spielen?
Nein, sowas gibt es nicht. Ist jedoch nicht so schwer, das zu implementieren

Zitat von Dbof:
Wenn nicht, macht auch nichts, lass ich mir was einfallen, bis der TOpenDialog kommt
Denn gibt es schon: die Unit "Dialogs" in die Uses-Liste hinzufügen und dann
Delphi-Quellcode:
var dlg: TOpenDialog;
begin
  dlg := dlg.Create;
  try
    if dlg.Execute then
       ShowMessage(dlg.FileName);
  finally
    dlg.Free;
  end;
end;
Wichtig:
Zitat von littleDave:
Bei TOpenDialog/TSaveDialog wird die Funktion Execute übrigens nur ausgeführt, wenn das Widget lokale Dateien lesen/schreiben sowie auflisten darf.
Also nicht vergessen, die Sicherheitseinstellungen endsprechend anpassen

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#203
  Alt 17. Nov 2008, 21:00
Zitat von littleDave:
Zitat von Sir Rufo:
Besten Dank ... auch für die Kuh @littleDave ... die werde ich noch ein wenig abändern (etwas Transparenz mit ein- ausfaden und die soll immer wieder woanders auf dem Schirm auftauchen)
Mach das - ich hab die nur so eben schnell erstellt - ohne großen Aufwand. Kannst sie gerne verbessern !
Mein Mädel fragt sich gerade, wann die Kuh das ganze Fressen mal wieder los wird ... jetzt muss ich doch mal sehen, wie man da noch Kuhfladen reinbekommt
Zitat von littleDave:
Zitat von Sir Rufo:
Dann ist es hier ...
Danke, dass du das übernommen hast
... nicht dafür ... war ja auch im eigenen Interesse ...

cu

Oliver
  Mit Zitat antworten Zitat
Alt 17. Nov 2008, 23:09     Erstellt von EWeiss
Dieser Beitrag wurde von fkerber gelöscht. - Grund: Inhalt von Poster entfernt
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#204
  Alt 17. Nov 2008, 23:53
Zitat von EWeiss:
Mir gefällt das nicht so gut weil der Fisch zu Transparent ist..
da sind 4 Transparent-Level (keine, schwach, mittel, stark) ... einer wird schon passen, sonst einfach das widget nochmal abändern

Zitat von EWeiss:
Aber sonst TOP!
merci ... aber die Vorlage war gut ...

Zitat von EWeiss:
In der wirklichkeit kann ich auch nicht durch den hindurchschauen.
In der Wirklichkeit sind auf meinem Monitor auch keine Fische
Da bei mir die Fische über den Fenstern schwimmen, stören sie mich nicht wegen der Transparenz

Zitat von EWeiss:
gruss Emil
cu

Oliver
  Mit Zitat antworten Zitat
Alt 18. Nov 2008, 01:50     Erstellt von EWeiss
Dieser Beitrag wurde von fkerber gelöscht. - Grund: Inhalt von Poster entfernt
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#205
  Alt 18. Nov 2008, 07:38
Zitat von EWeiss:
Dann fehlt einfach ein Konfigurations Dialog für das Widgets
In dem man die transparenz einstellen kann.
Du meinst so etwas ... (siehe Anhang)
Aber das ist doch schon da da der Fisch aber immer vor der Maus flüchtet, kann man nur mit sehr viel Glück per Kontext-Klick das Widget-Menü erreichen, also machen wir das über die Widget-Liste

Zitat von EWeiss:
gruss Emil
cu

Oliver
Miniaturansicht angehängter Grafiken
fish-settings_288.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#206
  Alt 18. Nov 2008, 10:33
Hi!
Ich muss nochmal an der Sound-Engine rummeckern
Und zwar gibt es ein Problem mit der Umsetzung. Wenn man im Netzwerk-Player den Sound deaktiviert, können andere Widgets auch keinen Sound mehr abspielen (z.B. Count Down).
Kann man das ändern, oder müsste man sonst für jedes Widget eine andere bass.dll laden?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#207
  Alt 18. Nov 2008, 10:43
Zitat von CK_CK:
Hi!
Ich muss nochmal an der Sound-Engine rummeckern
Und zwar gibt es ein Problem mit der Umsetzung. Wenn man im Netzwerk-Player den Sound deaktiviert, können andere Widgets auch keinen Sound mehr abspielen (z.B. Count Down).
Kann man das ändern, oder müsste man sonst für jedes Widget eine andere bass.dll laden?
Ich hab das eigendlich schon mit Version 0.69 behoben . Wenn du die noch nicht benutzt, wird es daran liegen. Wenn du die aber schon benutzt, wäre es sehr schön, wenn du mir das nochmal sagen könntest. Dann werd ich mir das nochmal anschauen.
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#208
  Alt 18. Nov 2008, 14:55
Sorry, war gar nicht mehr aktuell. Funktioniert jetzt super!
Danke nochmal

Chris
  Mit Zitat antworten Zitat
EWeiss
 
#209
  Alt 18. Nov 2008, 16:15
Zitat von Sir Rufo:
Zitat von EWeiss:
Dann fehlt einfach ein Konfigurations Dialog für das Widgets
In dem man die transparenz einstellen kann.
Du meinst so etwas ... (siehe Anhang)
Aber das ist doch schon da da der Fisch aber immer vor der Maus flüchtet, kann man nur mit sehr viel Glück per Kontext-Klick das Widget-Menü erreichen, also machen wir das über die Widget-Liste

Zitat von EWeiss:
gruss Emil
cu

Oliver
so ist das schon besser

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 11 Alexandria
 
#210
  Alt 19. Nov 2008, 15:55
Hab da ein bis zwei Anmerkungen:
1) Benachrichtigung für automatische Updates funktioniert.
1a) Aber: Das Benachrichtigungsfenster ist etwas wenig aussagekräftig, da weiss man nicht unbedingt, welche Anwendung denn da "Hallo" sagt.
1b) Eingestellt ist eigentlich, eine automatische Prüfung auf Updates alle 7 Tage. Ich glaub nicht, daß die zufällig genau jetzt rum sind, oder?
2) Diesmal ist ja der Unicode-Support fällig geworden, das führt dazu, daß alle Widgets nicht mehr unterstützt werden (bis auf die Analog-Uhr). Man muss also alle Widgets neu laden. Zwei Effekte:
a) Die Widgets landen an ihrer alten stelle, sehr schön!
b) Das Auswahlfenster für Widgets schließt sich nach jeder Widgetauswahl. (seh grad, man kann auch mehrere auswählen, zu spät )
c) Die alten Widgets sind noch da, aber wohl unsichtbar, die Listbox mit den installierten Widgets ist mit entsprechend falsch dimensionierten Scrollbars ausgestattet.


Aber ansonsten lief das Update reibungslos

Sherlock
Oliver
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:02 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