Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NeqModPlus
Demo Catalog Eclipse
Commits
7cac3a6e
Commit
7cac3a6e
authored
Dec 11, 2020
by
Kai-Holger Brassel
Browse files
Add projects for application and feature
parent
570f687b
Changes
22
Hide whitespace changes
Inline
Side-by-side
org.example.democatalog.application/.classpath
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14"
/>
<classpathentry
kind=
"con"
path=
"org.eclipse.pde.core.requiredPlugins"
/>
<classpathentry
kind=
"src"
path=
"src"
/>
<classpathentry
kind=
"output"
path=
"bin"
/>
</classpath>
org.example.democatalog.application/.project
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
org.example.democatalog.application
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.pde.ManifestBuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.pde.SchemaBuilder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.pde.PluginNature
</nature>
<nature>
org.eclipse.jdt.core.javanature
</nature>
</natures>
</projectDescription>
org.example.democatalog.application/Application.e4xmi
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<application:Application
xmi:version=
"2.0"
xmlns:xmi=
"http://www.omg.org/XMI"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:application=
"http://www.eclipse.org/ui/2010/UIModel/application"
xmlns:basic=
"http://www.eclipse.org/ui/2010/UIModel/application/ui/basic"
xmlns:menu=
"http://www.eclipse.org/ui/2010/UIModel/application/ui/menu"
xmi:id=
"_6wlLcMgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.application"
bindingContexts=
"_6wlLecgZEeSyMNYR5xypkQ"
>
<children
xsi:type=
"basic:TrimmedWindow"
xmi:id=
"_6wlLccgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.window.main"
label=
"Demo Catalog"
width=
"500"
height=
"400"
>
<mainMenu
xmi:id=
"_6wlLicgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.main.menu"
>
<children
xsi:type=
"menu:Menu"
xmi:id=
"_6wlLisgZEeSyMNYR5xypkQ"
elementId=
"file"
label=
"File"
>
<children
xsi:type=
"menu:HandledMenuItem"
xmi:id=
"_1aSskCQeEeuaK-RhvCx2-Q"
elementId=
"org.example.democatalog.application.handleditem.file.new"
label=
"New"
command=
"_a7OMwCQeEeuaK-RhvCx2-Q"
/>
<children
xsi:type=
"menu:HandledMenuItem"
xmi:id=
"_6wlLi8gZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.file.open"
label=
"Open"
iconURI=
"platform:/plugin/org.example.democatalog.application/icons/open_in_app.png"
command=
"_6wlLgMgZEeSyMNYR5xypkQ"
/>
<children
xsi:type=
"menu:HandledMenuItem"
xmi:id=
"_6wlLjMgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.save"
label=
"Save"
iconURI=
"platform:/plugin/org.example.democatalog.application/icons/save_edit.png"
command=
"_6wlLg8gZEeSyMNYR5xypkQ"
/>
<children
xsi:type=
"menu:HandledMenuItem"
xmi:id=
"_6wlLjcgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.quit"
label=
"Quit"
command=
"_6wlLfMgZEeSyMNYR5xypkQ"
/>
</children>
<children
xsi:type=
"menu:Menu"
xmi:id=
"_6wlLjsgZEeSyMNYR5xypkQ"
elementId=
"help"
label=
"Help"
>
<children
xsi:type=
"menu:HandledMenuItem"
xmi:id=
"_6wlLj8gZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.about"
label=
"About"
command=
"_6wlLhsgZEeSyMNYR5xypkQ"
/>
</children>
</mainMenu>
<trimBars
xmi:id=
"_6wlLlcgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.trimbar.top"
>
<children
xsi:type=
"menu:ToolBar"
xmi:id=
"_6wlLlsgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.main.toolbar"
>
<children
xsi:type=
"menu:HandledToolItem"
xmi:id=
"_-6l-ICQeEeuaK-RhvCx2-Q"
elementId=
"org.example.democatalog.application.handleditem.trimbar.top.new"
label=
"New"
command=
"_a7OMwCQeEeuaK-RhvCx2-Q"
/>
<children
xsi:type=
"menu:HandledToolItem"
xmi:id=
"_6wlLl8gZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.trimbar.top.open"
iconURI=
"platform:/plugin/org.example.democatalog.application/icons/open_in_app.png"
command=
"_6wlLgMgZEeSyMNYR5xypkQ"
/>
<children
xsi:type=
"menu:HandledToolItem"
xmi:id=
"_6wlLmMgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handleditem.trimbar.top.save"
iconURI=
"platform:/plugin/org.example.democatalog.application/icons/save_edit.png"
command=
"_6wlLg8gZEeSyMNYR5xypkQ"
/>
</children>
</trimBars>
</children>
<handlers
xmi:id=
"_Yu9JgCQeEeuaK-RhvCx2-Q"
elementId=
"org.example.democatalog.application.handler.0"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.handlers.NewHandler"
command=
"_a7OMwCQeEeuaK-RhvCx2-Q"
/>
<handlers
xmi:id=
"_6wlLgcgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handler.openCommand"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.handlers.OpenHandler"
command=
"_6wlLgMgZEeSyMNYR5xypkQ"
/>
<handlers
xmi:id=
"_6wlLhMgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handler.saveCommand"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.handlers.SaveHandler"
command=
"_6wlLg8gZEeSyMNYR5xypkQ"
/>
<handlers
xmi:id=
"_6wlLh8gZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handler.aboutCommand"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.handlers.AboutHandler"
command=
"_6wlLhsgZEeSyMNYR5xypkQ"
/>
<handlers
xmi:id=
"_6wlLfcgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.handler.quitCommand"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.handlers.QuitHandler"
command=
"_6wlLfMgZEeSyMNYR5xypkQ"
/>
<bindingTables
xmi:id=
"_6wlLfsgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.bindingtable"
bindingContext=
"_6wlLecgZEeSyMNYR5xypkQ"
>
<bindings
xmi:id=
"_6wlLf8gZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.keybinding.m1q"
keySequence=
"M1+Q"
command=
"_6wlLfMgZEeSyMNYR5xypkQ"
/>
<bindings
xmi:id=
"_6wlLgsgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.keybinding.m1o"
keySequence=
"M1+O"
command=
"_6wlLgMgZEeSyMNYR5xypkQ"
/>
<bindings
xmi:id=
"_6wlLhcgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.keybinding.m1s"
keySequence=
"M1+S"
command=
"_6wlLg8gZEeSyMNYR5xypkQ"
/>
<bindings
xmi:id=
"_6wlLiMgZEeSyMNYR5xypkQ"
elementId=
"org.example.democatalog.application.keybinding.m1a"
keySequence=
"M1+A"
command=
"_6wlLhsgZEeSyMNYR5xypkQ"
/>
</bindingTables>
<rootContext
xmi:id=
"_6wlLecgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.contexts.dialogAndWindow"
name=
"In Dialog and Windows"
>
<children
xmi:id=
"_6wlLesgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.contexts.window"
name=
"In Windows"
/>
<children
xmi:id=
"_6wlLe8gZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.contexts.dialog"
name=
"In Dialogs"
/>
</rootContext>
<descriptors
xmi:id=
"_R3oEICQEEeuaK-RhvCx2-Q"
elementId=
"org.example.democatalog.application.partdescriptor.catalog"
contributionURI=
"bundleclass://org.example.democatalog.application/org.example.democatalog.application.parts.CatalogPart"
/>
<commands
xmi:id=
"_a7OMwCQeEeuaK-RhvCx2-Q"
elementId=
"org.eclipse.ui.file.new"
commandName=
"newCommand"
/>
<commands
xmi:id=
"_6wlLgMgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.file.open"
commandName=
"openCommand"
/>
<commands
xmi:id=
"_6wlLg8gZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.file.save"
commandName=
"saveCommand"
/>
<commands
xmi:id=
"_6wlLhsgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.help.aboutAction"
commandName=
"aboutCommand"
/>
<commands
xmi:id=
"_6wlLfMgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.ui.file.exit"
commandName=
"quitCommand"
/>
<addons
xmi:id=
"_6wlLcsgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.core.commands.service"
contributionURI=
"bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"
/>
<addons
xmi:id=
"_6wlLc8gZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.contexts.service"
contributionURI=
"bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"
/>
<addons
xmi:id=
"_6wlLdMgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.bindings.service"
contributionURI=
"bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"
/>
<addons
xmi:id=
"_6wlLdcgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.workbench.commands.model"
contributionURI=
"bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"
/>
<addons
xmi:id=
"_6wlLdsgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.workbench.handler.model"
contributionURI=
"bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"
/>
<addons
xmi:id=
"_6wlLd8gZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.workbench.contexts.model"
contributionURI=
"bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"
/>
<addons
xmi:id=
"_6wlLeMgZEeSyMNYR5xypkQ"
elementId=
"org.eclipse.e4.ui.workbench.bindings.model"
contributionURI=
"bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"
/>
</application:Application>
org.example.democatalog.application/META-INF/MANIFEST.MF
0 → 100644
View file @
7cac3a6e
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Demo Catalog
Bundle-SymbolicName: org.example.democatalog.application;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: javax.inject;bundle-version="0.0.0",
org.eclipse.core.runtime;bundle-version="0.0.0",
org.eclipse.swt;bundle-version="0.0.0",
org.eclipse.e4.ui.model.workbench;bundle-version="0.0.0",
org.eclipse.jface;bundle-version="0.0.0",
org.eclipse.e4.ui.services;bundle-version="0.0.0",
org.eclipse.e4.ui.workbench;bundle-version="0.0.0",
org.eclipse.e4.core.di;bundle-version="0.0.0",
org.eclipse.e4.ui.di;bundle-version="0.0.0",
org.eclipse.e4.core.contexts;bundle-version="0.0.0",
org.eclipse.emf.ecore,
org.eclipse.emf.ecp.ui.view,
org.eclipse.emf.ecp.ui.view.swt,
org.eclipse.emf.edit,
org.example.democatalog;bundle-version="1.0.0",
org.example.democatalog.edit;bundle-version="1.0.0",
org.example.democatalog.viewmodel;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-14
Import-Package: javax.annotation;version="0.0.0"
Automatic-Module-Name: org.example.democatalog.application
org.example.democatalog.application/build.properties
0 → 100644
View file @
7cac3a6e
source..
=
src/
output..
=
bin/
bin.includes
=
plugin.xml,
\
META-INF/,
\
.,
\
icons/,
\
css/default.css,
\
Application.e4xmi
org.example.democatalog.application/css/default.css
0 → 100644
View file @
7cac3a6e
org.example.democatalog.application/icons/home.png
0 → 100644
View file @
7cac3a6e
287 Bytes
org.example.democatalog.application/icons/open_in_app.png
0 → 100644
View file @
7cac3a6e
315 Bytes
org.example.democatalog.application/icons/save_edit.png
0 → 100644
View file @
7cac3a6e
367 Bytes
org.example.democatalog.application/org.example.democatalog.application.product
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product
name=
"Demo Catalog"
uid=
"org.example.democatalog.application.product"
id=
"org.example.democatalog.application.product"
application=
"org.eclipse.e4.ui.workbench.swt.E4Application"
version=
"1.0.0.qualifier"
useFeatures=
"true"
includeLaunchers=
"true"
>
<configIni
use=
"default"
>
</configIni>
<launcherArgs>
<programArgs>
-clearPersistedState
</programArgs>
<vmArgsMac>
-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
</vmArgsMac>
</launcherArgs>
<windowImages/>
<launcher>
<win
useIco=
"false"
>
<bmp/>
</win>
</launcher>
<vm>
</vm>
<plugins>
</plugins>
<features>
<feature
id=
"org.example.democatalog.feature"
/>
<feature
id=
"org.eclipse.e4.rcp"
/>
<feature
id=
"org.eclipse.emf.ecp.emfforms.runtime.feature"
/>
<feature
id=
"org.eclipse.emf.common"
/>
<feature
id=
"org.eclipse.emf.common.ui"
/>
<feature
id=
"org.eclipse.emf.databinding"
/>
<feature
id=
"org.eclipse.emf.databinding.edit"
/>
<feature
id=
"org.eclipse.emf.ecore"
/>
<feature
id=
"org.eclipse.emf.ecore.edit"
/>
<feature
id=
"org.eclipse.emf.edit"
/>
<feature
id=
"org.eclipse.emf.edit.ui"
/>
</features>
<preferencesInfo>
<targetfile
overwrite=
"false"
/>
</preferencesInfo>
<cssInfo>
</cssInfo>
</product>
org.example.democatalog.application/plugin.xml
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id=
"product"
point=
"org.eclipse.core.runtime.products"
>
<product
application=
"org.eclipse.e4.ui.workbench.swt.E4Application"
name=
"Demo Catalog"
>
<property
name=
"appName"
value=
"Demo Catalog"
>
</property>
</product>
</extension>
</plugin>
org.example.democatalog.application/src/org/example/democatalog/application/handlers/AboutHandler.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
org.eclipse.e4.core.di.annotations.Execute
;
import
org.eclipse.jface.dialogs.MessageDialog
;
import
org.eclipse.swt.widgets.Shell
;
public
class
AboutHandler
{
@Execute
public
void
execute
(
Shell
shell
)
{
MessageDialog
.
openInformation
(
shell
,
"About"
,
"Demo Catalog"
);
}
}
org.example.democatalog.application/src/org/example/democatalog/application/handlers/HandlerUtils.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
org.eclipse.e4.core.contexts.IEclipseContext
;
import
org.eclipse.e4.ui.model.application.ui.basic.MPart
;
import
org.eclipse.e4.ui.workbench.modeling.EPartService
;
import
org.eclipse.e4.ui.workbench.modeling.EPartService.PartState
;
import
org.eclipse.emf.common.command.BasicCommandStack
;
import
org.eclipse.emf.common.notify.AdapterFactory
;
import
org.eclipse.emf.ecore.resource.Resource
;
import
org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain
;
import
org.eclipse.emf.edit.provider.ComposedAdapterFactory
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.widgets.FileDialog
;
import
org.eclipse.swt.widgets.Shell
;
class
HandlerUtils
{
static
final
String
CATALOG_PARTDESCRIPTOR_ID
=
"org.example.democatalog.application.partdescriptor.catalog"
;
public
static
String
openFileDialog
(
Shell
shell
)
{
return
invokeFileDialog
(
new
FileDialog
(
shell
,
SWT
.
OPEN
));
}
public
static
String
newFileDialog
(
Shell
shell
)
{
return
invokeFileDialog
(
new
FileDialog
(
shell
,
SWT
.
SAVE
));
}
private
static
String
invokeFileDialog
(
FileDialog
dialog
)
{
dialog
.
setFilterPath
(
System
.
getProperty
(
"user.home"
));
dialog
.
setFilterNames
(
new
String
[]
{
"Demo Catalog"
,
"All Files (*)"
});
dialog
.
setFilterExtensions
(
new
String
[]
{
"*.democat"
,
"*"
});
return
dialog
.
open
();
}
static
void
createNewPartWithCatalog
(
IEclipseContext
context
,
EPartService
partService
,
Resource
resource
)
{
context
.
set
(
Resource
.
class
,
resource
);
MPart
catalogPart
=
partService
.
createPart
(
CATALOG_PARTDESCRIPTOR_ID
);
catalogPart
.
setDirty
(
true
);
// must listen to adapter!
catalogPart
.
setLabel
(
resource
.
getURI
().
lastSegment
());
partService
.
showPart
(
catalogPart
,
PartState
.
ACTIVATE
);
}
static
AdapterFactoryEditingDomain
createEditingDomain
()
{
final
AdapterFactory
composedAdapterFactory
=
new
ComposedAdapterFactory
(
ComposedAdapterFactory
.
Descriptor
.
Registry
.
INSTANCE
);
// no dispose required?
final
AdapterFactoryEditingDomain
domain
=
new
AdapterFactoryEditingDomain
(
composedAdapterFactory
,
new
BasicCommandStack
());
return
domain
;
}
}
org.example.democatalog.application/src/org/example/democatalog/application/handlers/NewHandler.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
java.io.IOException
;
import
javax.inject.Named
;
import
org.eclipse.e4.core.di.annotations.Execute
;
import
org.eclipse.e4.ui.model.application.MApplication
;
import
org.eclipse.e4.ui.services.IServiceConstants
;
import
org.eclipse.e4.ui.workbench.modeling.EPartService
;
import
org.eclipse.emf.ecore.EObject
;
import
org.eclipse.emf.ecore.resource.Resource
;
import
org.eclipse.emf.ecore.util.EcoreUtil
;
import
org.eclipse.emf.ecore.xmi.XMLResource
;
import
org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain
;
import
org.eclipse.swt.widgets.Shell
;
import
org.example.democatalog.DemocatalogPackage
;
public
class
NewHandler
{
static
final
String
CATALOG_PARTDESCRIPTOR_ID
=
"org.example.democatalog.application.partdescriptor.catalog"
;
@Execute
public
void
execute
(
MApplication
application
,
@Named
(
IServiceConstants
.
ACTIVE_SHELL
)
Shell
shell
,
EPartService
partService
)
{
final
String
pathToNewCatalog
=
HandlerUtils
.
newFileDialog
(
shell
);
if
(
pathToNewCatalog
!=
null
)
{
// create new catalog with resource at above path
final
AdapterFactoryEditingDomain
domain
=
HandlerUtils
.
createEditingDomain
();
final
Resource
catalogResource
=
domain
.
createResource
(
"file://"
+
pathToNewCatalog
);
// assume default XMI factory was used to create an XML resource
if
(
catalogResource
instanceof
XMLResource
)
{
((
XMLResource
)
catalogResource
).
setEncoding
(
"UTF-8"
);
}
final
EObject
catalog
=
EcoreUtil
.
create
(
DemocatalogPackage
.
eINSTANCE
.
getEnergyComponentCatalog
());
catalogResource
.
getContents
().
add
(
catalog
);
// store new (empty) resource at selected path
try
{
catalogResource
.
save
(
null
);
}
catch
(
IOException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
HandlerUtils
.
createNewPartWithCatalog
(
application
.
getContext
(),
partService
,
catalogResource
);
}
}
}
\ No newline at end of file
org.example.democatalog.application/src/org/example/democatalog/application/handlers/OpenHandler.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
org.eclipse.e4.core.di.annotations.Execute
;
import
org.eclipse.swt.widgets.FileDialog
;
import
org.eclipse.swt.widgets.Shell
;
public
class
OpenHandler
{
@Execute
public
void
execute
(
Shell
shell
){
FileDialog
dialog
=
new
FileDialog
(
shell
);
dialog
.
open
();
}
}
org.example.democatalog.application/src/org/example/democatalog/application/handlers/QuitHandler.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
org.eclipse.e4.core.di.annotations.Execute
;
import
org.eclipse.e4.ui.workbench.IWorkbench
;
import
org.eclipse.jface.dialogs.MessageDialog
;
import
org.eclipse.swt.widgets.Shell
;
public
class
QuitHandler
{
@Execute
public
void
execute
(
IWorkbench
workbench
,
Shell
shell
){
if
(
MessageDialog
.
openConfirm
(
shell
,
"Confirmation"
,
"Do you want to exit?"
))
{
workbench
.
close
();
}
}
}
org.example.democatalog.application/src/org/example/democatalog/application/handlers/SaveHandler.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.handlers
;
import
org.eclipse.e4.core.di.annotations.CanExecute
;
import
org.eclipse.e4.core.di.annotations.Execute
;
import
org.eclipse.e4.ui.workbench.modeling.EPartService
;
public
class
SaveHandler
{
@CanExecute
public
boolean
canExecute
(
EPartService
partService
)
{
if
(
partService
!=
null
)
{
return
!
partService
.
getDirtyParts
().
isEmpty
();
}
return
false
;
}
@Execute
public
void
execute
(
EPartService
partService
)
{
partService
.
saveAll
(
false
);
}
}
\ No newline at end of file
org.example.democatalog.application/src/org/example/democatalog/application/parts/CatalogPart.java
0 → 100644
View file @
7cac3a6e
package
org.example.democatalog.application.parts
;
import
java.io.IOException
;
import
javax.annotation.PostConstruct
;
import
org.eclipse.e4.ui.di.Persist
;
import
org.eclipse.e4.ui.model.application.MApplication
;
import
org.eclipse.emf.ecore.EObject
;
import
org.eclipse.emf.ecore.resource.Resource
;
import
org.eclipse.emf.ecp.ui.view.ECPRendererException
;
import
org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer
;
import
org.eclipse.jface.layout.GridLayoutFactory
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.widgets.Composite
;
/**
* Part for displaying a Forms Editor for a DemoCatalog.
* See https://www.vogella.com/tutorials/Eclipse4Services/article.html#implementing-editor-like-behavior.
*/
public
class
CatalogPart
{
private
Resource
demoCatalogResource
;
@PostConstruct
public
void
createComposite
(
MApplication
application
,
Composite
parent
)
{
demoCatalogResource
=
application
.
getContext
().
get
(
Resource
.
class
);
EObject
energyCatalog
=
demoCatalogResource
.
getContents
().
get
(
0
);
try
{
final
Composite
content
=
new
Composite
(
parent
,
SWT
.
NONE
);
content
.
setBackground
(
parent
.
getDisplay
().
getSystemColor
(
SWT
.
COLOR_WHITE
));
content
.
setLayout
(
GridLayoutFactory
.
fillDefaults
().
margins
(
10
,
10
).
create
());
ECPSWTViewRenderer
.
INSTANCE
.
render
(
content
,
energyCatalog
);
content
.
layout
();
}
catch
(
final
ECPRendererException
e
)
{
e
.
printStackTrace
();
}
parent
.
layout
();
}
@Persist
public
void
save
()
{
System
.
out
.
println
(
"Saved "
+
demoCatalogResource
);
try
{
demoCatalogResource
.
save
(
null
);
}
catch
(
IOException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
}
\ No newline at end of file
org.example.democatalog.feature/.project
0 → 100644
View file @
7cac3a6e
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
org.example.democatalog.feature
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.pde.FeatureBuilder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.pde.FeatureNature
</nature>
</natures>
</projectDescription>
org.example.democatalog.feature/build.properties
0 → 100644
View file @
7cac3a6e
bin.includes
=
feature.xml
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment