[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Scrollbar Panel Script UI

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

Scrollbar Panel Script UI

MarioF
Beiträge gesamt: 390

15. Okt 2019, 00:23
Beitrag # 1 von 7
Bewertung:
(4705 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
ich versuche in ein Panel ein Scrollbalken einzubauen. Dazu habe ich mir das Beispiel von Peter Kahrel geschnappt. Das Prinzip ist soweit klar. Ich möchte aber im Panel selber mehre Felder nebeneinander haben

Leider bekomme ich die Felder aber nicht neben einander.
Code
var w = new Window('dialog'); 
w.preferredSize.width = 700;
w.preferredSize.height = 300;
w.maximumSize.height = 300;

var panel = w.add ('panel', undefined, undefined,{name: "panel", borderStyle: "", su1PanelCoordinates: true});
panel.preferredSize.width = 700;
panel.orientation = "column";
panel.alignChildren = ["left","top"];
panel.spacing = 10;
panel.margins = 10;

var scrollGroup = panel.add ('group');
scrollGroup.preferredSize.width = 500;
scrollGroup.orientation = "column";
scrollGroup.alignChildren = ["left","top"];
scrollGroup.spacing = 10;
scrollGroup.margins = 10;

for (var i = 0; i < _array.length; i++) {

scrollGroup.edit = scrollGroup.add("edittext", [" ", " ", 300, 25], _array[i][0]);
scrollGroup.edit2 = scrollGroup.add("edittext", [" ", " ", 80, 25], _array[i][1]);
scrollGroup.edit3 = scrollGroup.add("edittext", [" ", " ", 80, 25], _array[i][2]);
scrollGroup.checkbox1 = scrollGroup.add("checkbox", undefined, undefined);
scrollGroup.checkbox1.value = _array[i][3]
scrollGroup.index = scrollGroup.length - 1;
}
var scrollBar = panel.add ('scrollbar {stepdelta: 20}');

// Move the whole scroll group up or down
scrollBar.onChanging = function () {
scrollGroup.location.y = -1 * this.value;
}
w.onShow = function() {
// Set various sizes and locations when the window is drawn
panel.size.height = w.size.height-20;
scrollBar.size.height = w.size.height-40;
scrollBar.size.width = 20;
scrollBar.location = [panel.size.width-30, 8];
scrollBar.maxvalue = scrollGroup.size.height - panel.size.height + 15;
scrollBar.orientation = "column";
scrollBar.alignChildren = ["left","top"];
};
w.show();


Habt ihr eine Idee?

Anhang:
Beispiel.png (94.2 KB)
X

Scrollbar Panel Script UI

WernerPerplies
Beiträge gesamt: 2760

15. Okt 2019, 06:42
Beitrag # 2 von 7
Beitrag ID: #572284
Bewertung:
(4683 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Mario,

property orientation:"row"/"columns" erledigt den Job für Windows, Panels und Groups.


als Antwort auf: [#572283]

Scrollbar Panel Script UI

Martin Fischer
  
Beiträge gesamt: 12778

15. Okt 2019, 08:43
Beitrag # 3 von 7
Beitrag ID: #572285
Bewertung:
(4667 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,

ändere testweise mal
Code
scrollGroup.orientation = "column"; 

in
Code
scrollGroup.orientation = "row"; 


Jetzt ist es (vermutlich) zu viel in einer Reihe.

Also brauchst Du eine weitere Unterteilung der ScrollGroup.

Die Orientierung der scrollGroup bleibt bei "column". Aber die Orientierung der scrollSubGroup wird als "row" eingerichtet.

Also etwa so:
Code
var scrollSubGroup = []; 
for (var i = 0; i < _array.length; i++) {
scrollSubGroup[i] = scrollGroup.add ('group');
scrollSubGroup[i].orientation = "row";
scrollSubGroup[i].edit = scrollSubGroup[i].add("edittext", [" ", " ", 300, 25], _array[i][0]);
scrollSubGroup[i].edit2 = scrollSubGroup[i].add("edittext", [" ", " ", 80, 25], _array[i][1]);
scrollSubGroup[i].edit3 = scrollSubGroup[i].add("edittext", [" ", " ", 80, 25], _array[i][2]);
scrollSubGroup[i].checkbox1 = scrollSubGroup[i].add("checkbox", undefined, undefined);
scrollSubGroup[i].checkbox1.value = _array[i][3]
scrollSubGroup[i].index = scrollSubGroup[i].length - 1;
}




als Antwort auf: [#572283]
(Dieser Beitrag wurde von Martin Fischer am 15. Okt 2019, 08:51 geändert)

Anhang:
x.png (114 KB)   0.png (130 KB)

Scrollbar Panel Script UI

MarioF
Beiträge gesamt: 390

15. Okt 2019, 11:03
Beitrag # 4 von 7
Beitrag ID: #572288
Bewertung:
(4606 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
danke für eure Antworten.
Werde es testen, soweit ich am Rechner zurück bin ;)


als Antwort auf: [#572285]

Scrollbar Panel Script UI

MarioF
Beiträge gesamt: 390

17. Okt 2019, 18:09
Beitrag # 5 von 7
Beitrag ID: #572374
Bewertung:
(4510 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
danke noch einmal, das klappt so weit ganz gut. Da mein Dialog doch etwas umfangreicher ist, muss ich es wohl in die Auftragsvergabe einstellen.


als Antwort auf: [#572285]

Scrollbar Panel Script UI

Martin Fischer
  
Beiträge gesamt: 12778

17. Okt 2019, 22:38
Beitrag # 6 von 7
Beitrag ID: #572380
Bewertung:
(4493 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,

wenn Dir die Schreiberei von Code zu viel Mühe bereitet, dann kannst Du auch mal einen Blick auf den ScriptUI Dialog Builder von Joonas Paakko werfen.

(Den Link dorthin habe ich letzthin bei Gerald entdeckt.)



als Antwort auf: [#572374]

Scrollbar Panel Script UI

MarioF
Beiträge gesamt: 390

17. Okt 2019, 23:10
Beitrag # 7 von 7
Beitrag ID: #572381
Bewertung: ||
(4485 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Martin,
die Seite ist bekannt, und hat auch schon sehr geholfen.
Ich habe versucht, dieses Beispiel von Gerald mit der Scrollbar umzusetzen
https://www.hilfdirselbst.ch/...?post=540693;#540693
Da musste ich etwas mit den Gruppen schieben, damit alle Funktionen klappen.
Hab es erst einmal hinbekommen. Nicht schön, aber klappt ;-)




als Antwort auf: [#572380]
Anhang:
bf.png (106 KB)
X