diff --git a/src/org/nschmidt/ldparteditor/i18n/Editor3D.properties b/src/org/nschmidt/ldparteditor/i18n/Editor3D.properties index 9adb70b1f..25d8b8f07 100644 --- a/src/org/nschmidt/ldparteditor/i18n/Editor3D.properties +++ b/src/org/nschmidt/ldparteditor/i18n/Editor3D.properties @@ -35,6 +35,8 @@ AllSameColoursShown = \u2026All Shown with Same Colours. AllShown = \u2026All Shown. +AllTypes = All Types + AngleDiff = Set angular surface normal difference: AngleX = Angle X [\u00B0]: @@ -297,6 +299,8 @@ NoPrimitiveSelected = (no primitive selected) None = \u2026None. +Nothing = Nothing + NumberOfFractions = (Number of resulting fractions) Open = &Open Project diff --git a/src/org/nschmidt/ldparteditor/i18n/I18n.java b/src/org/nschmidt/ldparteditor/i18n/I18n.java index 7c08cd113..a2a073e89 100644 --- a/src/org/nschmidt/ldparteditor/i18n/I18n.java +++ b/src/org/nschmidt/ldparteditor/i18n/I18n.java @@ -376,6 +376,7 @@ private static void adjust() { // Calculate line offset public static final String E3D_AllSameColours = E3D.getString(getProperty()); public static final String E3D_AllSameColoursShown = E3D.getString(getProperty()); public static final String E3D_AllShown = E3D.getString(getProperty()); + public static final String E3D_AllTypes = E3D.getString(getProperty()); public static final String E3D_AngleDiff = E3D.getString(getProperty()); public static final String E3D_AngleX = E3D.getString(getProperty()); public static final String E3D_AngleY = E3D.getString(getProperty()); @@ -507,6 +508,7 @@ private static void adjust() { // Calculate line offset public static final String E3D_NoFileSelected = E3D.getString(getProperty()); public static final String E3D_NoPrimitiveSelected = E3D.getString(getProperty()); public static final String E3D_None = E3D.getString(getProperty()); + public static final String E3D_Nothing = E3D.getString(getProperty()); public static final String E3D_NumberOfFractions = E3D.getString(getProperty()); public static final String E3D_Open = E3D.getString(getProperty()); public static final String E3D_OpenDat = E3D.getString(getProperty()); diff --git a/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DDesign.java b/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DDesign.java index 0bdee97a1..9adff4a4c 100644 --- a/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DDesign.java +++ b/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DDesign.java @@ -435,11 +435,13 @@ class Editor3DDesign extends ApplicationWindow { final Button[] btn_zoomOutPrimitives = new Button[1]; final Button[] btn_zoomInPrimitives = new Button[1]; + final MenuItem[] mntm_SAllTypes = new MenuItem[1]; final MenuItem[] mntm_STriangles = new MenuItem[1]; final MenuItem[] mntm_SQuads = new MenuItem[1]; final MenuItem[] mntm_SCLines = new MenuItem[1]; final MenuItem[] mntm_SVertices = new MenuItem[1]; final MenuItem[] mntm_SLines = new MenuItem[1]; + final MenuItem[] mntm_SNothing = new MenuItem[1]; final MenuItem[] mntm_IconSize1 = new MenuItem[1]; @@ -2288,6 +2290,18 @@ public void widgetSelected(SelectionEvent e) { } @SuppressWarnings("unused") final MenuItem mntmSeparator5 = new MenuItem(mnu_Select, SWT.SEPARATOR); + { + MenuItem mntm_SAllTypes = new MenuItem(mnu_Select, SWT.PUSH); + this.mntm_SAllTypes[0] = mntm_SAllTypes; + mntm_SAllTypes.setText(I18n.E3D_AllTypes); + } + { + MenuItem mntm_SNothing = new MenuItem(mnu_Select, SWT.PUSH); + this.mntm_SNothing[0] = mntm_SNothing; + mntm_SNothing.setText(I18n.E3D_Nothing); + } + @SuppressWarnings("unused") + final MenuItem mntmSeparator6 = new MenuItem(mnu_Select, SWT.SEPARATOR); { MenuItem mntm_needsThreshold = new MenuItem(mnu_Select, SWT.PUSH); mntm_needsThreshold.setText(I18n.E3D_NeedsAThreshold); diff --git a/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DWindow.java b/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DWindow.java index 651b038e9..167368c1d 100644 --- a/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DWindow.java +++ b/src/org/nschmidt/ldparteditor/shells/editor3d/Editor3DWindow.java @@ -3509,6 +3509,40 @@ public void run() { regainFocus(); } }); + mntm_SAllTypes[0].addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + Display.getCurrent().asyncExec(new Runnable() { + @Override + public void run() { + mntm_SVertices[0].setSelection(true); + mntm_SLines[0].setSelection(true); + mntm_STriangles[0].setSelection(true); + mntm_SQuads[0].setSelection(true); + mntm_SCLines[0].setSelection(true); + showSelectMenu(); + } + }); + regainFocus(); + } + }); + mntm_SNothing[0].addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + Display.getCurrent().asyncExec(new Runnable() { + @Override + public void run() { + mntm_SVertices[0].setSelection(false); + mntm_SLines[0].setSelection(false); + mntm_STriangles[0].setSelection(false); + mntm_SQuads[0].setSelection(false); + mntm_SCLines[0].setSelection(false); + showSelectMenu(); + } + }); + regainFocus(); + } + }); mntm_STriangles[0].addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) {