Finestra modale: rimuove un pulsante "Guida" indesideratoCiao - Ho bisogno di incorporare Graph Builder in un dashboard più grande all'interno di una finestra modale - che è facile da fare, ma sembra che un pulsante "Help" (che fornisce un collegamento alla pagina "Graph Zones" del sito web JMP) sia viene automaticamente aggiunto alla parte inferiore della finestra. Non lo voglio lì, ma non riesco a capire come impedirne l'apparizione.
Il seguente piccolo script illustra il problema. In esso, creo tre finestre in successione, con la seconda e la terza finestre modali (quindi la terza non viene creata fino alla chiusura della seconda). La prima e la seconda finestra non aggiungono un pulsante "Guida", mentre la terza fa:
// 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>
Qualcuno può aiutare? (Sto usando JMP 14, nel caso questo sia rilevante)
Ri: finestra modale - rimuovendo un pulsante "Guida" indesideratoCiao a tutti - l'ultimo esempio funziona perfettamente ed è una demo molto utile di diverse funzionalità (ad esempio le opzioni << Child, Xpath e Visibility) che non ho ancora esplorato correttamente. L'uso di una finestra modale è praticamente essenziale in questo caso, in quanto ho davvero bisogno che l'utente fornisca alcune informazioni in quel punto del mio script prima che l'analisi possa procedere.
Solo per la cronaca, io assunto ci dovrebbe essere un'opzione "<< su open ()" per corrispondere a "<< su chiudi ()", e successivamente individuato un riferimento ad esso nel PDF di riferimento della sintassi JSL dalla voce "Libri" nel menu Aiuto, ma non ero in grado di crearne uno che sembrava fare qualcosa. Certamente non sarei stato in grado di arrivarci senza questo esempio.
Grazie molto!
Ri: finestra modale - rimuovendo un pulsante "Guida" indesideratoCameron era sulla strada giusta. Devono essere presenti pulsanti nascosti. Ho aggiunto una didascalia per mostrare quanti.
Prova questo. A proposito, mi piace creare l'oggetto in una finestra di visualizzazione, quindi aggiungerlo (vedere glb). Ho aggiunto lo script OnOpen () allo script originale e l'ho inserito come file.
// 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>
Ri: finestra modale - rimuovendo un pulsante "Guida" indesideratoProblema con Windows modale è che non è possibile eseguire alcun JSL aggiuntivo finché l'utente non fa qualcosa. Ho pensato che potresti essere in grado di accedere all'albero di visualizzazione ed eliminare il pulsante utilizzando << Su Apri () subito dopo << modale. Tuttavia, non sembra piacergli. Ho provato prima la navigazione dell'albero di visualizzazione tradizionale:
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" ) ) );
Ciò ha restituito un errore relativo alla mancata registrazione di Current Window (), che sembra restituire un riferimento a HeadBox (non è possibile trovare alcuna documentazione sui metodi nell'headbox, non è nemmeno sicuro di cosa sia).
E poi con 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" ) ) );Entrambi non sono riusciti a fare nulla, e dopo xpath, restituisce un riferimento alla casella del pulsante (piuttosto strano).
Riesci a cavartela senza rendere la finestra modale? Di solito cerco di evitarli perché tendono ad essere antipatici (ad esempio, gli utenti non riescono a capire perché non possono aprire un'altra finestra perché non hanno premuto OK o Annulla su una finestra modale da qualche parte).