模态窗口 - 删除不需要的“帮助”按钮嗨 - 我需要将Graph Builder合并到模态窗口内的更大的仪表板中 - 这很容易做到,但似乎“帮助”按钮(提供指向JMP网站“Graph Zones”页面的链接)是被自动添加到窗口的底部。我不希望它在那里,但我无法弄清楚如何防止它出现。
以下小脚本说明了这个问题。在其中,我连续创建了三个窗口,第二个和第三个窗口是模态窗口(因此第三个窗口不会创建,直到第二个窗口关闭)。第一个和第二个窗口不添加“帮助”按钮,而第三个窗口执行:
// 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>
有人可以帮忙吗?(我正在使用JMP 14,如果这是相关的)
Re:模态窗口 - 删除不需要的“帮助”按钮大家好 - 最后一个例子非常有效,并且是一个非常有用的几个功能的演示(即“Child,Xpath和Visibility选项”),我之前没有对它进行过适当的探索。在这种情况下,使用模态窗口非常重要,因为我确实需要用户在分析可以继续之前在我的脚本中提供一些信息。
只是为了记录,我假定应该有一个“<< on open()”选项对应“<< on close()”,然后在帮助菜单上的“Books”项目的JSL语法参考PDF中找到它的引用,但我无法创造一个似乎做任何事情的人。没有这个例子,我当然不可能到达那里。
非常感谢!
Re:模态窗口 - 删除不需要的“帮助”按钮卡梅伦走在正确的轨道上。必须有隐藏的按钮框。 我添加了一个标题来显示多少。
试试这个。 顺便说一句,我喜欢在显示框中创建对象然后添加它(参见glb)。 我将OnOpen()脚本添加到原始脚本并将其作为文件附加。
// 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:模态窗口 - 删除不需要的“帮助”按钮模态窗口的问题是,在用户执行某些操作之前,您无法运行任何其他JSL。 我想你可以导航到显示树并在<< modal'之后使用<< On Open()删除按钮。 但是,它似乎并不喜欢它。 我首先尝试了传统的显示树导航:
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" ) ) );
这返回了一个关于无法下标Current Window()的错误,它似乎返回了对HeadBox的引用(找不到关于流浆箱上方法的任何文档,甚至不确定它是什么)。
然后使用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" ) ) );两者都没有做任何事情,并且在xpath之后,它返回对按钮框的引用(非常奇怪)。
你可以在不制作窗户模式的情况下过关吗?我通常会试图避免使用它们,因为它们往往令人讨厌(例如,用户无法弄清楚为什么他们无法启动另一个窗口,因为他们没有在某个模式窗口上按OK或取消)。