blob: c5b385aaedb9e73cd8df7a82d4ea77a156e897d5 [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*
*/
package org.eclipse.osbp.xtext.action.jvmmodel
import com.vaadin.ui.AbstractLayout
import com.vaadin.ui.Component
import com.vaadin.ui.CssLayout
import com.vaadin.ui.Notification
import com.vaadin.ui.Panel
import com.vaadin.ui.UI
import com.vaadin.ui.VerticalLayout
import java.io.File
import java.io.FileInputStream
import java.io.IOException
import java.io.PrintWriter
import java.io.StringWriter
import java.lang.reflect.Method
import java.util.ArrayList
import java.util.Arrays
import java.util.HashMap
import java.util.Locale
import java.util.Map
import java.util.Properties
import java.util.UUID
import javax.inject.Inject
import org.eclipse.e4.core.contexts.ContextInjectionFactory
import org.eclipse.e4.core.contexts.IEclipseContext
import org.eclipse.e4.core.di.extensions.EventUtils
import org.eclipse.e4.core.services.translation.TranslationService
import org.eclipse.e4.ui.di.Focus
import org.eclipse.e4.ui.model.application.MApplication
import org.eclipse.e4.ui.model.application.commands.MBindingContext
import org.eclipse.e4.ui.model.application.commands.MBindingTable
import org.eclipse.e4.ui.model.application.commands.MCommand
import org.eclipse.e4.ui.model.application.commands.MHandler
import org.eclipse.e4.ui.model.application.commands.MKeyBinding
import org.eclipse.e4.ui.model.application.commands.impl.CommandsFactoryImpl
import org.eclipse.e4.ui.model.application.ui.MContext
import org.eclipse.e4.ui.model.application.ui.MUIElement
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspectiveStack
import org.eclipse.e4.ui.model.application.ui.basic.MPart
import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow
import org.eclipse.e4.ui.model.application.ui.menu.ItemType
import org.eclipse.e4.ui.model.application.ui.menu.MHandledToolItem
import org.eclipse.e4.ui.model.application.ui.menu.MToolBar
import org.eclipse.e4.ui.model.application.ui.menu.MToolBarSeparator
import org.eclipse.e4.ui.model.application.ui.menu.MToolControl
import org.eclipse.e4.ui.model.application.ui.menu.impl.MenuFactoryImpl
import org.eclipse.e4.ui.workbench.modeling.EModelService
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.osbp.core.api.persistence.IPersistenceService
import org.eclipse.osbp.ecview.core.common.context.IViewContext
import org.eclipse.osbp.eventbroker.EventBrokerMsg
import org.eclipse.osbp.osgi.hybrid.api.HybridVaadinVaaclipseConnector
import org.eclipse.osbp.preferences.ProductConfiguration
import org.eclipse.osbp.runtime.common.annotations.IsDirty
import org.eclipse.osbp.runtime.common.annotations.IsNew
import org.eclipse.osbp.runtime.common.annotations.IsPositioned
import org.eclipse.osbp.runtime.common.annotations.IsValid
import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent
import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent.EventDispatcherCommand
import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent.EventDispatcherDataTag
import org.eclipse.osbp.ui.api.contextfunction.ICommandsProvider
import org.eclipse.osbp.ui.api.e4.IE4Dialog
import org.eclipse.osbp.ui.api.e4.IE4Focusable
import org.eclipse.osbp.ui.api.e4.IE4Table
import org.eclipse.osbp.ui.api.perspective.IPerspectiveProvider
import org.eclipse.osbp.ui.api.themes.EnumCssClass
import org.eclipse.osbp.ui.api.themes.IThemeResourceService
import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType
import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Action
import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Group
import org.eclipse.osbp.utils.vaadin.MDXDialog
import org.eclipse.osbp.vaaclipse.api.VaadinExecutorService
import org.eclipse.osbp.xtext.action.ChartActionEnum
import org.eclipse.osbp.xtext.action.DatainterchangeActionEnum
import org.eclipse.osbp.xtext.action.DialogActionEnum
import org.eclipse.osbp.xtext.action.ReportActionEnum
import org.eclipse.osbp.xtext.action.SelectWorkloadActionEnum
import org.eclipse.osbp.xtext.action.TableActionEnum
import org.eclipse.osbp.xtext.action.TaskActionEnum
import org.eclipse.osbp.xtext.action.UIActionEnum
import org.eclipse.osbp.xtext.action.WorkflowActionEnum
import org.eclipse.osbp.xtext.action.common.E4Helper
import org.eclipse.osbp.xtext.action.common.TaskHelper
import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils
import org.eclipse.osbp.xtext.datainterchange.common.WorkerThreadRunnable
import org.eclipse.osbp.xtext.i18n.I18NModelGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.xtext.xbase.compiler.GeneratorConfig
import org.eclipse.xtext.xbase.compiler.ImportManager
import org.osgi.framework.FrameworkUtil
import org.osgi.service.event.Event
class ActionModelGenerator extends I18NModelGenerator {
@Inject extension BasicDslGeneratorUtils
override createAppendable(EObject context, ImportManager importManager, GeneratorConfig config) {
// required to initialize the needed builder to avoid deprecated methods
builder = context.eResource
// ---------
addImportFor(importManager, _typeReferenceBuilder
, Action
, Group
, Event
, EventUtils
, MToolBar
, MenuFactoryImpl
, ItemType
, VerticalLayout
, Panel
, CssLayout
, Component
, AbstractLayout
, MHandledToolItem
, MToolBarSeparator
, MContext
, MTrimmedWindow
, MPerspectiveStack
, MPerspective
, MPart
, MToolControl
, Method
, EventBrokerMsg
, FrameworkUtil
, UI
, Locale
, TranslationService
, IThemeResourceService
, ThemeResourceType
, EnumCssClass
, IPersistenceService
, IViewContext
, WorkerThreadRunnable
, EventDispatcherEvent
, EventDispatcherCommand
, EventDispatcherDataTag
, DialogActionEnum
, ReportActionEnum
, TaskActionEnum
, TableActionEnum
, SelectWorkloadActionEnum
, ChartActionEnum
, WorkflowActionEnum
, DatainterchangeActionEnum
, UIActionEnum
, IOException
, File
, FileInputStream
, Properties
, ProductConfiguration
, PrintWriter
, StringWriter
, ContextInjectionFactory
, IsValid
, IsNew
, IsDirty
, IsPositioned
, IE4Dialog
, IE4Table
, IE4Focusable
, Focus
, MUIElement
, CommandsFactoryImpl
, MApplication
, MBindingTable
, MBindingContext
, MKeyBinding
, MCommand
, MHandler
, UUID
, ICommandsProvider
, HashMap
, Map
, TaskHelper
, E4Helper
, Notification
, Notification.Type
, VaadinExecutorService
, MDXDialog
, HybridVaadinVaaclipseConnector
, IEclipseContext
, IPerspectiveProvider
, EModelService
, Arrays
, WorkerThreadRunnable.Parameter
, ArrayList
)
super.createAppendable(context, importManager, config)
}
override doGenerate(Resource input, IFileSystemAccess fsa) {
super.doGenerate(input, fsa)
}
}