[Schmitzm-commits] r1080 - in trunk/src/schmitzm: geotools/gui/resource/locales lang lang/tree swing/resource/locales
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Oct 7 23:30:46 CEST 2010
Author: mojays
Date: 2010-10-07 23:30:45 +0200 (Thu, 07 Oct 2010)
New Revision: 1080
Modified:
trunk/src/schmitzm/geotools/gui/resource/locales/GTResourceBundle_de.properties
trunk/src/schmitzm/lang/LangUtil.java
trunk/src/schmitzm/lang/tree/OperationTree.java
trunk/src/schmitzm/lang/tree/OperationTreeParser.java
trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle.properties
trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle_de.properties
Log:
Erweiterung OperationTree und OperationTreeParser
Modified: trunk/src/schmitzm/geotools/gui/resource/locales/GTResourceBundle_de.properties
===================================================================
--- trunk/src/schmitzm/geotools/gui/resource/locales/GTResourceBundle_de.properties 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/geotools/gui/resource/locales/GTResourceBundle_de.properties 2010-10-07 21:30:45 UTC (rev 1080)
@@ -1,179 +1,179 @@
-##########
-#Copyright (c) 2009 Martin O. J. Schmitz.
-#
-#This file is part of the SCHMITZM library - a collection of utility
-#classes based on Java 1.6, focusing (not only) on Java Swing
-#and the Geotools library.
-#
-#The SCHMITZM project is hosted at:
-#http://wald.intevation.org/projects/schmitzm/
-#
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU Lesser General Public License
-#as published by the Free Software Foundation; either version 3
-#of the License, or (at your option) any later version.
-#
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-#
-#You should have received a copy of the GNU Lesser General Public License (license.txt)
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#or try this link: http://www.gnu.org/licenses/lgpl.html
-#
-#Contributors:
-# Martin O. J. Schmitz - initial API and implementation
-# Stefan A. Tzeggai - additional utility classes
-##########
-# ----------------------------------------------------
-# ------ German Translations for GUI components ------
-# ------ in Package schmitz.geotools.gui ------
-# ----------------------------------------------------
-
-Attribute=Attribut
-Attributes=Attribute
-
-org.geotools.styling.StyleBuilder.MARK_ARROW=Pfeil
-org.geotools.styling.StyleBuilder.MARK_CIRCLE=Kreis
-org.geotools.styling.StyleBuilder.MARK_CROSS=Kreuz
-org.geotools.styling.StyleBuilder.MARK_SQUARE=Quadrat
-org.geotools.styling.StyleBuilder.MARK_STAR=Stern
-org.geotools.styling.StyleBuilder.MARK_TRIANGLE=Dreieck
-org.geotools.styling.StyleBuilder.MARK_X=X
-
-org.geotools.styling.ColorMap.TYPE_RAMP=Farb-Interpolation
-org.geotools.styling.ColorMap.TYPE_VALUES=Farb-Klassifizierung
-org.geotools.styling.ColorMap.TYPE_INTERVALS=Farb-Intervalle
-
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestButton=Filter testen
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestResultDetailsButton=?
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestResultDetailsToolTip=Fehler-Details anzeigen...
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.ResultsBorderTitle=Ergebnis des Filters:
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.FilterDefinitionBorderTitle=Filter definieren:
-schmitzm.geotools.gui.FeatureCollectionFilterPanel.PreviewMapPaneToolTip=Rote Objekte treffen auf den Filter zu, graue Objekte nicht.
-
-schmitzm.geotools.gui.FeatureTablePane.PreviewMapPaneToolTip=Rote Objekte sind selektiert, graue Objekte nicht.
-
-schmitzm.geotools.gui.FeatureLayerFilterDialog.TITLE = Feature-Filter
-
-schmitzm.geotools.gui.MapActionControlPane.ZOOM_IN=Heran zoomen
-schmitzm.geotools.gui.MapActionControlPane.ZOOM_OUT=Heraus zoomen
-schmitzm.geotools.gui.MapActionControlPane.SELECT_TOP=Ausw\u00E4hlen aus oberstem Layer
-schmitzm.geotools.gui.MapActionControlPane.SELECT_ALL=Ausw\u00E4hlen aus allen Layern
-schmitzm.geotools.gui.MapContextControlPane.Menu.MOVE_UP=Nach OBEN schieben
-schmitzm.geotools.gui.MapContextControlPane.Menu.MOVE_DOWN=Nach UNTEN schieben
-schmitzm.geotools.gui.MapContextControlPane.Menu.ZOOM_TO=Zu Layer zoomen
-schmitzm.geotools.gui.MapContextControlPane.Menu.FILTER=Layer filtern...
-schmitzm.geotools.gui.MapContextControlPane.Menu.RECOLOR=F\u00E4rbung \u00E4ndern
-schmitzm.geotools.gui.MapContextControlPane.Menu.REMOVE=Layer entfernen
-schmitzm.geotools.gui.MapContextControlPane.Menu.SHOWALL=Alle Layer anzeigen
-schmitzm.geotools.gui.MapContextControlPane.Menu.HIDEALL=Alle Layer verbergen
-schmitzm.geotools.gui.MapContextControlPane.Menu.INVERTALL=Alle Layer invertieren
-schmitzm.geotools.gui.MapContextControlPane.Menu.CUSTOMIZE=Anpassen...
-schmitzm.geotools.gui.MapContextControlPane.ColorMapDialog.TITLE=Farbpalette
-schmitzm.geotools.gui.MapContextControlPane.SaveColorMapDialog.TITLE=Farbpalette speichern
-schmitzm.geotools.gui.MapContextControlPane.SaveColorMapDialog.QUESTION=Name f\u00FCr neue Farbpalette...
-schmitzm.geotools.gui.ColorMapTable.Header.QUANTITY=Raster-Wert
-schmitzm.geotools.gui.ColorMapTable.Header.COLOR=Farbe
-schmitzm.geotools.gui.ColorMapTable.Header.LABEL=Label
-schmitzm.geotools.gui.ColorMapTable.Header.OPACITY=Transparent
-schmitzm.geotools.gui.RasterPositionLabel.LABEL_PREFIX=Raster-Wert
-schmitzm.geotools.gui.GeotoolsGUIUtil.Load=Laden
-schmitzm.geotools.gui.GeotoolsGUIUtil.LoadRaster=Raster laden
-schmitzm.geotools.gui.GeotoolsGUIUtil.LoadFeature=Shape laden
-schmitzm.geotools.gui.GeotoolsGUIUtil.Save=Speichern
-schmitzm.geotools.gui.GeotoolsGUIUtil.SaveRaster=Raster speichern
-schmitzm.geotools.gui.GeotoolsGUIUtil.SaveFeature=Shape speichern
-schmitzm.geotools.gui.GeotoolsGUIUtil.NORTH=Nord
-schmitzm.geotools.gui.GeotoolsGUIUtil.SOUTH=S\u00FCd
-schmitzm.geotools.gui.GeotoolsGUIUtil.WEST=West
-schmitzm.geotools.gui.GeotoolsGUIUtil.EAST=Ost
-schmitzm.geotools.gui.GeotoolsGUIUtil.North=Norden
-schmitzm.geotools.gui.GeotoolsGUIUtil.South=S\u00FCden
-schmitzm.geotools.gui.GeotoolsGUIUtil.West=Westen
-schmitzm.geotools.gui.GeotoolsGUIUtil.East=Osten
-schmitzm.geotools.gui.GeotoolsGUIUtil.NORTH.Abb=N
-schmitzm.geotools.gui.GeotoolsGUIUtil.SOUTH.Abb=S
-schmitzm.geotools.gui.GeotoolsGUIUtil.WEST.Abb=W
-schmitzm.geotools.gui.GeotoolsGUIUtil.EAST.Abb=O
-schmitzm.geotools.gui.CRSSelectionDialog.init.crs.title=CRS datenbank
-schmitzm.geotools.gui.CRSSelectionDialog.init.crs.mess=CRS-Datenbank wird initialisiert. Bitte warten...
-schmitzm.geotools.gui.CRSSelectionDialog.title=Koordinaten-System (CRS) ausw\u00E4hlen
-schmitzm.geotools.gui.CRSSelectionDialog.mandatory=CRS must be specified!
-schmitzm.geotools.gui.CRSSelectionDialog.button.wgs84=WGS-84 CRS
-schmitzm.geotools.gui.CRSSelectionDialog.button.default=Standard CRS (${0})
-schmitzm.geotools.gui.CRSSelectionDialog.button.predefined=Vordefiniert
-schmitzm.geotools.gui.CRSSelectionDialog.button.userDefined=Benutzerdefiniert:
-schmitzm.geotools.gui.JMapEditorPane.Err.MissingMap=Bevor ein neues Layer erstellt werden kann, muss ein Layer angezeigt werden (um CRS und geogr. Lage zu definieren).
-schmitzm.geotools.gui.JMapEditorPane.Err.Line.LessPoints=F\u00FCr ein Line-Feature m\u00FCssen mind. 2 Punkte definiert werden\!
-schmitzm.geotools.gui.JMapEditorPane.Err.Polygon.LessPoints=F\u00FCr ein Polygon-Feature m\u00FCssen mind. 3 Punkte definiert werden\!
-schmitzm.geotools.gui.JMapEditorToolBar.button.layer.new=Neues Layer erstellen
-schmitzm.geotools.gui.JMapEditorToolBar.button.layer.save=Layer abschliessen
-schmitzm.geotools.gui.JMapEditorToolBar.button.layer.cancel=Layer abbrechen
-schmitzm.geotools.gui.JMapEditorToolBar.button.edit.undo=Letzte Operation zur\u00FCcknehmen
-schmitzm.geotools.gui.JMapEditorToolBar.button.edit.redo=Letzte zur\u00FCckgenommene Operation wiederholen
-schmitzm.geotools.gui.JMapEditorToolBar.button.edit.clear=Layer leeren
-schmitzm.geotools.gui.JMapEditorToolBar.button.edit.finish=Neues Feature starten
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.dialog.title=Neues Layer erzeugen
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.title=Layer-Bezeichnung
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.title.default=Neues Layer
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type=Layer-Art
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.point=Punkt-Layer
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.line=Linien-Layer
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.polygon=Polygon-Layer
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.ftype.title=Weitere Attribute
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.Err.GeomAttr=Attribut-Name '${0}' reserviert f\u00FCr das Default-Geometrie-Attribut.
-schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.Err.AutoVal=Auto-Wert f\u00FCr Attribut-Typ '${0}' nicht m\u00F6glich.
-schmitzm.geotools.gui.JMapEditorToolBar.NewFeature.title=Neues Feature
-schmitzm.geotools.gui.StyleToolBar.FillColor=F\u00FCllfarbe
-schmitzm.geotools.gui.StyleToolBar.BorderColor=Randfarbe
-schmitzm.geotools.gui.StyleToolBar.BorderWidth=Randbreite
-schmitzm.geotools.gui.StyleToolBar.PointMark=Punkt-Style
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AttrName=Name
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AttrType=Typ
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.Nillable=Nullable
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AutoValue=Auto-Wert
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.DefValue=Default
-schmitzm.geotools.gui.FeatureTypeBuilderTableModel.NewAttr=ATTR_${0}
-
-schmitzm.geotools.gui.SelectableFeatureTablePane.button.clearSelection.tt=Auswahl aufheben
-schmitzm.geotools.gui.SelectableFeatureTablePane.button.selectionToTop.tt=Ausgew\u00E4hlte Zeilen in der Tabelle nach oben verschieben
-schmitzm.geotools.gui.SelectableFeatureTablePane.button.invertSelection.tt=Auswahl umkehren
-schmitzm.geotools.gui.SelectableFeatureTablePane.button.zoomToSelection.tt=Zoomt zu den ausgew\u00E4hlten Geoobjekten
-schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus=${0} von ${1} ${2} selektiert.
-schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.polygons=Polygonen
-schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.points=Punkten
-schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.lines=Linien
-
-
-schmitzm.geotools.gui.GridPanelFormatter_DHDN.title=DHDN - 1,234,567 (H|R)
-schmitzm.geotools.gui.GridPanelFormatter_LatLon1.title=Grad\u00B0 Minute' (N|O|S|W)
-#nice to have: schmitzm.geotools.gui.GridPanelFormatter_LatLon2.title=Grad\u00b0 Minute' Sek.'' (N|O|S|W)
-#nice to have: schmitzm.geotools.gui.GridPanelFormatter_LatLon3.title=Grad\u00b0 Minute' Hundertstel (N|O|S|W)
-
-schmitzm.geotools.gui.GridPanelFormatter.ToolTipTemplate=${0} in Einheit ${1}
-
-schmitzm.geotools.gui.GeoPositionLabel.LABEL_PREFIX=Maus-Koordinate\:
-
-MapPaneButtons.Pan.TT=Karte verschieben
-MapPaneButtons.Info.TT=Informationen zu Objekten abfragen
-MapPaneButtons.ZoomIn.TT=Auf einen Auschnitt zoomen
-MapPaneButtons.ZoomOut.TT=Aus der Karte herauszoomen
-MapPaneButtons.LastZoom.TT=Letzten Kartenausschnitt wiederherstellen
-MapPaneButtons.NextZoom.TT=N\u00E4chsten Kartenausschnitt wiederherstellen
-
-MapPaneButtons.Selection.AddSelection.TT=F\u00FCgt Objekte zur Selektion hinzu
-MapPaneButtons.Selection.RemoveSelection.TT=Entfernt Objekte aus der Selektion
-MapPaneButtons.Selection.SetSelection.TT=Setzt die Selektion auf die ausgew\u00E4hlten Objekte
-MapPaneButtons.Selection.ClearSelection.TT=Hebt alle Selektionen auf
-
-SearchMapDialog.Results.Column.Layer=Gefunden in
-SearchMapDialog.Results.Column.Name=Name
-SearchMapDialog.resultsTable.tt=Klicken Sie auf ein Ergebnis um es anzuzeigen.
-SearchMapDialog.searchString.Label=Suchbegriff eingeben:
-SearchMapDialog.searchString.tt=Geben Sie den Suchbegriff ein und dr\u00FCcken Sie [Enter]
-SearchMapDialog.title=Durchsuche Karte: ${0}
-SearchMapDialog.Explanation=<html>Es werden alle <b>Beschriftungen</b> dieser Karte durchsucht.</html>
-
+##########
+#Copyright (c) 2009 Martin O. J. Schmitz.
+#
+#This file is part of the SCHMITZM library - a collection of utility
+#classes based on Java 1.6, focusing (not only) on Java Swing
+#and the Geotools library.
+#
+#The SCHMITZM project is hosted at:
+#http://wald.intevation.org/projects/schmitzm/
+#
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU Lesser General Public License
+#as published by the Free Software Foundation; either version 3
+#of the License, or (at your option) any later version.
+#
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+#
+#You should have received a copy of the GNU Lesser General Public License (license.txt)
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#or try this link: http://www.gnu.org/licenses/lgpl.html
+#
+#Contributors:
+# Martin O. J. Schmitz - initial API and implementation
+# Stefan A. Tzeggai - additional utility classes
+##########
+# ----------------------------------------------------
+# ------ German Translations for GUI components ------
+# ------ in Package schmitz.geotools.gui ------
+# ----------------------------------------------------
+
+Attribute=Attribut
+Attributes=Attribute
+
+org.geotools.styling.StyleBuilder.MARK_ARROW=Pfeil
+org.geotools.styling.StyleBuilder.MARK_CIRCLE=Kreis
+org.geotools.styling.StyleBuilder.MARK_CROSS=Kreuz
+org.geotools.styling.StyleBuilder.MARK_SQUARE=Quadrat
+org.geotools.styling.StyleBuilder.MARK_STAR=Stern
+org.geotools.styling.StyleBuilder.MARK_TRIANGLE=Dreieck
+org.geotools.styling.StyleBuilder.MARK_X=X
+
+org.geotools.styling.ColorMap.TYPE_RAMP=Farb-Interpolation
+org.geotools.styling.ColorMap.TYPE_VALUES=Farb-Klassifizierung
+org.geotools.styling.ColorMap.TYPE_INTERVALS=Farb-Intervalle
+
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestButton=Filter testen
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestResultDetailsButton=?
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.TestResultDetailsToolTip=Fehler-Details anzeigen...
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.ResultsBorderTitle=Ergebnis des Filters:
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.FilterDefinitionBorderTitle=Filter definieren:
+schmitzm.geotools.gui.FeatureCollectionFilterPanel.PreviewMapPaneToolTip=Rote Objekte treffen auf den Filter zu, graue Objekte nicht.
+
+schmitzm.geotools.gui.FeatureTablePane.PreviewMapPaneToolTip=Rote Objekte sind selektiert, graue Objekte nicht.
+
+schmitzm.geotools.gui.FeatureLayerFilterDialog.TITLE = Feature-Filter
+
+schmitzm.geotools.gui.MapActionControlPane.ZOOM_IN=Heran zoomen
+schmitzm.geotools.gui.MapActionControlPane.ZOOM_OUT=Heraus zoomen
+schmitzm.geotools.gui.MapActionControlPane.SELECT_TOP=Ausw\u00E4hlen aus oberstem Layer
+schmitzm.geotools.gui.MapActionControlPane.SELECT_ALL=Ausw\u00E4hlen aus allen Layern
+schmitzm.geotools.gui.MapContextControlPane.Menu.MOVE_UP=Nach OBEN schieben
+schmitzm.geotools.gui.MapContextControlPane.Menu.MOVE_DOWN=Nach UNTEN schieben
+schmitzm.geotools.gui.MapContextControlPane.Menu.ZOOM_TO=Zu Layer zoomen
+schmitzm.geotools.gui.MapContextControlPane.Menu.FILTER=Layer filtern...
+schmitzm.geotools.gui.MapContextControlPane.Menu.RECOLOR=F\u00E4rbung \u00E4ndern
+schmitzm.geotools.gui.MapContextControlPane.Menu.REMOVE=Layer entfernen
+schmitzm.geotools.gui.MapContextControlPane.Menu.SHOWALL=Alle Layer anzeigen
+schmitzm.geotools.gui.MapContextControlPane.Menu.HIDEALL=Alle Layer verbergen
+schmitzm.geotools.gui.MapContextControlPane.Menu.INVERTALL=Alle Layer invertieren
+schmitzm.geotools.gui.MapContextControlPane.Menu.CUSTOMIZE=Anpassen...
+schmitzm.geotools.gui.MapContextControlPane.ColorMapDialog.TITLE=Farbpalette
+schmitzm.geotools.gui.MapContextControlPane.SaveColorMapDialog.TITLE=Farbpalette speichern
+schmitzm.geotools.gui.MapContextControlPane.SaveColorMapDialog.QUESTION=Name f\u00FCr neue Farbpalette...
+schmitzm.geotools.gui.ColorMapTable.Header.QUANTITY=Raster-Wert
+schmitzm.geotools.gui.ColorMapTable.Header.COLOR=Farbe
+schmitzm.geotools.gui.ColorMapTable.Header.LABEL=Label
+schmitzm.geotools.gui.ColorMapTable.Header.OPACITY=Transparent
+schmitzm.geotools.gui.RasterPositionLabel.LABEL_PREFIX=Raster-Wert
+schmitzm.geotools.gui.GeotoolsGUIUtil.Load=Laden
+schmitzm.geotools.gui.GeotoolsGUIUtil.LoadRaster=Raster laden
+schmitzm.geotools.gui.GeotoolsGUIUtil.LoadFeature=Shape laden
+schmitzm.geotools.gui.GeotoolsGUIUtil.Save=Speichern
+schmitzm.geotools.gui.GeotoolsGUIUtil.SaveRaster=Raster speichern
+schmitzm.geotools.gui.GeotoolsGUIUtil.SaveFeature=Shape speichern
+schmitzm.geotools.gui.GeotoolsGUIUtil.NORTH=Nord
+schmitzm.geotools.gui.GeotoolsGUIUtil.SOUTH=S\u00FCd
+schmitzm.geotools.gui.GeotoolsGUIUtil.WEST=West
+schmitzm.geotools.gui.GeotoolsGUIUtil.EAST=Ost
+schmitzm.geotools.gui.GeotoolsGUIUtil.North=Norden
+schmitzm.geotools.gui.GeotoolsGUIUtil.South=S\u00FCden
+schmitzm.geotools.gui.GeotoolsGUIUtil.West=Westen
+schmitzm.geotools.gui.GeotoolsGUIUtil.East=Osten
+schmitzm.geotools.gui.GeotoolsGUIUtil.NORTH.Abb=N
+schmitzm.geotools.gui.GeotoolsGUIUtil.SOUTH.Abb=S
+schmitzm.geotools.gui.GeotoolsGUIUtil.WEST.Abb=W
+schmitzm.geotools.gui.GeotoolsGUIUtil.EAST.Abb=O
+schmitzm.geotools.gui.CRSSelectionDialog.init.crs.title=CRS datenbank
+schmitzm.geotools.gui.CRSSelectionDialog.init.crs.mess=CRS-Datenbank wird initialisiert. Bitte warten...
+schmitzm.geotools.gui.CRSSelectionDialog.title=Koordinaten-System (CRS) ausw\u00E4hlen
+schmitzm.geotools.gui.CRSSelectionDialog.mandatory=CRS must be specified!
+schmitzm.geotools.gui.CRSSelectionDialog.button.wgs84=WGS-84 CRS
+schmitzm.geotools.gui.CRSSelectionDialog.button.default=Standard CRS (${0})
+schmitzm.geotools.gui.CRSSelectionDialog.button.predefined=Vordefiniert
+schmitzm.geotools.gui.CRSSelectionDialog.button.userDefined=Benutzerdefiniert:
+schmitzm.geotools.gui.JMapEditorPane.Err.MissingMap=Bevor ein neues Layer erstellt werden kann, muss ein Layer angezeigt werden (um CRS und geogr. Lage zu definieren).
+schmitzm.geotools.gui.JMapEditorPane.Err.Line.LessPoints=F\u00FCr ein Line-Feature m\u00FCssen mind. 2 Punkte definiert werden\!
+schmitzm.geotools.gui.JMapEditorPane.Err.Polygon.LessPoints=F\u00FCr ein Polygon-Feature m\u00FCssen mind. 3 Punkte definiert werden\!
+schmitzm.geotools.gui.JMapEditorToolBar.button.layer.new=Neues Layer erstellen
+schmitzm.geotools.gui.JMapEditorToolBar.button.layer.save=Layer abschliessen
+schmitzm.geotools.gui.JMapEditorToolBar.button.layer.cancel=Layer abbrechen
+schmitzm.geotools.gui.JMapEditorToolBar.button.edit.undo=Letzte Operation zur\u00FCcknehmen
+schmitzm.geotools.gui.JMapEditorToolBar.button.edit.redo=Letzte zur\u00FCckgenommene Operation wiederholen
+schmitzm.geotools.gui.JMapEditorToolBar.button.edit.clear=Layer leeren
+schmitzm.geotools.gui.JMapEditorToolBar.button.edit.finish=Neues Feature starten
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.dialog.title=Neues Layer erzeugen
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.title=Layer-Bezeichnung
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.title.default=Neues Layer
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type=Layer-Art
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.point=Punkt-Layer
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.line=Linien-Layer
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.layer.type.polygon=Polygon-Layer
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.ftype.title=Weitere Attribute
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.Err.GeomAttr=Attribut-Name '${0}' reserviert f\u00FCr das Default-Geometrie-Attribut.
+schmitzm.geotools.gui.JMapEditorToolBar.NewLayer.Err.AutoVal=Auto-Wert f\u00FCr Attribut-Typ '${0}' nicht m\u00F6glich.
+schmitzm.geotools.gui.JMapEditorToolBar.NewFeature.title=Neues Feature
+schmitzm.geotools.gui.StyleToolBar.FillColor=F\u00FCllfarbe
+schmitzm.geotools.gui.StyleToolBar.BorderColor=Randfarbe
+schmitzm.geotools.gui.StyleToolBar.BorderWidth=Randbreite
+schmitzm.geotools.gui.StyleToolBar.PointMark=Punkt-Style
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AttrName=Name
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AttrType=Typ
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.Nillable=Nullable
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.AutoValue=Auto-Wert
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.DefValue=Default
+schmitzm.geotools.gui.FeatureTypeBuilderTableModel.NewAttr=ATTR_${0}
+
+schmitzm.geotools.gui.SelectableFeatureTablePane.button.clearSelection.tt=Auswahl aufheben
+schmitzm.geotools.gui.SelectableFeatureTablePane.button.selectionToTop.tt=Ausgew\u00E4hlte Zeilen in der Tabelle nach oben verschieben
+schmitzm.geotools.gui.SelectableFeatureTablePane.button.invertSelection.tt=Auswahl umkehren
+schmitzm.geotools.gui.SelectableFeatureTablePane.button.zoomToSelection.tt=Zoomt zu den ausgew\u00E4hlten Geoobjekten
+schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus=${0} von ${1} ${2} selektiert.
+schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.polygons=Polygonen
+schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.points=Punkten
+schmitzm.geotools.gui.SelectableFeatureTablePane.selectionStatus.lines=Linien
+
+
+schmitzm.geotools.gui.GridPanelFormatter_DHDN.title=DHDN - 1,234,567 (H|R)
+schmitzm.geotools.gui.GridPanelFormatter_LatLon1.title=Grad\u00B0 Minute' (N|O|S|W)
+#nice to have: schmitzm.geotools.gui.GridPanelFormatter_LatLon2.title=Grad\u00b0 Minute' Sek.'' (N|O|S|W)
+#nice to have: schmitzm.geotools.gui.GridPanelFormatter_LatLon3.title=Grad\u00b0 Minute' Hundertstel (N|O|S|W)
+
+schmitzm.geotools.gui.GridPanelFormatter.ToolTipTemplate=${0} in Einheit ${1}
+
+schmitzm.geotools.gui.GeoPositionLabel.LABEL_PREFIX=Maus-Koordinate\:
+
+MapPaneButtons.Pan.TT=Karte verschieben
+MapPaneButtons.Info.TT=Informationen zu Objekten abfragen
+MapPaneButtons.ZoomIn.TT=Auf einen Auschnitt zoomen
+MapPaneButtons.ZoomOut.TT=Aus der Karte herauszoomen
+MapPaneButtons.LastZoom.TT=Letzten Kartenausschnitt wiederherstellen
+MapPaneButtons.NextZoom.TT=N\u00E4chsten Kartenausschnitt wiederherstellen
+
+MapPaneButtons.Selection.AddSelection.TT=F\u00FCgt Objekte zur Selektion hinzu
+MapPaneButtons.Selection.RemoveSelection.TT=Entfernt Objekte aus der Selektion
+MapPaneButtons.Selection.SetSelection.TT=Setzt die Selektion auf die ausgew\u00E4hlten Objekte
+MapPaneButtons.Selection.ClearSelection.TT=Hebt alle Selektionen auf
+
+SearchMapDialog.Results.Column.Layer=Gefunden in
+SearchMapDialog.Results.Column.Name=Name
+SearchMapDialog.resultsTable.tt=Klicken Sie auf ein Ergebnis um es anzuzeigen.
+SearchMapDialog.searchString.Label=Suchbegriff eingeben:
+SearchMapDialog.searchString.tt=Geben Sie den Suchbegriff ein und dr\u00FCcken Sie [Enter]
+SearchMapDialog.title=Durchsuche Karte: ${0}
+SearchMapDialog.Explanation=<html>Es werden alle <b>Beschriftungen</b> dieser Karte durchsucht.</html>
+
Modified: trunk/src/schmitzm/lang/LangUtil.java
===================================================================
--- trunk/src/schmitzm/lang/LangUtil.java 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/lang/LangUtil.java 2010-10-07 21:30:45 UTC (rev 1080)
@@ -57,6 +57,16 @@
* @version 1.0
*/
public class LangUtil {
+ /** Eine Sekunde in Millisekunden. */
+ public static final long SEC_MILLIS = 1000;
+ /** Eine Minute in Millisekunden. */
+ public static final long MIN_MILLIS = 60 * SEC_MILLIS;
+ /** Eine Stunde in Millisekunden. */
+ public static final long HOUR_MILLIS = 60 * MIN_MILLIS;
+ /** Ein Tag in Millisekunden. */
+ public static final long DAY_MILLIS = 24 * HOUR_MILLIS;
+ /** Eine Woche in Millisekunden. */
+ public static final long WEEK_MILLIS = 7 * DAY_MILLIS;
final static Pattern onlyZerosRegEx = Pattern.compile("^([\\s0.,]*)$");
Modified: trunk/src/schmitzm/lang/tree/OperationTree.java
===================================================================
--- trunk/src/schmitzm/lang/tree/OperationTree.java 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/lang/tree/OperationTree.java 2010-10-07 21:30:45 UTC (rev 1080)
@@ -30,6 +30,7 @@
package schmitzm.lang.tree;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import java.util.regex.Pattern;
@@ -64,8 +65,10 @@
* <li>Test auf regulaeren Ausdruck: {@code "regex(expression,regular expr)"}</li>
* <li>n-tes Ergebnis eines {@linkplain String#split(String) String-Splits} ueber regulaeren Ausdruck: {@code "split(expression,regular expr,n)"}</li>
* <li>String-Ersetzung: {@code "replAll(expression,pattern expr,repl expr)"}</li>
- * <li>Umwandung eines Datums-String in Milli-Sekunden: {@code millis(string expr, format string expr)}
- * <li>Umwandung von Milli-Sekunden in einen Datums-String: {@code dateStr(num expr, format string expr)}
+ * <li>Umwandung eines Datums-String in Milli-Sekunden: {@code str2millis(string expr, format string expr)}
+ * <li>Umwandung eines Datums in Milli-Sekunden: {@code date2millis(year, month, day)}
+ * <li>Umwandung von Milli-Sekunden in einen Datums-String: {@code millis2Str(millis, format string expr)}
+ * <li>Umwandung eines Datums in einen Datums-String: {@code date2Str(year, month, day, format string expr)}
* </ul></li>
* <li>{@link UnaryOperatorNode}: Innere Knoten, die fuer einen 1-stelligen
* Operator auf dem <i>linken</i> Sohn stehen:
@@ -96,6 +99,8 @@
* <li>Zufallszahl zwischen 0 und 1: {@code "rand"} oder {@code "random"}</li>
* <li>"Not a number" (NaN): {@code "NaN"}</li>
* <li>Aktuelle Zeit in ms ({@link System#currentTimeMillis()}): {@code "CURR_MILLIS"}</li>
+ * <li>Ein Tag in ms ({@link LangUtil#DAY_MILLIS}): {@code "DAY_MILLIS"}</li>
+ * <li>Eine Woche in ms ({@link LangUtil#WEEK_MILLIS}): {@code "WEEK_MILLIS"}</li>
* </ul></li>
* <li>{@link ITENode}: ITE-Operator:<br>
* Der 3-stellige ITE-Operator {@code ITE(.,.,.)} drueckt die Bedingung
@@ -275,6 +280,81 @@
return result[idx];
}
+ if ( operator.equals("STR2MILLIS") ) {
+ // 2 Parameters (or more): STR2MILLIS(string expr, format string expr) -> long
+ if ( operand.length < 2 )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.LessParams1",2,operator) );
+ if ( !(operand[0] instanceof String) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",1,operator,"String") );
+ if ( !(operand[1] instanceof String) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",2,operator,"String") );
+ SimpleDateFormat formatter = new SimpleDateFormat(operand[1].toString());
+ try {
+ Date date = formatter.parse(operand[0].toString());
+ return date.getTime();
+ } catch (Exception err) {
+ throw new UnsupportedOperationException(err);
+ }
+ }
+
+ if ( operator.equals("DATE2MILLIS") ) {
+ // 3 Parameters (or more): DATE2MILLIS(year, month, day) -> long
+ if ( operand.length < 3 )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.LessParams1",3,operator) );
+ if ( !(operand[0] instanceof Number) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",1,operator,"Number") );
+ if ( !(operand[1] instanceof Number) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",2,operator,"Number") );
+ if ( !(operand[2] instanceof Number) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",3,operator,"Number") );
+ try {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(
+ ((Number)operand[0]).intValue(),
+ ((Number)operand[1]).intValue(),
+ ((Number)operand[2]).intValue()
+ );
+ return calendar.getTimeInMillis();
+ } catch (Exception err) {
+ throw new UnsupportedOperationException(err);
+ }
+ }
+
+ if ( operator.equals("MILLIS2STR") ) {
+ // 2 Parameters: MILLIS2STR(num expr, format string expr) -> string
+ if ( operand.length < 2 )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.LessParams1",2,operator) );
+ if ( !(operand[0] instanceof Number) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",1,operator,"Number") );
+ if ( !(operand[1] instanceof String) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",2,operator,"String") );
+ SimpleDateFormat formatter = new SimpleDateFormat(operand[1].toString());
+ long millis = ((Number)operand[0]).longValue();
+ Date date = new Date(millis);
+ return formatter.format(date);
+ }
+
+ if ( operator.equals("DATE2STR") ) {
+ // 4 Parameters (or more): DATE2STR(year, month, day, format string expr) -> string
+ if ( operand.length < 4 )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.LessParams1",4,operator) );
+ for (int i=0; i<3; i++)
+ if ( !(operand[i] instanceof Number) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",i+1,operator,"Number") );
+ if ( !(operand[3] instanceof String) )
+ throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.IllegalParam",4,operator,"String") );
+ SimpleDateFormat formatter = new SimpleDateFormat(operand[3].toString());
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(
+ ((Number)operand[0]).intValue(),
+ ((Number)operand[1]).intValue(),
+ ((Number)operand[2]).intValue()
+ );
+ Date date = calendar.getTime();
+ return formatter.format(date);
+ }
+
+
if ( operator.equals("REPLALL") ) {
if ( operand.length != 3 )
throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.LessParams2",3,operator) );
@@ -414,27 +494,8 @@
// boolean ret = Pattern.matches(operand2.toString(), operand1.toString());
return Pattern.matches(operand2.toString(), operand1.toString()) ? 1 : 0;
}
- if ( operator.equals("MILLIS") ) {
- SimpleDateFormat formatter = new SimpleDateFormat(operand2.toString());
- try {
- Date date = formatter.parse(operand1.toString());
- return date.getTime();
- } catch (Exception err) {
- throw new UnsupportedOperationException(err);
- }
- }
}
- // Long/String-Operationen
- if ( operand1 instanceof Number && operand2 instanceof String ) {
- if ( operator.equals("DATESTR") ) {
- SimpleDateFormat formatter = new SimpleDateFormat(operand2.toString());
- long millis = ((Number)operand1).longValue();
- Date date = new Date(millis);
- return formatter.format(date);
- }
- }
-
String op1Class = (operand1 != null) ? operand1.getClass().getSimpleName() : null;
String op2Class = (operand2 != null) ? operand2.getClass().getSimpleName() : null;
throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.UnknownOperator",operator+" ("+op1Class+", "+op2Class+")") );
@@ -544,7 +605,11 @@
* Wertet einen 0-stelligen Operator (Alias oder Variable) aus.
* Als Operator unterstuetzt diese Methode
* <ul>
- * <li>Zufallszahl zwischen 0 und 1: {@code "rand"} oder {@code "random"}</li>
+ * <li>Zufallszahl zwischen 0 und 1: {@code "RAND"} oder {@code "RANDOM"}</li>
+ * <li>Not-a-Number: {@code "NAN"}</li>
+ * <li>Aktuelle Zeit in ms ({@link System#currentTimeMillis()}): {@code "CURR_MILLIS"}</li>
+ * <li>Ein Tag in ms ({@link LangUtil#DAY_MILLIS}): {@code "DAY_MILLIS"}</li>
+ * <li>Eine Woche in ms ({@link LangUtil#WEEK_MILLIS}): {@code "WEEK_MILLIS"}</li>
* </ul>
* @param operator 0-stelliger Operator
*/
@@ -557,6 +622,10 @@
return Double.NaN;
if ( operator.equals("CURR_MILLIS") )
return System.currentTimeMillis();
+ if ( operator.equals("DAY_MILLIS") )
+ return LangUtil.DAY_MILLIS;
+ if ( operator.equals("WEEK_MILLIS") )
+ return LangUtil.WEEK_MILLIS;
throw new UnsupportedOperationException( LangUtil.RESOURCE.getString("OperationTree.err.UnknownAliasOperator",operator) );
}
Modified: trunk/src/schmitzm/lang/tree/OperationTreeParser.java
===================================================================
--- trunk/src/schmitzm/lang/tree/OperationTreeParser.java 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/lang/tree/OperationTreeParser.java 2010-10-07 21:30:45 UTC (rev 1080)
@@ -61,6 +61,8 @@
* <li>boolesches WAHR (1): {@code "TRUE"}</li>
* <li>boolesches FALSCH (0): {@code "FALSE"}</li>
* <li>Aktuelle Zeit in ms ({@link System#currentTimeMillis()}): {@code "CURR_MILLIS"}</li>
+ * <li>Ein Tag in ms ({@link LangUtil#DAY_MILLIS}): {@code "DAY_MILLIS"}</li>
+ * <li>Eine Woche in ms ({@link LangUtil#WEEK_MILLIS}): {@code "WEEK_MILLIS"}</li>
* </ul></li>
* <li>konstante String Werte: {@link ConstantNode}</li>
* <ul>
@@ -91,13 +93,15 @@
* <li>String-Konkatenation: {@code "+"}</li>
* <li>Test auf regulaeren Ausdruck: {@code "regex(expression,regular expr)"}</li>
* <li>n-tes Ergebnis eines {@linkplain String#split(String) String-Splits} ueber regulaeren Ausdruck: {@code "split(expression,regular expr,n)"}</li>
- * <li>Umwandung eines Datums-String in Milli-Sekunden: {@code millis(string expr, format string expr)}
- * <li>Umwandung von Milli-Sekunden in einen Datums-String: {@code dateStr(num expr, format string expr)}
* </ul></li>
* <li>den mehr-stelligen Zeichenketten-Operatoren: {@link MultiParamOperatorNode}
* <ul>
* <li>Teil-String: {@code "substr(expression,startPos_inkl,endPos_exkl)"}</li>
* <li>String-Ersetzung: {@code "replAll(expression,pattern,replacement)"}</li>
+ * <li>Umwandung eines Datums-String in Milli-Sekunden: {@code str2millis(string expr, format string expr)}
+ * <li>Umwandung eines Datums in Milli-Sekunden: {@code date2millis(year, month, day)}
+ * <li>Umwandung von Milli-Sekunden in einen Datums-String: {@code millis2Str(millis, format string expr)}
+ * <li>Umwandung eines Datums in einen Datums-String: {@code date2Str(year, month, day, format string expr)}
* </ul></li>
* <li>die 1-stelligen Operatoren: {@link UnaryOperatorNode}
* <ul>
@@ -955,7 +959,8 @@
}
// Zufallszahl oder NaN-Konstante
if ( token.equals("rand") || token.equals("random") ||
- token.equals("nan") || token.equals("curr_millis")) {
+ token.equals("nan") || token.equals("curr_millis") ||
+ token.equals("day_millis") || token.equals("week_millis") ) {
return new OperationTree.ConstantAliasNode(token);
}
// ITE(a,b,c) = IF a THEN b ELSE c
@@ -982,27 +987,42 @@
return new OperationTree.MultiParamOperatorNode(token,null,splitParam);
}
- // MILLIS(string,formatexpr) = Umwandung von Datums-String (in angebenen Format) in Millisekunden
- if ( token.equals("millis") ) {
+ // STR2MILLIS(string,formatexpr) = Umwandung von Datums-String (in angebenen Format) in Millisekunden
+ if ( token.equals("str2millis") ) {
// Parameter fuer MILLIS parsen
- BinaryTreeNode[] millisParam = parseFunctionParameters("MILLIS",2);
+ BinaryTreeNode[] millisParam = parseFunctionParameters("STR2MILLIS",2);
// Baum fuer MILLIS
- return new OperationTree.OperatorNode(token,millisParam[0],millisParam[1]);
+ return new OperationTree.MultiParamOperatorNode(token,null,millisParam);
}
+ // DATE2MILLIS(year,month,day) = Umwandung von Datum in Millisekunden
+ if ( token.equals("date2millis") ) {
+ // Parameter fuer MILLIS parsen
+ BinaryTreeNode[] millisParam = parseFunctionParameters("DATE2MILLIS",3);
+ // Baum fuer MILLIS
+ return new OperationTree.MultiParamOperatorNode(token,null,millisParam);
+ }
- // DATE(num,formatexpr) = Umwandung von Millisekunden in Datums-String (in angebenen Format)
- if ( token.equals("datestr") ) {
- // Parameter fuer MILLIS parsen
- BinaryTreeNode[] millisParam = parseFunctionParameters("DATESTR",2);
+ // MILLIS2STR(num,formatexpr) = Umwandung von Millisekunden in Datums-String (in angebenen Format)
+ if ( token.equals("millis2str") ) {
+ // Parameter fuer DATESTR parsen
+ BinaryTreeNode[] datestrParam = parseFunctionParameters("MILLIS2STR",2);
// Baum fuer DATESTR
- return new OperationTree.OperatorNode(token,millisParam[0],millisParam[1]);
+ return new OperationTree.MultiParamOperatorNode(token,null,datestrParam);
}
+ // DATE2STR(year,month,day,formatexpr) = Umwandung von Datum in Datums-String (in angebenen Format)
+ if ( token.equals("date2str") ) {
+ // Parameter fuer DATESTR parsen
+ BinaryTreeNode[] datestrParam = parseFunctionParameters("DATE2STR",4);
+ // Baum fuer DATESTR
+ return new OperationTree.MultiParamOperatorNode(token,null,datestrParam);
+ }
+
// SUBSTR(string,startPos_inkl,endPos_exkl) = Teil-String
if ( token.equals("substr") ) {
// Parameter fuer SUBSTR parsen
BinaryTreeNode[] substrParam = parseFunctionParameters("SUBSTR",3);
- // Baum fuer SPLIT
+ // Baum fuer SUBSTR
return new OperationTree.MultiParamOperatorNode(token,null,substrParam);
}
@@ -1216,11 +1236,18 @@
avOperators.add("len");
avOperators.add("toupper");
avOperators.add("tolower");
- avOperators.add("ITE");
- avOperators.add("REGEX");
- avOperators.add("SUBSTR");
+ avOperators.add("ite");
+ avOperators.add("regex");
+ avOperators.add("substr");
+ avOperators.add("split");
+ avOperators.add("str2millis");
+ avOperators.add("date2millis");
+ avOperators.add("millis2str");
+ avOperators.add("date2str");
+ avOperators.add("day_millis");
+ avOperators.add("week_millis");
// Die "einfachen Operatoren" and Ende setzen, da diese eigentlich
- // menuell eingegeben werden und nicht so oft gebraucht werden
+ // manuell eingegeben werden und nicht so oft gebraucht werden
avOperators.add("+");
avOperators.add("-");
avOperators.add("*");
@@ -1317,6 +1344,7 @@
op.equalsIgnoreCase("ln") || op.equalsIgnoreCase("log") ||
op.equalsIgnoreCase("val") || op.equalsIgnoreCase("str") ||
op.equalsIgnoreCase("toupper") || op.equalsIgnoreCase("tolower") ||
+ op.equalsIgnoreCase("STR2MILLIS") || op.equalsIgnoreCase("MILLIS2STR") ||
op.equalsIgnoreCase("!") )
return 1;
@@ -1325,9 +1353,14 @@
return 2;
// Funktionen mit drei geklammerten Parameter
- if (op.equalsIgnoreCase("ITE") || op.equalsIgnoreCase("SUBSTR") )
+ if (op.equalsIgnoreCase("ITE") || op.equalsIgnoreCase("SUBSTR") ||
+ op.equalsIgnoreCase("SPLIT") || op.equalsIgnoreCase("DATE2MILLIS") )
return 3;
+ // Funktionen mit vier geklammerten Parameter
+ if (op.equalsIgnoreCase("DATE2STR"))
+ return 4;
+
// sonst: Konstante/Alias angenommen
return 0;
}
Modified: trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle.properties
===================================================================
--- trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle.properties 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle.properties 2010-10-07 21:30:45 UTC (rev 1080)
@@ -117,9 +117,16 @@
OperationTreePanel.OpDesc.len=len($TEXT)
OperationTreePanel.OpDesc.toupper=toupper($TEXT)
OperationTreePanel.OpDesc.tolower=tolower($TEXT)
-OperationTreePanel.OpDesc.ITE=IF .. THEN .. ELSE
-OperationTreePanel.OpDesc.REGEX=REGEX( $TEXT , REGEX)
-OperationTreePanel.OpDesc.SUBSTR=SUBSTRING( $TEXT , $NUMBER , $NUMBER)
+OperationTreePanel.OpDesc.ite=IF .. THEN .. ELSE
+OperationTreePanel.OpDesc.regex=REGEX( $TEXT , $REGEX)
+OperationTreePanel.OpDesc.substr=SUBSTRING( $TEXT , $NUMBER , $NUMBER)
+OperationTreePanel.OpDesc.split=SPLIT( $TEXT , $REGEX , $NUMBER)
+OperationTreePanel.OpDesc.str2millis=str2millis( $TEXT , $TEXT)
+OperationTreePanel.OpDesc.date2millis=date2millis( $YEAR, $MONTH, $DAY)
+OperationTreePanel.OpDesc.millis2str=millis2str( $NUMBER , $FORMAT)
+OperationTreePanel.OpDesc.date2str=date2millis( $YEAR, $MONTH, $DAY, $FORMAT)
+OperationTreePanel.OpDesc.day_millis=DAY_MILLIS
+OperationTreePanel.OpDesc.week_millis=WEEK_MILLIS
OperationTreePanel.OpDesc.plus=+
OperationTreePanel.OpDesc.minus=-
OperationTreePanel.OpDesc.multiply=*
@@ -163,6 +170,13 @@
OperationTreePanel.OpTooltip.ite=Specifies a logical test to be performed.
OperationTreePanel.OpTooltip.regex=Performs regular-expressions operation on a text.
OperationTreePanel.OpTooltip.substr=Returns only a part of a text.
+OperationTreePanel.OpTooltip.split=Returns the n-th result of a text split over a regular expression.
+OperationTreePanel.OpTooltip.str2millis=Converts a date from string to milliseconds
+OperationTreePanel.OpTooltip.date2millis=Converts a date to milliseconds
+OperationTreePanel.OpTooltip.millis2str=Converts milliseconds to a date string
+OperationTreePanel.OpTooltip.date2str=Converts a date to a date string
+OperationTreePanel.OpTooltip.day_millis=The value of a day in milliseconds
+OperationTreePanel.OpTooltip.week_millis=The value of a week in milliseconds
OperationTreePanel.OpTooltip.plus=Addition
OperationTreePanel.OpTooltip.minus=-Subtraction
OperationTreePanel.OpTooltip.multiply=Multiplication
Modified: trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle_de.properties
===================================================================
--- trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle_de.properties 2010-10-06 20:53:44 UTC (rev 1079)
+++ trunk/src/schmitzm/swing/resource/locales/SwingResourceBundle_de.properties 2010-10-07 21:30:45 UTC (rev 1080)
@@ -145,9 +145,16 @@
OperationTreePanel.OpTooltip.len=Berechnet die L\u00E4nge eines Texts.
OperationTreePanel.OpTooltip.toupper=Konvertiert Text in Gro\u00DFbuchstaben.
OperationTreePanel.OpTooltip.tolower=Konvertiert Text in Kleinbuchstaben.
-OperationTreePanel.OpTooltip.ITE=Spezifiziert einen logischen Test.
-OperationTreePanel.OpTooltip.REGEX=Wertet einen regul\u00E4ren Ausdruck auf einem Text aus.
-OperationTreePanel.OpTooltip.SUBSTR=Liefert einen Teil-String.
+OperationTreePanel.OpTooltip.ite=Spezifiziert einen logischen Test.
+OperationTreePanel.OpTooltip.regex=Wertet einen regul\u00E4ren Ausdruck auf einem Text aus.
+OperationTreePanel.OpTooltip.substr=Liefert einen Teil-String.
+OperationTreePanel.OpTooltip.split=Liefert das n-te Ergebnis eines Text-Split \u00fcber einem regul\u00E4ren Ausdruck
+OperationTreePanel.OpTooltip.str2millis=Konvertiert einen Datum-Text in Millisekunden
+OperationTreePanel.OpTooltip.date2millis=Konvertiert ein Datum in Millisekunden
+OperationTreePanel.OpTooltip.millis2str=Konvertiert Millisekunden in einen Datum-Text
+OperationTreePanel.OpTooltip.date2str=Konvertiert ein Datum in einen Datum-Text
+OperationTreePanel.OpTooltip.day_millis=Ein Tag in Millisekunden
+OperationTreePanel.OpTooltip.week_millis=Eine Woche in Millisekunden
OperationTreePanel.OpTooltip.plus=Addition
OperationTreePanel.OpTooltip.minus=Subtraktion
OperationTreePanel.OpTooltip.multiply=Multiplikation
More information about the Schmitzm-commits
mailing list