![]() |
Desktop Widget Engine (v0.72)
Hallo :hi:
ich hab mal wieder ein Projekt, welches ich hier veröffentlichen will: Eine ... Downloads
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![]() ![]() ![]() ![]() ![]() ![]() Der Editor ![]() ![]() ![]() ![]() Die Widget-Auswahl ![]() ![]() 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 ![]() 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 ![]() Wichtige Sachen für den Editor
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 ![]() 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 ![]() Noch ein paar Hinweise
|
Re: Desktop Widget Engine (v0.1)
Liste der Anhänge anzeigen (Anzahl: 2)
Sorry für den Push, aber ich hab gerade eine neue Version hochgeladen. Das Wetter-Widget ist jetzt gewachsen - mit Vorhersage für die nächsten 4 Tage. Zudem hab ich das Design der RSS-Feed-Viewer etwas angepasst. Der Delphi-Praxis-Topic-Viewer sowie der Spiegel-Online-RSS öffnet jetzt automatisch den Webbrowser sobald auf einen Eintrag geklickt wurde. Ein Screenshot des Wetter-Widget ist im Anhang.
Zudem hab ich mal ein (sehr) kurzes Beispielvideo erstellt, in dem man sehen kann, wie man so ungefähr ein Widget erstellt. Das erstellte Widget ist eine einfache Form, auf der man eine Uhr sieht. Das Video ist ein Flash-Video. In der Zip-Datei sind 2 Flash-Dateien sowie eine HTML-Datei. Am einfachsten kann man das Video in der HTML-Datei anschauen - Flash Plugin sollte natürlich installiert sein. Ansonsten kann man sich das Video auch mit VCL oder mit mplayer anschauen. Grüße Dave |
Re: Desktop Widget Engine (v0.1)
Hallo,
1) Widgets gibts schon zu 1000en deswegen find ich Sie pers nicht so tolle. Aber das Hilft dir ja nicht zur Verbesserung deines Programmes ... also: 2) Man sollte das Widget an sich auch selbst schließen können ohne erst das 'Widget Engine' Fenster öffnen zu müssen 3) Denn Kalender kann man nicht lesen bzw nur auf Klick der Caption (genau auf die Schrift) verschieben 4) Sollte eine mehrfache Auswahl der Widgets möglich sein 5) Sollte es Einstellungen zu den einzelnen Widgets geben. (BSP Weather: Ich wohn nicht in München) 6) Deutsche Sprache sollte wählbar sein 7) Den Editor finde ich in den einzelnen Menüs (Object Inspector besonderes) ein wenig unübersichtlich, vor allem die X fachen Untermenüs 8 ) Sollten die Widgets nicht sofort durchsichtig werden sondern erst nach ein paar Sekunden 9) Wenn man Scollen kann, sollte man das auch sehen (Scrollbar) Ich weiß, ist noch nicht sehr ausgeprägt dein Programm aber vllt kannst du ja die ein oder anderen Punkte bei der Weiterprogrammierung nutzten ;) |
Re: Desktop Widget Engine (v0.1)
Erstmal danke für deine Verbesserungsvorschläge.
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.1)
Hi,
zuersteinmal: Ich find sowohl Scripting-Engine echt cool :thumb: . Wenn ich mir überlege, dass ich schon bei einem Mathe-Parser nen Knoten im Gehirn kriege... :stupid: Mal sehn, ob ich irgendwann mal dafür Verwendung finde... So, jetzt zum eigentlichen Thema: Das mit den Widgets ist eine gute Idee, aber ich finde, dass die Umsetzung noch nicht optimal ist. Positiv - die Geschwindigkeit und die relativ geringe Speicherauslastung. Negativ - es gibt keine "Immer im Hintergrund"-Funktion - die Widgets sind recht sperrig und nicht in der Größe veränderbar - das Ein- und Ausklappen der Widgets dauert ewig - die Widgets sind nicht andockbar (z.B. in einer Sidebar) Wenn du es hinkriegen würdest, soetwas wie die Vista Sidebar zu nachzuprogrammieren, würde das IMO den Wert erheblich steigern. In dem fall (und unter Voraussetzung eines größeren Monitor :/), würde ich mir das Ding vielleicht mal genauer ansehen. |
Re: Desktop Widget Engine (v0.1)
Zitat:
Naja, das mit der Größe macht bei mir nicht viel...22" Röhrenmonitor :D |
Re: Desktop Widget Engine (v0.1)
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.1)
Zitat:
Zitat:
Dafür hat man ne schöne Ansicht ^^ |
Re: Desktop Widget Engine (v0.1)
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
![]() |
Re: Desktop Widget Engine (v0.1)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
EDIT: Anhang vergessen :wall: |
Re: Desktop Widget Engine (v0.1)
Ich hab mir mal die Kritikpunkte von NameLozer vorgenommen:
Zitat:
@BullsEye: Danke für den Screenshot - werd mir den mal genauer anschauen. |
Re: Desktop Widget Engine (v0.1)
Hi, die "Always in Background"-Funktion ist eine echte Verbesserung. Ich habe jetzt das Wetter- und das Shoutbox-Widget testweise im Hintergrund laufen.
Kleiner Bug: Wenn man mit Alt+Tab (oder dem tollen Flip3d :roll:) direkt zum Desktop wechselt, sind die Widgets verschwunden. Kommt natürlich auf die betrachtungsweise an, ob man das als Bug oder als Feature ansieht. Eine Sache ist mir noch aufgefallen: Wenn man im Widgeteditor im Objektinspektor bei den Ereignissen eine Kategorie schnell ein/ausblendet, gibt es eine Zugriffsverletzung. Eine Frage habe ich noch: Du nutzt eine TBitmap32Ex-Klasse. Ist das eine eigene Klasse? Inwiefern unterscheidet sie sich vom normalen Bitmap32? |
Re: Desktop Widget Engine (v0.1)
Zitat:
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.11)
Ich hab gerade eine neue Version hochgeladen. Ich habe jetzt eine grobe Einstellungsmöglichkeit für jedes Widget eingebaut. Bisher wird aber nur die Position jedes Widgets gespeichert. Zusätzlich wird beim beenden automatisch gespeichert, welches Widget aktiv war. Die letzten aktiven Widgets werden dann meim Start automatisch wieder geladen.
Jetzt werd ich mich dran setzen, Edits, Checkboxen sowie ComboBoxen zu der Komponentenliste hinzuzufügen. Danach werd ich die aktuellen Widgets um eine eigene Konfiguration erweitern. Grüße Dave |
Re: Desktop Widget Engine (v0.11)
Ich hab mir die Widgets auch mal angesehn. top! :thumb:
Ich habe aber auch noch Vorschläge^^ Was mir als Erstes eingefallen ist, drag'n'drop von Widgets aus dem Hauptfenster wär sehr klasse, sprich um das Widget irgendwo zu platzieren, einfach aus der Liste raus auf den Desktop bzw. auch die Widgets wieder in die Liste verbannen, wenn ich sie dahin ziehe :) Zweitens wär es nett, wenn jedes Widget so eine art "Systemmenü" (wie halt bei Windows: Minimieren, Schließen, etc) hätte, bloß denke ich da eher an zwei Sachen, Schließen und ein Feld, das man zum Rumschieben des Widgets verwenden kann, damit man nicht genau auf den Text klicken muss etc. (zum Beispiel beim Kalender). Und auch noch eine Frage. Gemäß dem Fall, ich würde jetzt mehrere Widgets erstellen, kommen denn noch Veränderungen im System in der Richtung, das diese Widgets nochmal überarbeitet werden müssten? (ansonsten fang ich gleich an :zwinker: ) |
Re: Desktop Widget Engine (v0.12)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Zitat:
Zitat:
@All: Ich hab gerade eine neue Version hochgeladen. Hier mal ein kurzes ChangeLog:
[Edit]Ich wollt doch ein Screenshot vom neuen Kalender mit anhängen :wall:[/Edit] |
Re: Desktop Widget Engine (v0.2)
Hallo
es gibt mal wieder eine neue Version. Die aktuelle Version ist 0.2 Alpha. Diesmal hab ich sehr viel am Editor gearbeitet und endlich ein paar wichtige Grundfunktionen (wie z.B. die Suche) hinzugefügt. Aber auch ein Popup-Menü zu jedem Widget ist jetzt endlich mit dabei. Der ChangeLog sowie der Download ist im ersten Post zu finden. Grüße |
Re: Desktop Widget Engine (v0.12)
Zitat:
Zitat:
Zitat:
Achso :D Ich habe es noch nicht getestet, weil atm reicht mir dir Windows Sidebar. MfG xZise |
Re: Desktop Widget Engine (v0.12)
Zitat:
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.12)
Zitat:
Zitat:
MfG xZise |
Re: Desktop Widget Engine (v0.2)
Zitat:
Zitat:
Außerdem: hast du eine Idee, wie man die Widgets wieder nach oben holen könnte? Also nicht programmiertechnisch sondern eher wie du die Widgets wieder nach oben holen würdest? Über ein Popup-Menü des TrayIcons? @All: Oh man - ich bin so doof :wall:. Ich hab die falsche Version hochgeladen. In der hochgeladenen Version gab es einen Bug im Designer - die Verschieben-Felder wurden nicht angezeigt. Alle die heute zwischen 00:30 und 03:00 Uhr die Datei heruntergeladen haben (hat Vorteile, dass es schon so spät ist, dann haben das noch nicht so viele mitbekommen), haben leider eine fehlerhafte Version. Ich hab gerade eine Version hochgeladen, in der das nicht mehr vorkommt. Sonst hat sich nichts geändert. |
Re: Desktop Widget Engine (v0.21)
Liste der Anhänge anzeigen (Anzahl: 1)
Und schon wieder eine neue Version.
Dieshab ist ein neues SideBar-Widget dabei, dass auf der linken oder rechten Seite des Desktops ca. 150 Pixel reserviert. Zwar können Forms über diesen Bereich geschoben werden, maximierte Fenster meiden jedoch diesen Bereich. Diese SideBar unterstützt das Andocken von einzelnen Widgets zwar noch nicht, jedoch können die Widgets problemlos in den Bereich verschoben werden. Da das dieses Widget noch im Alpha-Stadium ist, kann es sein, dass nicht alles funktioniert - besonders auf Multi-Monitor-System weiß ich nicht, ob es funktioniert. Über Feedback wäre ich sehr froh. [Edit]Anhang vergessen :oops:[/Edit] Grüße Dave |
Re: Desktop Widget Engine (v0.21)
Hi :hi:
Bin mal gespannt, ob du das mit dem Andocken hinbekommst - Noch ist halt das Problem, dass viele Widgets breiter sind als die Sidebar selbst, sodass man sie nicht einfach an die entsprechende stelle schieben kann. Mit dem Kalender sieht das ganez aber schon ganz ordnetlich aus. Ein interessanter Ansatz jedenfalls, die Sidebar selbst auch als Widget anzulegen, mal gucken ob sich das bewährt. Noch hat das natürlich so ein paar Tücken, z.B. dass man mehrere Sidebars erzeugen kann. Und wenn man ein anderes Wodget "always in bg" erzeugt, liegt es hinter der Sidebar. Weiter so :thumb: |
Re: Desktop Widget Engine (v0.21)
Zitat:
Zitat:
Die Sidebar hab ich deswegen als Widget gemacht, damit man die viel einfacher Anpassen und Erweitern kann. Zitat:
|
Re: Desktop Widget Engine (v0.21)
Liste der Anhänge anzeigen (Anzahl: 1)
Nach einer kleinen Pause meld ich mich mal wieder.
Da ich in den letzten und in den nächsten Tagen nicht daheim war/bin, konnt ich am Programm selber nichts machen. Jedoch hab ich mich (dank der IDE) ein wenig mit den Wigets selbst beschäftigt. Ich hab z.B. das Wetter-Widget ein wenig verändert. Außerdem hab ich versucht ein paar Widgets kleiner zu machen. Mit dabei ist z.B. ein DP-Shoutbox-Widget extra für die Sidebar. Das Widget passt jetzt wunderbar in die Sidebar und durch den Text kann man jetzt mit der Maus scrollen - einfach klicken und ziehen. Auch der Kalender und die digitale Uhr ist jetzt schmal genug für die Sidebar. Beim Kalender werd ich noch eine Termin-Funktion einbauen, jedoch fehlen dafür noch ein paar Features im Programm selber. Sobald ich diese eingebaut habe, wird der Kalender mit der Termin-Funktion erweitert. Es hat sich wirklich nicht viel verändert, jedoch wollt ich zeigen, dass das Projekt noch lange nicht tot ist ;-) |
Re: Desktop Widget Engine (v0.21)
Muss ja nicht alles von heute auf morgen fertig sein ;)
|
Re: Desktop Widget Engine (v0.22)
Ich bin heute spontan daheim gewesen und hab mich dann noch etwas mit dem Programm beschäftigt. Somit hab ich eine neue Version hochgeladen. Den ChangeLog sowie den Download gibts im ersten Post.
Grüße |
Re: Desktop Widget Engine (v0.22)
gut, ich melde mich auch nochmal ;)
xzise hatte das schon richtig verstanden (jedenfalls annähernd^^). ich würde die widgets nicht gleich durch den opendialog öffnen, sondern sie erstmal nur in besagte liste importieren um sie dann per drag'n'drop auf dem desktop zu platzieren... *persönliche meinung* (ich hoffe das hat sich in der neusten version noch nicht geändert, die hab ich leider noch nicht ansehen können :angel: ) der vorteil wäre, dass der nutzer gleich die widgets positioniert und nicht einzeln, denn wenn man alle im ordner befindlichen widgets auswählt sind sie auf der selben stelle auf dem desktop... möglicherweise wäre da (wegen der geschmackssache^^) eine einstellung angebracht, ob man die widgets nur importieren, oder auch erzeugen möchte.. das war's :) gruß |
Re: Desktop Widget Engine (v0.22)
@Crazy Ivan:
Ach so meinst du das :idea: Also ich hab über sowas ähnlich auch schon drüber nachgedacht und mir ist folgendes eingefallen: Wenn man ein Widget hinzufügen will, muss man nicht mehr die Datei per Dialog auswählen. Stattdessen werd ich ein Form erstellen, in der alle gefundenen Widgets als Thumbnail dargestellt werden. Dort kann man dann einfach das Widget auswählen und starten lassen. Das mit dem "Auf den Desktop" verschieben ist war wirklich eine große Komfortfunktion, jedoch dauert es ein wenig, sowas zu realisieren. Daher werd ich mir erstmal den Dialog vornehmen und später dann die Drag&Drop-Geschichte. |
Re: Desktop Widget Engine (v0.30)
Ich hab gerade Version 0.3 online gestellt.
Das Programm hat jetzt ein Shoutcast-Radio, welches auf die bass.dll zurückgreift. Ebenfalls ist jetzt für Widgets jetzt möglich, den aktuellen Netzwerk-Traffic von jedem Netzwerk-Adapter auszulesen. Das bereits mitgelieferte Widget stellt bisher zwar nur einen dar, jedoch werd ich noch einen Adapter-Switcher in das Widget einbauen, so dass man sich durch die einzelnen Adapter durchklicken kann. Ich hab nun auch wieder die den Resample-Filter für die einzelnen Graphics eingebaut. Den hatte ich zwar ganz am Anfang drinnen, jedoch hab ich dann eine neue Version von GraphicEx herungergeladen, in der das Resizen anders geregelt wird und ich somit den Resize-Filter erstmal wieder ausbauen musste. Jedoch ist er jetzt wieder drinnen. Der komplette Change-Log sowie der Download ist im ersten Post zu finden. Ich hoffe, dass manche sich das Programm mal anschauen und mir über die Erfahrung berichten. Grüße |
Re: Desktop Widget Engine (v0.30)
Hallo,
- Wenn ich WidgetEngine.exe starte, wird das Fenster "Widget Engine" für 1 Sek. angezeigt und verschwindet dann sogleich in der TNA. Ist das so gewollt? - Das Programm sollte man via TrayIcon PopupMenu beenden können. - Bei Klick auf das TrayIcon wird das Fenster "Widget Engine" nicht immer in den Vordergrund gebracht. - Bei Klick auf ein Widget im "Select Window" Fenster sollte "Open" ausgeführt werden. |
Re: Desktop Widget Engine (v0.30)
Hallo Toms
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Desktop Widget Engine (v0.30)
Zitat:
Delphi-Quellcode:
Application.ShowMainForm := False;
|
Re: Desktop Widget Engine (v0.30)
Das macht (so wie ich es gelöst hatte) noch mehr probleme. Ich hab auf Application.OnMinimize und auf .OnRestore reagiert, um die Form in den TNA zu minimieren. Jedoch hab ich jetzt die "MinimizeToTray"-Funktion komplett verworfen und mach es jetzt anders. Jetzt ist der Timer unnötig. Für die nächste Version ist das schon mal behoben - und weil ich gerade drann bin, kümmer ich mich noch schnell um ein Popup-Menü für das Tray-Icon. :)
[Edit] Weil ich gerade so gut vorran gekommen bin, hab ich mal eben noch eine neue Version hochgeladen.. Ich hab jetzt alle Vorschläge von Toms mit eingebaut. Das Programm wird minimiert gestartet, das TrayIcon hat jetzt ein Popup-Menü und im Select-Widget-Dialog kann man jetzt einen Eintrag per DoubleClick auswählen. Danke toms für die guten Vorschläge :thumb: [/Edit] |
Re: Desktop Widget Engine (v0.31)
Es gibt nochmal ein Update: Version 0.31 ist jetzt online.
In der letzten Version hat sich noch ein kleiner Bug eingeschlichen: die aktuell offenen Widgets wurden beim Beenden nicht gespeichert, wenn man das Programm über das TrayIcon-Popup-Menü geschlossen hat. Ebenfalls hab ich die Konfiguration aus den Widgets ausgelagert. Diese wird jetzt im AppData-Ordner, der dafür ja auch vorgesehen ist, gespeichert. Somit ist es jetzt kein Problem mehr, falls man im Programm-Ordner keine Schreibrechte mehr besitzt. Die einzige Ausnahme ist, wenn man Widgets erstellen/bearbeiten will. Dafür benötigt man noch Schreibrechte. Jedoch bearbeitet man nicht ständig Widgets, somit sollte es kein Problem sein. Schließlich kann man ja vor dem editieren das jeweilige Widget in ein Ordner kopieren, in dem man Schreibrechte hat. Auch hab ich das Popup-Menü der einzelnen Widgets ein wenig erweitert. Den kompletten ChangeLog sowie den Download findet ihr im ersten Post. Grüße Dave |
Re: Desktop Widget Engine (v0.31)
hey !
1. wenn man beim objekt inspektor die events zusammen- und wieder ausklappt, kommt ne fehlermeldung: zugriffsverletzung... 2. ich wollte den traffic anzeiger ändern (ich weiß schreibschutz), allerdings reagiert er nicht auf verknüpfte ereignisse, wenn ich
Delphi-Quellcode:
in die timer prozedur schreibe klappt es, nur meine eigene prozedur wird nicht aufgerufen, obwohl ich sie mit jeglichem ereignis verknüpft habe
mainform.setFormAlpha(88);
mainform.RenderForm; |
Re: Desktop Widget Engine (v0.31)
Zitat:
Zitat:
Wenn du nur den FormAlpha einstellen willst, kannst du das auch im Object-Inspektor machen. Zitat:
|
Re: Desktop Widget Engine (v0.31)
Leider funktioniert der Internetzugriff der Widgets nicht hinter einem Proxy, da die Systemeinstellungen dahin ignoriert werden.
|
Re: Desktop Widget Engine (v0.31)
Proxy-Einstellungen werden von mir noch eingebaut. Diese werden dann global im Programm eingetragen und werden dann beim Widget-Start in alle Komponenten übertragen. Jedoch dauert das noch etwas, da ich ja auch auf dynamische Komponenten reagieren muss. Werd das aber auf jeden Fall noch einbauen. Hab mir das für Version 0.4 vorgenommen, hoffentlich schaff ich das.
Die globalen Proxy-Einstellungen werd ich dann noch versuchen, vom System auszulesen. Sorry, dass ich das bisher noch nicht geschafft habe. |
Re: Desktop Widget Engine (v0.31)
Kein Problem; ist mir halt aufgefallen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz