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 16 von 26   « Erste     6141516 1718     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 Matze
Matze

 
Turbo Delphi für Win32
 
#151
  Alt 28. Okt 2008, 11:11
Hallo,

ich sehe sie nun auch, aber früher war sie deutlich hübscher.

Grüße
Miniaturansicht angehängter Grafiken
sidebar_734.png  
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#152
  Alt 28. Okt 2008, 11:30
Zitat von Sherlock:
ooohkay, jetzt ist die Sidebar sichtbar.
Aber sie ist irgendwie nicht vom Style her änderbar. Sie ist jetzt immer dunkel. Aber das ist schon ein großer Fortschritt

Sherlock
Zitat von Matze:
Hallo,

ich sehe sie nun auch, aber früher war sie deutlich hübscher.

Grüße
Ok, ich weiß jetzt, was der Fehler war. Das Fenster wurde zu spät sichtbar gemacht. Da ich aber das Widget nur rendern will, wenn es sichtbar ist - wurde nichts angezeigt. Ich hab das Handling hier etwas verändert.

Ok, nun zu dem Screenshot von dir, Matze: danke vielmals, das hilft enorm! Die SideBar will an sich selbst andocken , das ist nun nicht mehr vorhanden.

Ich bitte euch nochmal ganz kurz die angehängte Version zu testen. Ich hoffe, dass das SideBar-Problem vom Screenshot nun nicht mehr auftritt.

[Edit: Anhang gelöscht, da nicht mehr von Bedeutung]
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#153
  Alt 28. Okt 2008, 11:39
Verhalten hat sich seit der letzten Version nicht geändert. Ich kann immer noch nicht den Style umstellen, wobei jetzt wohl ein anderer ausgewählt ist.
Ich habe noch ein anderes Phänomen zu melden:
Die Sidebar ist zu kurz. Ich hab sie auf die rechte Seite meines rechten Monitors gesetzt und in angefügtem Bild sieht man die Sidebar, die teilweise das "abc"-Logo überdeckt mit einem Glaseffekt vermute ich. Wie man an dem Browser daneben erkennen kann ist noch einiges an Platz da. Die Sidebar ist gute 50 Pixel zu kurz.

Edit: Den Style kann ich ändern, nach einem Neustart der WidgetEngine wird der dann angezeigt. Allerdings ist die Sidebar immer erst im Formstyle "Desktop Icon".

Sherlock
Miniaturansicht angehängter Grafiken
sidebarkurz_119.png  
Oliver
  Mit Zitat antworten Zitat
Dbof
 
#154
  Alt 28. Okt 2008, 13:29
Da ist mir noch ein Problem aufgefallen bei der Sidebar. Mein Hintergrund ist vollkommen schwarz, und daher sieht man die Sidebar nicht Bei der alten Version sah man die Sidebar noch.
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#155
  Alt 28. Okt 2008, 15:42
Ok, ich hab mich jetzt nochmal etwas länger hingesetzt und hab auch geschaut, dass ich die größten Probleme mit der SideBar behebe.

Bevor ich jedoch das komplette Package aktualisieren will, würd ich gern nochmal kurz die aktuellste Version von denen Testen lassen, bei denen die SideBar zu kurz war oder bei denen sie überhaupt nicht sichtbar war.

Im Anhang hab ich den aktuellsten Build hochgeladen bei dem ich hoffe, dass die Probleme nun nicht mehr vorhanden sind. Falls doch, würd ich euch bitten kurz mal nen Doppelklick auf den SideBar-Eintrag im Hauptfenster (in der Liste der Widgets) zu machen und mir dann die Positionswerte zukommen lässt.


[Edit: Anhang gelöscht, da nicht mehr von Bedeutung]
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#156
  Alt 28. Okt 2008, 15:55
Cool, die Länge passt. (Trotzdem noch die Zahlen: 2403 0 2560 1024)
Ausserdem wird die Sidebar nun im Prinzip von Anfang an angezeigt...im Prinzip, denn sobald ich mit der Maus drüber will...was soll ich sagen? Die Sidebar wird dann zum Symbol

Noch eine Sache, die Sidebar sollte eigentlich nicht über die eingedockten Widgets rutschen dürfen (Always on top) dann sind die mindestens nicht bedienbar, schlimmstenfalls auch nicht sichtbar Das ist aber glaube ich erst seit deinem letzten Fix so...

Nun noch was lustiges ich habe 6 Widgets ausgewählt, in dem Hauptfenster, das die Widgets auflistet, ist die Scrollbox oder Listbox, oder was das ist, ein sehr spaßiges Ding, denn egal in welche Richtung ich mit dem Mausrad scrolle, "grafisch" scrollt der immer "hoch", das Ziel ist korrekt, aber von der animation her ist es falsch Ich weiss nicht, ob ich das verständlich rübergebracht habe. Ist auch etwas Paradox

Auf jeden Fall bist Du auf dem richtigen Weg und ich finde das Ganze richtig Super!!
Hast Du Dir schon Gedanken über eine Lokalisation gemacht? Im Moment ist ja alles Englisch, wie kann man das eindeutschen? Würde/Könnte Dir da gerne helfen, falls das ansteht.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#157
  Alt 28. Okt 2008, 16:32
Jetzt brauch ich erstmal nen

Ich hab gerade noch ne neue Version hochgeladen, mit der die Probleme mit der SideBar nicht mehr auftreten sollte.

Vielen vielen Dank an Sherlock und Matze für die wirklich tolle Unterstützung und für die Geduld!!!!

Download im ersten Post.

Zitat von Sherlock:
Ausserdem wird die Sidebar nun im Prinzip von Anfang an angezeigt...im Prinzip, denn sobald ich mit der Maus drüber will...was soll ich sagen? Die Sidebar wird dann zum Symbol
Hab ich in der gerade hochgeladenen Version behoben

Zitat von Sherlock:
Noch eine Sache, die Sidebar sollte eigentlich nicht über die eingedockten Widgets rutschen dürfen (Always on top) dann sind die mindestens nicht bedienbar, schlimmstenfalls auch nicht sichtbar Das ist aber glaube ich erst seit deinem letzten Fix so...
Das Problem hatte ich schon mal - hm. Was temporär helfen sollte: das aktuelle Theme speichern und das gerade gespeicherte Theme nochmal laden.

Zitat von Sherlock:
Nun noch was lustiges ich habe 6 Widgets ausgewählt, in dem Hauptfenster, das die Widgets auflistet, ist die Scrollbox oder Listbox, oder was das ist, ein sehr spaßiges Ding, denn egal in welche Richtung ich mit dem Mausrad scrolle, "grafisch" scrollt der immer "hoch", das Ziel ist korrekt, aber von der animation her ist es falsch Ich weiss nicht, ob ich das verständlich rübergebracht habe. Ist auch etwas Paradox
Ja, das Problem kenn ich (ist eine einfache ListBox mit OwnerDraw). Jedoch bin ich noch nicht zu einer Lösung gekommen. Aber ich werd weiter schauen

Zitat von Sherlock:
Auf jeden Fall bist Du auf dem richtigen Weg und ich finde das Ganze richtig Super!!
Das freut mich, dass es so gut ankommt

Zitat von Sherlock:
Hast Du Dir schon Gedanken über eine Lokalisation gemacht? Im Moment ist ja alles Englisch, wie kann man das eindeutschen? Würde/Könnte Dir da gerne helfen, falls das ansteht.
An die Lokalisierung hab ich zwar schon gedacht, jedoch konnte ich mich noch nicht dazu überwinden, die Umzusetzen. Ich dachte an ein einfaches XML-File, jedoch steht noch keine Spezifikation fest. Ich werd mich mal überwinden müssen
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#158
  Alt 28. Okt 2008, 16:42
Sehr, sehr fein!
Funktioniert bestens. Jetzt muss ich mir mal unbedingt das eine oder andere Widget ausdenken...

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#159
  Alt 31. Okt 2008, 02:18
Version 0.64 ist jetzt die aktuellste Version!

Ich hab mich nun endlich überwunden, die Multi-Language-Fähigkeit umzusetzen. Jetzt kann das komplette Programm mit Hilfe von Sprachdateien beliebig übersetzt werden. Die Sprachdateien sind einfache Textdateien, die so ähnlich wie Ini-Files aufgebaut sind (es gibt nur keine Sections). Die Sprachdateien sind UTF-8-konvertiert, wenn ihr also die Sprachdateien bearbeitet bzw. neue erstellt, solltet ihr drauf achten, dass die Datei wirklich im UTF-8-Format abgespeichert wird.

Das zweite große Ding ist jetzt die Möglichkeit, PlugIns zu zertifizieren. Dadurch kann man jetzt einfacher zwischen vertrauenswürdigen PlugIns und "weniger" vertrauenswürdigen PlugIns unterscheiden. Im Moment kann nur ich PlugIns zertifizieren, daher solltet ihr mich anschreiben, wenn ihr eure PlugIns zertifizieren lassen wollt.
Mit dem Zertifizierungssystem hab ich auch das PlugIn-Handling im Programm geändert. Das Programm kann so eingestellt werden, dass nur zertifizierte PlugIns geladen werden. Zusätzlich gibt es noch eine weitere Option: die PlugIn-Warnung kann jetzt abgeschaltet werden, falls das Widget nur zertifizierte PlugIns verwendet.
Da ich mich gerade mit den PlugIns beschäftigt habe, hab ich jetzt auch noch die Möglichkeit eingebaut, PlugIns zu deaktivieren. Die Liste der deaktivierten PlugIns wird auch gespeichert, so dass die PlugIns deaktiviert bleiben. Die PlugIns verschwinden aber nicht komplett aus der Liste der PlugIns - so kann man sie ganz einfach wieder reaktivieren.

In der letzten Version hab ich da die Newsreader und das DP-Shoutbox-Widget verändert, jedoch hat sich da ein kleiner Fehler eingeschlichen, der die Anzeige beeinträchtigt hat. Diesen hab ich nun behoben.

Da das Scrollen in der Liste der aktiven Widgets mit der Maus etwas komisch ausgesehen hat, hab ich noch geschaut, was da schiefläuft - und ich hab den Fehler gefunden. Nun sollte die Scrollanimation normal aussehen.

Da ich die deutsche Sprachdatei nur ganz nebenbei übersetzt habe, könnte es sein, dass sich da ein paar Fehler eingeschlichen haben. Wenn ihr also einen findet wäre es sehr nett, dass ihr mir den Fehler und die Zeile in der Sprachdatei sagen würdet - dann bessere ich das aus (zu Sherlock rüber-schielend ). Natürlich könnt ihr auch eure eigenen Übersetzungen erstellen.

Der Download und der ChangeLog ist wie immer im ersten Post zu finden
Grüße
Dave
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#160
  Alt 31. Okt 2008, 08:53
You are a gentleman, a scholar and a drinker of fine ales.

Jetzt musst Du nur noch erklären, wie man Widgets internationalisieren kann, und ich leg los mit dem Eindeutschen, bzw. dem korrigieren der einen oder anderen Fehlerchen

Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 16 von 26   « Erste     6141516 1718     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 23:47 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