Delphi-PRAXiS
Seite 14 von 26   « Erste     4121314 151624     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Desktop Widget Engine (v0.72) (https://www.delphipraxis.net/119493-desktop-widget-engine-v0-72-a.html)

littleDave 23. Okt 2008 17:05

Re: Desktop Widget Engine (v0.6)
 
Version 0.6 ist nun online :party: :party:
  • In meiner Roadmap steht, dass bis Version 0.6 mehrere Forms in einem Widget unterstützt werden sollen - und so ist es jetzt: ein Widget kann beliebig viele Forms haben und diese auch genauso steuern wie z.B. das Hauptfenster (Größe, Position, usw.)
    Die Sache mit den mehreren Forms befindet sich noch im Alpha-Stadium und ich konnte auch noch nicht alles testen. Hier mal kurz ein Beispiel, wie man mehrere Forms erstellt.
    • Im Editor unter "File" -> "New" -> "Form"
    • Dann den Name der Form in dem Dialog eingeben
    • Die Form öffnet sich automatisch in einem neuen Tab
    • Die Form so gestallten wie man will
    • Damit Events in den Forms auch funktionieren, MUSS man den Unitname in die uses-Liste der mainform eintragen
    • Um eine Form zu erstellen, einfach in einer bereits existierende Form folgenden Quelltext einfügen mainform.CreateForm('newForm');. Dabei ist der string 'newForm' durch den UnitName/FormName (ist identisch) der gewünschten Form ersetzen. Jede Form kann nur einmal geöffnet werden.
    • Um von einer Unit auf die Variablen in einer anderen Unit zuzugreifen, muss man einfach beim Zugriff einfach den Unitname gefolgt von einem Punkt vorranstellen (bsp: MyUnit.MyVariable := 5;). Dieses Beispiel funktioniert jedoch bei Forms nicht mehr, da die FormVariable identisch mit dem UnitName ist. Um das Problem zu beheben, muss man "MyUnit" einfach zu einer Unit umcasten: unit(MyUnit).wgLabel1.SetCaption('Hi')
    • Um eine Form wieder zu schließen, einfach MyForm.Close eingeben. Die Form an sich wird dann aus dem Speicher entfernt und die Variablen der Komponenten auf der Form sind dann nicht mehr gültig (aber noch nicht gleich nil). Alle anderen Variablen in der Unit bleiben weiterhin gültig.
  • Zusätzlich hab auch noch ein Popup-Menp im "Add Widget Dialog" hinzugefügt. Mit diesem Popup-Menü kann man die Widgets von der Festplatte löschen, das Widget bearbeiten oder die Security-Settings ändern.
  • Die Programmeinstellungen hab ich jetzt auch erweitert. Man kann jetzt für jede Aktion mit den Themes die Speichermethode wählen, die man bevorzugt.
  • Auch ein Problem mit der Sidebar hab ich behoben: die Sidebar legte sich über andere bereits existierende Widgets - dies wird nun verhindet.
  • Man kann nun auch die .widget-Dateien direkt mit dem Programm verlinken lassen. Dann kann man ein Widget direkt mit dem Explorer per Doppelklick öffnen.
  • und noch ein paar Sachen mehr ...

Ach noch was: es ist sehr wichtig, dass ihr alle bereits existierende Widgets durch die Widgets ersetzt, die bereits mit dabei sind.

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

littleDave 24. Okt 2008 15:28

Re: Desktop Widget Engine (v0.61)
 
Auch wenns hier gerade etwas ruhiger geworden ist, hab ich gerade Version 0.61 hochgeladen :cheers:

Wie ich im letzen Post bereits erwähnt hatte, hab ich den Memory-Verbrauch sehr gesenkt. Besonders Widgets, die das gleiche Bild in mehreren Graphics benutzen, profitieren von der Änderung. Bisher wurde jedes Bild seperat geladen, jetzt werden sie in einem Shared-Cache zwischengespeichert und sind somit jetzt nur noch einmal pro Widget im Arbeitsspeicher. Bilder, die aus dem Internet heruntergeladen wurden funktionieren weiterhin und werden nicht zwischengespeichert.

Außerdem hab ich jetzt den "Snap-To-Widget-Abstand" einstellbar gemacht. Dabei ist mir aufgefallen, dass es noch ein paar kleine Probleme beim "Widgets snap to Widgets" gab. Diese hab ich jetzt behoben.

Auch ein wichtiges Security-Attribut hab ich angepasst: Im TwgNetworkPlayer wurden alle übergebenen URLs als Internet-URLs angesehen. Jedoch unterstützt der Player auch lokale Dateien. Wenn man also eine lokale Datei übergeben hat, wurde diese auch geöffnet, auch wenn das Widget keinen Zugriff auf lokale Dateien haben soll. Ich hab nun außerdem noch den Network-Player angepasst: nun können lokale Dateien einfach per Drag&Drop auf das Widget geschoben werden - diese werden dann gleich abgespielt.

Im Zuge der Memory-Optimierung hab ich mir nochmal die Scale-Widget-Funktion angeschaut und auch noch ein wenig optimiert.

Eine weitere Neuigkeit ist, dass man jetzt auch die SideBar skalieren kann. Wenn man im Hauptfenster jetzt die SideBar auswählt, sieht man auch das Skalieren-Panel. Jedoch gibt es bei der SideBar noch eine Besonderheit: im Skalier-Panel gibt es dann einen weiteren Knopf: "Apply". Beim Skalieren der Sidebar wird erstmal nur das Fenster und nicht der SideBar-Bereich angepasst. Sobald man dann auf "Apply" klickt, wird der SideBar-Bereich an das Widget angepasst. Dies musst ich so machen, da das Erstellen der SideBar von Windows aus relativ lange dauert.
Und wo ich gerade bei der SideBar: Das Laden der SideBar hab ich nun extra für die SideBar etwas verändert: bisher war es so, dass die SideBar sowie der dazugehörige SideBar-Bereich beim Start sofort geladen wird. Das SideBar-Widget läd erst danach die letzte Konfiguration und muss dann somit den SideBar-Bereich erst wieder freigeben um ihn dann nochmal neu zu erstellen. Dies hab ich jetzt so geändert, dass der SideBar-Bereich erst nach der InitializeWidget-Funktion erstellt wird.

Als ich mit der SideBar rumexperimentiert hatte, ist mir aufgefallen, dass ich die SideBar nur über das Popup-Menü des Widgets woanders positionieren kann. Das hat mich dann doch etwas genervt und ich hab jetzt den Menüpunkt "Widget" aus dem Widget-Popup jetzt auch in das Popup-Menü im Hauptfenster mit eingebaut.

So, das wars auch schon wieder :mrgreen:
Download sowie der komplette ChangeLog befinden sich im ersten Post.
Grüße
Dave

toms 26. Okt 2008 00:45

Re: Desktop Widget Engine (v0.61)
 
Hallo Dave

Eine Kleinigkeit:

Bei Klick auf Widget | Add Widget sollte der Fokus auf die Komponente "TThumbnails" gesetzt werden.
Somit kann mit dem Mausrad gescrollt werden, ohne dass zuerst der Fokus per Mausklick auf "TThumbnails" gesetzt werden muss.

PS: Die "Scale Widget" Funktion ist ausgezeichnet!

Namenloser 26. Okt 2008 02:24

Re: Desktop Widget Engine (v0.61)
 
Ich geb auch mal wieder meinen Senf dazu. :mrgreen:

Erst mal finde ich es schön, dass schon so viele nützliche Widgets dazugekommen sind! Eine große Verbesserung stellt aus meiner Sicht auch die Docking-Funktion dar.

Mein einziger Kritikpunkt liegt am Interface (das sich insgesamt aber verbessert hat): Ich finde die Icons teilweise recht ungünstig gewählt. Konkret meine ich folgende:

1. Unter View -> Autoupdate Display wird auch im unmarkierten Zustand ein Häkchen angezeigt. Wirklich aktiv ist der Punkt aber nur, wenn dieses Icon (das auch noch identisch zum "Program Settings"- und "Security Settings"-Icon ist) heruntergedrückt ist - das ist für den Neueinsteiger nicht klar. Es wäre besser, wenn der Standardhaken, wie man ihn aus anderen Programmen kennt, angezeigt würde.

2. Warum hat der Menüpunkt "Add Widget" einen Pfeil als Icon? Ein Plus-Zeichen würde sich hier doch mehr als anbieten.

3. Warum hat Widget -> Edit Widget das "Ausschneiden"-Icon? ich würde hier einen Stift vorschlagen.

4. Das "Suchen"-Icon ist ungeeignet um "Show main window" zu beschreiben.

Du hast wahrscheinlich versucht, für möglichst alle Funktionen ein Icon bereitzustellen. das ist aber gar nicht unbedingt nötig bzw. sinnvoll. Denn schnell ist das Interface überladen, und dann erfüllen die icons ihren Zweck, nämlich das schnellere finden der Funktionen, nicht mehr. Genau so ist es mit unpassenden Icons. Deshalb würde ich mich bei den icons auf bestimmte Funktionen wie "Öffnen", "Speichern", "Kopieren" usw. beschränken.

littleDave 26. Okt 2008 12:04

Re: Desktop Widget Engine (v0.61)
 
Zitat:

Zitat von toms
Hallo Dave

Eine Kleinigkeit:

Bei Klick auf Widget | Add Widget sollte der Fokus auf die Komponente "TThumbnails" gesetzt werden.
Somit kann mit dem Mausrad gescrollt werden, ohne dass zuerst der Fokus per Mausklick auf "TThumbnails" gesetzt werden muss.

Ich hab den Fokus absichtlich auf das Filter-Edit gesetzt, um da schnell was eingeben zu können. Jedoch, jetzt wo ich gerade drüber nachdenke, fällt mir auf, dass ich den Filter seltener benutze als das Mausrad. Ich werd wahrscheinlich als Standard den Focus auf meine Thumbnail-Komponente setzen und mir dann einfach den Focus merken.

Zitat:

Zitat von toms
PS: Die "Scale Widget" Funktion ist ausgezeichnet!

Danke :)

