Revision: 6269 http://sourceforge.net/p/jump-pilot/code/6269 Author: ma15569 Date: 2020-05-31 06:40:03 +0000 (Sun, 31 May 2020) Log Message: ----------- Added new souce code tree. Removed obsolete files/folder.
Added Paths: ----------- plug-ins/CadPlan_VertexSymbols/trunk/src/FileChooser.java plug-ins/CadPlan_VertexSymbols/trunk/src/GridBagDesigner.java plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextComponent.java plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextSegment.java plug-ins/CadPlan_VertexSymbols/trunk/src/MyFileFilter.java plug-ins/CadPlan_VertexSymbols/trunk/src/TextFile.java plug-ins/CadPlan_VertexSymbols/trunk/src/VertexSymbolsExtension.java plug-ins/CadPlan_VertexSymbols/trunk/src/designer/ plug-ins/CadPlan_VertexSymbols/trunk/src/fileio/ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/IconLoader.java plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif plug-ins/CadPlan_VertexSymbols/trunk/src/jump/ plug-ins/CadPlan_VertexSymbols/trunk/src/language/ plug-ins/CadPlan_VertexSymbols/trunk/src/language/I18NPlug.java plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin.properties plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_de.properties plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_en.properties plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fi.properties plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fr.properties plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_it.properties plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/StylerMenuPlugIn.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNoteDialog.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNotePlugin.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsClassificationDialog.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsDialog.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsPlugIn.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/ColorPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/TextLabelPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/TransparPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/VertexColorThemingPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/VertexParametersPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/panel/VertexSymbologyPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/ plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/AdvancedStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/AnyShapeVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/AnyShapeVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ExternalSymbolsImplType.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ExternalSymbolsImplType.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ExternalSymbolsRenderer.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ExternalSymbolsType.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ImageVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/ImageVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/PolygonVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/PolygonVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/StarVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/StarVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/WKTVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/renderer/style/WKTVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/ui/ plug-ins/CadPlan_VertexSymbols/trunk/src/ui/ImagePanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/ImageVertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/LabelCallout.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/PreviewPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/SVGRasterizer.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/SymbolPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/TextAreaEditor.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/TransparencyFilter.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/VectorPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/VertexColorButton.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/VertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/WKTPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/WKTVertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/ui/WKTshape.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/ plug-ins/CadPlan_VertexSymbols/trunk/src/utils/AttributeManagerUtils.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/DataWrapper.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/DataWrapper.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/utils/LoadSymbolFiles.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/StyleUtils.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/VertexParams.java plug-ins/CadPlan_VertexSymbols/trunk/src/utils/VertexStyler.java Removed Paths: ------------- plug-ins/CadPlan_VertexSymbols/trunk/Resources/ plug-ins/CadPlan_VertexSymbols/trunk/language/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/ Added: plug-ins/CadPlan_VertexSymbols/trunk/src/FileChooser.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/FileChooser.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/FileChooser.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,75 @@ +package com.cadplan.fileio; + +import java.awt.Component; +import java.io.File; +import java.util.Properties; +import javax.swing.JFileChooser; + +public class FileChooser { + JFileChooser chooser; + public String fileName; + public String dirName; + + public FileChooser(Component paramComponent, String paramString1, String paramString2, String[] paramArrayOfString, String paramString3, int paramInt) { + Properties properties = System.getProperties(); + File file; + if (paramString1 == null) { + file = new File(properties.getProperty("user.dir")); + } else { + file = new File(String.valueOf(paramString1) + File.separator); + } + + this.chooser = new JFileChooser(); + this.chooser.setDialogType(paramInt); + MyFileFilter myFileFilter = new MyFileFilter(paramString3, paramArrayOfString); + this.chooser.setFileFilter(myFileFilter); + this.chooser.setCurrentDirectory(file); + if (paramString2 != null) { + this.chooser.setSelectedFile(new File(paramString2)); + } + + int i; + if (paramInt == 0) { + i = this.chooser.showOpenDialog(paramComponent); + } else { + i = this.chooser.showSaveDialog(paramComponent); + } + + if (i == 0) { + this.fileName = this.chooser.getSelectedFile().getName(); + if (paramInt == 1) { + this.fileName = this.addExtension(this.fileName, paramArrayOfString); + } + + this.dirName = this.chooser.getCurrentDirectory().getPath(); + } else { + this.fileName = null; + } + + } + + public String getFile() { + return this.fileName; + } + + public String getDir() { + return this.dirName; + } + + private String addExtension(String paramString, String[] paramArrayOfString) { + boolean bool = false; + + for(byte b = 0; b < paramArrayOfString.length; ++b) { + String str = paramArrayOfString[b]; + if (paramString.toLowerCase().endsWith("." + str)) { + bool = true; + } + } + + if (!bool) { + paramString = String.valueOf(paramString) + "." + paramArrayOfString[0]; + } + + return paramString; + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/FileChooser.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/GridBagDesigner.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/GridBagDesigner.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/GridBagDesigner.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,94 @@ +package com.cadplan.designer; + +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import javax.swing.JComponent; + +public class GridBagDesigner { + private GridBagLayout layout = new GridBagLayout(); + private GridBagConstraints constraints = new GridBagConstraints(); + private Container container; + + public GridBagDesigner(Container paramContainer) { + paramContainer.setLayout(this.layout); + this.container = paramContainer; + this.setDefaults(); + } + + public void addComponent(Component paramComponent) { + this.layout.setConstraints(paramComponent, this.constraints); + this.container.add(paramComponent); + this.setDefaults(); + } + + public void addComponentRetain(Component paramComponent) { + this.layout.setConstraints(paramComponent, this.constraints); + this.container.add(paramComponent); + } + + public void addComponent(JComponent paramJComponent, int width, int height) { + Dimension dimension = new Dimension(width, height); + paramJComponent.setMinimumSize(dimension); + paramJComponent.setMaximumSize(dimension); + paramJComponent.setPreferredSize(dimension); + this.layout.setConstraints(paramJComponent, this.constraints); + this.container.add(paramJComponent); + this.setDefaults(); + } + + public void addComponentRetain(JComponent paramJComponent, int width, int height) { + Dimension dimension = new Dimension(width, height); + paramJComponent.setMinimumSize(dimension); + paramJComponent.setMaximumSize(dimension); + paramJComponent.setPreferredSize(dimension); + this.layout.setConstraints(paramJComponent, this.constraints); + this.container.add(paramJComponent); + } + + public void resetLayout() { + this.setDefaults(); + } + + public void setPosition(int column, int row) { + this.constraints.gridx = column; + this.constraints.gridy = row; + } + + public void setSpan(int column, int row) { + this.constraints.gridwidth = column; + this.constraints.gridheight = row; + } + + public void setWeight(double x, double y) { + this.constraints.weightx = x; + this.constraints.weighty = y; + } + + public void setFill(int space) { + this.constraints.fill = space; + } + + public void setAnchor(int position) { + this.constraints.anchor = position; + } + + public void setInsets(int top, int left, int bottom, int right) { + this.constraints.insets = new Insets(top, left, bottom, right); + } + + private void setDefaults() { + this.constraints.gridx = 0; + this.constraints.gridy = 0; + this.constraints.gridwidth = 1; + this.constraints.gridheight = 1; + this.constraints.fill = 0; + this.constraints.anchor = 10; + this.constraints.weightx = 0.0D; + this.constraints.weighty = 0.0D; + this.constraints.insets = new Insets(0, 0, 0, 0); + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/GridBagDesigner.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextComponent.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextComponent.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextComponent.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,130 @@ +package com.cadplan.jump; + +import com.cadplan.jump.ui.LabelCallout; +import com.cadplan.jump.ui.TransparencyFilter; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.MediaTracker; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.image.BufferedImage; +import java.awt.image.FilteredImageSource; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import javax.swing.JEditorPane; +import javax.swing.JWindow; + +public class HTMLTextComponent extends Component { + private static final long serialVersionUID = 1L; + boolean debug = false; + String text; + double offset; + float x0; + float y0; + Color backgroundColor; + Color foregroundColor; + double alpha; + Image timage; + public int imageWidth; + public int imageHeight; + int border; + int position; + boolean fillText; + String fontName; + int fontSize; + double scaleFactor = 4.0D; + MediaTracker mediaTracker = new MediaTracker(this); + + public HTMLTextComponent(String text, double offset, float x0, float y0, Color backgroundColor, Color foregroundColor, double alpha, int border, int position, boolean fillText, String fontName, int fontSize) { + this.text = text; + this.offset = offset; + this.x0 = x0; + this.y0 = y0; + this.backgroundColor = backgroundColor; + this.foregroundColor = foregroundColor; + this.alpha = alpha; + this.border = border; + this.position = position; + this.fillText = fillText; + this.fontName = fontName; + this.fontSize = fontSize; + this.timage = this.createTextImage(); + } + + private Image createTextImage() { + JWindow frame = new JWindow(); + JEditorPane editorPane = new JEditorPane(); + editorPane.setForeground(this.foregroundColor); + Font font = new Font(this.fontName, 0, (int)((double)this.fontSize * this.scaleFactor)); + editorPane.setFont(font); + editorPane.putClientProperty("JEditorPane.honorDisplayProperties", true); + editorPane.setBackground(Color.WHITE); + editorPane.setDoubleBuffered(false); + editorPane.setEditable(false); + editorPane.setContentType("text/html"); + editorPane.setText(this.text); + Rectangle bounds = editorPane.getBounds(); + if (this.debug) { + System.out.println("Painting text: " + this.text); + } + + frame.setContentPane(editorPane); + frame.pack(); + Dimension size = editorPane.getSize(); + BufferedImage image = new BufferedImage(size.width, size.height, 1); + Graphics2D graphics = image.createGraphics(); + editorPane.paint(graphics); + this.mediaTracker.addImage(image, 0); + + try { + this.mediaTracker.waitForID(0); + } catch (InterruptedException var9) { + return null; + } + + if (image == null) { + if (this.debug) { + System.out.println("Image is null"); + } + + return null; + } else { + this.alpha = 0.0D; + Image timage = this.makeTransparent(image, Color.WHITE, this.alpha); + if (this.debug) { + System.out.println("TImage size: " + timage.getWidth((ImageObserver)null) + "," + timage.getHeight((ImageObserver)null)); + } + + this.imageWidth = (int)((double)timage.getWidth((ImageObserver)null) / this.scaleFactor); + this.imageHeight = (int)((double)timage.getHeight((ImageObserver)null) / this.scaleFactor); + return timage; + } + } + + public void paint(Graphics g, float x, float y, double drawFactor) { + int width = this.imageWidth; + int height = this.imageHeight; + new LabelCallout(g, this.border, this.position, (int)this.x0, (int)this.y0, (int)x, (int)y, width - 1, height - 1, this.foregroundColor, this.backgroundColor, this.fillText); + Graphics2D g2 = (Graphics2D)g; + g2.drawImage(this.timage, (int)x, (int)y, width, height, (ImageObserver)null); + } + + private Image makeTransparent(Image image, Color color, double alpha) { + TransparencyFilter filter = new TransparencyFilter(color, alpha); + ImageProducer ip = new FilteredImageSource(image.getSource(), filter); + Image timage = Toolkit.getDefaultToolkit().createImage(ip); + this.mediaTracker.addImage(timage, 2); + + try { + this.mediaTracker.waitForID(2); + return timage; + } catch (InterruptedException var9) { + return null; + } + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextComponent.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextSegment.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextSegment.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextSegment.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,45 @@ +package com.cadplan.jump; + +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.font.FontRenderContext; +import java.awt.font.TextLayout; +import java.awt.geom.Rectangle2D; + +public class HTMLTextSegment { + private boolean debug = false; + private String line; + private int size; + private int style; + private double height; + private double width; + private double lineSpace; + private String fontName; + private Font font; + + public HTMLTextSegment(Graphics2D g, String line, String fontName, int size, int style) { + this.fontName = fontName; + this.line = line; + this.size = size; + this.style = style; + this.font = new Font(fontName, style, size); + FontRenderContext frc = g.getFontRenderContext(); + TextLayout layout = new TextLayout(line, this.font, frc); + this.lineSpace = (double)(layout.getAscent() + layout.getDescent()); + Rectangle2D bounds = layout.getBounds(); + this.width = bounds.getWidth(); + this.height = bounds.getHeight(); + } + + public double getHeight() { + return this.height; + } + + public double getWidth() { + return this.width; + } + + public Font getFont() { + return this.font; + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/HTMLTextSegment.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/MyFileFilter.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/MyFileFilter.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/MyFileFilter.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,65 @@ +package com.cadplan.fileio; + +import java.io.File; +import javax.swing.filechooser.FileFilter; + +class MyFileFilter extends FileFilter { + String description; + String[] extensions; + boolean acceptAll; + + public MyFileFilter(String paramString1, String paramString2) { + this(paramString1, new String[]{paramString2}); + } + + public MyFileFilter(String paramString, String[] paramArrayOfString) { + this.acceptAll = false; + if (paramString == null) { + this.description = "Files like: " + paramArrayOfString[0]; + } else { + this.description = paramString; + } + + this.extensions = (String[])paramArrayOfString.clone(); + this.toLower(this.extensions); + + for(byte b = 0; b < this.extensions.length; ++b) { + if (this.extensions[b].equals("*")) { + this.acceptAll = true; + } + } + + } + + private void toLower(String[] paramArrayOfString) { + byte b = 0; + + for(int i = paramArrayOfString.length; b < i; ++b) { + paramArrayOfString[b] = paramArrayOfString[b].toLowerCase(); + } + + } + + public String getDescription() { + return this.description; + } + + public boolean accept(File paramFile) { + if (paramFile.isDirectory()) { + return true; + } else if (this.acceptAll) { + return true; + } else { + String str = paramFile.getAbsolutePath().toLowerCase(); + + for(byte b = 0; b < this.extensions.length; ++b) { + String str1 = this.extensions[b]; + if (str.endsWith(str1) && str.charAt(str.length() - str1.length() - 1) == '.') { + return true; + } + } + + return false; + } + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/MyFileFilter.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/TextFile.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/TextFile.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/TextFile.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,101 @@ +package com.cadplan.fileio; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.Properties; + +public class TextFile { + String fileName; + String dirName; + BufferedReader reader = null; + FileWriter writer = null; + + public TextFile(String paramString1, String paramString2) { + this.dirName = paramString1; + Properties properties = System.getProperties(); + if (paramString1 == null) { + this.dirName = properties.getProperty("user.dir"); + } + + this.fileName = paramString2; + } + + public boolean exists() { + File file = new File(String.valueOf(this.dirName) + File.separator + this.fileName); + return file.exists(); + } + + public boolean openRead() { + File file = new File(String.valueOf(this.dirName) + File.separator + this.fileName); + + try { + this.reader = new BufferedReader(new FileReader(file)); + return true; + } catch (FileNotFoundException var3) { + return false; + } + } + + public boolean openWrite() { + File file = new File(String.valueOf(this.dirName) + File.separator + this.fileName); + + try { + this.writer = new FileWriter(file); + return true; + } catch (IOException var3) { + return false; + } + } + + public String readLine() { + try { + return this.reader.readLine(); + } catch (IOException var2) { + return null; + } + } + + public String readAll() { + String str = ""; + StringBuffer stringBuffer = new StringBuffer(); + + try { + while(str != null) { + str = this.reader.readLine(); + if (str != null) { + stringBuffer.append(String.valueOf(str) + "\n"); + } + } + } catch (IOException var4) { + return stringBuffer.toString(); + } + + return stringBuffer.toString(); + } + + public boolean write(String paramString) { + try { + this.writer.write(paramString); + return true; + } catch (IOException var3) { + return false; + } + } + + public void close() { + try { + if (this.reader != null) { + this.reader.close(); + } else if (this.writer != null) { + this.writer.flush(); + this.writer.close(); + } + } catch (IOException var2) { + } + + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/TextFile.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/VertexSymbolsExtension.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/VertexSymbolsExtension.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/VertexSymbolsExtension.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,21 @@ +package com.cadplan.jump; + +import com.cadplan.jump.plugins.StylerMenuPlugIn; +import com.vividsolutions.jump.workbench.plugin.Extension; +import com.vividsolutions.jump.workbench.plugin.PlugInContext; + +public class VertexSymbolsExtension extends Extension { + @Override + public void configure(PlugInContext context) throws Exception { + // new VertexSymbolsPlugIn().initialize(context); + // new VertexNotePlugin().initialize(context); + new StylerMenuPlugIn().initialize(context); + + + } + + @Override + public String getVersion() { + return "0.20 (2020-05-30)"; + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/VertexSymbolsExtension.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/IconLoader.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/IconLoader.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/IconLoader.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,66 @@ +package com.cadplan.jump.icon; + +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.image.BufferedImage; +import java.awt.image.ImageObserver; +import java.net.URL; +import javax.swing.ImageIcon; +import org.apache.log4j.Logger; +import org.saig.jump.lang.I18N; + +public class IconLoader { + public static final ImageIcon DEFAULT_UNKNOW_ICON = new ImageIcon(IconLoader.class.getResource("default_icon.png")); + public static final Logger LOGGER = Logger.getLogger(IconLoader.class); + + public static ImageIcon icon(String filename) { + return icon(filename, true); + } + + public static ImageIcon icon(String filename, boolean useDefaultForNull) { + URL urlIcon = IconLoader.class.getResource(filename); + if (urlIcon == null) { + if (useDefaultForNull) { + LOGGER.warn(I18N.getMessage("com.vividsolutions.jump.workbench.ui.images.IconLoader.The-icon-{0}-has-not-been-found-default-icon-will-be-used", new Object[]{filename})); + return DEFAULT_UNKNOW_ICON; + } else { + return null; + } + } else { + return new ImageIcon(urlIcon); + } + } + + public static ImageIcon icon(URL url) { + if (url == null) { + LOGGER.warn(I18N.getMessage("com.vividsolutions.jump.workbench.ui.images.IconLoader.The-icon-{0}-has-not-been-found-default-icon-will-be-used", new Object[]{url})); + return DEFAULT_UNKNOW_ICON; + } else { + return new ImageIcon(url); + } + } + + public static BufferedImage image(String filename) { + ImageIcon icon = icon(IconLoader.class.getResource(resolveFile(filename))); + Image image = icon.getImage(); + BufferedImage bufImg = new BufferedImage(image.getWidth((ImageObserver)null), image.getHeight((ImageObserver)null), 2); + Graphics2D bGr = bufImg.createGraphics(); + bGr.drawImage(image, 0, 0, (ImageObserver)null); + bGr.dispose(); + return bufImg; + } + + protected static String resolveFile(String filename) { + String[] var4; + int var3 = (var4 = new String[]{"", "famfam/", "fugue/"}).length; + + for(int var2 = 0; var2 < var3; ++var2) { + String path = var4[var2]; + if (IconLoader.class.getResource(path + filename) != null) { + return path + filename; + } + } + + return filename; + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/IconLoader.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Line.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Palette.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/Vertex.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/application_view.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/default_icon.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/noteicon.gif ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif =================================================================== (Binary files differ) Index: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif 2020-05-31 06:37:23 UTC (rev 6268) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif 2020-05-31 06:40:03 UTC (rev 6269) Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/icon/vsicon.gif ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/I18NPlug.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/I18NPlug.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/I18NPlug.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,16 @@ +package com.cadplan.jump.language; + +import com.vividsolutions.jump.I18N; +import java.io.File; + +public class I18NPlug { + private static File path = new File("com/cadplan/jump/language/VertexSymbolsPlugin"); + + public static String getI18N(String key) { + return getMessage(key); + } + + public static String getMessage(String label, Object... objects) { + return I18N.getMessage(path, label, objects); + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/I18NPlug.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,89 @@ +# Properties file for the VertexSymbols Plugins - default language if none specified +VertexSymbols.MenuName=Extension +VertexSymbols.MenuItem=Vertex Symbols +VertexSymbols.SymbolName = Symbol: +VertexSymbols.Dialog=Vertex Symbol Dialog +VertexSymbols.Dialog.Size=Size +VertexSymbols.Dialog.Orientation=Orientation +VertexSymbols.Dialog.ShowLine=Show line +VertexSymbols.Dialog.ShowFill=Show fill +VertexSymbols.Dialog.Dotted=Dotted +VertexSymbols.Dialog.BaseScale=Base Scale +VertexSymbols.Dialog.SizeByScale=Size by Scale +VertexSymbols.Dialog.Cancel=Cancel +VertexSymbols.Dialog.About=About +VertexSymbols.Dialog.Accept=Accept +VertexSymbols.Dialog.Reset=Reset +VertexSymbols.Dialog.Clear=Clear +VertexSymbols.Dialog.Warning1=Error in Size field +VertexSymbols.Dialog.Warning2=Error in Orientation field +VertexSymbols.Dialog.Warning3=Error in Base Scale field +VertexSymbols.Dialog.Warning4=You must choose a vertex type +VertexSymbols.Dialog.Warning5=You are about to remove the special symbols from this layer.\nPlease confirm. +VertexSymbols.Dialog.Warning6=Attribute and Value boxes are empty +VertexSymbols.Dialog.ByValue=By Value +VertexSymbols.Dialog.ByAttribute=By Attribute +VertexSymbols.Dialog.Vector=Vector +VertexSymbols.Dialog.Image=Image +VertexSymbols.Dialog.WKTshapes=WKT Shapes +VertexSymbols.Dialog.Enabled=Enabled +VertexSymbols.Dialog.Attribute=Attribute +VertexSymbols.Dialog.Font=Font +VertexSymbols.Dialog.Position=Position +VertexSymbols.Dialog.BackColor=Back Color +VertexSymbols.Dialog.ForeColor=Fore Color +VertexSymbols.Dialog.Border=Border +VertexSymbols.Dialog.FillBackground=Fill Background +VertexSymbols.Dialog.Scope=Scope +VertexSymbols.Dialog.Points=Points +VertexSymbols.Dialog.Lines=Lines +VertexSymbols.Dialog.Polygons=Polygons +VertexSymbols.Dialog.Plain=Plain +VertexSymbols.Dialog.Bold=Bold +VertexSymbols.Dialog.PlainItalic=Plain+Italic +VertexSymbols.Dialog.BoldItalic=Bold+Italic +VertexSymbols.Dialog.Left=Left +VertexSymbols.Dialog.Centre=Centre +VertexSymbols.Dialog.Right=Right +VertexSymbols.Dialog.North=North +VertexSymbols.Dialog.NorthEast=North-East +VertexSymbols.Dialog.East=East +VertexSymbols.Dialog.SouthEast=South-East +VertexSymbols.Dialog.South=South +VertexSymbols.Dialog.SouthWest=South-West +VertexSymbols.Dialog.West=West +VertexSymbols.Dialog.NorthWest=North-West +VertexSymbols.Dialog.None=None +VertexSymbols.Dialog.Auto=Auto +VertexSymbols.Dialog.Value=Value -> +VertexSymbols.Dialog.Boxed=Boxed +VertexSymbols.Dialog.Callout= Callout +VertexSymbols.Dialog.Labels=Labels +VertexNote.Dialog.Editor=Vertex Note Editor +VertexNote.Dialog.Message1=You must first select a feature +VertexNote.Dialog.ShowLabel=Show Label +VertexNote.Dialog.Message2=You must have a layer selected. +VertexNote.Dialog.Message3=Layer containing selected feature must be editable. +VertexNote.Dialog.Message4=The selected feature must be in a layer with a defined External symbol. +VertexNote.Dialog.Message8=Vertex Note doesn't work if colour theming is enabled. Please deactivate it. +VertexNote.Dialog.SelectSymbol=Select Symbol +VertexNote.MenuItem=Vertex notes +VertexSymbols.Dialog.ActivateLabels=Show also JUMP labels +VertexSymbols.Dialog.ActivateLabels.tooltip=Show also the label set with preset Style PlugIn.\nIn this case 2 labels will be shown +VertexSymbols.Dialog.Warning7=No colour theming is activated +VertexSymbols.Dialog.Warning8=Warning. Vertex attribute theming doen't match the Feature Schema of the layer +VertexSymbols.VertexColorThemingDualog.manual = Double click on a symbol to change it +VertexSymbols.Dialog.activate-line-decoration = Activate line decoration +VertexSymbols.Dialog.activate-line-decoration-tooltip = Put symbols along a line in a regular distance.User can define distance, offset and rotation of the symbols. Vertex simbology will be deactivated +VertexSymbols.Dialog.line-distance=Distance +VertexSymbols.Dialog.line-offset=Offset +VertexSymbols.Dialog.line-rotate=Rotate +VertexSymbols.Dialog.line-distance-tooltip=define the distance between each symbol along the line +VertexSymbols.Dialog.line-offset-tooltip=define the perpendicular distance (offset) of the symbol to the axis of line +VertexSymbols.Dialog.line-rotate-tooltip=Enable: the vertical axis of simbols wis aligned along the direction of the line. Disable: the axis will be aligned along the vertical direction +VertexSymbols.Dialog.vertex-decoration-tooltip = Vertex symbology. User can define size, rotation by fix value or by attribute values and scale of symbols +VertexSymbols.Dialog.line-decoration=Line decoration +VertexSymbols.Dialog.vertex-decoration=Vertex decoration +VertexSymbols.Dialog.save-panel-as-result-view=Save panel as result view +VertexSymbols.Dialog.legend=Legend +VertexSymbols.Dialog.panel-saved=Legend panel saved as result view (see OpenJUMP Toolbar>Windows>Resul views) \ No newline at end of file Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_de.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_de.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_de.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,66 @@ +# Properties file for the VertexSymbols Plugins - default language if none specified +VertexSymbols.MenuName=Extension +VertexSymbols.MenuItem=Vertex Symbols +VertexSymbols.Dialog=Vertex Symbol Dialog +VertexSymbols.Dialog.Size=Size +VertexSymbols.Dialog.Orientation=Orientation +VertexSymbols.Dialog.ShowLine=Show line +VertexSymbols.Dialog.ShowFill=Show fill +VertexSymbols.Dialog.Dotted=Dotted +VertexSymbols.Dialog.Cancel=Cancel +VertexSymbols.Dialog.BaseScale=Base Scale +VertexSymbols.Dialog.SizeByScale=Size by Scale +VertexSymbols.Dialog.About=About +VertexSymbols.Dialog.Accept=Accept +VertexSymbols.Dialog.Clear=Clear +VertexSymbols.Dialog.Reset=Reset +VertexSymbols.Dialog.Warning1=Error in Size field +VertexSymbols.Dialog.Warning2=Error in Orientation field +VertexSymbols.Dialog.Warning3=Error in Base Scale field +VertexSymbols.Dialog.Warning4=You must choose a vertex type +VertexSymbols.Dialog.Warning5=You are about to remove the special symbols from this layer.\nPlease confirm. +VertexSymbols.Dialog.ByValue=By Value +VertexSymbols.Dialog.ByAttribute=By Attribute +VertexSymbols.Dialog.Vector=Vector +VertexSymbols.Dialog.Image=Image +VertexSymbols.Dialog.WKTshapes=WKT Shapes +VertexSymbols.Dialog.Enabled=Enabled +VertexSymbols.Dialog.Attribute=Atribute +VertexSymbols.Dialog.Font=Font +VertexSymbols.Dialog.Position=Position +VertexSymbols.Dialog.BackColor=Back Color +VertexSymbols.Dialog.ForeColor=Fore Color +VertexSymbols.Dialog.Border=Border +VertexSymbols.Dialog.FillBackground=Fill Background +VertexSymbols.Dialog.Scope=Scope +VertexSymbols.Dialog.Points=Points +VertexSymbols.Dialog.Lines=Lines +VertexSymbols.Dialog.Polygons=Polygons +VertexSymbols.Dialog.Plain=Plain +VertexSymbols.Dialog.Bold=Bold +VertexSymbols.Dialog.PlainItalic=Plain+Italic +VertexSymbols.Dialog.BoldItalic=Bold+Italic +VertexSymbols.Dialog.Left=Left +VertexSymbols.Dialog.Centre=Centre +VertexSymbols.Dialog.Right=Right +VertexSymbols.Dialog.North=North +VertexSymbols.Dialog.NorthEast=North-East +VertexSymbols.Dialog.East=East +VertexSymbols.Dialog.SouthEast=South-East +VertexSymbols.Dialog.South=South +VertexSymbols.Dialog.SouthWest=South-West +VertexSymbols.Dialog.West=West +VertexSymbols.Dialog.NorthWest=North-West +VertexSymbols.Dialog.None=None +VertexSymbols.Dialog.Auto=Auto +VertexSymbols.Dialog.Value=Value -> +VertexSymbols.Dialog.Boxed=Boxed +VertexSymbols.Dialog.Callout=Callout +VertexSymbols.Dialog.Labels=Labels +VertexNote.Dialog.Editor=Vertex Note Editor +VertexNote.Dialog.Message1=You must first select a feature +VertexNote.Dialog.ShowLabel=Show Label +VertexNote.Dialog.Message2=You must have a layer selected +VertexNote.Dialog.Message3=Layer containing selected feature must be editable. +VertexNote.Dialog.Message4=The selected feature must be in a layer with a defined External symbol. +VertexNote.Dialog.SelectSymbol=Select Symbol. Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_de.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_en.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_en.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_en.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,66 @@ +# Properties file for the VertexSymbols Plugins - default language if none specified +VertexSymbols.MenuName=Extension +VertexSymbols.MenuItem=Vertex Symbols +VertexSymbols.Dialog=Vertex Symbol Dialog +VertexSymbols.Dialog.Size=Size +VertexSymbols.Dialog.Orientation=Orientation +VertexSymbols.Dialog.ShowLine=Show line +VertexSymbols.Dialog.ShowFill=Show fill +VertexSymbols.Dialog.Dotted=Dotted +VertexSymbols.Dialog.BaseScale=Base Scale +VertexSymbols.Dialog.SizeByScale=Size by Scale +VertexSymbols.Dialog.Cancel=Cancel +VertexSymbols.Dialog.About=About +VertexSymbols.Dialog.Accept=Accept +VertexSymbols.Dialog.Clear=Clear +VertexSymbols.Dialog.Reset=Reset +VertexSymbols.Dialog.Warning1=Error in Size field +VertexSymbols.Dialog.Warning2=Error in Orientation field +VertexSymbols.Dialog.Warning3=Error in Base Scale field +VertexSymbols.Dialog.Warning4=You must choose a vertex type +VertexSymbols.Dialog.Warning5=You are about to remove the special symbols from this layer.\nPlease confirm. +VertexSymbols.Dialog.ByValue=By Value +VertexSymbols.Dialog.ByAttribute=By Attribute +VertexSymbols.Dialog.Vector=Vector +VertexSymbols.Dialog.Image=Image +VertexSymbols.Dialog.WKTshapes=WKT Shapes +VertexSymbols.Dialog.Enabled=Enabled +VertexSymbols.Dialog.Attribute=Attribute +VertexSymbols.Dialog.Font=Font +VertexSymbols.Dialog.Position=Position +VertexSymbols.Dialog.BackColor=Back Color +VertexSymbols.Dialog.ForeColor=Fore Color +VertexSymbols.Dialog.Border=Border +VertexSymbols.Dialog.FillBackground=Fill Background +VertexSymbols.Dialog.Scope=Scope +VertexSymbols.Dialog.Points=Points +VertexSymbols.Dialog.Lines=Lines +VertexSymbols.Dialog.Polygons=Polygons +VertexSymbols.Dialog.Plain=Plain +VertexSymbols.Dialog.Bold=Bold +VertexSymbols.Dialog.PlainItalic=Plain+Italic +VertexSymbols.Dialog.BoldItalic=Bold+Italic +VertexSymbols.Dialog.Left=Left +VertexSymbols.Dialog.Centre=Centre +VertexSymbols.Dialog.Right=Right +VertexSymbols.Dialog.North=North +VertexSymbols.Dialog.NorthEast=North-East +VertexSymbols.Dialog.East=East +VertexSymbols.Dialog.SouthEast=South-East +VertexSymbols.Dialog.South=South +VertexSymbols.Dialog.SouthWest=South-West +VertexSymbols.Dialog.West=West +VertexSymbols.Dialog.NorthWest=North-West +VertexSymbols.Dialog.Auto=Auto +VertexSymbols.Dialog.Value=Value -> +VertexSymbols.Dialog.None=None +VertexSymbols.Dialog.Boxed=Boxed +VertexSymbols.Dialog.Callout= Callout +VertexSymbols.Dialog.Labels=Labels +VertexNote.Dialog.Editor=Vertex Note Editor +VertexNote.Dialog.Message1=You must first select a feature +VertexNote.Dialog.ShowLabel=Show Label +VertexNote.Dialog.Message2=You must have a layer selected. +VertexNote.Dialog.Message3=Layer containing selected feature must be editable. +VertexNote.Dialog.Message4=The selected feature must be in a layer with a defined External symbol. +VertexNote.Dialog.SelectSymbol=Select Symbol Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_en.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fi.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fi.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fi.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,65 @@ +#VertexSymbolsPlugin_fi.properties +VertexNote.Dialog.Editor=Taitepisteiden tekstien muokkaus +VertexNote.Dialog.Message1=Valitse ensin tasan yksi kohde +VertexNote.Dialog.Message2=Taso t\u00E4ytyy olla valittuna. +VertexNote.Dialog.Message3=Tason, jolla on valittu kohde, t\u00E4ytyy olla muokattavissa. +VertexNote.Dialog.Message4=Valitun kohteen on oltava tasolla, jolle on m\u00E4\u00E4ritelty ulkoinen symboli. +VertexNote.Dialog.SelectSymbol=Valitse symboli +VertexNote.Dialog.ShowLabel=N\u00E4yt\u00E4 tunnus +VertexSymbols.Dialog.About=Tietoja +VertexSymbols.Dialog.Accept=Hyv\u00E4ksy +VertexSymbols.Dialog.Attribute=Ominaisuustieto +VertexSymbols.Dialog.Auto=Automaattinen +VertexSymbols.Dialog.BackColor=Taustav\u00E4ri +VertexSymbols.Dialog.BaseScale=Perusmittakaava +VertexSymbols.Dialog.Bold=Lihavoitu +VertexSymbols.Dialog.BoldItalic=Lihavoitu kursiivi +VertexSymbols.Dialog.Border=Kehys +VertexSymbols.Dialog.Boxed=Laatikko +VertexSymbols.Dialog.ByAttribute=Ominaisuustiedon mukaan +VertexSymbols.Dialog.ByValue=Kiinte\u00E4 kulma (asteina) +VertexSymbols.Dialog.Callout=Puhekupla +VertexSymbols.Dialog.Cancel=Peru +VertexSymbols.Dialog.Centre=Keskitetty +VertexSymbols.Dialog.Clear=Tyhjenn\u00E4 +VertexSymbols.Dialog.Dotted=N\u00E4yt\u00E4 keskipiste +VertexSymbols.Dialog.East=It\u00E4 +VertexSymbols.Dialog.Enabled=K\u00E4yt\u00F6ss\u00E4 +VertexSymbols.Dialog.FillBackground=T\u00E4yt\u00E4 taustav\u00E4rill\u00E4 +VertexSymbols.Dialog.Font=Kirjaintyyppi +VertexSymbols.Dialog.ForeColor=Kirjaimen v\u00E4ri +VertexSymbols.Dialog.Image=Kuva +VertexSymbols.Dialog.Labels=Tunnukset +VertexSymbols.Dialog.Left=Vasen +VertexSymbols.Dialog.Lines=Viivat +VertexSymbols.Dialog.None=Ei mit\u00E4\u00E4n +VertexSymbols.Dialog.North=Pohjoinen +VertexSymbols.Dialog.NorthEast=Koillinen +VertexSymbols.Dialog.NorthWest=Luode +VertexSymbols.Dialog.Orientation=Suunta +VertexSymbols.Dialog.Plain=Tavallinen +VertexSymbols.Dialog.PlainItalic=Tavallinen kursiivi +VertexSymbols.Dialog.Points=Pisteet +VertexSymbols.Dialog.Polygons=Polygonit +VertexSymbols.Dialog.Position=Sijainti + siirto +VertexSymbols.Dialog.Reset=Oletukset +VertexSymbols.Dialog.Right=Oikea +VertexSymbols.Dialog.Scope=Merkit\u00E4\u00E4n\: +VertexSymbols.Dialog.ShowFill=N\u00E4yt\u00E4 t\u00E4ytt\u00F6 +VertexSymbols.Dialog.ShowLine=N\u00E4yt\u00E4 viiva +VertexSymbols.Dialog.Size=Koko +VertexSymbols.Dialog.SizeByScale=Mittakaavan mukaan muuttuva koko +VertexSymbols.Dialog.South=Etel\u00E4 +VertexSymbols.Dialog.SouthEast=Kaakko +VertexSymbols.Dialog.SouthWest=Lounas +VertexSymbols.Dialog.Value=Arvo -> +VertexSymbols.Dialog.Warning1=Virhe kokokent\u00E4ss\u00E4 +VertexSymbols.Dialog.Warning2=Virhe suuntakent\u00E4ss\u00E4 +VertexSymbols.Dialog.Warning3=Virhe perusmittakaavakent\u00E4ss\u00E4 +VertexSymbols.Dialog.Warning4=Taitepisteen laji on valittava +VertexSymbols.Dialog.Warning5=T\u00E4m\u00E4n tason erikoissymbolit poistetaan. Ole hyv\u00E4, ja vahvista. +VertexSymbols.Dialog.Vector=Vektori +VertexSymbols.Dialog.West=L\u00E4nsi +VertexSymbols.Dialog.WKTshapes=WKT-kuviot +VertexSymbols.MenuItem=Taitepisteiden symbolit +VertexSymbols.MenuName=Laajennus Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fi.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fr.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fr.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fr.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,68 @@ +# Properties file for the VertexSymbols Plugins - default language if none specified +VertexSymbols.MenuName=Extension +VertexSymbols.MenuItem=Symboles +VertexSymbols.Dialog=Choix de symboles +VertexSymbols.Dialog.Size=Taille +VertexSymbols.Dialog.Orientation=Orientation +VertexSymbols.Dialog.ShowLine=Contour +VertexSymbols.Dialog.ShowFill=Remplissage +VertexSymbols.Dialog.Dotted=Point centr\u00E9 +VertexSymbols.Dialog.BaseScale=Echelle de base +VertexSymbols.Dialog.SizeByScale=Taille variant avec l'\u00E9chelle +VertexSymbols.Dialog.Cancel=Annuler +VertexSymbols.Dialog.About=A propos +VertexSymbols.Dialog.Accept=Valider +VertexSymbols.Dialog.Clear=Supprimer tout +VertexSymbols.Dialog.Reset=R\u00E9initialiser +VertexSymbols.Dialog.Warning1=Erreur dans le champ 'Taille' +VertexSymbols.Dialog.Warning2=Erreur dans le champ 'Orientation' +VertexSymbols.Dialog.Warning3=Erreur dans le champ 'Echelle de base' +VertexSymbols.Dialog.Warning4=Vous devez choisir un type de Point +VertexSymbols.Dialog.Warning5=Vous allez enlever les symboles particuliers associ\u00E9s \u00E0 cette couche.\nVeuillez confirmer. +VertexSymbols.Dialog.ByValue=Valeur (degr\u00E9s, sens horaire) +VertexSymbols.Dialog.ByAttribute=Attribut +VertexSymbols.Dialog.Vector=Vecteur +VertexSymbols.Dialog.Image=Image +VertexSymbols.Dialog.WKTshapes=Symbole WKT +VertexSymbols.Dialog.Enabled=Activer +VertexSymbols.Dialog.Attribute=Attribut +VertexSymbols.Dialog.Font=Police +VertexSymbols.Dialog.Position=Position +VertexSymbols.Dialog.BackColor=Couleur de fond +VertexSymbols.Dialog.ForeColor=Couleur de police +VertexSymbols.Dialog.Border=Bordure +VertexSymbols.Dialog.FillBackground=Remplissage +VertexSymbols.Dialog.Scope=Appliquer aux +VertexSymbols.Dialog.Points=Points +VertexSymbols.Dialog.Lines=Lignes +VertexSymbols.Dialog.Polygons=Polygones +VertexSymbols.Dialog.Plain=Normal +VertexSymbols.Dialog.Bold=Gras +VertexSymbols.Dialog.PlainItalic=Italique +VertexSymbols.Dialog.BoldItalic=Gras+Italique +VertexSymbols.Dialog.Left=Gauche +VertexSymbols.Dialog.Centre=Centre +VertexSymbols.Dialog.Right=Droite +VertexSymbols.Dialog.North=Nord +VertexSymbols.Dialog.NorthEast=Nord-Est +VertexSymbols.Dialog.East=Est +VertexSymbols.Dialog.SouthEast=Sud-Est +VertexSymbols.Dialog.South=Sud +VertexSymbols.Dialog.SouthWest=Sud-Ouest +VertexSymbols.Dialog.West=Ouest +VertexSymbols.Dialog.NorthWest=Nord-Ouest +VertexSymbols.Dialog.None=Aucun +VertexSymbols.Dialog.Auto=Auto +VertexSymbols.Dialog.Value=Valeur -> +VertexSymbols.Dialog.None=Aucun +VertexSymbols.Dialog.Boxed=Encadr\u00E9 +VertexSymbols.Dialog.Callout=Bulle +VertexSymbols.Dialog.Labels=\xC9tiquettes +VertexNote.Dialog.Editor=Editeur de notes +VertexNote.Dialog.Message1=Vous devez d'abord s\u00E9lectionner un objet +VertexNote.Dialog.ShowLabel=Montrer les \u00E9tiquettes +VertexNote.Dialog.Message2=Une couche doit \u00EAtre s\u00E9lectionn\u00E9e. +VertexNote.Dialog.Message3=La couche contenant des objets s\u00E9lectionn\u00E9s doit \u00EAtre \u00E9ditable. +VertexNote.Dialog.Message4=L'objet s\u00E9lectionn\u00E9 doit \u00EAtre dans une couche avec un symbole externe. +VertexNote.Dialog.SelectSymbol=S\u00E9lectionner un symbole + Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_fr.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_it.properties =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_it.properties (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_it.properties 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,81 @@ +#VertexSymbolsPlugin_it.properties +VertexNote.Dialog.Editor=Editore Note Vertici +VertexNote.Dialog.Message1=Devi prima selezionare un elemento. +VertexNote.Dialog.Message2=Devi avere un livello selezionato. +VertexNote.Dialog.Message3=Il livello contenente gli elementi selezionati deve essere modificabile. +VertexNote.Dialog.Message4=Gli elementi selezionati devono essere in un livello con una simbologia esterna definita. +VertexNote.Dialog.SelectSymbol=Seleziona Simbolo +VertexNote.Dialog.ShowLabel=Mostra Etichetta +VertexNote.MenuItem=Simbologia vertici - modifica/annotazione +VertexNote.MenuName=Estensioni +VertexSymbols.SymbolName = Simbolo: +VertexSymbols.Dialog=Dialogo Simbologia Vertici +VertexSymbols.Dialog.About=Info +VertexSymbols.Dialog.Accept=OK +VertexSymbols.Dialog.Attribute=Attributo +VertexSymbols.Dialog.Auto=Auto +VertexSymbols.Dialog.BackColor=Colore Interno +VertexSymbols.Dialog.Bold=Neretto +VertexSymbols.Dialog.BoldItalic=Neretto+Corsivo +VertexSymbols.Dialog.Border=Bordo +VertexSymbols.Dialog.Boxed=Riquadro +VertexSymbols.Dialog.ByAttribute=Per Attributo +VertexSymbols.Dialog.ByValue=Per Valore +VertexSymbols.Dialog.Callout=Callout +VertexSymbols.Dialog.BaseScale=Base Scale +VertexSymbols.Dialog.SizeByScale=Size by Scale +VertexSymbols.Dialog.Cancel=Annulla +VertexSymbols.Dialog.Centre=Centro +VertexSymbols.Dialog.Clear=Elimina +VertexSymbols.Dialog.Dotted=Puntinato +VertexSymbols.Dialog.East=Est +VertexSymbols.Dialog.Enabled=Abilita +VertexSymbols.Dialog.FillBackground=Riempimento +VertexSymbols.Dialog.Font=Carattere +VertexSymbols.Dialog.ForeColor=Colore Esterno +VertexSymbols.Dialog.Image=Immagine +VertexSymbols.Dialog.Left=Sinistra +VertexSymbols.Dialog.Lines=Linee +VertexSymbols.Dialog.None=Nessuno +VertexSymbols.Dialog.North=Nord +VertexSymbols.Dialog.NorthEast=Nord-Est +VertexSymbols.Dialog.NorthWest=Nord-Ovest +VertexSymbols.Dialog.Orientation=Orientazione +VertexSymbols.Dialog.Plain=Chiaro +VertexSymbols.Dialog.PlainItalic=Chiaro+Corsivo +VertexSymbols.Dialog.Points=Punti +VertexSymbols.Dialog.Polygons=Poligoni +VertexSymbols.Dialog.Position=Posizione +VertexSymbols.Dialog.Reset=Ripristina +VertexSymbols.Dialog.Right=Destra +VertexSymbols.Dialog.Scope=Campo +VertexSymbols.Dialog.ShowFill=Mostra Riempimento +VertexSymbols.Dialog.ShowLine=Mostra Linea +VertexSymbols.Dialog.Size=Dimensione +VertexSymbols.Dialog.South=Sud +VertexSymbols.Dialog.SouthEast=Sud-Est +VertexSymbols.Dialog.SouthWest=Sud-Ovest +VertexSymbols.Dialog.Value=Valore -> +VertexSymbols.Dialog.Vector=Vettore +VertexSymbols.Dialog.Warning1=Errore nel campo Dimensione +VertexSymbols.Dialog.Warning2=Errore nel campo Orientazione +VertexSymbols.Dialog.Warning3=Errore nel campo basso della scala +VertexSymbols.Dialog.Warning4=Dovete scegliere un tipo di vertice +VertexSymbols.Dialog.Warning5=State circa per rimuovere i simboli speciali da questo strato.\nConfermi prego. +VertexSymbols.Dialog.Warning6=I campi attributo e valori sono vuoti +VertexSymbols.Dialog.West=Ovest +VertexSymbols.Dialog.WKTshapes=WKT +VertexSymbols.MenuItem=Simboli +VertexSymbols.MenuName=Estensione +VertexSymbols.Dialog.Labels=Etichette +VertexSymbols.Dialog.ActivateLabels=Mostra anche le etichette JUMP +VertexSymbols.Dialog.ActivateLabels.tooltip=Mostra anche le etichette definite dal plugin di stile predefinito.\nIn questo caso verranno mostrate due etichettature + +VertexSymbols.Dialog.Warning7=Nessuna stile per attributo \xE8 stato attivato +VertexSymbols.Dialog.Warning8=Attenzione. L'attibuto per la stilizzazione non esiste nello schema attributi del livello +VertexSymbols.VertexColorThemingDualog.manual = Doppio click sul simbolo per cambiarlo +VertexSymbols.Dialog.activate-line-decoration = Attiva la decorazione sulle linee +VertexSymbols.Dialog.activate-line-decoration-tooltip = Inserisci simbolo lungo le linee a distanza regolare. Puoi definire la distanza lungo la linea, lo scostamento dalla linea e la rotazione dei simboli. La simbologia dei vertici verr\xE0 disattivata +VertexSymbols.Dialog.line-distance=Distanza +VertexSymbols.Dialog.line-distance=Scostamento +VertexSymbols.Dialog.line-rotate=Ruota \ No newline at end of file Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/language/VertexSymbolsPlugin_it.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/StylerMenuPlugIn.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/StylerMenuPlugIn.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/StylerMenuPlugIn.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,123 @@ +package com.cadplan.jump.plugins; + +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; +import javax.swing.JToggleButton; + +import org.openide.awt.DropDownButtonFactory; + +import com.cadplan.jump.icon.IconLoader; +import com.cadplan.jump.language.I18NPlug; +import com.cadplan.jump.utils.LoadSymbolFiles; +import com.cadplan.jump.utils.VertexParams; +import com.vividsolutions.jump.workbench.WorkbenchContext; +import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn; +import com.vividsolutions.jump.workbench.plugin.EnableCheck; +import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory; +import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck; +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.ui.GUIUtil; +import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle; +import com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager; + + + +public class StylerMenuPlugIn extends AbstractPlugIn { + + + private PlugInContext context; + + // the JToggleButton in the WorkbenchToolBar + private JToggleButton toolbarButton = null; + + public static JMenuItem mi; + public static final String COLOR = "COLOR"; + public static final String R_G_B = BasicStyle.RGB_ATTRIBUTE_NAME; + private TaskMonitorManager taskMonitorManager; + @Override + public void initialize(final PlugInContext context) throws Exception { + this.context = context; + + toolbarButton = DropDownButtonFactory.createDropDownToggleButton( + GUIUtil.toSmallIcon(IconLoader.icon("Palette.png"), 20), + initPopupLazily()); + + // init popup takes a long time, defer it after workbench is shown + /* SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + colorPickerPopup = initPopupLazily(); + } + });*/ + + LoadSymbolFiles loadSymbols = new LoadSymbolFiles(context); + loadSymbols.start(); + VertexParams.context = context.getWorkbenchContext(); + + + context.getWorkbenchContext().getWorkbench().getFrame().getToolBar().add(toolbarButton); + + } + final JPopupMenu popup = new JPopupMenu(); + private JPopupMenu initPopupLazily() { + + popup.setLayout(new GridLayout(0, 1)); + + mi = new JMenuItem(I18NPlug.getI18N("VertexSymbols.MenuItem"), + GUIUtil.toSmallIcon(IconLoader.icon("vsicon.gif"), 20)); + final VertexSymbolsPlugIn vertexSymbolsPlugIn = new VertexSymbolsPlugIn(); + mi.setToolTipText(I18NPlug.getI18N("VertexSymbols.MenuItem")); + final ActionListener listener = AbstractPlugIn.toActionListener(vertexSymbolsPlugIn, + context.getWorkbenchContext(), taskMonitorManager); + mi.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + listener.actionPerformed(e); + } + }); + popup.add(mi); + + + mi = new JMenuItem(I18NPlug.getI18N("VertexNote.MenuItem"), + GUIUtil.toSmallIcon(IconLoader.icon("noteicon.gif"), 20)); + final VertexNotePlugin vertexnotePlugIn = new VertexNotePlugin(); + mi.setToolTipText(I18NPlug.getI18N("VertexNote.MenuItem")); + final ActionListener listener2 = AbstractPlugIn.toActionListener(vertexnotePlugIn, + context.getWorkbenchContext(), taskMonitorManager); + mi.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + listener2.actionPerformed(e); + } + }); + popup.add(mi); + // the Button for the ToolBar + + return popup; + } + + + + @Override + public boolean execute(PlugInContext context) throws Exception { + return true; + } + + public static EnableCheck createEnableCheck( + WorkbenchContext workbenchContext, boolean b) { + final EnableCheckFactory checkFactory = new EnableCheckFactory( + workbenchContext); + + return new MultiEnableCheck().add( + checkFactory.createWindowWithLayerViewPanelMustBeActiveCheck()) + .add(checkFactory.createAtLeastNLayersMustBeEditableCheck(1)); + } + + + + +} \ No newline at end of file Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/StylerMenuPlugIn.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNoteDialog.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNoteDialog.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNoteDialog.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,461 @@ +package com.cadplan.jump.plugins; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.TextArea; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Collection; +import java.util.Iterator; + +import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JTabbedPane; +import javax.swing.ToolTipManager; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import com.cadplan.designer.GridBagDesigner; +import com.cadplan.jump.language.I18NPlug; +import com.cadplan.jump.plugins.panel.TextLabelPanel; +import com.cadplan.jump.ui.ImagePanel; +import com.cadplan.jump.ui.VectorPanel; +import com.cadplan.jump.ui.WKTPanel; +import com.cadplan.jump.utils.AttributeManagerUtils; +import com.cadplan.jump.utils.VertexParams; +import com.cadplan.vertices.renderer.style.ExternalSymbolsImplType; +import com.cadplan.vertices.renderer.style.ExternalSymbolsType; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jump.I18N; +import com.vividsolutions.jump.feature.AttributeType; +import com.vividsolutions.jump.feature.Feature; +import com.vividsolutions.jump.feature.FeatureDataset; +import com.vividsolutions.jump.feature.FeatureSchema; +import com.vividsolutions.jump.workbench.model.Layer; +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle; +import com.vividsolutions.jump.workbench.ui.renderer.style.VertexStyle; + +public class VertexNoteDialog extends JDialog implements ActionListener, ChangeListener { + private static final long serialVersionUID = 1L; + boolean debug = false; + PlugInContext context; + JCheckBox showLabelCB; + TextArea textArea; + JButton cancelButton; + JButton clearButton; + JButton acceptButton; + JButton resetButton; + Layer[] layers; + String textValue; + boolean showLabel; + VertexStyle vertexStyle; + Feature selectedFeature; + int textAttributeIndex; + FeatureDataset dataset; + boolean allowEdit = true; + JTabbedPane tabbedPane; + VectorPanel vectorPanel; + ImagePanel imagePanel; + WKTPanel wktPanel; + TextLabelPanel labelPanel; + ButtonGroup group; + ButtonGroup rotateGroup; + JRadioButton absValueRB; + JRadioButton byAttributeRB; + JComboBox attributeCB; + JScrollPane scrollPane; + JScrollPane scrollPane2; + String symbolName = ""; + int symbolType; + int symbolNumber; + AttributeManagerUtils manager = new AttributeManagerUtils(); + + public VertexNoteDialog(PlugInContext context) { + super(new JFrame(), I18NPlug.getI18N("VertexNote.Dialog.Editor"), true); + this.context = context; + this.layers = context.getSelectedLayers(); + if (this.layers.length <= 1) { + if (this.layers != null && this.layers.length != 0) { + if (ColorThemingStyle.get(this.layers[0]).isEnabled()) { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message8"), + I18N.get("ui.WorkbenchFrame.warning"), 2); + return; + } + + boolean isEditable = this.layers[0].isEditable(); + if (!isEditable) { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message3"), + I18N.get("ui.WorkbenchFrame.warning"), 2); + return; + } else { + this.vertexStyle = this.layers[0].getVertexStyle(); + VertexParams.selectedLayer = this.layers[0]; + + try { + String textAttributeName = null; + + try { + textAttributeName = ((ExternalSymbolsType)this.vertexStyle).getTextAttributeName(); + } catch (ClassCastException var9) { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message4"), + I18N.get("ui.WorkbenchFrame.warning"), 2); + return; + } + + this.selectedFeature = this.getSelectedPoint(); + if (this.selectedFeature == null) { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message1"), + I18N.get("ui.WorkbenchFrame.warning"), 2); + return; + } + + if (this.debug) { + System.out.println("Feature=" + this.selectedFeature); + } + + FeatureSchema featureSchema = this.selectedFeature.getSchema(); + if (this.debug) { + System.out.println("Initial feature size: " + featureSchema.getAttributeCount()); + } + + int i; + try { + i = featureSchema.getAttributeIndex("ShowLabel"); + if (this.debug) { + System.out.println("ShowLabel found at i=" + i); + } + } catch (Exception var8) { + this.manager.addAttribute(this.layers[0], "ShowLabel", AttributeType.INTEGER); + } + + try { + i = featureSchema.getAttributeIndex("SymbolName"); + if (this.debug) { + System.out.println("SymbolName found at i=" + i); + } + } catch (Exception var7) { + this.manager.addAttribute(this.layers[0], "SymbolName", AttributeType.STRING); + } + + if (textAttributeName.equals("$FID")) { + this.textAttributeIndex = -1; + } else if (textAttributeName.equals("$POINT")) { + this.textAttributeIndex = -2; + } else { + try { + this.textAttributeIndex = featureSchema.getAttributeIndex(textAttributeName); + } catch (IllegalArgumentException var6) { + this.textAttributeIndex = -1; + } + } + + if (this.textAttributeIndex < 0) { + this.allowEdit = false; + } + + ((ExternalSymbolsType)this.vertexStyle).setTextAttributeValue(this.selectedFeature); + this.textValue = ((ExternalSymbolsType)this.vertexStyle).getTextAttributeValue(); + this.showLabel = ((ExternalSymbolsType)this.vertexStyle).getShowNote(); + if (this.vertexStyle instanceof ExternalSymbolsImplType) { + this.symbolName = ((ExternalSymbolsImplType)this.vertexStyle).getActualSymbolName(); + this.symbolType = ((ExternalSymbolsImplType)this.vertexStyle).getSymbolType(); + this.symbolNumber = ((ExternalSymbolsImplType)this.vertexStyle).getSymbolNumber(); + if (this.debug) { + System.out.println("Getting current symbol: name=" + this.symbolName + " number=" + this.symbolNumber + " type=" + this.symbolType); + } + } + + this.init(); + } catch (Exception var10) { + System.out.println("ERROR: " + var10); + var10.printStackTrace(); + } + + } + } else { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message2"), "Warning...", 2); + } + } + } + + public void init() { + JPopupMenu.setDefaultLightWeightPopupEnabled(false); + ToolTipManager ttm = ToolTipManager.sharedInstance(); + ttm.setLightWeightPopupEnabled(false); + GridBagDesigner gb = new GridBagDesigner(this); + this.showLabelCB = new JCheckBox(I18NPlug.getI18N("VertexNote.Dialog.ShowLabel")); + gb.setPosition(0, 0); + gb.setInsets(10, 10, 0, 0); + gb.addComponent(this.showLabelCB); + this.showLabelCB.setSelected(this.showLabel); + this.textArea = new TextArea("", 5, 50, 1); + gb.setPosition(1, 0); + gb.setInsets(10, 0, 0, 10); + gb.setFill(1); + gb.setWeight(1.0D, 1.0D); + gb.addComponent(this.textArea); + this.textArea.setText(this.textValue); + this.textArea.setEditable(this.allowEdit); + JLabel vertexLabel = new JLabel(I18NPlug.getI18N("VertexNote.Dialog.SelectSymbol")); + gb.setPosition(0, 1); + gb.setInsets(10, 10, 10, 0); + gb.setAnchor(11); + gb.addComponent(vertexLabel); + this.group = new ButtonGroup(); + this.tabbedPane = new JTabbedPane(1); + this.tabbedPane.addChangeListener(this); + this.vectorPanel = new VectorPanel(this.group, VertexParams.selectedLayer.getBasicStyle().getLineColor(), VertexParams.selectedLayer.getBasicStyle().getFillColor()); + this.vectorPanel.setBackground(Color.WHITE); + this.tabbedPane.addTab(I18NPlug.getI18N("VertexSymbols.Dialog.Vector"), this.vectorPanel); + this.wktPanel = new WKTPanel(this.group, VertexParams.selectedLayer.getBasicStyle().getLineColor(), VertexParams.selectedLayer.getBasicStyle().getFillColor()); + this.wktPanel.setBackground(Color.WHITE); + this.scrollPane2 = new JScrollPane(this.wktPanel); + this.scrollPane2.setPreferredSize(new Dimension(400, 300)); + this.tabbedPane.addTab(I18NPlug.getI18N("VertexSymbols.Dialog.WKTshapes"), this.scrollPane2); + this.imagePanel = new ImagePanel(this.group); + this.imagePanel.setBackground(Color.WHITE); + this.scrollPane = new JScrollPane(this.imagePanel); + this.scrollPane.setPreferredSize(new Dimension(400, 300)); + this.tabbedPane.addTab(I18NPlug.getI18N("VertexSymbols.Dialog.Image"), this.scrollPane); + gb.setPosition(1, 1); + gb.setFill(1); + gb.setInsets(10, 0, 10, 10); + gb.addComponent(this.tabbedPane); + JPanel bottomPanel = new JPanel(); + GridBagDesigner gbb = new GridBagDesigner(bottomPanel); + this.cancelButton = new JButton(I18NPlug.getI18N("VertexSymbols.Dialog.Cancel")); + gbb.setPosition(0, 0); + gbb.setInsets(10, 10, 10, 0); + gbb.addComponent(this.cancelButton); + this.cancelButton.addActionListener(this); + this.clearButton = new JButton(I18NPlug.getI18N("VertexSymbols.Dialog.Clear")); + gbb.setPosition(1, 0); + gbb.setInsets(10, 10, 10, 0); + gbb.addComponent(this.clearButton); + this.clearButton.addActionListener(this); + this.resetButton = new JButton(I18NPlug.getI18N("VertexSymbols.Dialog.Reset")); + gbb.setPosition(2, 0); + gbb.setInsets(10, 10, 10, 10); + gbb.addComponent(this.resetButton); + this.resetButton.addActionListener(this); + this.acceptButton = new JButton(I18NPlug.getI18N("VertexSymbols.Dialog.Accept")); + gbb.setPosition(3, 0); + gbb.setInsets(10, 10, 10, 10); + gbb.setAnchor(13); + gbb.addComponent(this.acceptButton); + this.acceptButton.addActionListener(this); + gb.setPosition(0, 2); + gb.setSpan(2, 1); + gb.addComponent(bottomPanel); + this.setValues(); + this.pack(); + this.setVisible(true); + } + + private void setValues() { + this.setCurrentSymbolName(); + } + + private void getValues() { + this.symbolName = this.getSymbolName(); + this.symbolType = this.getSymbolType(); + } + + public void setCurrentSymbolName() { + if (this.debug) { + System.out.println("Setting current symbol: name=" + this.symbolName + " number=" + this.symbolNumber + " type=" + this.symbolType); + } + + int n = this.vectorPanel.symbolPanel.getTypeIndex(this.symbolNumber, this.symbolType); + if (n >= 0) { + this.vectorPanel.symbolPanel.vertexRB[n].setSelected(true); + } else { + if (this.symbolType == 4) { + n = this.vectorPanel.symbolPanel.getImageIndex(this.symbolName); + if (this.debug) { + System.out.println("Image update: " + this.symbolName + " n=" + n); + } + + if (n >= 0) { + this.imagePanel.getImageRB()[n].setSelected(true); + return; + } + } else if (this.symbolType == 3) { + n = this.vectorPanel.symbolPanel.getWKTIndex(this.symbolName); + if (n >= 0) { + this.wktPanel.getImageRB()[n].setSelected(true); + } + } + + } + } + + public String getSymbolName() { + int i; + for(i = 0; i < this.vectorPanel.symbolPanel.vertexRB.length; ++i) { + if (this.vectorPanel.symbolPanel.vertexRB[i].isSelected()) { + if (i < 7) { + return "@poly" + String.valueOf(this.vectorPanel.symbolPanel.getSides()[i]); + } + + if (i < 14) { + return "@star" + String.valueOf(this.vectorPanel.symbolPanel.getSides()[i]); + } + + return "@any" + String.valueOf(this.vectorPanel.symbolPanel.getSides()[i]); + } + } + + for(i = 0; i < this.imagePanel.getImageRB().length; ++i) { + if (this.imagePanel.getImageRB()[i].isSelected()) { + return VertexParams.imageNames[i]; + } + } + + for(i = 0; i < this.wktPanel.getImageRB().length; ++i) { + if (this.wktPanel.getImageRB()[i].isSelected()) { + return VertexParams.wktNames[i]; + } + } + + return null; + } + + public int getSymbolType() { + int i; + for(i = 0; i < this.vectorPanel.symbolPanel.vertexRB.length; ++i) { + if (this.vectorPanel.symbolPanel.vertexRB[i].isSelected()) { + if (i < 7) { + return 0; + } + + if (i < 14) { + return 1; + } + + return 2; + } + } + + for(i = 0; i < this.imagePanel.getImageRB().length; ++i) { + if (this.imagePanel.getImageRB()[i].isSelected()) { + return 4; + } + } + + for(i = 0; i < this.wktPanel.getImageRB().length; ++i) { + if (this.wktPanel.getImageRB()[i].isSelected()) { + return 3; + } + } + + return -1; + } + + private Feature getSelectedPoint() { + Feature feature = null; + Collection selectedItems = this.context.getLayerViewPanel().getSelectionManager().getFeaturesWithSelectedItems(); + if (this.debug) { + System.out.println("Number of selected items: " + selectedItems.size()); + } + + if (selectedItems.size() != 1) { + return null; + } else { + Iterator i = selectedItems.iterator(); + if (i.hasNext()) { + feature = (Feature)i.next(); + Geometry geometry = feature.getGeometry(); + if (this.debug) { + System.out.println("Geometry: " + geometry.toString()); + } + + return feature; + } else { + return null; + } + } + } + + @Override + public void stateChanged(ChangeEvent ev) { + } + + @Override + public void actionPerformed(ActionEvent ev) { + if (ev.getSource() == this.cancelButton) { + this.dispose(); + } + + FeatureSchema featureSchema; + if (ev.getSource() == this.acceptButton) { + int show = 0; + this.getValues(); + if (this.showLabelCB.isSelected()) { + show = 1; + } + + featureSchema = this.layers[0].getFeatureCollectionWrapper().getFeatureSchema(); + if (this.debug) { + System.out.println("Updated schema: num=" + featureSchema.getAttributeCount()); + } + + int numAtt = this.selectedFeature.getAttributes().length; + if (this.debug) { + System.out.println("Num feature att: " + numAtt); + } + + try { + this.selectedFeature.setAttribute("ShowLabel", Integer.valueOf(show)); + this.selectedFeature.setAttribute("SymbolName", this.symbolName); + } catch (IllegalArgumentException var8) { + JOptionPane.showMessageDialog((Component)null, I18NPlug.getI18N("VertexNote.Dialog.Message3"), "Warning...", 2); + } + + if (this.textAttributeIndex >= 0) { + this.selectedFeature.setAttribute(this.textAttributeIndex, this.textArea.getText()); + } + + this.layers[0].fireAppearanceChanged(); + this.dispose(); + } + + if (ev.getSource() == this.clearButton) { + this.textArea.setText(""); + } + + if (ev.getSource() == this.resetButton) { + int response = JOptionPane.showConfirmDialog(this, I18NPlug.getI18N("VertexSymbols.Dialog.Warning5"), "Warning...", 2); + if (response == 2) { + return; + } + + featureSchema = this.selectedFeature.getSchema(); + + try { + this.manager.delAttribute(this.layers[0], "ShowLabel"); + } catch (Exception var7) { + } + + try { + this.manager.delAttribute(this.layers[0], "SymbolName"); + } catch (Exception var6) { + } + + this.dispose(); + } + + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNoteDialog.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNotePlugin.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNotePlugin.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNotePlugin.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,41 @@ +package com.cadplan.jump.plugins; + +import javax.swing.ImageIcon; + +import com.cadplan.jump.icon.IconLoader; +import com.cadplan.jump.language.I18NPlug; +import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn; +import com.vividsolutions.jump.workbench.plugin.EnableCheck; +import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory; +import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck; +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.ui.LayerViewPanel; +import com.vividsolutions.jump.workbench.ui.MenuNames; + +public class VertexNotePlugin extends AbstractPlugIn { + public static ImageIcon ICON = IconLoader.icon("noteicon.gif"); + + @Override + public void initialize(PlugInContext paramPlugInContext) throws Exception { + EnableCheckFactory check = new EnableCheckFactory(paramPlugInContext.getWorkbenchContext()); + EnableCheck scheck = check.createAtLeastNFeaturesMustBeSelectedCheck(1); + MultiEnableCheck mcheck = new MultiEnableCheck(); + mcheck.add(check.createAtLeastNLayersMustExistCheck(1)); + mcheck.add(check.createAtLeastNLayersMustBeEditableCheck(1)); + String str = MenuNames.PLUGINS; + paramPlugInContext.getFeatureInstaller().addMainMenuPlugin(this, new String[]{str, MenuNames.STYLE}, this.getName(), false, ICON, mcheck); + // paramPlugInContext.getWorkbenchFrame().getToolBar().addPlugIn(ICON, this, mcheck, paramPlugInContext.getWorkbenchContext()); + paramPlugInContext.getFeatureInstaller().addPopupMenuPlugin(LayerViewPanel.popupMenu(), this, this.getName(), false, ICON, scheck); + } + + @Override + public String getName() { + return I18NPlug.getI18N("VertexNote.MenuItem"); + } + + @Override + public boolean execute(PlugInContext paramPlugInContext) throws Exception { + new VertexNoteDialog(paramPlugInContext); + return true; + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexNotePlugin.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsClassificationDialog.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsClassificationDialog.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsClassificationDialog.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,356 @@ +package com.cadplan.jump.plugins; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Map; + +import javax.swing.JCheckBox; +import javax.swing.JDialog; +import javax.swing.JFormattedTextField; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JTextField; +import javax.swing.ToolTipManager; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import org.saig.core.gui.swing.sldeditor.util.FormUtils; + +import com.cadplan.designer.GridBagDesigner; +import com.cadplan.jump.language.I18NPlug; +import com.cadplan.jump.plugins.panel.ColorPanel; +import com.cadplan.jump.plugins.panel.VertexSymbologyPanel; +import com.cadplan.jump.utils.DataWrapper; +import com.cadplan.jump.utils.VertexParams; +import com.cadplan.vertices.renderer.style.ExternalSymbolsImplType; +import com.vividsolutions.jump.I18N; +import com.vividsolutions.jump.feature.Feature; +import com.vividsolutions.jump.feature.FeatureDataset; +import com.vividsolutions.jump.workbench.model.Layer; +import com.vividsolutions.jump.workbench.ui.GUIUtil; +import com.vividsolutions.jump.workbench.ui.OKCancelApplyPanel; +import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle; + +public class VertexSymbolsClassificationDialog extends JDialog implements ActionListener, ChangeListener { + private static final long serialVersionUID = 1L; + private String value = ""; + private ExternalSymbolsImplType style; + boolean debug = false; + OKCancelApplyPanel okCancelApplyPanel = new OKCancelApplyPanel(); + Layer layer; + Feature selectedFeature; + FeatureDataset dataset; + boolean allowEdit = true; + VertexSymbologyPanel symbologyPanel; + String symbolName = ""; + int symbolType; + int symbolNumber; + Integer dimension; + Color line; + Color inner; + private ColorPanel colorPanel; + + public JFormattedTextField sizeField; + public JLabel sizeLabel; + + public String name; + private JLabel styleLabel,lineLabel; + private JLabel attribLabel; + private JTextField styleField; + private JTextField attribField; + public JLabel distanceLabel; + public JLabel offsetLabel; + public JCheckBox rotationCB; + public JFormattedTextField distanceField; + public JFormattedTextField offsetField; + + + private int distance; + + private double offset ; + + private boolean rotate ; + + public VertexSymbolsClassificationDialog(String value, + ExternalSymbolsImplType style, + Integer dimension, + Integer distance, + double offset, + boolean rotate) { + super(new JFrame(), true); + this.value = value; + this.style = style; + this.layer = VertexParams.selectedLayer; + this.dimension = dimension; + this.distance = distance; + this.offset= offset; + this.rotate=rotate; + this.init(); + } + + public void init() { + JPopupMenu.setDefaultLightWeightPopupEnabled(false); + ToolTipManager ttm = ToolTipManager.sharedInstance(); + ttm.setLightWeightPopupEnabled(false); + this.setValues(); + + this.symbologyPanel = new VertexSymbologyPanel(this.line, this.inner); + + this.styleLabel = new JLabel(I18NPlug.getI18N("VertexSymbols.SymbolName")); + this.attribLabel = new JLabel(I18N.get("ui.renderer.style.ColorThemingTableModel.attribute-value") + ": "); + this.styleField = new JTextField(); + this.styleField.setMinimumSize(new Dimension(75, 20)); + // this.styleField.setPreferredSize(new Dimension(180, 20)); + this.styleField.setText(this.name); + this.styleField.setEditable(false); + this.attribField = new JTextField(); + this.attribField.setMinimumSize(new Dimension(75, 20)); + this.attribField.setPreferredSize(new Dimension(90, 20)); + this.attribField.setText(this.value); + this.attribField.setEditable(false); + + this.sizeLabel = new JLabel(I18NPlug.getI18N("VertexSymbols.Dialog.Size") + ": "); + this.sizeField = new JFormattedTextField(); + this.sizeField.setColumns(5); + this.sizeField.setValue(dimension); + + + this.colorPanel = new ColorPanel(this.line, this.inner); + // this.colorPanel.removeDimensionBox(); + + GridBagDesigner gb = new GridBagDesigner(this); + gb.setPosition(0, 0); + gb.setSpan(4, 1); + gb.setWeight(1.0D, 1.0D); + gb.setFill(1); + gb.addComponent(this.symbologyPanel); + this.symbologyPanel.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + if ( symbologyPanel.getSelectedIndex() == 2) { + colorPanel.fillColorButton.setEnabled(false); + colorPanel.lineColorButton.setEnabled(false); + colorPanel.synchronizeCheckBox.setEnabled(false); + colorPanel.fillColorLabel.setEnabled(false); + colorPanel.lineColorLabel.setEnabled(false); + } else { + colorPanel.fillColorButton.setEnabled(true); + colorPanel.lineColorButton.setEnabled(true); + colorPanel.synchronizeCheckBox.setEnabled(true); + colorPanel.fillColorLabel.setEnabled(true); + colorPanel.lineColorLabel.setEnabled(true); + } + + } + }); + JPanel jPanel = new JPanel(new GridBagLayout()); + FormUtils.addRowInGBL(jPanel, 0, 0, this.attribLabel, this.attribField, false); + FormUtils.addRowInGBL(jPanel, 0, 2, this.styleLabel, this.styleField, false); + + FormUtils.addRowInGBL(jPanel, 0, 4, this.sizeLabel, this.sizeField, false); + + + String line ="<html><font color=black size=3>" + + "<b>" + I18NPlug.getI18N("VertexSymbols.Dialog.line-decoration") + "</b></html>"; + this.lineLabel = new JLabel(line); + + this.distanceField = new JFormattedTextField(); + this.offsetField = new JFormattedTextField(); + this.distanceField.setColumns(5); + this.offsetField.setColumns(5); + + this.offsetLabel= new JLabel(I18NPlug.getI18N("VertexSymbols.Dialog.line-offset") + ": "); + this.distanceLabel= new JLabel(I18NPlug.getI18N("VertexSymbols.Dialog.line-distance") + ": "); + this.rotationCB = new JCheckBox(I18NPlug.getI18N("VertexSymbols.Dialog.line-rotate")); + this.rotationCB.setToolTipText(I18NPlug.getI18N("VertexSymbols.Dialog.line-rotate-tooltip")); + this.distanceLabel.setToolTipText(I18NPlug.getI18N("VertexSymbols.Dialog.line-distance-tooltip")); + this.offsetLabel.setToolTipText(I18NPlug.getI18N("VertexSymbols.Dialog.line-offset-tooltip")); + + + this.distanceField.setValue(this.distance); + this.offsetField.setValue(this.offset); + this.rotationCB.setSelected(this.rotate); + + this.lineLabel.setEnabled(VertexParams.lineDecoration); + this.distanceField.setEnabled(VertexParams.lineDecoration); + this.offsetField.setEnabled(VertexParams.lineDecoration); + this.distanceLabel.setEnabled(VertexParams.lineDecoration); + this.offsetLabel.setEnabled(VertexParams.lineDecoration); + this.rotationCB.setEnabled(VertexParams.lineDecoration); + + JPanel linePanel = new JPanel(new GridBagLayout()); + FormUtils.addRowInGBL(linePanel, 0, 0, this.distanceLabel, this.distanceField, false); + FormUtils.addRowInGBL(linePanel, 0, 2, this.offsetLabel, this.offsetField, false); + FormUtils.addRowInGBL(linePanel, 0,4, rotationCB); + + FormUtils.addRowInGBL(jPanel, 1, 0, lineLabel, true, true); + FormUtils.addRowInGBL(jPanel, 1, 1, linePanel, true, true); + + FormUtils.addRowInGBL(jPanel, 2, 0, this.colorPanel, true, true); + gb.setPosition(0, 1); + gb.setFill(2); + gb.setInsets(10, 0, 0, 0); + gb.setSpan(4, 1); + gb.addComponent(jPanel); + this.okCancelApplyPanel = new OKCancelApplyPanel(); + this.okCancelApplyPanel.addActionListener(this); + gb.setPosition(0, 2); + gb.setInsets(0, 10, 5, 5); + gb.setSpan(3, 1); + gb.addComponent(this.okCancelApplyPanel); + this.setJRadioButtonSelection(); + this.pack(); + } + + public void setValues() { + this.name = this.style.getActualSymbolName(); + + try { + Map<Object, BasicStyle> attributeValueToBasicStyleMap = VertexParams.classificationStyle.getAttributeValueToBasicStyleMap(); + BasicStyle style = attributeValueToBasicStyleMap.get(this.value); + this.line = GUIUtil.alphaColor(style.getLineColor(), style.getAlpha()); + this.inner = GUIUtil.alphaColor(style.getFillColor(), style.getAlpha()); + } catch (Exception var3) { + this.line = GUIUtil.alphaColor(this.layer.getBasicStyle().getLineColor(), this.layer.getBasicStyle().getAlpha()); + this.inner = GUIUtil.alphaColor(this.layer.getBasicStyle().getFillColor(), this.layer.getBasicStyle().getAlpha()); + } + + } + + public void setJRadioButtonSelection() { + int b; + for(b = 0; b < this.symbologyPanel.vectorPanel.symbolPanel.vertexRB.length; ++b) { + String side = String.valueOf(this.symbologyPanel.vectorPanel.symbolPanel.getSides()[b]); + if (b < 7 & this.name.equals("@poly" + side)) { + this.symbologyPanel.vectorPanel.symbolPanel.vertexRB[b].setSelected(true); + this.symbologyPanel.setSelectedComponent(this.symbologyPanel.getComponent(0)); + } else if (b < 14 & this.name.equals("@star" + side)) { + this.symbologyPanel.vectorPanel.symbolPanel.vertexRB[b].setSelected(true); + this.symbologyPanel.setSelectedComponent(this.symbologyPanel.getComponent(0)); + } else if (this.name.equals("@any" + side)) { + this.symbologyPanel.vectorPanel.symbolPanel.vertexRB[b].setSelected(true); + this.symbologyPanel.setSelectedComponent(this.symbologyPanel.getComponent(0)); + } + } + + for(b = 0; b < this.symbologyPanel.imagePanel.getImageRB().length; ++b) { + if (this.name.equals(VertexParams.imageNames[b])) { + this.symbologyPanel.imagePanel.getImageRB()[b].setSelected(true); + this.symbologyPanel.setSelectedComponent(this.symbologyPanel.getComponent(2)); + } + } + + for(b = 0; b < this.symbologyPanel.wktPanel.getImageRB().length; ++b) { + if (this.name.equals(VertexParams.wktNames[b])) { + this.symbologyPanel.wktPanel.getImageRB()[b].setSelected(true); + this.symbologyPanel.setSelectedComponent(this.symbologyPanel.getComponent(1)); + } + } + + } + + public void setOKEnabled(boolean okEnabled) { + this.okCancelApplyPanel.setOKEnabled(okEnabled); + } + + public boolean wasOKPressed() { + return this.okCancelApplyPanel.wasOKPressed(); + } + + @Override + public void actionPerformed(ActionEvent ev) { + Integer dimension = ((Number)this.sizeField.getValue()).intValue();//this.colorPanel.getDimension(); + Integer distance = ((Number)this.distanceField.getValue()).intValue(); + double offset = ((Number) this.offsetField.getValue()).doubleValue(); + boolean rotate = this.rotationCB.isSelected(); + if (this.wasOKPressed()) { + VertexParams.getClassificationMap().replace(this.value, + new DataWrapper(this.getSymbolName(), + dimension, + distance, + offset,rotate)); + Map<Object, BasicStyle> attributeValueToBasicStyleMap = VertexParams.classificationStyle.getAttributeValueToBasicStyleMap(); + BasicStyle style = attributeValueToBasicStyleMap.get(this.value); + style.setLineColor(this.colorPanel.getLineColor()); + style.setFillColor(this.colorPanel.getFillColor()); + this.removeJRadioButtonSelection(); + this.dispose(); + } else { + this.removeJRadioButtonSelection(); + this.dispose(); + } + + this.layer.fireAppearanceChanged(); + this.layer.setFeatureCollectionModified(true); + } + + public void removeJRadioButtonSelection() { + int b; + for(b = 0; b < this.symbologyPanel.vectorPanel.symbolPanel.vertexRB.length; ++b) { + this.symbologyPanel.vectorPanel.symbolPanel.vertexRB[b].setSelected(false); + } + + for(b = 0; b < this.symbologyPanel.imagePanel.getImageRB().length; ++b) { + this.symbologyPanel.imagePanel.getImageRB()[b].setSelected(false); + } + + for(b = 0; b < this.symbologyPanel.wktPanel.getImageRB().length; ++b) { + this.symbologyPanel.wktPanel.getImageRB()[b].setSelected(false); + } + + } + + public ExternalSymbolsImplType getSymbol() { + ExternalSymbolsImplType newStyle = new ExternalSymbolsImplType(); + newStyle.setSymbolName(this.getSymbolName()); + newStyle.setShowFill(true); + newStyle.setShowLine(true); + newStyle.setColors(this.colorPanel.lineColorButton.getBackground(), this.colorPanel.fillColorButton.getBackground()); + newStyle.setSize(32); + newStyle.setOffset(((Number) this.offsetField.getValue()).doubleValue()); + newStyle.setEnabled(true); + return newStyle; + } + + public String getSymbolName() { + try { + int i; + for(i = 0; i < this.symbologyPanel.vectorPanel.symbolPanel.vertexRB.length; ++i) { + if (this.symbologyPanel.vectorPanel.symbolPanel.vertexRB[i].isSelected()) { + if (i < 7) { + this.symbolName = "@poly" + String.valueOf(this.symbologyPanel.vectorPanel.symbolPanel.getSides()[i]); + } else if (i < 14) { + this.symbolName = "@star" + String.valueOf(this.symbologyPanel.vectorPanel.symbolPanel.getSides()[i]); + } else { + this.symbolName = "@any" + String.valueOf(this.symbologyPanel.vectorPanel.symbolPanel.getSides()[i]); + } + } + } + + for(i = 0; i < this.symbologyPanel.imagePanel.getImageRB().length; ++i) { + if (this.symbologyPanel.imagePanel.getImageRB()[i].isSelected()) { + this.symbolName = VertexParams.imageNames[i]; + } + } + + for(i = 0; i < this.symbologyPanel.wktPanel.getImageRB().length; ++i) { + if (this.symbologyPanel.wktPanel.getImageRB()[i].isSelected()) { + this.symbolName = VertexParams.wktNames[i]; + } + } + } catch (Exception var2) { + this.symbolName = this.style.getActualSymbolName(); + } + + return this.symbolName; + } + + @Override + public void stateChanged(ChangeEvent arg0) { + } +} Property changes on: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsClassificationDialog.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsDialog.java =================================================================== --- plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsDialog.java (rev 0) +++ plug-ins/CadPlan_VertexSymbols/trunk/src/plugins/VertexSymbolsDialog.java 2020-05-31 06:40:03 UTC (rev 6269) @@ -0,0 +1,270 @@ +package com.cadplan.jump.plugins; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.List; + +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JCheckBox; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JTabbedPane; +import javax.swing.ToolTipManager; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import org.saig.core.gui.swing.sldeditor.util.FormUtils; + +import com.cadplan.jump.icon.IconLoader; +import com.cadplan.jump.language.I18NPlug; +import com.cadplan.jump.plugins.panel.ColorPanel; +import com.cadplan.jump.plugins.panel.TextLabelPanel; +import com.cadplan.jump.plugins.panel.TransparPanel; +import com.cadplan.jump.plugins.panel.VertexColorThemingPanel; +import com.cadplan.jump.plugins.panel.VertexParametersPanel; +import com.cadplan.jump.plugins.panel.VertexSymbologyPanel; +import com.cadplan.jump.utils.StyleUtils; +import com.cadplan.jump.utils.VertexParams; +import com.vividsolutions.jump.workbench.model.Layer; +import com.vividsolutions.jump.workbench.ui.GenericNames; +import com.vividsolutions.jump.workbench.ui.MultiInputDialog; +import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle; + +public class VertexSymbolsDialog extends MultiInputDialog implements ItemListener, ChangeListener { + private static final long serialVersionUID = 1L; + public JCheckBox activateLineDecorationCB; + private JTabbedPane tabbedPane; + ButtonGroup group; + TextLabelPanel labelPanel; + ColorPanel colorPanel; + TransparPanel transparency; + VertexSymbologyPanel symbologyPanel; + VertexParametersPanel parametersPanel; + VertexColorThemingPanel colorThemingPanel; + public boolean cancelled = false; + public static ImageIcon ICON = IconLoader.icon("vsicon.gif"); + + public VertexSymbolsDialog() { + super(new JFrame(), I18NPlug.getI18N("VertexSymbols.Dialog") + + " - " + +GenericNames.LAYER+" :" + + VertexParams.selectedLayer, true); + this.setDefaultCloseOperation(0); + this.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent param1WindowEvent) { + VertexSymbolsDialog.this.cancelled = true; + VertexSymbolsDialog.this.dispose(); + } + }); + this.setIconImage(ICON.getImage()); + this.setResizable(true); + this.init(); + } + + public Component getTabbedPane() { + return this.tabbedPane; + } + + + + + + + public void init() { + JPopupMenu.setDefaultLightWeightPopupEnabled(false); + ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); + toolTipManager.setLightWeightPopupEnabled(false); + + //Main Tabbed panel (Rendered, Classification and Labels) + this.tabbedPane = new JTabbedPane(1); + + //TabbedPane 0: Rendering + this.symbologyPanel = new VertexSymbologyPanel(VertexParams.selectedLayer.getBasicStyle().getLineColor(), + VertexParams.selectedLayer.getBasicStyle().getFillColor()); + this.parametersPanel = new VertexParametersPanel(); + this.colorPanel = new ColorPanel(VertexParams.selectedLayer.getBasicStyle().getLineColor(), + VertexParams.selectedLayer.getBasicStyle().getFillColor()); + this.transparency = new TransparPanel((Color)null); + + //TabbedPane 1: Classification + this.colorThemingPanel = new VertexColorThemingPanel(); + + //TabbedPane 2: Labels + this.labelPanel = new TextLabelPanel(this.group); + + // updateSideBarIconAndDescription(); + + String lineDecorationString ="<html><font color=black size=3>" + + "<b>" + I18NPlug.getI18N("VertexSymbols.Dialog.activate-line-decoration") + "</b></html>"; + activateLineDecorationCB = this.addCheckBox(lineDecorationString, false); + activateLineDecorationCB.setSelected(VertexParams.lineDecoration ); + String lineDecorationTooltip = StyleUtils.getName(I18NPlug.getI18N("VertexSymbols.Dialog.activate-line-decoration"), I18NPlug.getI18N("VertexSymbols.Dialog.activate-line-decoration-tooltip")); + activateLineDecorationCB.setToolTipText(lineDecorationTooltip); + activateLineDecorationCB.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + updateGUI(); + } + }); + + + JPanel rendererPan = new JPanel(new GridBagLayout()); + JPanel classPan = new JPanel(new GridBagLayout()); + + + FormUtils.addRowInGBL(rendererPan, 0, 0, this.symbologyPanel); + FormUtils.addRowInGBL(rendererPan, 1, 0, this.parametersPanel, true, true); + FormUtils.addRowInGBL(rendererPan, 2, 0, this.colorPanel, true, true); + FormUtils.addRowInGBL(rendererPan, 3, 0, transparency, true, true); + this.symbologyPanel.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + updateColorPanel(); + } + }); + FormUtils.addRowInGBL(classPan, 0, 0, this.colorThemingPanel); + + this.tabbedPane.addTab(this.symbologyPanel.getTitle(), rendererPan); + this.tabbedPane.addTab(this.colorThemingPanel.getTitle(), classPan); + this.tabbedPane.addTab(this.labelPanel.getTitle(), this.labelPanel); + + this.okCancelApplyPanel.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent param1ActionEvent) { + if (VertexSymbolsDialog.this.okCancelApplyPanel.wasOKPressed()) { + boolean OK = StyleUtils.getValues(VertexSymbolsDialog.this, VertexSymbolsDialog.this.parametersPanel, VertexSymbolsDialog.this.symbologyPanel, VertexSymbolsDialog.this.labelPanel, VertexSymbolsDialog.this.colorThemingPanel); + if (OK) { + VertexSymbolsDialog.this.changeStyle(); + } + } else { + VertexSymbolsDialog.this.cancelled = true; + } + } + }); + this.addRow(tabbedPane); + this.pack(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + Dimension labelSize = this.getPreferredSize(); + this.setLocation(screenSize.width / 2 - labelSize.width / 2, screenSize.height / 2 - labelSize.height / 2); + this.setVisible(true); + } + + + //[Giuseppe Aruta 2020-05-28] While embedded shape and WKT file shape can be colorized according + // to layer/xbasestyle values/color. Image files have their own colors. This part deactivate Color + //Panel if user select Image files panel + public void updateColorPanel() { + if ( symbologyPanel.getSelectedIndex() == 2) { + colorPanel.fillColorButton.setEnabled(false); + colorPanel.lineColorButton.setEnabled(false); + colorPanel.synchronizeCheckBox.setEnabled(false); + colorPanel.fillColorLabel.setEnabled(false); + colorPanel.lineColorLabel.setEnabled(false); + } else { + colorPanel.fillColorButton.setEnabled(true); + colorPanel.lineColorButton.setEnabled(true); + colorPanel.synchronizeCheckBox.setEnabled(true); + colorPanel.fillColorLabel.setEnabled(true); + colorPanel.lineColorLabel.setEnabled(true); + } + } + + + //[Giuseppe Aruta 2020-05-28] not activated as dialog is always too wide + public void updateSideBarIconAndDescription() { + if (VertexParams.lineDecoration==true) { + this.setSideBarDescription(I18NPlug.getI18N("VertexSymbols.Dialog.activate-line-decoration-tooltip")); + this.setSideBarImage( IconLoader.icon("Line.png")); + } else { + this.setSideBarDescription(I18NPlug.getI18N("VertexSymbols.Dialog.vertex-decoration-tooltip")); + this.setSideBarImage( IconLoader.icon("Vertex.png")); + } + } + + //[Giuseppe Aruta 2020-05-28] if Line decoration is activated, only line parameters (distance, + //offset, and rotate) are activated. Deactivated rotation parameters for vertex (fix value or value + //by attribute) as it creates confusion for the user + + public void updateGUI() { + VertexParams.lineDecoration =activateLineDecorationCB.isSelected(); + // [Giuseppe Aruta 2020-05-28] updateSideBarIconAndDescription(); + if (VertexParams.lineDecoration) { + parametersPanel.lineLabel.setEnabled(true); + parametersPanel.distanceField.setEnabled(true); + parametersPanel.offsetField.setEnabled(true); + parametersPanel.distanceLabel.setEnabled(true); + parametersPanel.offsetLabel.setEnabled(true); + parametersPanel.rotationCB.setEnabled(true); + parametersPanel.orienLabel.setEnabled(false); + parametersPanel.absValueRB.setEnabled(false); + parametersPanel.byAttributeRB.setEnabled(false); + parametersPanel.orienField.setText(String.valueOf(0.0)); + parametersPanel.orienField.setEnabled(false); + parametersPanel.attributeCB.setEnabled(false); + colorThemingPanel.mainPanel.revalidate(); + this.revalidate(); + this.repaint(); + + } else { + parametersPanel.lineLabel.setEnabled(false); + parametersPanel.distanceField.setEnabled(false); + parametersPanel.offsetField.setEnabled(false); + parametersPanel.distanceLabel.setEnabled(false); + parametersPanel.offsetLabel.setEnabled(false); + parametersPanel.rotationCB.setEnabled(false); + parametersPanel.orienLabel.setEnabled(true); + parametersPanel.orienField.setText(String.valueOf(VertexParams.orientation)); + parametersPanel.orienField.setEnabled(true); + parametersPanel.absValueRB.setEnabled(true); + if (VertexParams.byValue) { + parametersPanel.absValueRB.setSelected(true); + } else { + parametersPanel.byAttributeRB.setSelected(true); + } + if (!VertexParams.singleLayer) { + parametersPanel.absValueRB.setSelected(true); + } + parametersPanel.byAttributeRB.setEnabled(parametersPanel.bool); + parametersPanel.attributeCB.setEnabled(parametersPanel.bool); + colorThemingPanel.mainPanel.revalidate(); + this.revalidate(); + this.repaint(); + } + } + + + public void changeStyle() { + Layer layer = VertexParams.selectedLayer; + List<String> attributeNameList = layer.getFeatureCollectionWrapper().getFeatureSchema().getAttributeNames(); + layer.getBasicStyle().setFillColor(this.colorPanel.getFillColor()); + layer.getBasicStyle().setLineColor(this.colorPanel.getLineColor()); + layer.setSynchronizingLineColor(this.colorPanel.synchronizeCheckBox.isSelected()); + ColorThemingStyle style = VertexParams.classificationStyle; @@ Diff output truncated at 100000 characters. @@ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel