blob: 684b58e1b9f42c4dba758f431370b893bab20177 [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.emf.ecore.EObject
import org.eclipse.emf.ecore.InternalEObject
import org.eclipse.osbp.dsl.semantic.common.types.LPackage
import org.eclipse.osbp.dsl.semantic.dto.LDto
import org.eclipse.osbp.xtext.action.ActionToolbar
import org.eclipse.osbp.xtext.blip.Blip
import org.eclipse.osbp.xtext.blip.BlipUserTask
import org.eclipse.osbp.xtext.chart.Chart
import org.eclipse.osbp.xtext.datainterchange.DataInterchangeGroup
import org.eclipse.osbp.xtext.dialogdsl.Dialog
import org.eclipse.osbp.xtext.organizationdsl.Organization
import org.eclipse.osbp.xtext.oxtype.resource.EcoreUtil3
import org.eclipse.osbp.xtext.reportdsl.Report
import org.eclipse.osbp.xtext.table.Table
import org.eclipse.osbp.xtext.topologydsl.Topology
import org.eclipse.xtext.common.types.JvmTypeReference
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
contains PerspectiveEventManager eventmanager
}
class PerspectiveEventManager extends PerspectiveBase {
contains PerspectiveEvent[] events
}
class PerspectiveEvent {
refers PerspectivePart target
refers PerspectivePart[] allowedsources
}
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
refers PerspectivePartStack synchronize
}
interface PerspectiveView extends PerspectiveLazyResolver{
}
class PerspectiveSelection extends PerspectiveView {
refers Table ref
}
class PerspectiveTable extends PerspectiveView {
refers Table ref
}
class PerspectiveGrid extends PerspectiveView {
refers Table ref
}
class PerspectiveChart extends PerspectiveView {
refers Chart ref
}
class PerspectiveReport extends PerspectiveView {
refers Report ref
}
class PerspectiveOrganization extends PerspectiveView {
refers Organization ref
}
class PerspectiveTopology extends PerspectiveView {
refers Topology ref
}
class PerspectiveDialog extends PerspectiveView {
refers Dialog ref
}
class PerspectiveBPMN extends PerspectiveView {
}
class PerspectiveKanban extends PerspectiveView {
refers LDto dtoRef
refers Dialog cardRef
refers Dialog dialogRef
}
class PerspectiveWelcome extends PerspectiveView {
}
class PerspectiveSaiku extends PerspectiveView {
}
class PerspectiveSearch extends PerspectiveView {
refers LDto dtoRef
int depth
int filterCols
}
class PerspectiveDataInterchange extends PerspectiveView {
refers DataInterchangeGroup ref
}
class PerspectiveTitle extends PerspectiveView {
String htmlName
}
class PerspectiveDashboard extends PerspectiveView {
String name
}
class PerspectiveBrowser extends PerspectiveView {
String url
boolean cubeView
}
enum SashOrientation {
HORIZONTAL as 'horizontal'
VERTICAL as 'vertical'
}