Zitat:

Zitat von NamenLozer
Erst mal finde ich es schön, dass schon so viele nützliche Widgets dazugekommen sind! Eine große Verbesserung stellt aus meiner Sicht auch die Docking-Funktion dar.

Erstmal danke für dein Feedback und für deine konstruktive Kritik

Zitat:

Zitat von NamenLozer
1. Unter View -> Autoupdate Display wird auch im unmarkierten Zustand ein Häkchen angezeigt. Wirklich aktiv ist der Punkt aber nur, wenn dieses Icon (das auch noch identisch zum "Program Settings"- und "Security Settings"-Icon ist) heruntergedrückt ist - das ist für den Neueinsteiger nicht klar. Es wäre besser, wenn der Standardhaken, wie man ihn aus anderen Programmen kennt, angezeigt würde.

Jep, das Icon werd ich wieder entfernen. Das macht wirklich nur Probleme (und schaut nicht so gut aus)

Zitat:

Zitat von NamenLozer
2. Warum hat der Menüpunkt "Add Widget" einen Pfeil als Icon? Ein Plus-Zeichen würde sich hier doch mehr als anbieten.

Ich hatte noch kein schönes Plus gefunden, werd aber nochmal schauen.

Zitat:

Zitat von NamenLozer
3. Warum hat Widget - > Edit Widget das "Ausschneiden"-Icon? ich würde hier einen Stift vorschlagen.

