hilfdirselbst.ch
Facebook Twitter gamper-media
mettin1988 p
Beiträge: 10
12. Okt 2017, 19:39
Beitrag #1 von 6
Bewertung:
(305 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Nabend,

ich stehe gerade vor folgendem Problem das ich ein Fenster über ein Skript aufrufe es aber nicht so gestaltet bekomme wie ich es gerne hätte.

Entweder ...
kann man die Elemente in einer Gruppe passend zueinander Ausrichten?

oder...

gibt es eine Möglichkeit bei ScriptUI eine Gruppe zu erstellen, die mit einer Checkbox aktiviert und deaktiviert werden kann?

Anbei ein Screenshot mit dem Dialog, den ich bisher habe. Da kann man erkennen was ich bei beiden Punkten meine
Top

Anhang:
dialog.PNG (66.7 KB)
 
X
mettin1988 p
Beiträge: 10
14. Okt 2017, 23:23
Beitrag #2 von 6
Beitrag ID: #559941
Bewertung:
(254 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Hier sonst noch der bisherige Code:

Code
/// Name des Dialogs 
var a_dialog = app.dialogs.add({
name: "Hilfslinienraster erstellen"
});

/// Breite der Spalten im DIalog
var breite_links = 190;
var breite_rechts = 200;

/// Seitenhöhe
var Seiten_Hoehe = app.activeDocument.documentPreferences.pageHeight;
/// Ränder ausgelesen
var Rand_oben = app.activeWindow.activePage.marginPreferences.top;
var Rand_unten = app.activeWindow.activePage.marginPreferences.bottom;

// Höhe des Satzspiegels errechnet
var Satzspiegel_Hoehe = Seiten_Hoehe - Rand_unten - Rand_oben;

//////////////// Definieren des Dialogs ////////////
with(a_dialog) {
with(dialogColumns.add()) {
/// Auswahl der Anzahl der Produkte
var Gruppe_Horizontal = enablingGroups.add({staticLabel: "horizontale Hilfslinien", checkedState: true});
with (Gruppe_Horizontal) {

var Auswahl_Produkte = ["2", "3", "4", "5", "6", "7", "8", "9", "10"];
with(dialogColumns.add()) {
// Beschriftung Anzahl der Produkte
staticTexts.add({
staticLabel: "Anzahl der Produkte untereinander:",
minWidth: breite_links
});
// Beschriftung Abstand
staticTexts.add({
staticLabel: "Abstand zwischen den Produkten:",
minWidth: breite_links
});
// Beschriftung Ausrichtung
staticTexts.add({
staticLabel: "Ausrichtung:",
minWidth: breite_links
});
// Beschriftung Hilfslinien Ebene
staticTexts.add({
staticLabel: "Ebene für Hilfslinien",
minWidth: breite_links
});

// Beschriftung Hilfslinienart
staticTexts.add({
staticLabel: "Hilfslinienart:",
minWidth: breite_links
});

// Beschriftung Seitenumfanh
staticTexts.add({
staticLabel: "Seitenumfang",
minWidth: breite_links
});
}
with(dialogColumns.add()) {
// Wert Anzahl der Produkte
var Produktanzahl = integerComboboxes.add({
stringList: Auswahl_Produkte,
editValue: 2,
minWidth: breite_rechts
});
// Wert Abstand
var Abstandsgroesse_auswahl = measurementEditboxes.add({
editValue: (2.83465 * 5),
editUnits: MeasurementUnits.MILLIMETERS,
largeNudge: 10,
smallNudge: 1,
minimumValue: 0.001,
maximumValue: (2.83465 * Seiten_Hoehe),
minWidth: breite_rechts
});
// Wert Ausrichtung
var meineAusrichtung = radiobuttonGroups.add();
with(meineAusrichtung) {
radiobuttonControls.add({
staticLabel: "an der Seitenhöhe",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "am Satzspiegel",
checkedState: false,
minWidth: breite_rechts
});
// Wert Hilfslinien Ebene
var meineEbene = radiobuttonGroups.add();
with(meineEbene) {
radiobuttonControls.add({
staticLabel: "aktive Ebene",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "Ebene \"Hilfslinien\" (wird erstellt)",
checkedState: false,
minWidth: breite_rechts
});

// Wert Hilfslinienart
var meineLinienart = radiobuttonGroups.add();
with(meineLinienart) {
radiobuttonControls.add({
staticLabel: "Seiten-Hilfslinie",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "Druckbogen-Hilflsinie",
checkedState: false,
minWidth: breite_rechts
});
// Wert Seitenumfang
var meinSeitenumfang = radiobuttonGroups.add();
with(meinSeitenumfang) {
radiobuttonControls.add({
staticLabel: "aktive/r Seite/Druckbogen",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "alle Seiten/Druckbögen",
checkedState: false,
minWidth: breite_rechts
});

}


}
}
}
}
}
}

with(dialogColumns.add()) {
/// Auswahl der Anzahl der Produkte
var Gruppe_Horizontal = enablingGroups.add({staticLabel: "vertikale Hilfslinien", checkedState: false});
with (Gruppe_Horizontal) {

var Auswahl_Produkte = ["2", "3", "4", "5", "6", "7", "8", "9", "10"];
with(dialogColumns.add()) {
// Beschriftung Anzahl der Produkte
staticTexts.add({
staticLabel: "Anzahl der Produkte untereinander:",
minWidth: breite_links
});
// Beschriftung Abstand
staticTexts.add({
staticLabel: "Abstand zwischen den Produkten:",
minWidth: breite_links
});
// Beschriftung Ausrichtung
staticTexts.add({
staticLabel: "Ausrichtung:",
minWidth: breite_links
});
// Beschriftung Hilfslinien Ebene
staticTexts.add({
staticLabel: "Ebene für Hilfslinien",
minWidth: breite_links
});

// Beschriftung Hilfslinienart
staticTexts.add({
staticLabel: "Hilfslinienart:",
minWidth: breite_links
});

// Beschriftung Seitenumfanh
staticTexts.add({
staticLabel: "Seitenumfang",
minWidth: breite_links
});
}
with(dialogColumns.add()) {
// Wert Anzahl der Produkte
var Produktanzahl = integerComboboxes.add({
stringList: Auswahl_Produkte,
editValue: 2,
minWidth: breite_rechts
});
// Wert Abstand
var Abstandsgroesse_auswahl = measurementEditboxes.add({
editValue: (2.83465 * 5),
editUnits: MeasurementUnits.MILLIMETERS,
largeNudge: 10,
smallNudge: 1,
minimumValue: 0.001,
maximumValue: (2.83465 * Seiten_Hoehe),
minWidth: breite_rechts
});
// Wert Ausrichtung
var meineAusrichtung = radiobuttonGroups.add();
with(meineAusrichtung) {
radiobuttonControls.add({
staticLabel: "an der Seitenhöhe",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "am Satzspiegel",
checkedState: false,
minWidth: breite_rechts
});
// Wert Hilfslinien Ebene
var meineEbene = radiobuttonGroups.add();
with(meineEbene) {
radiobuttonControls.add({
staticLabel: "aktive Ebene",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "Ebene \"Hilfslinien\" (wird erstellt)",
checkedState: false,
minWidth: breite_rechts
});

// Wert Hilfslinienart
var meineLinienart = radiobuttonGroups.add();
with(meineLinienart) {
radiobuttonControls.add({
staticLabel: "Seiten-Hilfslinie",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "Druckbogen-Hilflsinie",
checkedState: false,
minWidth: breite_rechts
});
// Wert Seitenumfang
var meinSeitenumfang = radiobuttonGroups.add();
with(meinSeitenumfang) {
radiobuttonControls.add({
staticLabel: "aktive/r Seite/Druckbogen",
checkedState: true,
minWidth: breite_rechts
});
radiobuttonControls.add({
staticLabel: "alle Seiten/Druckbögen",
checkedState: false,
minWidth: breite_rechts
});

}


}
}
}
}
}
}
}

//////////////// Dialog aufrufen ////////////
var meinDialog = a_dialog.show()

als Antwort auf: [#559900] Top
 
WernerPerplies
Beiträge: 2144
16. Okt 2017, 10:15
Beitrag #3 von 6
Beitrag ID: #559947
Bewertung:
(173 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Morgen, :-)

Zitat kann man die Elemente in einer Gruppe passend zueinander Ausrichten?

Ja, nur verstehe ich nicht, nach welchen Kriterien Du ausrichten willst.

Zitat gibt es eine Möglichkeit bei ScriptUI eine Gruppe zu erstellen, die mit einer Checkbox aktiviert und deaktiviert werden kann?

Du hast doch bereits zwei Gruppen (hier als Panel) erstellt.
Und solch ein Panel hat das Boolean Property "visible".

Damit kannst Du es sichtbar oder unsichtbar machen.

Falls Du für die beiden Gruppen die gleiche Position verwenden willst, must Du für diese Gruppen einen Container (Fenster, Panel, Gruppe) mit orientation = "stack" verwenden.

HTH

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#559900] Top
 
mettin1988 p
Beiträge: 10
16. Okt 2017, 11:22
Beitrag #4 von 6
Beitrag ID: #559950
Bewertung:
(163 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Guten Morgen,

Zitat Ja, nur verstehe ich nicht, nach welchen Kriterien Du ausrichten willst.

Ich habe in meinem Screenshot einmal farbig markiert, welche Elemente zueinander gehören / ausgerichtet werden sollen.

Zitat Du hast doch bereits zwei Gruppen (hier als Panel) erstellt.
Und solch ein Panel hat das Boolean Property "visible".

Ich rufe momentan ja das Fenster über "dialogs.add()" auf. Hier gibt es ja die möglichkeiten Gruppen über die Checkbox zu aktiviern und deaktivieren.
Gibt es denn quasi genau die gleich Funktion, wenn ich das Fenster über "window" aufrufe oder geht das nur, wenn ich außerhalb und über der Gruppe eine Checkbox einfüge?
als Antwort auf: [#559947] Top

Anhang:
 
WernerPerplies
Beiträge: 2144
16. Okt 2017, 11:44
Beitrag #5 von 6
Beitrag ID: #559953
Bewertung:
(160 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Hallo mettin1988,

Zitat Ich rufe momentan ja das Fenster über "dialogs.add()"


Ich arbeite nie mit Dialogs.add,sondern erzeuge meine Fenster über die Window-Klasse.

Für einzelne Funktions-Gruppen habe ich mir fertige Bausteine geschrieben, die ich je nach Bedarf zusammenfasse.

Beispiele wie so etwas aussehen kann, findest Du auf meinen Seiten.

Zitat Gibt es denn quasi genau die gleich Funktion, wenn ich das Fenster über "window" aufrufe oder geht das nur, wenn ich außerhalb und über der Gruppe eine Checkbox einfüge?

So richtig verstehe ich diese Frage wieder nicht.

Du kannst praktisch alle Elemente sichtbar/unsichtbar machen, aktivieren oder deaktivieren.

Der Skriptnutzer kommt natürlich nur an Elemente, die Du aktiviert und sichtbar gemacht hast, d. h., eine deaktivierte Gruppe kann nur von einem aktiven Element außerhalb der Gruppe aktiviert werden, natürlich kann das aktive Element optisch durchaus innerhalb einer inaktiven Gruppe liegen ---> orientation "Stack".

Alles klar? :-)

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#559950] Top
 
mettin1988 p
Beiträge: 10
16. Okt 2017, 11:59
Beitrag #6 von 6
Beitrag ID: #559954
Bewertung:
(156 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Ausrichtung im "Dialog" oder Gruppe mit Checkbox in "Window"


Hallo Werner,

vielen Dank für deine Hilfe.

Ich werde mir dann mal etwas "zusammenbauen".

Die Checkbox für eine Gruppe bei der Dialog-Klasse kann man ja relativ einfach aufrufen
Code
enablingGroups.add({staticLabel: "horizontale Hilfslinien", checkedState: true}) 

Ich habe halt gehofft/gedacht, dass es so eine Möglichkeit auch über die Window-Klasse gibt.
als Antwort auf: [#559953] Top
 
X