Bonjour la communauté JMP,
Je souhaite extraire des éléments d'un journal existant en fonction de leur statut Réduit/Développé. J'ai essayé d'utiliser la méthode "La racine << est réduite (nœud)" mais elle renvoie une valeur vide indépendamment du statut Réduit/Développé (voir JSL travail en cours ci-dessous).
(JMP 16.1, Windows 10 Professionnel)
Des questions:
- La méthode « << is Collapsed » est-elle applicable aux structures de journaux ?
- Si tel est le cas, quelle est son utilisation correcte, en particulier en ce qui concerne les définitions de « racine » et de « nœud » ?
- Si ce n'est pas le cas, quelle alternative puis-je utiliser pour renvoyer l'état réduit d'un élément de journal ?
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)
)
);
Merci.
Meilleur,
TS
Bonjour à la communauté JMP et @txnelson ,
Après avoir passé en revue toutes les méthodes applicables aux objets OutlineBox, j'ai finalement trouvé la solution à ma propre requête : << ObtenirOuvrir renvoie 1 pour les éléments développés et 0 pour les éléments réduits.
Meilleur,
TS
Salut @txnelson ,
J'ai également trouvé cet exemple dans l'aide aux scripts, mais il ne renvoie pas l'état réduit d'un élément dans un journal. Au lieu de cela, il renvoie l'état Visible / Caché d'un élément qui n'est malheureusement pas le même.
De plus, je me demande si le << Get Visibility fonctionne différemment dans un rapport actif par rapport à un journal.
Merci pour vos idées.
Meilleur,
TS
Is Collapsed()
est la bonne façon de travailler avec les zones de plan pour déterminer si elles sont ouvertes ou fermées (développées ou réduites) ; Sur une autre dimension, une zone de contour possède une dimension Visibilité, qui gère l'affichage réel de l'objet.L'élément Visibility() est utilisé pour rendre un objet visible, masqué ou réduit.La fonction Get Visibility() détermine l'état de visibilité des objets d'affichage.
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 );