[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Dialogbox mit mehrzeiligen Eingaben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Dialogbox mit mehrzeiligen Eingaben

foxpalace
Beiträge gesamt: 77

11. Mai 2011, 14:43
Beitrag # 1 von 8
Bewertung:
(5807 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe hier eine einfache Dialogbox erstellt:

Code
	with(myDialog.dialogColumns.add()){ 
staticTexts.add({staticLabel:"E-Mail-Adresse eingeben: "});
var eMail = textEditboxes.add({editContents: myMetaData1, minWidth:250});
}


Hier würde ich jetzt gerne noch eine Eingabemaske einbauen, die eine Eingabe von Text über mehrere Spalten ermöglicht. Mit textEditboxes habe ich, wie ich das bisher verstanden habe immer noch eine Zeile für eine Eingabe.

Kann mir hier jemand einen Tipp geben?

Gruß
Michael
X

Dialogbox mit mehrzeiligen Eingaben

WernerPerplies
Beiträge gesamt: 2709

11. Mai 2011, 17:45
Beitrag # 2 von 8
Beitrag ID: #471215
Bewertung:
(5778 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

Code
Hier würde ich jetzt gerne noch eine Eingabemaske einbauen, die eine Eingabe von Text über mehrere Spalten ermöglicht. Mit textEditboxes habe ich, wie ich das bisher verstanden habe immer noch eine Zeile für eine Eingabe. 


So ganz ist mir nicht klar, was Du willst, einmal sprichst Du von Spalten, dann wieder von Zeilen.

Ein Multilineedit geht so:
Zitat var w = new Window('dialog','MultilineEdit');
var e1 = w.add('edittext', [0,0,200,100], '', {multiline:true});
w.show();

Du müsstest das jetzt für Deine Anwendung umsetzen können.


als Antwort auf: [#471194]

Dialogbox mit mehrzeiligen Eingaben

Martin Fischer
  
Beiträge gesamt: 12691

11. Mai 2011, 18:41
Beitrag # 3 von 8
Beitrag ID: #471224
Bewertung:
(5771 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

kennst Du Peter Kahrels ScriptUI for dummies?

Dort findest Du neben einer guten Dokumentation von Dialogen der SkriptUI und deren Bestandteilen auch viele praktische Beispiele.

Eine wahre Fundgrube!


als Antwort auf: [#471194]
(Dieser Beitrag wurde von Martin Fischer am 11. Mai 2011, 19:50 geändert)

Dialogbox mit mehrzeiligen Eingaben

Gerald Singelmann
  
Beiträge gesamt: 6264

11. Mai 2011, 23:25
Beitrag # 4 von 8
Beitrag ID: #471236
Bewertung:
(5735 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und für alle Mitleser, die jetzt immer noch ein dickes "HÄ?" über dem Kopf schweben haben...

Michael offensichtlich möchte das, was in HTML eine "textarea" ist.

Das Fragment benutzt die InDesign-eigenen Objekte zur Erstellung von Dialogen, was eine Reihe von Vorteilen hat, weil man z.B. nicht selbst die Routinen schreiben muss, um ein Eingabefeld speziell für Maßeinheiten einzufügen.

Die schlechte Nachricht ist: InDesigns Dialog-Objekte kennen nur einzeilige Eingabefelder.

Die gute Nachricht ist: es gibt noch die ScriptUI, ein Baukasten für Dialoge und Paletten, der auch in Illustrator und Photoshop funktioniert und gar nicht sooo kompliziert ist, seit Peter Kahrel ihn gut dokumentiert hat.


als Antwort auf: [#471224]

Dialogbox mit mehrzeiligen Eingaben

Martin Fischer
  
Beiträge gesamt: 12691

12. Mai 2011, 06:13
Beitrag # 5 von 8
Beitrag ID: #471240
Bewertung:
(5712 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat die ScriptUI, ein Baukasten für Dialoge und Paletten, der auch in Illustrator und Photoshop funktioniert und gar nicht sooo kompliziert ist, seit Peter Kahrel ihn gut dokumentiert hat.


Ab Seite 7 findet sich etwa die Beschreibung des von Werner oben vorgestellten textedit-Elements mit der multiline-Property:

edittext
This control too we've seen in the example given above. It is used to get input from the user. By default, the control is just one line high and you can enter just one line of text. A useful creation property is multiline, which allows you to add more than one line:

Code
var w = new Window ("dialog", "Multiline"); 
var myText = w.add ("edittext", [0, 0, 150, 70], "", {multiline: true});
myText.text = "Line 1\rLine 2\rLine 3\rLine 4\rLine 5\rLine 6\r";
myText.active = true;
w.show ();


In the screenshot we've added a few lines. As you can see, we specified the size of the control in the second argument position ([0, 0, 150, 70]) – these dimensions are left, top, width, and height. (Note that these coordinates differ from those of InDesign's geometricBounds, which are top, left, bottom, right.) When more text is entered than fits the control, a scrollbar is added by default.
(...)


als Antwort auf: [#471236]

Dialogbox mit mehrzeiligen Eingaben

Uwe Laubender
Beiträge gesamt: 5261

12. Mai 2011, 07:27
Beitrag # 6 von 8
Beitrag ID: #471241
Bewertung:
(5700 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, zusammen!
Ich hab' auch noch einen:

Multiline Prompt
Von John Hawkinson

im Adobe InDesign Scripting-Forum:

Code
http://forums.adobe.com/message/3614867#3614867 


MacBook Pro 2.4GHz | OS X 10.5.8 | Adobe CS3/CS4/CS5/CS5.5 Design Premium


als Antwort auf: [#471240]

Dialogbox mit mehrzeiligen Eingaben

WernerPerplies
Beiträge gesamt: 2709

12. Mai 2011, 07:32
Beitrag # 7 von 8
Beitrag ID: #471243
Bewertung:
(5700 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat Ab Seite 7 findet sich etwa die Beschreibung des von Werner oben vorgestellten textedit-Elements mit der multiline-Property:


;-)
Danke für den Hinweis, da weiß dann wo ich das nächste Mal nachsehen muss, denn Adobe-Dokus (Ausnahme: IDML) sind ja eher spärlich.

Das multiline-Property ist ein normales Property, dass in fast jeder Windows-Programmierumgebung vorkommt.

Für mich stellt sich allerdings eine ganz andere Frage:

Gibt es denn keinen verünftigen Codegenerator (GUI-Designer) wie er heute in jeder vernünftigen Programmierumgebung vorkommen sollte?

Bei Corel Ventura 8 mindestens schon seit 1998.

So ein Programm macht viele Doku-Studien überflüssig und steigert die Effizienz gewaltig.


als Antwort auf: [#471240]

Dialogbox mit mehrzeiligen Eingaben

foxpalace
Beiträge gesamt: 77

12. Mai 2011, 08:02
Beitrag # 8 von 8
Beitrag ID: #471244
Bewertung:
(5673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

erstmal vielen Dank für eure Hilfen! Das Script-UI for dummies hat mir extrem weitergeholfen. Wenn man die richtige (naja, verständliche) Doku vor sich hat, ist alles viel leichter :)
Ich konnte es jetzt wie folgt lösen:
Code
var myWindow = new Window("dialog","eMail",undefined,{resizeable: true}); 
myWindow.orientation = "row";
....

myInputGroup.add("statictext",undefined,"Mehrzeilentext: ");
var myMultiline = myInputGroup.add("edittext",undefined,"",{multiline: true, scrolling: true});
myMultiline.minimumSize.width = 367;
myMultiline.minimumSize.height = 200;


Damit ich mich weiter einlesen kann, habe ich wohl noch das letzte, sofort lieferbare Buch "InDesign mit JavaScript automatisieren" bei Amazon kaufen können. Das sollte mir in Zukunft schon weiterhelfen.

@Martin: Ja, wie du siehst: ... es ist alles nur geklaut ... ;) - aber irgendwie muß man ja mal einfach anfangen.

Gruß
Michael


als Antwort auf: [#471243]
X