class FormEditorPresenter extends KieEditor<FormModelerContent> {

    @Override
    protected Promise<Void> makeMenuBar() {
        if (workbenchContext.getActiveWorkspaceProject().isPresent()) {
            final WorkspaceProject activeProject = workbenchContext.getActiveWorkspaceProject().get();
            return projectController.canUpdateProject(activeProject).then(canUpdateProject -> {
                if (canUpdateProject) {
                    final ParameterizedCommand<Boolean> onSave = withComments -> {
                        saveWithComments = withComments;
                        saveAction();
                    };
                    fileMenuBuilder
                            .addSave(versionRecordManager.newSaveMenuItem(onSave))
                            .addCopy(this::safeCopy)
                            .addRename(this::safeRename)
                            .addDelete(this::safeDelete);
                }
                addDownloadMenuItem(fileMenuBuilder);

                fileMenuBuilder
                        .addNewTopLevelMenu(versionRecordManager.buildMenu())
                        .addNewTopLevelMenu(alertsButtonMenuItemBuilder.build());
                        /*.addCommand( "PREVIEW",
                                     () -> {
                                         synchronizeFormLayout();
                                         IOC.getBeanManager().lookupBean( PreviewFormPresenter.class ).newInstance().preview( getRenderingContext() );
                                     } )*/

                return promises.resolve();
            });
        }

        return promises.resolve();
    }

    @Inject public  FormEditorPresenter(FormEditorView view,
                               ChangesNotificationDisplayer changesNotificationDisplayer,
                               FormDefinitionResourceType resourceType,
                               Caller<FormEditorService> editorService,
                               TranslationService translationService,
                               ManagedInstance<EditorFieldLayoutComponent> editorFieldLayoutComponents,
                               ShowAssetUsagesDisplayer showAssetUsagesDisplayer,
                               ErrorMessageDisplayer errorMessageDisplayer,
                               LayoutEditorPropertiesPresenter layoutEditorPropertiesPresenter);

}