Wie funktioniert foo_ui_func ?

Begonnen von Spirit_of_the_ocean, 03. April 2009, 21:02:22

Vorheriges Thema - Nächstes Thema

fbuser

#30
Ein MouseOver-Bild wird von den Buttons (noch) nicht direkt unterstützt. Man muss sich daher einen Button basteln:


// Button-Dimensionen
$hash(x,500)
$hash(y,20)
$hash(w,20)
$hash(h,20)

// Button-Image
$gp_image(%_id%,<pfad_zu_button_bild>,%x%,%y%,%w%,%h%)

// MouseOver-Image ...
$gp_image(%_id%,<pfad_zu_mouseover_bild>,%x%,%y%,%w%,%h%,hide)
// ... mittles %_result%-Variable in HashMap ablegen
$hash(Image.MouseOver,%_result%)

// Ergeignisse (over, out und lbuttonup) für das aktuelle Fenster zuordnen
// Die Befehle für das Anzeigen, das Verbergen des MouseOver-Images und den Button-Klick
// müssen mit den Escape-Sequenzen für $ = \d, % = \p, ( = \{ und ) = \} versehen werden
$map(%_id%,over:'\dshowobject\{\pImage.MouseOver\p,true,redraw:true\}'
                     ,out:'\dshowobject\{\pImage.MouseOver\p,false,redraw:true\}'
                     ,lbuttonup:'\dconsole\{click!!\}'
                     ,escape:true)

// Region festlegen, für die die Ereignisse aktiv sind
$hash(Region.MousOver,%_result%)
$map_rect(%Region.MousOver%,%x%,%y%,%w%,%h%)


<pfad_zu_button_bild> und <pfad_zu_mouseover_bild> müssen durch korrekte Pfadangaben ersetzt werden.

Ist natürlich recht kompliziert, aber immerhin machbar, solange das nicht von den Standard-Buttons unterstützt wird. Mittels $map_circle lassen sich so auch runde Buttons realisieren.

Habe durch den obigen Code auch einen Crash gefunden. Wird gp_image ein ungültiger Pfad übergeben, passiert es. Es lohnt sich auch immer einen Blick auf die Konsole (wird auch über das Palette-Fenster zur Verfügung gestellt) zu werfen. Bei Syntax-Fehlern gibt es in der Regel eine entsprechende Meldung.

EDIT:Verstecken des MouseOver-Images entfernt, da dies auch durch die hide-Option in $gp_image() möglich ist.

Spirit_of_the_ocean

Ich hatte das Problem, dass ein runder Button dessen Ecken durchsichtig sind nicht so angezeigt worden ist, sondern das druchsichtige mit schwarz ausgefüllt wurde.

fbuser

Habe mir einfach mal ein Bild mit Kreis in der Mitte und Transparenz drumherum erzeugt. Funktioniert bei mir einwandfrei.

Spirit_of_the_ocean

#33
Okay. Könntest du das Bild eventuell hochladen und auch den zugehörigen Code dazu. Ich will herausfinden woran das liegt, da ich ansonsten beim PSS keine Probleme damit hatte. Möglicherweise liegt es auch am Dateiformat? Die Transparenz wird jedenfalls mit "schwarz aufgefüllt. ???

Das wäre echt super, denn dann könnte ich meine Config auf foo_ui_func umbasteln :)

fbuser

Hier das Bild. Der Code, den ich verwendet habe,  steht vier Beiträge weiter oben.

tedgo

@Spirit_of_the_ocean
Wenn du deine Config fertig hast, melde ich schon mal Interesse an der Konfiguartionsdatei an ;)
Habe momentan leider keine Zeit, mich selbst näher mit dem Plugin zu beschäftigen, da ich mit der Arbeit an etwas anderem beschäftigt bin, aber eine fertige Konfiguration (zum daraus lernen) interessiert allemal :)

Spirit_of_the_ocean

#36
@fbuser: Dein Code funktioniert insofern, das am Nafang nur der rote Punkt angezeigt wird, aber sobald man über den Button geht wird die eigentliche Transparenz durch weiß ersetzt bis man das ganze wieder "refresht".Vielleicht liegt es daran, dass ich ein Bild dahintegelegt habe?

Aber das was der Button tun soll, tut er nicht. Also zum Beispiel das Playback stoppen.

Irgendwie ist die bisherige Lösung nicht zufiedenstellend.

fbuser

Also bei mir funktioniert alles erwartungsgemäß. Kein weißer Rand und es wird, um bei meinem Beispiel zu bleiben, click!! in der Console ausgegeben.

Da muss noch ein anderes Problem sein. Stell am besten mal deinen Code hier rein. Dann kann ich mir den mal ansehen.

tedgo

#38
Offenbar wird das Plugin irgendwann (in naher oder ferner Zukunft) WSH statt Title Formatting benutzen...

Antwort auf eine Anfrage von "Jensen" (im Blog):

Zitat
>Jensen
After it finished making func UI, it thinks.
The next version might use WSH.

Das wäre eine tolle Nachricht, denn damit wäre das Plugin flexibler und wahrscheinlich auch deutlich besser in der Performance.
Ich werde das mal beobachten, denn mit WSH wäre das Plugin für mich die erste echte UI-Alternative.

PS: Gibt schon die Version 0.0.9e

fbuser

#39
Und hier defekter link entfernt - grimes gibt es jetzt ein Beispiel für eine Seekbar.

tedgo

Hat inzwischen schon jemand eine komplette Konfiguration mit dem Plugin hinbekommen und würde diese mal zum "spionieren wie man's macht" mit uns teilen?

Gibt mittlerweile übrigens schon Version 0.1.1c

Spirit_of_the_ocean

Hatte ja malw as ganz einfaches gemacht, abernoch mit einer sehr veralteten Version und auch nicht zuende gebracht, da ich mich zur Zeit mit dem WSH Panel MOD beschäftige. Ein großes Problem ist die fehlende Dokumentation. Ich vermute, dass man ganz viel mit dem Ding anstellen kann. Aber ohen die Details zu kennen ist es schwierig.

tedgo

#42
HIER defekter link entfernt - grimes gibt es jetzt eine einfache Sample.config für v0.1.9.
Das schau ich mir auf jeden Fall nochmal an :)

EDIT:
So, getestet und für beinahe brauchbar befunden. Aber eben nur beinahe...
Ist schon beeindruckend, was mit foo_ui_func alles möglich ist, auch wenn die Beispielkonfiguration nicht sonderlich umfangreich ist. Aber sie ist erfreulich ressourcenschonend. Braucht nur halb so viel Speicher wie meine eigene PSS/WSH Panel mod Konfiguration...
Die Visualisierung (ziemlich simpel, nur ein paar bunte Sternchen) zwingt mein altersschwaches System aber schon in die Knie.

Und schon in dem Beispiel ist die Bedienung etwas holprig und es funktioniert auch nicht alles, was die Buttons suggerieren...
Na ja, für den Anfang wenigstens mal was nettes.

tedgo

Beschäftigt sich eigentlich noch jemand mit dem Plugin?
Hat vielleicht schon jemand eine umfangreiche und passable Konfiguration damit hinbekommen?

Gibt ja mittlerweile v0.2.1. Und das schon seit Mai.