From 5492c0df6067eaf88ba967fb808367a861295131 Mon Sep 17 00:00:00 2001 From: Christian Femers Date: Tue, 4 Jun 2019 03:52:04 +0200 Subject: [PATCH] Eclipse e4 and translation experiments --- net.mograsim.rcp/Application.e4xmi | 122 ++++++++++-------- net.mograsim.rcp/META-INF/MANIFEST.MF | 12 +- .../OSGI-INF/l10n/bundle.properties | 18 ++- .../OSGI-INF/l10n/bundle_de.properties | 22 ++++ net.mograsim.rcp/build.properties | 3 +- net.mograsim.rcp/icons/af.png | Bin 7657 -> 0 bytes net.mograsim.rcp/icons/embedded.png | Bin 7657 -> 0 bytes net.mograsim.rcp/icons/enterprise.png | Bin 7657 -> 0 bytes net.mograsim.rcp/icons/home.png | Bin 287 -> 0 bytes net.mograsim.rcp/icons/languages.png | Bin 7657 -> 0 bytes net.mograsim.rcp/icons/open_in_app.png | Bin 315 -> 0 bytes net.mograsim.rcp/icons/rcp.png | Bin 7657 -> 0 bytes net.mograsim.rcp/icons/save_edit.png | Bin 367 -> 0 bytes net.mograsim.rcp/plugin.xml | 32 +---- .../mograsim/rcp/handlers/LangHandler.java | 22 ++++ .../src/net/mograsim/rcp/i18n/Messages.java | 6 + .../net/mograsim/rcp/parts/SamplePart.java | 13 +- 17 files changed, 157 insertions(+), 93 deletions(-) create mode 100644 net.mograsim.rcp/OSGI-INF/l10n/bundle_de.properties delete mode 100644 net.mograsim.rcp/icons/af.png delete mode 100644 net.mograsim.rcp/icons/embedded.png delete mode 100644 net.mograsim.rcp/icons/enterprise.png delete mode 100644 net.mograsim.rcp/icons/home.png delete mode 100644 net.mograsim.rcp/icons/languages.png delete mode 100644 net.mograsim.rcp/icons/open_in_app.png delete mode 100644 net.mograsim.rcp/icons/rcp.png delete mode 100644 net.mograsim.rcp/icons/save_edit.png create mode 100644 net.mograsim.rcp/src/net/mograsim/rcp/handlers/LangHandler.java create mode 100644 net.mograsim.rcp/src/net/mograsim/rcp/i18n/Messages.java diff --git a/net.mograsim.rcp/Application.e4xmi b/net.mograsim.rcp/Application.e4xmi index 3caa9c19..db6a6949 100644 --- a/net.mograsim.rcp/Application.e4xmi +++ b/net.mograsim.rcp/Application.e4xmi @@ -1,55 +1,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/net.mograsim.rcp/META-INF/MANIFEST.MF b/net.mograsim.rcp/META-INF/MANIFEST.MF index 1c5e2a77..cf712fe5 100644 --- a/net.mograsim.rcp/META-INF/MANIFEST.MF +++ b/net.mograsim.rcp/META-INF/MANIFEST.MF @@ -4,6 +4,10 @@ Bundle-Name: %Bundle-Name Bundle-SymbolicName: net.mograsim.rcp;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Vendor: %Bundle-Vendor +Bundle-Localization: OSGI-INF/l10n/bundle +Export-Package: net.mograsim.rcp.handlers;uses:="org.eclipse.swt.widgets,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.workbench.modeling", + net.mograsim.rcp.parts;uses:="org.eclipse.swt.widgets", + net.mograsim.rcp.splashhandlers Require-Bundle: org.eclipse.core.runtime;bundle-version="3.15.200", org.eclipse.e4.ui.model.workbench;bundle-version="2.1.300", org.eclipse.jface;bundle-version="3.15.100", @@ -12,9 +16,9 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.15.200", org.eclipse.e4.ui.di;bundle-version="1.2.500", org.eclipse.ui.workbench;bundle-version="3.113.0", javax.annotation;bundle-version="1.2.0", - net.mograsim.logic.ui + net.mograsim.logic.ui, + org.eclipse.osgi.services;bundle-version="3.8.0", + org.eclipse.e4.core.services;bundle-version="2.1.400" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Automatic-Module-Name: Sample -Export-Package: net.mograsim.rcp.handlers;uses:="org.eclipse.swt.widgets,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.workbench.modeling", - net.mograsim.rcp.parts;uses:="org.eclipse.swt.widgets", - net.mograsim.rcp.splashhandlers +Import-Package: javax.inject;version="1.0.0" diff --git a/net.mograsim.rcp/OSGI-INF/l10n/bundle.properties b/net.mograsim.rcp/OSGI-INF/l10n/bundle.properties index e07734a8..5c11e221 100644 --- a/net.mograsim.rcp/OSGI-INF/l10n/bundle.properties +++ b/net.mograsim.rcp/OSGI-INF/l10n/bundle.properties @@ -3,4 +3,20 @@ Bundle-Vendor = MYSELF Bundle-Name = Sample product.name = Sample extension-point.name = Splash Extensions -product.name.0 = Simulator WIP \ No newline at end of file +product.name = Simulator WIP +trimmedwindow.label.1 = Sample RCP4 +part.label.1 = Sample Part +part.label.2 = LogicUI part +part.label.3 = None +part.tooltip.1 = Something +menu.label.1 = File +handledmenuitem.label.1 = Open +handledmenuitem.label.2 = Save +handledmenuitem.label.3 = Quit +menu.label.2 = Help +handledmenuitem.label.4 = About +command.commandname.1 = quitCommand +command.commandname.2 = openCommand +command.commandname.3 = saveCommand +command.commandname.4 = aboutCommand +sample_part_input_hint = Enter text to mark part as dirty diff --git a/net.mograsim.rcp/OSGI-INF/l10n/bundle_de.properties b/net.mograsim.rcp/OSGI-INF/l10n/bundle_de.properties new file mode 100644 index 00000000..97ea27d4 --- /dev/null +++ b/net.mograsim.rcp/OSGI-INF/l10n/bundle_de.properties @@ -0,0 +1,22 @@ +#Properties file for Sample +Bundle-Vendor = ICH +Bundle-Name = Beispiel +product.name = Beispiel +extension-point.name = Splash Extensions +product.name = Simulator WIP +trimmedwindow.label.1 = Beispiel RCP4 +part.label.1 = Sample Part +part.label.2 = LogicUI part +part.label.3 = Nix +part.tooltip.1 = Irgendwas +menu.label.1 = Datei +handledmenuitem.label.1 = Öffnen +handledmenuitem.label.2 = Speichern +handledmenuitem.label.3 = Schließen +menu.label.2 = Hilfe +handledmenuitem.label.4 = Über +command.commandname.1 = quitCommand +command.commandname.2 = openCommand +command.commandname.3 = saveCommand +command.commandname.4 = aboutCommand +sample_part_input_hint = ALKSKSKS diff --git a/net.mograsim.rcp/build.properties b/net.mograsim.rcp/build.properties index d1ae984b..7eb5b4a3 100644 --- a/net.mograsim.rcp/build.properties +++ b/net.mograsim.rcp/build.properties @@ -7,12 +7,11 @@ bin.includes = plugin.xml,\ css/,\ splash.bmp,\ schema/,\ - OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ source.. = src/ src.includes = Application.e4xmi,\ - OSGI-INF/l10n/bundle.properties,\ css/,\ icons/,\ schema/,\ splash.bmp +javacProjectSettings = true diff --git a/net.mograsim.rcp/icons/af.png b/net.mograsim.rcp/icons/af.png deleted file mode 100644 index bcd0ce8a77e325d889cf22bee7e892eb5f1492f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7657 zcmeHLX;2i`8ttBiVFuavWdIch5W*&|C>f_g#LSH2# zV&2fu&_n+|Tw7av=FAyn5i3hesimd4xjB!=BS0Wh1x@n>0=ay+qM~97I3^5H$%t6B ztE)>UlPz7kR4f+5L>vwV4%-w8MMh?3aY+e)T3T98SYryezh^|OI668CfnT|D1)+gf zDvgYcgaY9REH*mI7!F^voyNvSf+XP(4h{}3E-rGpTp$prsi{o?5I5wdY?VOHzy1nc zL*3J-PhYTL;mC*_AfO>Gx3e@UISWGdM#jeL*RO|7@7}$8`0!y96O)4n4L38amVfHO2)ySlq&c6Kf<&QVd(Jd&rR zl|Z(A`*s+83dkl(9&UxO32A#S@-(-wkVqs53c%9b+M=Xs5LQ=P+t|<`AC@yBM}z(e z=A)^lRbE~m6&VHdi9`q{LfnG#DPY17{x{!zgFir%m6er~lY>Yd6%}>)@?{{fmC1N) z1cHrHQ&VTnnw6QEdFRd@$iKXz+|0~Oz~@tJ!*C@<;TC#A&_dwAV<1DY_4V~-y!92E z02AK0aU(G?!O*~v#YaU%L^wJ+9zA*l^R8MIjEBfG00FGk)zu*(Aqb~UO-*TOX)9Lv zbIWnGG5n2N9yWf=wwW_$j(e<9SAfOR)6FN38$&)#A<}ll57lt*BO-%4kWmQ!}Lj#^k#9}sxKF7tqhMS_| z;`;jfm2ATd5WskT;4zTF_3PIJ^41T-zn(GEcKo+vebUOx%EH28%a$!#T3Vn%p`aQY z8(Lag@DMZN34{VPj96I3K!VsJ>|$V`k0`2u7h)-{$6Tq(%E}!(c6fMrAU}>RgAU%h zaQ@tbYljz@Jzef99v-Go6uNEOA2|UxH-!K5&p-e4(@)66ZfD?o3WjLWPN%*v8ftp_y5o0r0$`xI<1v1iGJ_Bhk>%)zQJ1fCAF0 z9~~VH??cSIe?QmVeKw*ig0qv86PAHBQ4J?0T`DRnwzIS6@yN7Wx4;LaP4-dGNd}IXYt-9JeUmqW? zN&y;5sh||ps6qj1?`3Brgd!Zk^*C7E)zHuoK{ftTs)W}&S0;iVjU(wfpzdC3XoMCE zQSTCJJYud1^;=eE2TwXly@g4!Oh7;Yb_|C4dVB3;vXv{}5DEprF;;M)#)7R8w7k5$ zjE#*qY}kN&1@n!W5)sPev z#NY_MJ45YxVKaW0=tH(JN?BRiJMX;fz|yLLLQ(Kr4e`n0wj1S z9obAOl>+gJuUC1S+_cqheBDXZ+NlunNi{xLcy7Un+j8C6AK}rXHG}Pcx z3ZkHSw2*R`yb^-w;P&n9ZPwP-fQSuoYJk+nQZlrqA(0^3?c28xwKeht`T%t3&>>)o zi;Y!Rb~{;6zOMVWMJXHx=8$HKmbHO$!d z_SbN%{tl;@6457w?-yCx(ADh>+^Lv7=?Y#C!#On}CP zUG|F2peV&R*Z>aVDCgnY_Vx&PJU>6b&7XxwpZ(XHZelBafqay%Xd6w)SA4X}8D28x zDBP4UWsCb7k#qO%-8jXcIB^154@;wSJ}&O9x8CBaEQT$%fvdj${<6}Ns_Gi}!NrRg z-QAfVcgHs*36xKv?tL<2{e*gGR)Mg%=LSR-)-2L}fQ1ws2@=zrHk!4i4qG;-ZSPp?lt`2;8R3Du&iu(sq_PR-n1BrQx3#sQ!b9Sl6gT(&BpaGA5qAp& zj~*5vKrzEo-nhe}FH8k>E}9aUk$a7T_Dfutg%qADvZ zs;aB;gWJ}vUnV6bfA(2;M`zdI&>-9pETZI^GMX0yIdiCZEh;Knuwa3qfdOJ{Y-}ty z3fUS5TI2)#R)gXjAzsDVe&@A6_QV%EV0-vo2>}V(N8aGRg6NZzlTjDpcJboHs7IJ& z_2=3v!}@c}sXAI!ZK*on|LMKIVZ92Gf3x)}Y<&^!P`c0c+qKM?6@GzBFZsN;_rJm= BLuLQ~ diff --git a/net.mograsim.rcp/icons/embedded.png b/net.mograsim.rcp/icons/embedded.png deleted file mode 100644 index 57edc6a188fec321808baa8e25bc345ccf15e5fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7657 zcmb`MOKcri8OP`Syf54F8{3UZLehv1k|zsAtaUvHb}5w0}|}IWLd

