protected void initializeXulMenu( Document doc, List<StepMeta> selection, StepMeta stepMeta ) throws KettleException { XulMenuitem item = (XulMenuitem) doc.getElementById( "trans-graph-entry-newhop" ); int sels = selection.size(); item.setDisabled( sels != 2 ); item.setAcceltext( "ALT-HOME" ); item.setLabel( BaseMessages.getString( PKG, "TransGraph.PopupMenu.SnapToGrid" ) ); item.setAccesskey( "alt-home" ); men.setDisabled( trans == null || trans.isRunning() == false ); item = (XulMenuitem) doc.getElementById( "trans-graph-entry-sniff-input" ); item.setDisabled( trans == null || trans.isRunning() == false ); item = (XulMenuitem) doc.getElementById( "trans-graph-entry-sniff-output" ); item.setDisabled( trans == null || trans.isRunning() == false ); item = (XulMenuitem) doc.getElementById( "trans-graph-entry-sniff-error" ); item.setDisabled( !( stepMeta.supportsErrorHandling() && stepMeta.getStepErrorMeta() != null && stepMeta.getStepErrorMeta().getTargetStep() != null && trans != null && trans.isRunning() ) ); item.setDisabled( spoon.getPartitionSchemasNames( transMeta ).isEmpty() ); item.setSelected( !stepMeta.isDistributes() ); item.setDisabled( !( stepMeta.isDrawn() && !transMeta.isAnySelectedStepUsedInTransHops() ) ); item.setDisabled( !transMeta.isStepUsedInTransHops( stepMeta ) ); item.setDisabled( !stepMeta.supportsErrorHandling() );
/** * @param doc * @param disableJobMenu * @param disableTransMenu */ private void updateSettingsMenu( org.pentaho.ui.xul.dom.Document doc, boolean disableTransMenu, boolean disableJobMenu ) { XulMenuitem settingsItem = (XulMenuitem) doc.getElementById( "edit-settings" ); if ( settingsItem != null ) { if ( disableTransMenu && !disableJobMenu ) { settingsItem.setAcceltext( "CTRL-J" ); settingsItem.setAccesskey( "ctrl-j" ); } else if ( !disableTransMenu && disableJobMenu ) { settingsItem.setAcceltext( "CTRL-T" ); settingsItem.setAccesskey( "ctrl-t" ); } else { settingsItem.setAcceltext( "" ); settingsItem.setAccesskey( "" ); } } }
/** * Sets the text and enabled settings for the undo and redo menu items * * @param undoInterface * the object which holds the undo/redo information */ public void setUndoMenu( UndoInterface undoInterface ) { if ( shell.isDisposed() ) { return; } TransAction prev = undoInterface != null ? undoInterface.viewThisUndo() : null; TransAction next = undoInterface != null ? undoInterface.viewNextUndo() : null; // Set the menubar text and enabled flags XulMenuitem item = (XulMenuitem) mainSpoonContainer.getDocumentRoot().getElementById( UNDO_MENU_ITEM ); item.setLabel( prev == null ? UNDO_UNAVAILABLE : BaseMessages.getString( PKG, "Spoon.Menu.Undo.Available", prev.toString() ) ); item.setDisabled( prev == null ); item = (XulMenuitem) mainSpoonContainer.getDocumentRoot().getElementById( REDO_MENU_ITEM ); item.setLabel( next == null ? REDO_UNAVAILABLE : BaseMessages.getString( PKG, "Spoon.Menu.Redo.Available", next.toString() ) ); item.setDisabled( next == null ); }
boolean result = false; if ( selectedRepoObjects.size() == 1 && selectedRepoObjects.get( 0 ) instanceof UIRepositoryDirectory ) { lockFileMenuItem.setDisabled( true ); deleteFileMenuItem.setDisabled( false ); renameFileMenuItem.setDisabled( false ); } else if ( selectedRepoObjects.size() == 1 && selectedRepoObjects.get( 0 ) instanceof ILockObject ) { final UIRepositoryContent contentToLock = (UIRepositoryContent) selectedRepoObjects.get( 0 ); repository.getUserInfo().getLogin() ); lockFileMenuItem.setDisabled( !result ); deleteFileMenuItem.setDisabled( !result ); renameFileMenuItem.setDisabled( !result ); } else { lockFileMenuItem.setDisabled( false ); deleteFileMenuItem.setDisabled( false ); renameFileMenuItem.setDisabled( false ); lockFileMenuItem.setDisabled( true ); deleteFileMenuItem.setDisabled( true ); renameFileMenuItem.setDisabled( true );
public void onClose( XulComponent component, Status status, String value ) { if ( !status.equals( Status.CANCEL ) ) { try { ( (ILockObject) contentToLock ).lock( value ); browseController.getSelectedItemsBinding().fireSourceChanged(); } catch ( Exception e ) { // convert to runtime exception so it bubbles up through the UI throw new RuntimeException( e ); } } else { XulMenuitem lockMenuItem = (XulMenuitem) document.getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( false ); lockMenuItem = (XulMenuitem) document.getElementById( "file-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( false ); } }
String label = messageBundle.getString( IMPORT_MSG_ID, displayName ); menuItem = (XulMenuitem) document.createElement( "menuitem" ); menuItem.setLabel( label ); menuItem.setCommand( getName() + ".launchNewUI(\"" + datasourceType + "\")" ); menuItem.setId( "import" + datasourceType ); datasourceTypeMenuPopup.addChildAt( menuItem, beforePlugins++ ); } catch ( XulException e ) { String label = messageBundle.getString( PLUGIN_MSG_ID, displayName ); menuItem = (XulMenuitem) document.createElement( "menuitem" ); menuItem.setLabel( label ); menuItem.setCommand( getName() + ".launchNewUI(\"" + datasourceType + "\")" ); menuItem.setId( "plugin" + datasourceType ); datasourceTypeMenuPopup.addChildAt( menuItem, beforePlugins++ ); } catch ( XulException e ) {
public void removeMenuItem( String itemid, boolean removeTrailingSeparators ) { XulMenuitem item = (XulMenuitem) mainSpoonContainer.getDocumentRoot().getElementById( itemid ); if ( item != null ) { XulComponent menu = item.getParent(); item.getParent().removeChild( item ); if ( removeTrailingSeparators ) { List<XulComponent> children = menu.getChildNodes(); if ( children.size() > 0 ) { XulComponent lastMenuItem = children.get( children.size() - 1 ); if ( lastMenuItem instanceof XulMenuseparator ) { menu.removeChild( lastMenuItem ); // above call should work, but doesn't for some reason, removing separator by force // the menu separators seem to not be modeled as individual objects in XUL try { Menu swtm = (Menu) menu.getManagedObject(); swtm.getItems()[swtm.getItemCount() - 1].dispose(); } catch ( Throwable t ) { LogChannel.GENERAL.logError( "Error removing XUL menu item", t ); } } } } } else { log.logError( "Could not find menu item with id " + itemid + " to remove from Spoon menu" ); } }
if ( item != null ) { final DatabaseMeta databaseMeta = (DatabaseMeta) selection; item.setDisabled( !databaseMeta.isExplorable() ); item.setLabel( BaseMessages.getString( PKG, "Spoon.Menu.Popup.CONNECTIONS.ClearDBCache" ) final DatabaseMeta databaseMeta = (DatabaseMeta) selection; if ( databaseMeta.isShared() ) { item.setLabel( BaseMessages.getString( PKG, "Spoon.Menu.Popup.CONNECTIONS.UnShare" ) ); } else { item.setLabel( BaseMessages.getString( PKG, "Spoon.Menu.Popup.CONNECTIONS.Share" ) );
public void enableMenuItem( String itemId ) { XulMenuitem item = (XulMenuitem) mainSpoonContainer.getDocumentRoot().getElementById( itemId ); item.setDisabled( false ); }
public void onClose( XulComponent component, Status status, String value ) { if ( !status.equals( Status.CANCEL ) ) { try { if ( workingMeta instanceof TransMeta ) { getService( Spoon.getInstance().getRepository() ).lockTransformation( workingMeta.getObjectId(), value ); } else if ( workingMeta instanceof JobMeta ) { getService( Spoon.getInstance().getRepository() ).lockJob( workingMeta.getObjectId(), value ); } // Execute binding. Notify listeners that the object is now locked firePropertyChange( "activeMetaUnlocked", true, false ); //$NON-NLS-1$ //$NON-NLS-2$ // this keeps the menu item and the state in sync // could a binding be used instead? XulDomContainer container = getXulDomContainer(); XulMenuitem lockMenuItem = (XulMenuitem) container.getDocumentRoot().getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( true ); } catch ( Exception e ) { // convert to runtime exception so it bubbles up through the UI throw new RuntimeException( e ); } } else { // this keeps the menu item and the state in sync // could a binding be used instead? XulDomContainer container = getXulDomContainer(); XulMenuitem lockMenuItem = (XulMenuitem) container.getDocumentRoot().getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( false ); } }
item.setDisabled( sels < 2 ); item.setAcceltext( "ALT-HOME" ); item.setLabel( BaseMessages.getString( PKG, "JobGraph.PopupMenu.JobEntry.AllignDistribute.SnapToGrid" ) ); item.setAccesskey( "alt-home" ); item.setDisabled( !jobMeta.isEntryUsedInHops( jobEntry ) ); item.setDisabled( !( jobEntry.isDrawn() && !jobMeta.isEntryUsedInHops( jobEntry ) ) ); item.setDisabled( !jobEntry.isDrawn() ); item.setSelected( jobEntry.isLaunchingInParallel() ); miPopEvalUncond.setSelected( true ); miPopEvalTrue.setSelected( false ); miPopEvalFalse.setSelected( false ); } else { if ( hi.getEvaluation() ) { miPopEvalUncond.setSelected( false ); miPopEvalTrue.setSelected( true ); miPopEvalFalse.setSelected( false ); } else { miPopEvalUncond.setSelected( false ); miPopEvalTrue.setSelected( false ); miPopEvalFalse.setSelected( true ); miPopEvalTrue.setDisabled( true ); miPopEvalFalse.setDisabled( true );
if ( item != null ) { if ( hi.isEnabled() ) { item.setLabel( BaseMessages.getString( PKG, "TransGraph.PopupMenu.DisableHop" ) ); } else { item.setLabel( BaseMessages.getString( PKG, "TransGraph.PopupMenu.EnableHop" ) ); (XulMenuitem) getXulDomContainer().getDocumentRoot().getElementById( "trans-graph-background-paste" ); if ( item != null ) { item.setDisabled( clipcontent == null );
public void disableMenuItem( String itemId ) { XulMenuitem item = (XulMenuitem) mainSpoonContainer.getDocumentRoot().getElementById( itemId ); item.setDisabled( true ); }
if ( repoLock != null ) { XulMenuitem lockMenuItem = (XulMenuitem) container.getDocumentRoot().getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( true );
if ( doc != null ) { ( (XulMenuitem) doc.getElementById( "process-run" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-preview" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-debug" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-replay" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-verify" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-impact" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-get-sql" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-schedule" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-class-new" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "job-class-new" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save-as" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-close" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "repository-export-all" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save-as-vfs" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-cut-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-copy-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit.copy-file" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-paste-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ transCopyContextMenu.setDisabled( !exportAllowed );
XulDomContainer container = getXulDomContainer(); XulMenuitem lockMenuItem = (XulMenuitem) container.getDocumentRoot().getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( false ); XulDomContainer container = getXulDomContainer(); XulMenuitem lockMenuItem = (XulMenuitem) container.getDocumentRoot().getElementById( "lock-context-lock" ); //$NON-NLS-1$ lockMenuItem.setSelected( false );
( (XulMenuitem) doc.getElementById( "trans-class-new" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "job-class-new" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save-as" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-close" ) ).setDisabled( !createPermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "process-run" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-preview" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-debug" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-replay" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-verify" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-impact" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-get-sql" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "repository-export-all" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "file-save-as-vfs" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-cut-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-copy-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit.copy-file" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "edit-paste-steps" ) ).setDisabled( !exportAllowed ); //$NON-NLS-1$ ( (XulMenuitem) doc.getElementById( "trans-schedule" ) ).setDisabled( !executePermitted ); //$NON-NLS-1$
( (XulMenuitem) doc.getElementById( "view-results" ) ).setSelected( isExecutionResultsPaneVisible() ); disableMenuItem( doc, "view-results", transGraph == null && disableJobMenu ); disableMenuItem( doc, "view-zoom-in", disableTransMenu && disableJobMenu );
( (XulMenuitem) doc.getElementById( "file-save" ) ).setDisabled( true ); //$NON-NLS-1$
@Override public void success( List<IDatasourceInfo> infoList ) { DatasourceAdminDialogController.super.showDialog(); datasourceAdminDialogModel.setDatasourcesList( infoList ); getDatasourceTypes(); exportDatasourceMenuItem.setDisabled( true ); editDatasourceMenuItem.setDisabled( true ); removeDatasourceMenuItem.setDisabled( true ); }