Modal-Fenster - Entfernen einer unerwünschten Schaltfläche "Hilfe"Hallo - Ich muss den Graph Builder in ein größeres Dashboard in einem modalen Fenster integrieren - was einfach zu tun ist, aber es scheint, dass eine "Hilfe" -Schaltfläche (die einen Link zur "Graph Zones" -Seite der JMP-Website enthält) ist wird automatisch am unteren Rand des Fensters hinzugefügt. Ich will es nicht dort haben, aber ich kann nicht herausfinden, wie ich es verhindern kann.
Das folgende kleine Skript veranschaulicht das Problem. Darin erstelle ich drei Fenster nacheinander, wobei das zweite und das dritte modale Fenster sind (das dritte Fenster wird also erst erstellt, wenn das zweite geschlossen wird). Das erste und das zweite Fenster fügen keine Schaltfläche "Hilfe" hinzu, während das dritte Fenster Folgendes tut:
// Open Big Class, and minimize it to get it out of the way;
Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << minimize window( 1 );
tb = Text Box( "Hello World!" );
// Create an expression that produces a simple chart from Big Class;
gb = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
)
);
// Now produce three different types of window to show what happens;
New Window( "Ordinary Window with TextBox, Graph Builder and OK Button", V List Box( tb, gb, Button Box( "OK" ) ) );
New Window( "Modal Window with TextBox and OK Button", <<MODAL></MODAL>
Kann jemand helfen? (Ich verwende JMP 14, falls dies relevant ist)
Re: Modal-Fenster - Entfernen einer unerwünschten Schaltfläche "Hilfe"Hallo beide - das letzte Beispiel funktioniert einwandfrei und ist eine wirklich nützliche Demo mit mehreren Funktionen (z. B. den Optionen "Kind", "Xpath" und "Sichtbarkeit"), die ich vorher noch nicht richtig erforscht habe. Die Verwendung eines modalen Fensters ist in diesem Fall ziemlich wichtig, da ich wirklich brauche, dass der Benutzer zu diesem Zeitpunkt in meinem Skript einige Informationen bereitstellt, bevor die Analyse fortgesetzt werden kann.
Nur fürs Protokoll, ich angenommen Es sollte eine "<< on open ()" - Option geben, die "<< on close ()" entspricht, und anschließend einen Verweis darauf in der JSL-Syntaxreferenz-PDF über den Eintrag "Books" im Menü "Hilfe" finden. aber ich konnte keinen schaffen, der irgendetwas zu tun schien. Ohne dieses Beispiel wäre ich bestimmt nicht dorthin gekommen.
Danke vielmals!
Re: Modal-Fenster - Entfernen einer unerwünschten Schaltfläche "Hilfe"Cameron war auf dem richtigen Weg. Es müssen versteckte Button-Boxen vorhanden sein. Ich habe eine Beschriftung hinzugefügt, um zu zeigen, wie viele.
Versuche dies. Übrigens, ich möchte das Objekt gerne in einem Anzeigefeld erstellen und dann hinzufügen (siehe Glb). Ich habe das OnOpen () -Skript zum Originalskript hinzugefügt und als Datei abgelegt.
// Open Big Class, and minimize it to get it out of the way;
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << minimize window( 1 );
tb = Text Box( "Hello World!" );
// Create an expression that produces a simple chart from Big Class;
glb = V List Box(gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
)
New Window( "Modal Window with TextBox, Graph Builder & OK Button", <<MODAL></MODAL>
Re: Modal-Fenster - Entfernen einer unerwünschten Schaltfläche "Hilfe"Das Problem bei modalen Fenstern ist, dass Sie keine zusätzliche JSL ausführen können, bis der Benutzer etwas unternimmt. Ich dachte, Sie könnten möglicherweise zum Anzeigebaum navigieren und die Schaltfläche mit << On Open () direkt nach << Modal löschen. Es scheint jedoch nicht zu gefallen. Ich habe zuerst die traditionelle Display-Tree-Navigation ausprobiert:
New Window( "Modal Window with TextBox, Graph Builder & OK Button", << modal, << On Open( Current Window()[Button Box(2)] << Delete), V List Box( tb, gb, Button Box( "OK" ) ) );
Dies gab einen Fehler zurück, da Current Window () nicht subskribiert werden konnte, was scheinbar einen Verweis auf die HeadBox zurückgibt (es kann keine Dokumentation zu Methoden im Headbox gefunden werden, auch nicht sicher, was es ist).
Und dann mit xpath:
New Window( "Modal Window with TextBox, Graph Builder & OK Button", << modal, << On Open( (Current Window() << xpath("//ButtonBox[ text() = 'Help']")) << Delete), V List Box( tb, gb, Button Box( "OK" ) ) );Beide haben nichts getan, und nach dem xpath gibt es einen Verweis auf das Schaltflächenfeld zurück (ziemlich seltsam).
Schaffst du es, ohne das Fenster modal zu machen? Normalerweise versuche ich, sie zu vermeiden, weil sie dazu neigen, abscheulich zu sein (z. B. können Benutzer nicht herausfinden, warum sie kein anderes Fenster öffnen können, weil sie in einem modalen Fenster nicht irgendwo OK oder Abbrechen gedrückt haben).