Antworten auf deine Fragen:
Neues Thema erstellen

Skript erstellen

jense

Aktives Mitglied

Ich muss für ein Skript (in Javascript), welches für PS sein soll (Datei/Skripten), ein Dialogfenster erstellen.
Der Inhalt des Dialogfensters ist nur größer als auf den Bildschirm passt. Mehrer Einträge untereinander. Deshalb muss ich das Dialogfenster irgendwie scrollbar machen, falls das geht.
Hat jemand Ahnung wie ich solch ein Dialogfenster scrollbar machen kann? Wenn ich dem Fenster eine sehr große Höhe gebe, ist es einfach innerhalb dem PS Bereich zu ende ohne das Scrollbalken angezeigt werden. Wenn ich Elemente unterhalb der Fensterhöhe platziere sind sie einfach weg.
 

Photoshop

AW: Skript erstellen

Poste:
- einen Screenshot deines gescripteten Dialogfeldes,
- den Scriptteil, der die Größen beinhaltet und
- die Größe deines Bildschirms in "Pixeln".
 

jense

Aktives Mitglied

AW: Skript erstellen

PHP:
var dlg = new Window('dialog', 'Hauptfenster', [50,50,500,400]);
dlg.einpanel = dlg.add('panel', [10,400,190,100], 'Ein Panel weit unten', );
dlg.show();
Der erste Teil ist das Dialogfenster.
Der Zweite ein Inhalt (Panel) in diesem, welches ausserhalb der Größe des Dialogfeldes liegt. Könnte ich das Hauptdialogfeld jetzt scrollen könnte man das Panel dennoch sehen.

Da ich viele Elemente in meinem Dialogfeld untereinander darstellen muss und diese nie auf einen Bildschrim passen würden, muss ich das ganze scrollen können.
 
AW: Skript erstellen

Dein Dialogfenster ist 450 x 350 groß?

Mach es doch einfach größer.

Oder ist dein Monitor so klein? Das muss ich fragen, denn du bist mir eigentlich noch 2 Antworten "schuldig".

:p
 

jense

Aktives Mitglied

AW: Skript erstellen

Ich weis das ich was schuldig bin. Aber des tut zur Lösung nichts beitragen. Deshalb hab ich es weggelassen. ;)

Irgendwann ist nun mal schluss mit der Bildschirmfläche. Und hey, denkste nicht ich wär drauf gekommen das Fenster größer zu machen? Also Fakt ist ich muss mehr Elemente in einem Dialogfenster darstellen als da rein passen. Wenn das der Fall ist (im übrigen genau wie in diesem Forum) dann müssen Scrollbalken dazu verwendet werden den Rest erreichbar zu machen. Genau wie hier im Forum die Dinger ganz rechst am Bildschirmrand. ;)

Nur finde ich keine Methode mit der ich das ohne großen Bastelaufwand tun kann. Adobe wird doch irgendwas für den Fall haben müssen.

Ich kann ja Scrollbalken einbauen und alles neupositionieren. Nur dachte ich das das einfacher gehen muss.

P.S Ja es ist so groß
 
Zuletzt bearbeitet:
AW: Skript erstellen

Gut dann frage ich anders:
Wie groß darf denn dein Dialogfeld maximal werden?

Da du mir leider das Unwichtige nicht zeigen kannst:
Ich kann mir kein Dialogfeld vorstellen, dass mit allem Möglichen vollgepackt größer sein soll als ein "normaler" 1024 x 768 Monitor.

Von daher muss ich aussteigen.
:uhm:
 

jense

Aktives Mitglied

AW: Skript erstellen

Stell dir vor ich will Bilder verarbeiten. So 500 Stück oder mehr. Zu jedem will ich ein Vorschaubild im Dialogfenster anzeigen lassen und neben diesem Bild kann man Einstellungen für jede Datei treffen. Nach Klick auf "Start" werden alle Bilder mit den Einstellungen bearbeitet.