Stimmt, ein Stift ist da besser. Mal schauen ob ich einen finde - werd ich gleich nach dem Plus suchen ;-)

Zitat:

Zitat von NamenLozer
4. Das "Suchen"-Icon ist ungeeignet um "Show main window" zu beschreiben.

Das Icon kommt auch wieder weg.

Zitat:

Zitat von NamenLozer
Du hast wahrscheinlich versucht, für möglichst alle Funktionen ein Icon bereitzustellen. das ist aber gar nicht unbedingt nötig bzw. sinnvoll. Denn schnell ist das Interface überladen, und dann erfüllen die icons ihren Zweck, nämlich das schnellere finden der Funktionen, nicht mehr. Genau so ist es mit unpassenden Icons. Deshalb würde ich mich bei den icons auf bestimmte Funktionen wie "Öffnen", "Speichern", "Kopieren" usw. beschränken.

Stimmt, ich wahr wahrscheinlich zu übereifrig mit den Icons. Ich werd mir nochmal eine neue Liste mit Icons zusammenstellen und nur den wichtigen Funktionen ein Icon verpassen.


@All:
Ich arbeite im Moment an einem neuen Widget, mit dem man die Festplattenkapazität sehen kann. Ich hab das Widget, das im Moment noch im Beta-Statium ist, mal als Anhang hochgeladen. Sobald keine Probleme mehr vorhanden sind (bisher hab ich noch keine gefunden), werd ich es mit in das Standardpaket reinladen.

Edit: Anhang gelöscht, da sich das Widget jetzt im Standard-Paket befindet.

Larsi 26. Okt 2008 12:09

Re: Desktop Widget Engine (v0.61)
 
Wenn du keine Icons findest kann ich dir nur das Vista Icon Pack St (http://www.chip.de/downloads/Vista-I..._19140082.html) empfehlen. Die Icons benutze ich auch.

hamburcher 26. Okt 2008 12:13

Re: Desktop Widget Engine (v0.61)
 
Icons oder Glyphs?

littleDave 26. Okt 2008 12:26

Re: Desktop Widget Engine (v0.61)
 
Zitat:

Zitat von Larsi
Wenn du keine Icons findest kann ich dir nur das Vista Icon Pack St (http://www.chip.de/downloads/Vista-I..._19140082.html) empfehlen. Die Icons benutze ich auch.

Danke für den Link. Werd ich mir mal anschauen. Jedoch muss ich erstmal nach der Lizenz der Icons suchen. Wenn die nicht passt, dann kann ich die nicht benutzen. Weißt du auswendig, ob in dem Download eine License.txt mit dabei ist und/oder ob man die Icons auch in die eigene Anwendung integrieren darf?

Zitat:

Zitat von hamburcher
Icons oder Glyphs?

Konkret brauche ich Glyphs für die Menü-Einträge.

littleDave 28. Okt 2008 00:33

Re: Desktop Widget Engine (v0.62)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Sodala, hab gerade Version 0.62 hochgeladen

In dieser Version hab ich mal die (zugegeben) schrecklichen Icons aus der Vorgängerversion verändert. Zum einen haben jetzt nur noch wichtige Funktionen ein Icon und zum anderen hab ich die Icons an sich auch verändert. Nun sollte das Programm nicht mehr so "over-iconed" sein ;-)

Auch den Focus im Add-Widget-Dialog hab ich jetzt auf die Thumbnails gesetzt - somit kann man jetzt direkt mit dem Mausrad durch die Liste scrollen.

Auch neu ist die ListBox-Komponente, die jetzt den Widgets zur Verfügung steht. Um diese gleich mal auszuprobieren hab ich das Spiegel-RSS sowie das DP-ShoutBox-Widget nun verbessert. Im Anhang hab ich mal nen Screenshot von den neuen Versionen hochgeladen - ich denke, die sind nun wirklich besser.

Außerdem arbeite ich gerade daran, die Widgets auch unicode-Enabled zu machen. Den ersten Schritt hab ich dafür bereits hinbekommen: ein neuer Datentyp: UTF8String. Zusammen mit der Compiler-Magic der Script-Engine kann man sogar ganz einfach UTF8Strings in Ansi-Strings umwandeln - und umgekehrt.
Da einige Funktionen nur Strings zurückgeben, kann es sein, dass diese Compiler-Magic im Weg stehen kann. Daher hab ich noch eine Funktion eingebaut, mit der man einen AnsiString ohne Konvertierung in einen UTF8-String umwandeln kann: AnsiAsUtf8. Somit kann man jetzt einen AnsiString, der eigendlich ein UTF8-String ist, ganz einfach und ohne verluste umwandeln.

Das Disc-Size-Widget ist jetzt im Standard-Paket mit dabei. Ich habe es noch etwas erweitert, daher wäre es gut, wenn ihr die Beta-Version mit der aktuellen überschreiben würdet.

Der komplette ChangeLog sowie der Download ist im ersten Post zu finden
Grüße
Dave

Sherlock 28. Okt 2008 08:48

Re: Desktop Widget Engine (v0.62)
 
Jetzt hab ich mal ne ganz dumme Frage: Wie bekomm ich die Widgets in die Sidebar gedockt? Und wie mach ich die Sidebar sichtbar? Momentan nimmt die Sidebar Platz ein, was sich dadurch äussert, daß andere Fenster nicht komplett (über den ganzen Bildschirm) maximierbar sind. Ich ziehe dann die Widgets auf diesen freigelassenen Bereich und nix passiert, kein docken, kein ausrichten...ich weiss nicht weiter.

Ansonsten ist es echt super und sieht von den Widgets her aus wie Vista.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.
Seite 14 von 26   « Erste     4121314 151624     Letzte »    

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