%aU<2t=H>qZfynKU~=-z{QSJkloO9JBxmM% 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 bu!4Eh6VIQP`W^v5cQSao`njxgN@xNA+l6XM diff --git a/net.mograsim.rcp/icons/languages.png b/net.mograsim.rcp/icons/languages.png deleted file mode 100644 index 98af2daff485f05f3a79d3d424eda36aceb30cb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7657 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 Sc#@`a=GC*OzMK8v%YOkB)~hT4 diff --git a/net.mograsim.rcp/icons/save_edit.png b/net.mograsim.rcp/icons/save_edit.png deleted file mode 100644 index b17caf5a984540e8b1448057feeecc5183c58eaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zD}XSgpwrRCKtah8*NBqf{Irtt#G+J&^73-M%)IR45}niK43oDoay_VY{~%!TkJHeT zagA#4?Mv_MdONO8`@-c@C42nbRn8AP_!%B-iNCC}_SPK1!YP-t4+zZom)=sle}nLc z$hr2+`x<6XxumevgyEgm+wiZ&N*@$5cV5+3iDlUACp_b(m9qWQJ&_JBb5fstKF9DN z>{9C89lu2j<{Do+ePv5${#Dzoiu+$0EI(XKkl5OKHs>F&{AoMO<{t+vf&OOjboFyt I=akR{0M|T{IRF3v diff --git a/net.mograsim.rcp/plugin.xml b/net.mograsim.rcp/plugin.xml index a22663bd..7c2dac5f 100644 --- a/net.mograsim.rcp/plugin.xml +++ b/net.mograsim.rcp/plugin.xml @@ -8,14 +8,14 @@ point="org.eclipse.core.runtime.products"> + name="%product.name"> + value="%product.name"> - - - - - - - - - - - - diff --git a/net.mograsim.rcp/src/net/mograsim/rcp/handlers/LangHandler.java b/net.mograsim.rcp/src/net/mograsim/rcp/handlers/LangHandler.java new file mode 100644 index 00000000..93ae4b84 --- /dev/null +++ b/net.mograsim.rcp/src/net/mograsim/rcp/handlers/LangHandler.java @@ -0,0 +1,22 @@ + +package net.mograsim.rcp.handlers; + +import javax.inject.Inject; +import javax.inject.Named; + +import org.eclipse.e4.core.di.annotations.Execute; +import org.eclipse.e4.core.services.nls.ILocaleChangeService; + +public class LangHandler +{ + + @Inject + ILocaleChangeService lcs; + + @Execute + public void execute(@Named("change_lang_locale") String change_lang_locale) + { + lcs.changeApplicationLocale(change_lang_locale); + } + +} \ No newline at end of file diff --git a/net.mograsim.rcp/src/net/mograsim/rcp/i18n/Messages.java b/net.mograsim.rcp/src/net/mograsim/rcp/i18n/Messages.java new file mode 100644 index 00000000..4eafeba6 --- /dev/null +++ b/net.mograsim.rcp/src/net/mograsim/rcp/i18n/Messages.java @@ -0,0 +1,6 @@ +package net.mograsim.rcp.i18n; + +public class Messages +{ + public String sample_part_input_hint; +} diff --git a/net.mograsim.rcp/src/net/mograsim/rcp/parts/SamplePart.java b/net.mograsim.rcp/src/net/mograsim/rcp/parts/SamplePart.java index 0bbe8aac..fde7162c 100644 --- a/net.mograsim.rcp/src/net/mograsim/rcp/parts/SamplePart.java +++ b/net.mograsim.rcp/src/net/mograsim/rcp/parts/SamplePart.java @@ -6,6 +6,7 @@ import java.util.List; import javax.annotation.PostConstruct; import javax.inject.Inject; +import org.eclipse.e4.core.services.nls.Translation; import org.eclipse.e4.ui.di.Focus; import org.eclipse.e4.ui.di.Persist; import org.eclipse.e4.ui.model.application.ui.basic.MPart; @@ -17,10 +18,13 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Text; +import net.mograsim.rcp.i18n.Messages; + public class SamplePart { private TableViewer tableViewer; + private Text txtInput; @Inject private MPart part; @@ -30,7 +34,7 @@ public class SamplePart { parent.setLayout(new GridLayout(1, false)); - Text txtInput = new Text(parent, SWT.BORDER); + txtInput = new Text(parent, SWT.BORDER); txtInput.setMessage("Enter text to mark part as dirty"); txtInput.addModifyListener(e -> part.setDirty(true)); txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); @@ -58,4 +62,11 @@ public class SamplePart { return Arrays.asList("Sample item 1", "Sample item 2", "Sample item 3", "Sample item 4", "Sample item 5"); } + + @Inject + public void translate(@Translation Messages m) + { + if (txtInput != null && !txtInput.isDisposed()) + txtInput.setMessage(m.sample_part_input_hint); + } } \ No newline at end of file -- 2.17.1