diff --git a/.classpath b/.classpath
index 49276ea..6e6fd97 100644
--- a/.classpath
+++ b/.classpath
@@ -3,10 +3,6 @@
-
-
-
-
-
+
diff --git a/.project b/.project
index 98f7e58..605dc2d 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- Metadata Editor
+ StarterProject
diff --git a/.unoproject b/.unoproject
index 1a2dfbc..67bde5b 100644
--- a/.unoproject
+++ b/.unoproject
@@ -1,5 +1,5 @@
#UNO project configuration file
-#Fri Apr 10 17:20:27 CEST 2020
+#Thu Mar 19 15:58:57 CET 2020
project.srcdir=/source
regclassname=pro.litvinovg.libreoffice.metadata.RegistrationHandler
javaversion=java5
diff --git a/description.xml b/description.xml
index 9a34e6b..a4f9902 100644
--- a/description.xml
+++ b/description.xml
@@ -1,20 +1,13 @@
-
+
-
-
-
-
-
-
MetadataEditor
-
-
-
-
+
+
+
diff --git a/images/actionOne_16.png b/images/actionOne_16.png
new file mode 100644
index 0000000..fb7409d
Binary files /dev/null and b/images/actionOne_16.png differ
diff --git a/images/actionOne_26.png b/images/actionOne_26.png
new file mode 100644
index 0000000..268a528
Binary files /dev/null and b/images/actionOne_26.png differ
diff --git a/metadataeditor.update.xml b/metadataeditor.update.xml
index b46d38e..2f00691 100644
--- a/metadataeditor.update.xml
+++ b/metadataeditor.update.xml
@@ -2,9 +2,9 @@
-
+
-
+
diff --git a/package.properties b/package.properties
index 6463bb9..e081b50 100644
--- a/package.properties
+++ b/package.properties
@@ -1,3 +1,3 @@
#Written by the OOEclipseIntegration
-#Fri Apr 10 17:15:09 CEST 2020
-contents=description, description/desc_en.txt, releasenotes.txt, images, images/actionOne_16.png, images/actionOne_26.png, json-20190722.jar, registry, registry/org, registry/org/openoffice, registry/org/openoffice/Office, registry/org/openoffice/Office/Accelerators.xcu, registry/org/openoffice/Office/Addons.xcu, registry/org/openoffice/Office/UI, registry/org/openoffice/Office/UI/WriterWindowState.xcu
+#Thu Apr 07 11:36:27 CEST 2016
+contents=description, description/desc_en.txt, images, images/actionOne_16.png, images/actionOne_26.png, registry, registry/org, registry/org/openoffice, registry/org/openoffice/Office, registry/org/openoffice/Office/Accelerators.xcu, registry/org/openoffice/Office/Addons.xcu, registry/org/openoffice/Office/UI, registry/org/openoffice/Office/UI/WriterWindowState.xcu
diff --git a/registry/org/openoffice/Office/Addons.xcu b/registry/org/openoffice/Office/Addons.xcu
index b9d93f3..ebf48dc 100644
--- a/registry/org/openoffice/Office/Addons.xcu
+++ b/registry/org/openoffice/Office/Addons.xcu
@@ -1,4 +1,4 @@
-
+
@@ -9,8 +9,11 @@
service:pro.litvinovg.libreoffice.MetadataEditor?openGUI
-
- vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/metadata.png
+
+ vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_16.png
+
+
+ vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_26.png
diff --git a/source/pro/litvinovg/libreoffice/metadata/MetadataElement.java b/source/pro/litvinovg/libreoffice/metadata/MetadataElement.java
index 55d5c26..6cd6326 100644
--- a/source/pro/litvinovg/libreoffice/metadata/MetadataElement.java
+++ b/source/pro/litvinovg/libreoffice/metadata/MetadataElement.java
@@ -1,5 +1,7 @@
package pro.litvinovg.libreoffice.metadata;
+import java.io.Serializable;
+
public class MetadataElement {
private String name;
@@ -18,4 +20,5 @@ public class MetadataElement {
return value;
}
+
}
diff --git a/source/pro/litvinovg/libreoffice/metadata/OutlineElement.java b/source/pro/litvinovg/libreoffice/metadata/OutlineElement.java
index a29b722..d57f958 100644
--- a/source/pro/litvinovg/libreoffice/metadata/OutlineElement.java
+++ b/source/pro/litvinovg/libreoffice/metadata/OutlineElement.java
@@ -2,7 +2,6 @@ package pro.litvinovg.libreoffice.metadata;
import java.util.ArrayList;
import java.util.Iterator;
-import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
@@ -67,15 +66,12 @@ public class OutlineElement {
public void readMetadata(String data) {
try {
JSONObject json = new JSONObject(data);
- Set nums = json.keySet();
- for (String number : nums) {
- JSONObject meta = (JSONObject) json.get(number);
- Set names = meta.keySet();
- for (String name: names) {
- String value = meta.getString(name);
- metadata.add(new MetadataElement(name, value));
- }
- }
+ Iterator names = json.keys();
+ while (names.hasNext()) {
+ String metaName = names.next();
+ String metaValue = (String) json.get(metaName);
+ metadata.add(new MetadataElement(metaName, metaValue));
+ }
} catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -85,15 +81,11 @@ public class OutlineElement {
private String metadataToString() {
JSONObject json = new JSONObject();
- Integer i = 0;
for (MetadataElement element : metadata) {
String name = element.getName();
String value = element.getValue();
if (!name.isEmpty() && !value.isEmpty()) {
- JSONObject meta = new JSONObject();
- meta.put(element.getName(), element.getValue());
- json.put(i.toString(), meta);
- i++;
+ json.put(element.getName(), element.getValue());
}
}
return json.toString();
diff --git a/source/pro/litvinovg/libreoffice/metadata/resources/clock128.gif b/source/pro/litvinovg/libreoffice/metadata/resources/clock128.gif
new file mode 100644
index 0000000..73d3505
Binary files /dev/null and b/source/pro/litvinovg/libreoffice/metadata/resources/clock128.gif differ
diff --git a/source/pro/litvinovg/libreoffice/metadata/resources/cura.png b/source/pro/litvinovg/libreoffice/metadata/resources/cura.png
new file mode 100644
index 0000000..c311b86
Binary files /dev/null and b/source/pro/litvinovg/libreoffice/metadata/resources/cura.png differ
diff --git a/source/pro/litvinovg/libreoffice/metadata/resources/eclipse.png b/source/pro/litvinovg/libreoffice/metadata/resources/eclipse.png
new file mode 100644
index 0000000..3cc80f4
Binary files /dev/null and b/source/pro/litvinovg/libreoffice/metadata/resources/eclipse.png differ
diff --git a/source/pro/litvinovg/libreoffice/metadata/resources/metadata.png b/source/pro/litvinovg/libreoffice/metadata/resources/metadata.png
deleted file mode 100644
index a7af7ee..0000000
Binary files a/source/pro/litvinovg/libreoffice/metadata/resources/metadata.png and /dev/null differ
diff --git a/source/pro/litvinovg/libreoffice/metadata/resources/webcam.png b/source/pro/litvinovg/libreoffice/metadata/resources/webcam.png
new file mode 100644
index 0000000..4fdb98f
Binary files /dev/null and b/source/pro/litvinovg/libreoffice/metadata/resources/webcam.png differ
diff --git a/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java b/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java
index 4de8c9e..723b6f7 100644
--- a/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java
+++ b/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java
@@ -46,8 +46,6 @@ import java.awt.event.FocusEvent;
import javax.swing.JToggleButton;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JLabel;
-import javax.swing.ScrollPaneConstants;
-import java.awt.Dimension;
public class EditorGUI extends JFrame {
//Components
@@ -184,16 +182,17 @@ public class EditorGUI extends JFrame {
panelStandardMetadata = new JPanel();
tabbedPane.addTab("Метаданные либры", null, panelStandardMetadata, null);
tabbedPane.setEnabledAt(0, true);
-
-
+ /*
+ * if (true) { addMetadataTab(new OutlineElement(null, "Тестовое название")); }
+ */
for (OutlineElement element : outline) {
addMetadataTab(element);
}
createDocPropsModel();
createCustomDocPropsModel();
- tableDocStandard = new MetadataTable();
- tableDocCustom = new MetadataTable();
+ tableDocStandard = new JTable();
+ tableDocCustom = new JTable();
configureTableDocStandard();
configureTableDocCustom();
@@ -219,8 +218,10 @@ public class EditorGUI extends JFrame {
private void addMetadataTab(OutlineElement element) {
JPanel panelOutline = new JPanel();
+ JTable tableOutline = new JTable();
MetadataTableModel outlineTableModel = createOutlineTableModel(element);
tableModels.add(outlineTableModel);
+ configureTableOutline(tableOutline, outlineTableModel);
JButton btnOutlineSave = new JButton("Сохранить");
btnOutlineSave.addActionListener(new ActionListener() {
@@ -229,41 +230,27 @@ public class EditorGUI extends JFrame {
}
});
- JScrollPane scrollPane = new JScrollPane();
- scrollPane.setSize(new Dimension(50, 50));
-
- JButton btnOutlineSave_1 = new JButton("Закрыть");
-
GroupLayout groupLayoutOutlineMetadata = new GroupLayout(panelOutline);
groupLayoutOutlineMetadata.setHorizontalGroup(
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
+ .addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
+ .addGap(34)
+ .addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 839, Short.MAX_VALUE)
+ .addGap(126))
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
- .addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.TRAILING)
- .addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
- .addContainerGap(557, Short.MAX_VALUE)
- .addComponent(btnOutlineSave_1, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
- .addGap(104)
- .addComponent(btnOutlineSave)
- .addGap(32))
- .addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
- .addGap(45)
- .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 864, Short.MAX_VALUE)))
- .addGap(90))
+ .addContainerGap(748, Short.MAX_VALUE)
+ .addComponent(btnOutlineSave)
+ .addGap(134))
);
groupLayoutOutlineMetadata.setVerticalGroup(
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
- .addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
- .addContainerGap()
- .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
- .addGap(31)
- .addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.BASELINE)
- .addComponent(btnOutlineSave_1)
- .addComponent(btnOutlineSave))
- .addGap(34))
+ .addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
+ .addGap(85)
+ .addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
+ .addGap(52)
+ .addComponent(btnOutlineSave)
+ .addGap(43))
);
- JTable tableOutline = new MetadataTable();
- scrollPane.setViewportView(tableOutline);
- configureTableOutline(tableOutline, outlineTableModel);
JPopupMenu popupMenu = new JPopupMenu();
addPopup(tableOutline, popupMenu);
@@ -288,7 +275,7 @@ public class EditorGUI extends JFrame {
}
private void configureWindow() {
- setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/metadata.png")));
+ setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/webcam.png")));
setTitle("Редактор метаданных");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1170, 755);
diff --git a/source/pro/litvinovg/libreoffice/metadata/views/MetadataCellEditor.java b/source/pro/litvinovg/libreoffice/metadata/views/MetadataCellEditor.java
deleted file mode 100644
index bc1fe6a..0000000
--- a/source/pro/litvinovg/libreoffice/metadata/views/MetadataCellEditor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package pro.litvinovg.libreoffice.metadata.views;
-
-import java.awt.Component;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-
-import javax.swing.AbstractCellEditor;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.table.TableCellEditor;
-
-public class MetadataCellEditor extends AbstractCellEditor implements TableCellEditor {
- JTextArea comp = new JTextArea();
- JTable table;
- int row;
-
- public MetadataCellEditor() {
- comp.setLineWrap(true);
- comp.setWrapStyleWord(true);
- comp.addComponentListener(new ComponentAdapter() {
- public void componentResized(ComponentEvent e) {
- super.componentResized(e);
- table.setRowHeight(row, (int) (comp.getPreferredSize().getHeight()));
- }
- });
- comp.addKeyListener(new KeyAdapter() {
- public void keyTyped(KeyEvent e) {
- super.keyTyped(e);
- table.setRowHeight(row, (int) (comp.getPreferredSize().getHeight()));
- }
- });
- }
-
- public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
- this.table = table;
- this.row = row;
-
- comp.setText((String) value);
- comp.setFont(table.getFont());
-
- return comp;
- }
-
- public Object getCellEditorValue() {
- return comp.getText();
- }
-
-}
diff --git a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTable.java b/source/pro/litvinovg/libreoffice/metadata/views/MetadataTable.java
deleted file mode 100644
index 63ea8ad..0000000
--- a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTable.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package pro.litvinovg.libreoffice.metadata.views;
-
-import javax.swing.DefaultCellEditor;
-import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellEditor;
-import javax.swing.table.TableCellRenderer;
-
-public class MetadataTable extends JTable {
-
- public TableCellRenderer getCellRenderer(int row, int col) {
- return new MetadataTableRenderer();
- }
-
- public TableCellEditor getCellEditor(int row, int col) {
- return new MetadataCellEditor();
- }
-
-}
diff --git a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableRenderer.java b/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableRenderer.java
deleted file mode 100644
index cde3583..0000000
--- a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableRenderer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package pro.litvinovg.libreoffice.metadata.views;
-
-import java.awt.Component;
-
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.table.TableCellRenderer;
-
-public class MetadataTableRenderer extends JTextArea implements TableCellRenderer{
- private static final long serialVersionUID = 1L;
-
- public MetadataTableRenderer() {
- setOpaque(true);
- setLineWrap(true);
- setWrapStyleWord(true);
- }
-
- public Component getTableCellRendererComponent(JTable table,Object value,
- boolean isSelected, boolean hasFocus, int row,int column) {
- this.setText(value == null ? "" : value.toString());
- return this;
- }
-}