blob: 3f8415a9ba3fce3ec197d2d451ae06f011db972d [file] [log] [blame]
@GenModel(fileExtensions="perspective")
@GenModel(modelName="PerspectiveDsl")
@GenModel(prefix="PerspectiveDsl")
@GenModel(updateClasspath="false")
// force bigModel == false
@GenModel(loadInitialization="false")
@GenModel(literalsInterface="true")
@GenModel(copyrightText="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
Based on ideas from Xtext, Xtend, Xcore
Contributors:
Joerg Riegel - Initial implementation
")
@Ecore(nsURI="http://osbp.eclipse.org/xtext/perspective/PerspectiveDsl")
@Ecore(nsPrefix="perspectivedsl")
@Ecore(rootPackage="perspectivedsl")
package org.eclipse.osbp.xtext.perspective
import org.eclipse.osbp.xtext.chart.Chart
import org.eclipse.osbp.xtext.dialogdsl.Dialog
import org.eclipse.osbp.xtext.organizationdsl.Organization
import org.eclipse.osbp.xtext.reportdsl.Report
import org.eclipse.osbp.xtext.table.Table
import org.eclipse.osbp.xtext.topologydsl.Topology
import org.eclipse.osbp.xtext.datainterchange.DataInterchangePackage
import org.eclipse.osbp.xtext.action.ActionToolbar
import org.eclipse.osbp.dsl.semantic.dto.LDto
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.InternalEObject
import org.eclipse.xtext.common.types.JvmTypeReference
import org.eclipse.osbp.xtext.oxtype.resource.EcoreUtil3
import org.eclipse.osbp.dsl.semantic.common.types.LPackage
import org.eclipse.osbp.xtext.blip.Blip
import org.eclipse.osbp.xtext.blip.BlipUserTask
import org.eclipse.xtext.xtype.XImportSection
class PerspectiveModel{
contains XImportSection importSection
contains PerspectivePackage[] packages
}
type InternalEObject wraps InternalEObject
class PerspectiveLazyResolver {
op EObject eResolveProxy(InternalEObject proxy) {
return EcoreUtil3.resolve(proxy, this.eResource().resourceSet);
}
}
class PerspectivePackage extends LPackage{
contains Perspective[] perspectives
}
class PerspectiveBase extends PerspectiveLazyResolver{
String name
}
class Perspective extends PerspectiveBase{
boolean description
String descriptionValue
String iconURI
String accessibilityPhrase
refers Blip process
refers BlipUserTask userTask
refers ActionToolbar toolbar
contains resolving JvmTypeReference toolbarTypeJvm
contains PerspectiveElement[] elements
}
class PerspectiveElement extends PerspectiveLazyResolver{
String elementId
String accessibilityPhrase
String containerData
contains PerspectiveElement[] elements
}
class PerspectiveSashContainer extends PerspectiveElement {
SashOrientation orientation
refers PerspectiveElement selectedElement
}
class PerspectivePart extends PerspectiveElement {
String iconURI
contains PerspectiveView view
boolean isClosable
}
class PerspectivePartStack extends PerspectiveElement {
refers PerspectivePart selectedElement
}
interface PerspectiveView extends PerspectiveLazyResolver{
}
class PerspectiveSelection extends PerspectiveView {
refers Table ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveTable extends PerspectiveView {
refers Table ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveGrid extends PerspectiveView {
refers Table ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveChart extends PerspectiveView {
refers Chart ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveReport extends PerspectiveView {
refers Report ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveOrganization extends PerspectiveView {
refers Organization ref
}
class PerspectiveTopology extends PerspectiveView {
refers Topology ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveDialog extends PerspectiveView {
refers Dialog ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveBPMN extends PerspectiveView {
}
class PerspectiveKanban extends PerspectiveView {
refers LDto dtoRef
refers Dialog cardRef
refers Dialog dialogRef
}
class PerspectiveWelcome extends PerspectiveView {
}
class PerspectiveSearch extends PerspectiveView {
refers LDto dtoRef
int depth
int filterCols
}
class PerspectiveDataInterchange extends PerspectiveView {
refers DataInterchangePackage ref
contains resolving JvmTypeReference refTypeJvm
}
class PerspectiveTitle extends PerspectiveView {
String htmlName
}
class PerspectiveDashboard extends PerspectiveView {
String name
}
enum SashOrientation {
HORIZONTAL as 'horizontal'
VERTICAL as 'vertical'
}