UI更新事件处理
下方代码片段展示了如何创建UI更新事件处理器。
01 /**
02 * 来自XMLSpyControl的Call-back
03 * 用来启用/禁用命令
04 */
05 @Override
06 public void onUpdateCmdUI() throws AutomationException
07 {
08 // 如果queryStatus的结果包含Supported (1)和Enabled (2)标记,则该命令应被启用
09 for ( java.util.Map.Entry<Integer, MenuItem> pair : menuMap.entrySet() )
10 pair.getValue().setEnabled( XMLSpyContainer.xmlSpyControl.queryStatus( pair.getKey() ) > 2 );
11 }
12 /**
13 * 来自XMLSpyControl的Call-back
14 * 由于UI更新,通常在启用/禁用命令时调用
15 */
16 @Override
17 public boolean onIsActiveEditor( String i_strFilePath ) throws AutomationException
18 {
19 try {
20 return XMLSpyContainer.xmlSpyDocument.getDocument().getFullName().equalsIgnoreCase( i_strFilePath );
21 } catch ( Exception e ) {
22 return false;
23 }
24 }