Hallo JMP-Community,
Ich möchte Elemente aus einem vorhandenen Journal basierend auf ihrem Status „Reduziert/Erweitert“ extrahieren. Ich habe versucht, die Methode „Root << ist reduziert (Knoten)“ zu verwenden, aber sie gibt unabhängig vom Status „Reduziert/Erweitert“ einen leeren Wert zurück (siehe JSL in Arbeit unten).
(JMP 16.1, Windows 10 Pro)
Fragen:
- Ist die Methode „<< ist zusammengeklappt“ auf Journalstrukturen anwendbar?
- Wenn dies der Fall ist, wie lautet die korrekte Verwendung, insbesondere im Hinblick auf die Definitionen von „root“ und „node“?
- Wenn dies nicht der Fall ist, welche Alternative könnte ich verwenden, um den reduzierten Status eines Journalelements zurückzugeben?
Names Default to Here (1);
winlist = Window () << Get Window Title ();
For( i = N Items( winlist ), i > 0, i--,
If( (Window( winlist[i] ) << Window Class Name) != "Journal",
Remove From( winlist, i )
)
);
If (N items (winlist) == 0, New Window ("ERROR", Text Box ("!!!! NO JOURNAL CURRENTLY OPENED !!!!")); throw (1));
dw = New Window (" PICK A JOURNAL ",
<< MODAL,
V List Box (
Text Box (" SELECT A JOURNAL"),
wl = List Box ( winlist,
Width (500),
Max Selected (1),
nlines (10)
),
Text Box (" Enter number of plots per row"),
nbe = Number Edit Box (5),
Text Box (" REMOVE LEGEND? "),
rb = Radio Box( {"YES", "NO"}),
Text Box (" PLOT ONLY EXPANDED? "),
rb2 = Radio Box( {"YES", "NO"}),
Button Box ("OK", jrn_l = (wl << get selected); npr = nbe << get (); lg_x = rb << get (); ex_x = rb2 << get (); switch = 1),
Button Box ("CANCEL", switch = 0; Throw(1))
),
);
show (jrn_l);
show (npr);
show (lg_x);
show (ex_x);
If (switch == 0, Throw (1));
jrn = Get Window (jrn_l [1]);
show (jrn);
nplot = N Items (jrn << Xpath ("//OutlineBox"));
dummy = Lineup Box(N Col (1));
win = New window ("PLOTS",
mybox = Lineup Box (N Col (npr))
);
For (i = 1, i<= nplot, i++,
collp = jrn << is collapsed (OutlineBox (i));
show (collp);
if (collp == 1,
dummy = Lineup Box(N Col (1));
Plot = jrn [PictureBox (i)];
dummy << Append (Plot);
if(lg_x == 1,
zzz = Dummy << Xpath ("//LegendBox");
zzz << delete
);
mybox << Append (Dummy)
)
);
Danke schön.
Am besten,
TS
Hallo JMP-Community und @txnelson ,
Nachdem ich alle auf OutlineBox-Objekte anwendbaren Methoden überprüft hatte, fand ich schließlich die Lösung für meine eigene Anfrage: << GetOpen gibt 1 für erweiterte Elemente und 0 für reduzierte Elemente zurück.
Am besten,
TS
Hallo @txnelson ,
Ich habe dieses Beispiel auch in der Skripthilfe gefunden, aber es gibt nicht den reduzierten Zustand eines Elements in einem Journal zurück. Stattdessen wird der Status „Sichtbar/Ausgeblendet“ eines Elements zurückgegeben, was leider nicht derselbe ist.
Außerdem frage ich mich, ob << Get Visibility in einem aktiven Bericht anders funktioniert als in einem Journal.
Vielen Dank für Ihre Erkenntnisse.
Am besten,
TS
Is Collapsed()
ist die richtige Methode, mit Gliederungsfeldern zu arbeiten, um festzustellen, ob sie offen oder geschlossen (erweitert oder reduziert) sind. In einer anderen Dimension verfügt ein Umrissrahmen über eine Sichtbarkeitsdimension, die sich mit der tatsächlichen Anzeige des Objekts befasst.Das Visibility()-Element wird verwendet, um ein Objekt sichtbar, ausgeblendet oder minimiert zu machen.Die Funktion „Get Visibility()“ bestimmt den Sichtbarkeitsstatus von Anzeigeobjekten.
Names Default To Here( 1 );
//This message applies to all display box objects
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d = dt << Distribution( Column( :height ) );
r = d << report;
tb = r[Table Box( 1 )];
Show( tb << Get Visibility );
Wait( 2 );
tb << Visibility( "Collapse" );
Show( tb << Get Visibility );