blob: 1ae4c858cd834892313803947590af55cf2f065e [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 v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* 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.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.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.impl.MenuFactoryImpl
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.eventbroker.EventBrokerMsg
import org.eclipse.osbp.preferences.ProductConfiguration
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.IE4Table
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.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.TaskActionEnum
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
import org.eclipse.osbp.ui.api.e4.IE4Focusable
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
, Event
, EventUtils
, MToolBar
, MenuFactoryImpl
, ItemType
, VerticalLayout
, Panel
, CssLayout
, Component
, AbstractLayout
, MHandledToolItem
, MContext
, MTrimmedWindow
, MPerspectiveStack
, MPerspective
, MPart
, Method
, EventBrokerMsg
, FrameworkUtil
, UI
, Locale
, TranslationService
, IThemeResourceService
, ThemeResourceType
, EnumCssClass
, IPersistenceService
, WorkerThreadRunnable
, EventDispatcherEvent
, EventDispatcherCommand
, EventDispatcherDataTag
, DialogActionEnum
, ReportActionEnum
, TaskActionEnum
, SelectWorkloadActionEnum
, ChartActionEnum
, WorkflowActionEnum
, DatainterchangeActionEnum
, IOException
, File
, FileInputStream
, Properties
, ProductConfiguration
, PrintWriter
, StringWriter
, ContextInjectionFactory
, IsValid
, IE4Dialog
, IE4Table
, IE4Focusable
, Focus
, MUIElement
, CommandsFactoryImpl
, MApplication
, MBindingTable
, MBindingContext
, MKeyBinding
, MCommand
, MHandler
, UUID
, ICommandsProvider
, HashMap
, Map
, TaskHelper
, E4Helper
, Notification
, Notification.Type
, VaadinExecutorService
)
super.createAppendable(context, importManager, config)
}
override doGenerate(Resource input, IFileSystemAccess fsa) {
super.doGenerate(input, fsa)
}
}