Das wären demnach 500 mal die gleichen Dialogfelder untereinander plus das jeweilige Vorschaubild davor.
Das passt nie und nimmer auf den Bildschirm.

Mein Problem ist ein allgemeines, desshalb kann ich dir auch nichts zeigen. Es gibt nichts zu zeigen. Ich habe nichts.

Problem ist: Wie kann ich mehr Inhalt in einem Dialogfenster darstellen als in dieses hineinpasst. Unabhängig dessen Größe. Halt wie ein Browserfenster. Das passt doch auch nicht alles auf deinen Bildschirm was du hier im Forum lesen kannst. Du kannst aber scrollen und somit den Rest sehen. Das jetzt nur übertragen auf mein Dialogfenster.
 

pixelmaker

jeden Tag neu hier

AW: Skript erstellen

var dlg = new Window('dialog', 'Hauptfenster', [50,50,500,400]);
dlg.einpanel = dlg.add('panel', [10,400,190,100], 'Ein Panel weit unten', );
dlg.add("scrollbar"[, bounds, value, minvalue, maxvalue]);
dlg
.show();


bounds, value, minvalue, maxvalue sind optional, um die Position der Kontrollpfeile, die Anfangsposition des Scrollbereichs und mit minvalue und maxvalue zusammen den Scrollbereich festzulegen.

Mehr dazu auf Seite 232 der
 

jense

Aktives Mitglied

AW: Skript erstellen

So noch mal ein Versuch.

Wie man den Scroller erstellt hab ich schon raus. Fand die Methode nur halt umständlich. Hab in meinem Dialog ein container_panel. Den beweg ich hoch und runter mit der scrollbar. In dem container hab ich dann meine einzelpanels mit den Bildern. Problem ist nur das ich dem container_panel scheinbar keine beliebige höhe geben kann. So 10000 geht nicht. Er ist dann trotzdem immer kürzer. Ich glaub die maximale Höhe richtet sich nach dem Bildschirm.

Weist du auch wie ich das Problem umgehen kann?

Warum ich das so mache:
Ich lasse mit der Scrollbar die Position vom Container verändern. Die einzelnen panels befinden sich in diesem Container. So muss ich nur den Container verschieben und der Inhalt verschiebt sich automatisch mit. Würde ich jedes einzeln machen, also nicht in einem Container zusammenfassen, dann muss ich jeden einzeln verschieben.

Hiermit verschieb ich den container
PHP:
dlg.scroller.onChanging = function () {
        dlg.container.location = [10,-dlg.scroller.value+400];
}
 
Zuletzt bearbeitet:

pixelmaker

jeden Tag neu hier

AW: Skript erstellen

Nein, sorry, kann ich Dir nicht sagen.

Es gibt zwei Arten von "new Window"
1. Modal dialog boxes, not resizeable.
2. Main Windows, reziseable. Benutzbar für ein Programm-Hauptfenster.
Im JavaScript Reference Guide steht definitiv das "main window" normalerweise nicht für Adobe Creativ Suite benutzt wird.

Wenn Du den Window Type mit "dialog" bezeichnest, dann ist das eine "Modal dialog box, also nicht in der Größe variable.

Was Du bräuchtest wäre allerdings der Typ des "Main Window".
Der einzige von Adobe beschriebene Window object constructor ist aber "dialog", was nur als Container für Steuerungselemente wie Alertboxen benutzt wird.
Ich denke, Du arbeitest grundsätzlich mit der falschen Art des Fensters.


Das mit dem "new Window" Objekt geöffnete Fenster stellt also eine eigene Programmoberfläche dar, kein Wunder das es sich auf die Bildschirmgröße beschränkt.

Die hierarchisch darunter angesiedelten Objekte sind "panel" und "group"


Mehr dazu und was in den einzelnen Photoshop Versionen überhaupt möglich ist, findest Du hier.

http://www.adobe.com/devnet/photoshop/scripting/



Alles weitere müsste ich auch googeln
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.638
Beiträge
1.538.502
Mitglieder
67.559
Neuestes Mitglied
mic4mac
Oben