You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2012/01/27 02:29:58 UTC

svn commit: r1236486 [36/43] - in /incubator/ooo/devtools/netbeansintegration: ./ build/ build/public-package-jars/ javahelp/ javahelp/org/ javahelp/org/openoffice/ javahelp/org/openoffice/extensions/ javahelp/org/openoffice/extensions/docs/ javahelp/o...

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/localization/LanguageDefinition.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/localization/LanguageDefinition.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/localization/LanguageDefinition.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/localization/LanguageDefinition.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,337 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: LanguageDefinition.java,v $
+ *
+ *  $Revision: 1.7 $
+ *
+ *  last change: $Author: jsc $ $Date: 2009/07/16 11:36:27 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.localization;
+
+import org.openide.util.NbBundle;
+
+/**
+ *
+ * @author sg128468
+ */
+public class LanguageDefinition {
+    
+    // id's for languages: not allowed to have 'gaps'
+    public static final int LANGUAGE_ID_sq = 0;
+    public static final int LANGUAGE_ID_ar = 1;
+    public static final int LANGUAGE_ID_hy = 2;
+    public static final int LANGUAGE_ID_az = 3;
+    public static final int LANGUAGE_ID_eu = 4;
+    public static final int LANGUAGE_ID_bn = 5;
+    public static final int LANGUAGE_ID_bra = 6;
+    public static final int LANGUAGE_ID_bre = 7;
+    public static final int LANGUAGE_ID_bg = 8;
+    public static final int LANGUAGE_ID_ca = 9;
+    public static final int LANGUAGE_ID_zh_CN = 10;
+    public static final int LANGUAGE_ID_zh_TW = 11;
+    public static final int LANGUAGE_ID_cs = 12;
+    public static final int LANGUAGE_ID_hr = 13;
+    public static final int LANGUAGE_ID_da = 14;
+    public static final int LANGUAGE_ID_nl = 15;
+    public static final int LANGUAGE_ID_en = 16;
+    public static final int LANGUAGE_ID_en_US = 17;
+    public static final int LANGUAGE_ID_eo = 18;
+    public static final int LANGUAGE_ID_et = 19;
+    public static final int LANGUAGE_ID_fi = 20;
+    public static final int LANGUAGE_ID_fr = 21;
+    public static final int LANGUAGE_ID_gl = 22;
+    public static final int LANGUAGE_ID_ga = 23;
+    public static final int LANGUAGE_ID_gd = 24;
+    public static final int LANGUAGE_ID_ka = 25;
+    public static final int LANGUAGE_ID_de = 26;
+    public static final int LANGUAGE_ID_el = 27;
+    public static final int LANGUAGE_ID_gu = 28;
+    public static final int LANGUAGE_ID_he = 29;
+    public static final int LANGUAGE_ID_hi = 30;
+    public static final int LANGUAGE_ID_hu = 31;
+    public static final int LANGUAGE_ID_id = 32;
+    public static final int LANGUAGE_ID_it = 33;
+    public static final int LANGUAGE_ID_ja = 34;
+    public static final int LANGUAGE_ID_km = 35;
+    public static final int LANGUAGE_ID_ko = 36;
+    public static final int LANGUAGE_ID_lo = 37;
+    public static final int LANGUAGE_ID_lt = 38;
+    public static final int LANGUAGE_ID_mk = 39;
+    public static final int LANGUAGE_ID_ml = 40;
+    public static final int LANGUAGE_ID_mr = 41;
+    public static final int LANGUAGE_ID_ms = 42;
+    public static final int LANGUAGE_ID_ne = 43;
+    public static final int LANGUAGE_ID_no = 44;
+    public static final int LANGUAGE_ID_fa = 45;
+    public static final int LANGUAGE_ID_pl = 46;
+    public static final int LANGUAGE_ID_pt = 47;
+    public static final int LANGUAGE_ID_br = 48;
+    public static final int LANGUAGE_ID_pa = 49;
+    public static final int LANGUAGE_ID_ro = 50;
+    public static final int LANGUAGE_ID_ru = 51;
+    public static final int LANGUAGE_ID_sg = 52;
+    public static final int LANGUAGE_ID_sr = 53;
+    public static final int LANGUAGE_ID_si = 54;
+    public static final int LANGUAGE_ID_sl = 55;
+    public static final int LANGUAGE_ID_sk = 56;
+    public static final int LANGUAGE_ID_es = 57;
+    public static final int LANGUAGE_ID_sv = 58;
+    public static final int LANGUAGE_ID_tg = 59;
+    public static final int LANGUAGE_ID_ta = 60;
+    public static final int LANGUAGE_ID_te = 61;
+    public static final int LANGUAGE_ID_tet = 62;
+    public static final int LANGUAGE_ID_th = 63;
+    public static final int LANGUAGE_ID_bo = 64;
+    public static final int LANGUAGE_ID_tr = 65;
+    public static final int LANGUAGE_ID_uk_UA = 66;
+    public static final int LANGUAGE_ID_vi = 67;
+    public static final int LANGUAGE_ID_cy = 68;
+    public static final int LANGUAGE_COUNT = 69;
+
+    private static String[] languageLongName = new String[] {
+        NbBundle.getMessage(LanguageDefinition.class, "Albanian").concat("(sq)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Arabic").concat("(ar)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Armenian").concat("(hy)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Azerbaijani").concat("(az)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Basque").concat("(eu)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Bengali").concat("(bn)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Brazil").concat("(br)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Breton").concat("(bre)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Bulgarian").concat("(bg)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Catalan").concat("(ca)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Chinese").concat("(zh-CN)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Chinese").concat("(zh-TW)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Czech").concat("(cs)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Croatian").concat("(hr)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Danish").concat("(da)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Dutch").concat("(nl)"),
+        NbBundle.getMessage(LanguageDefinition.class, "English").concat("(en)"),
+        NbBundle.getMessage(LanguageDefinition.class, "English").concat("(en-US)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Esperanto").concat("(eo)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Estonian").concat("(et)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Finnish").concat("(fi)"),
+        NbBundle.getMessage(LanguageDefinition.class, "French").concat("(fr)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Galician").concat("(gl)"),
+        NbBundle.getMessage(LanguageDefinition.class, "GaelicIrish").concat("(ga)"),
+        NbBundle.getMessage(LanguageDefinition.class, "GaelicScottish").concat("(gd)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Georgian").concat("(ka)"),
+        NbBundle.getMessage(LanguageDefinition.class, "German").concat("(de)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Greek").concat("(el)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Gujarati").concat("(gu)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Hebrew").concat("(he)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Hindi").concat("(hi)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Hungarian").concat("(hu)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Indonesian").concat("(id)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Italiano").concat("(it)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Japanese").concat("(ja)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Khmer").concat("(km)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Korean").concat("(ko)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Lao").concat("(lo)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Lithuanian").concat("(lt)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Macedonian").concat("(mk)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Malayalam").concat("(ml)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Marathi").concat("(mr)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Malaysian").concat("(ms)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Nepali").concat("(ne)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Norwegian").concat("(no)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Persian").concat("(fa)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Polish").concat("(pl)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Portuguese").concat("(pt)"),
+        NbBundle.getMessage(LanguageDefinition.class, "PortugueseBrasil").concat("(pt-BR)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Punjabi").concat("(pa)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Romanian").concat("(ro)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Russian").concat("(ru)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Sangu").concat("(sg)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Serbian").concat("(sr)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Sinhala").concat("(si)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Slovenian").concat("(sl)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Slovakian").concat("(sk)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Spanish").concat("(es)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Swedish").concat("(sv)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Tajik").concat("(tg)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Tamil").concat("(ta)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Telegu").concat("(te)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Tetum").concat("(tet)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Thai").concat("(th)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Tibetan").concat("(bo)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Turkish").concat("(tr)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Ukrainian").concat("(uk-UA)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Vietnamese").concat("(vi)"),
+        NbBundle.getMessage(LanguageDefinition.class, "Welsh").concat("(cy)"),
+    }; // NOI18N
+
+    private static String[] languageShortName = new String[] {
+        "sq",
+        "ar",
+        "hy",
+        "az",
+        "eu",
+        "bn",
+        "br",
+        "bre",
+        "bg",
+        "ca",
+        "zh-CN",
+        "zh-TW",
+        "cs",
+        "hr",
+        "da",
+        "nl",
+        "en",
+        "en-US",
+        "eo",
+        "et",
+        "fi",
+        "fr",
+        "gl",
+        "ga",
+        "gd",
+        "ka",
+        "de",
+        "el",
+        "gu",
+        "he",
+        "hi",
+        "hu",
+        "id",
+        "it",
+        "ja",
+        "km",
+        "ko",
+        "lo",
+        "lt",
+        "mk",
+        "ml",
+        "mr",
+        "ms",
+        "ne",
+        "no",
+        "fa",
+        "pl",
+        "pt",
+        "pt-BR",
+        "pa",
+        "ro",
+        "ru",
+        "sg",
+        "sr",
+        "si",
+        "sl",
+        "sk",
+        "es",
+        "sv",
+        "tg",
+        "ta",
+        "te",
+        "tet",
+        "th",
+        "bo",
+        "tr",
+        "uk-UA",
+        "vi",
+        "cy",
+    }; // NOI18N
+    
+    /**
+     * Do not create
+     */
+    private LanguageDefinition() {
+    }
+    
+    public static String[] getLanguages() {
+        return languageLongName;
+    }
+    
+    public static String[] getLanguagesShortName() {
+        return languageShortName;
+    }
+
+    public static int getLanguageIdForName(String languageName) {
+        for (int i=0; i<languageLongName.length; i++) {
+            if (languageLongName[i].equals(languageName)) {
+                return i;
+            }
+        }
+        return -1;
+    }
+    
+    public static int getLanguageIdForShortName(String shortName) {
+        for (int i=0; i<languageShortName.length; i++) {
+            if (languageShortName[i].equals(shortName)) {
+                return i;
+            }
+        }
+        return -1;
+    }
+    
+    public static int getLanguageId(String name) {
+        if (name != null) {
+            for (int i=0; i<languageShortName.length; i++) {
+                if (languageShortName[i].equals(name)) {
+                    return i;
+                }
+                if (languageLongName[i].equals(name)) {
+                    return i;
+                }
+            }
+        }
+        return -1;
+    }
+    
+    public static String getLanguageNameForId(int id) {
+        if (!hasLanguage(id))
+            return null;
+        return languageLongName[id];
+    }
+    
+    public static String getLanguageShortNameForId(int id) {
+        if (!hasLanguage(id))
+            return null;
+        return languageShortName[id];
+    }
+    
+    public static boolean hasLanguage(int langID) {
+        if (langID < 0 || langID >= LANGUAGE_COUNT) {
+            return false;
+        }
+        return true;
+    }
+
+    public static String getLanguageNameForShortName(String languageShortName) {
+        int id = getLanguageId(languageShortName);
+        return getLanguageNameForId(id);
+    }
+
+    public static String getLanguageShortNameForName(String languageName) {
+        int id = getLanguageId(languageName);
+        return getLanguageShortNameForId(id);
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,11 @@
+LBL_BUTTON_DeleteException=Delete Exception
+LBL_BUTTON_AddException=Add Exception
+LBL_ExistingExceptions=Existing Exceptions
+LBL_AddedExceptions=Added Exceptions
+LBL_CreateException=Create Exception...
+LBL_AddLanguage=Add Language
+LBL_DeleteLanguage=DeleteLanguage
+LBL_AddFunction=Add Function
+LBL_DeleteFunction=Delete Function
+LBL_AddParameter=Add Parameter
+LBL_DeleteParameter=Delete Parameter

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_ja.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_ja.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_ja.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_ja.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,25 @@
+# LBL_BUTTON_DeleteException=Delete Exception
+LBL_BUTTON_DeleteException=\u4f8b\u5916\u3092\u524a\u9664
+# LBL_BUTTON_AddException=Add Exception
+LBL_BUTTON_AddException=\u4f8b\u5916\u3092\u8ffd\u52a0
+# LBL_ExistingExceptions=Existing Exceptions
+LBL_ExistingExceptions=\u65e2\u5b58\u306e\u4f8b\u5916
+# LBL_AddedExceptions=Added Exceptions
+LBL_AddedExceptions=\u8ffd\u52a0\u3057\u305f\u4f8b\u5916
+# LBL_CreateException=Create Exception...
+LBL_CreateException=\u4f8b\u5916\u3092\u4f5c\u6210...
+# LBL_AddLanguage=Add Language
+LBL_AddLanguage=\u8a00\u8a9e\u3092\u8ffd\u52a0
+# LBL_DeleteLanguage=DeleteLanguage
+LBL_DeleteLanguage=DeleteLanguage
+# LBL_AddFunction=Add Function
+LBL_AddFunction=\u95a2\u6570\u3092\u8ffd\u52a0
+# LBL_DeleteFunction=Delete Function
+LBL_DeleteFunction=\u95a2\u6570\u3092\u524a\u9664
+# LBL_AddParameter=Add Parameter
+LBL_AddParameter=\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8ffd\u52a0
+# LBL_DeleteParameter=Delete Parameter
+LBL_DeleteParameter=\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u524a\u9664
+
+
+

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_pt_BR.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_pt_BR.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_pt_BR.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_pt_BR.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,11 @@
+LBL_BUTTON_DeleteException=Delete Exception
+LBL_BUTTON_AddException=Add Exception
+LBL_ExistingExceptions=Existing Exceptions
+LBL_AddedExceptions=Added Exceptions
+LBL_CreateException=Create Exception...
+LBL_AddLanguage=Add Language
+LBL_DeleteLanguage=DeleteLanguage
+LBL_AddFunction=Add Function
+LBL_DeleteFunction=Delete Function
+LBL_AddParameter=Add Parameter
+LBL_DeleteParameter=Delete Parameter

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_zh_CN.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_zh_CN.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_zh_CN.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/Bundle_zh_CN.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,11 @@
+LBL_BUTTON_DeleteException=\u5220\u9664\u5f02\u5e38
+LBL_BUTTON_AddException=\u6dfb\u52a0\u5f02\u5e38
+LBL_ExistingExceptions=\u73b0\u6709\u5f02\u5e38
+LBL_AddedExceptions=\u6dfb\u52a0\u7684\u5f02\u5e38
+LBL_CreateException=\u521b\u5efa\u5f02\u5e38...
+LBL_AddLanguage=\u6dfb\u52a0\u8bed\u8a00
+LBL_DeleteLanguage=\u5220\u9664\u8bed\u8a00
+LBL_AddFunction=\u6dfb\u52a0\u51fd\u6570
+LBL_DeleteFunction=\u5220\u9664\u51fd\u6570
+LBL_AddParameter=\u6dfb\u52a0\u53c2\u6570
+LBL_DeleteParameter=\u5220\u9664\u53c2\u6570

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.form
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.form?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.form (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.form Fri Jan 27 01:29:33 2012
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.3" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="existingExceptions" alignment="0" pref="434" max="32767" attributes="0"/>
+                  <Component id="showException" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="1" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="existingExecptionsView" pref="299" max="32767" attributes="0"/>
+                          <Component id="jScrollPane1" alignment="1" pref="299" max="32767" attributes="0"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                          <Component id="addException" alignment="1" max="32767" attributes="1"/>
+                          <Component id="deleteException" alignment="1" max="32767" attributes="1"/>
+                      </Group>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="existingExceptions" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="deleteException" min="-2" max="-2" attributes="0"/>
+                  <Component id="jScrollPane1" min="-2" pref="95" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="showException" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="existingExecptionsView" pref="148" max="32767" attributes="0"/>
+                  <Component id="addException" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JList" name="exceptionList">
+          <Properties>
+            <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection code="getListModel()" type="code"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JLabel" name="existingExceptions">
+      <Properties>
+        <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
+          <ComponentRef name="exceptionList"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/openoffice/extensions/util/datamodel/properties/Bundle.properties" key="LBL_AddedExceptions" replaceFormat="NbBundle.getMessage(ExceptionCustomEditor.class, &quot;LBL_AddedExceptions&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="deleteException">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/openoffice/extensions/util/datamodel/properties/Bundle.properties" key="LBL_BUTTON_DeleteException" replaceFormat="NbBundle.getMessage(ExceptionCustomEditor.class, &quot;LBL_BUTTON_DeleteException&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteExceptionActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="showException">
+      <Properties>
+        <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
+          <ComponentRef name="existingExecptionsView"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/openoffice/extensions/util/datamodel/properties/Bundle.properties" key="LBL_ExistingExceptions" replaceFormat="NbBundle.getMessage(ExceptionCustomEditor.class, &quot;LBL_ExistingExceptions&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="addException">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/openoffice/extensions/util/datamodel/properties/Bundle.properties" key="LBL_BUTTON_AddException" replaceFormat="NbBundle.getMessage(ExceptionCustomEditor.class, &quot;LBL_BUTTON_AddException&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="addExceptionActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JScrollPane" name="existingExecptionsView">
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new BeanTreeView();"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+    </Container>
+  </SubComponents>
+</Form>

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionCustomEditor.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,264 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: ExceptionCustomEditor.java,v $
+ *
+ *  $Revision: 1.8 $
+ *
+ *  last change: $Author: sg $ $Date: 2009/10/26 08:01:12 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyVetoException;
+import java.beans.VetoableChangeListener;
+import java.util.StringTokenizer;
+import javax.swing.DefaultListModel;
+import javax.swing.ListModel;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.propertysheet.PropertyEnv;
+import org.openide.explorer.propertysheet.editors.EnhancedCustomPropertyEditor;
+import org.openide.explorer.view.BeanTreeView;
+import org.openide.nodes.Node;
+import org.openide.util.NbBundle;
+import org.openoffice.extensions.util.LogWriter;
+import org.openoffice.extensions.util.typebrowser.logic.UnoTypes;
+import org.openoffice.extensions.util.typebrowser.logic.TypeNode;
+
+/**
+ *
+ * @author  sg128468
+ */
+public class ExceptionCustomEditor extends javax.swing.JPanel 
+        implements ExplorerManager.Provider, PropertyChangeListener, 
+        VetoableChangeListener, EnhancedCustomPropertyEditor {        
+    
+    private ExplorerManager manager = new ExplorerManager();
+    private PropertyEnv propertyEnv;
+//    private Vector<String>exceptionContainer;
+    private DefaultListModel exceptionContainer;
+    private ExceptionPropertyEditor editor;
+    
+    /** Creates new form ExceptionCustomEditor */
+    public ExceptionCustomEditor(ExceptionPropertyEditor editor, PropertyEnv propertyEnv) {
+        exceptionContainer = new DefaultListModel();
+        createExceptionList(editor.getAsText());
+        this.propertyEnv = propertyEnv;
+        LogWriter.getLogWriter().log(LogWriter.LEVEL_INFO, propertyEnv.getFeatureDescriptor().toString());
+        this.editor = editor;
+        initComponents();
+        
+        propertyEnv.setState(PropertyEnv.STATE_NEEDS_VALIDATION);
+        propertyEnv.addVetoableChangeListener(this);
+
+        Node node = TypeNode.createRootNode(new String[]{UnoTypes.EXCEPTION, UnoTypes.MODULE});
+
+        manager.setRootContext(node);
+        BeanTreeView exceptionView = (BeanTreeView)existingExecptionsView;
+        manager.addPropertyChangeListener(this);    
+    }
+    
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jScrollPane1 = new javax.swing.JScrollPane();
+        exceptionList = new javax.swing.JList();
+        existingExceptions = new javax.swing.JLabel();
+        deleteException = new javax.swing.JButton();
+        showException = new javax.swing.JLabel();
+        addException = new javax.swing.JButton();
+        existingExecptionsView = new BeanTreeView();
+
+        exceptionList.setModel(getListModel());
+        jScrollPane1.setViewportView(exceptionList);
+
+        existingExceptions.setLabelFor(exceptionList);
+        existingExceptions.setText(NbBundle.getMessage(ExceptionCustomEditor.class, "LBL_AddedExceptions")); // NOI18N
+
+        deleteException.setText(NbBundle.getMessage(ExceptionCustomEditor.class, "LBL_BUTTON_DeleteException")); // NOI18N
+        deleteException.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                deleteExceptionActionPerformed(evt);
+            }
+        });
+
+        showException.setLabelFor(existingExecptionsView);
+        showException.setText(NbBundle.getMessage(ExceptionCustomEditor.class, "LBL_ExistingExceptions")); // NOI18N
+
+        addException.setText(NbBundle.getMessage(ExceptionCustomEditor.class, "LBL_BUTTON_AddException")); // NOI18N
+        addException.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                addExceptionActionPerformed(evt);
+            }
+        });
+
+        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(existingExceptions, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
+                    .add(showException)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                            .add(existingExecptionsView, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 299, Short.MAX_VALUE)
+                            .add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 299, Short.MAX_VALUE))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
+                            .add(org.jdesktop.layout.GroupLayout.TRAILING, addException, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .add(org.jdesktop.layout.GroupLayout.TRAILING, deleteException, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .add(existingExceptions)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(deleteException)
+                    .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 95, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(showException)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(existingExecptionsView, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 148, Short.MAX_VALUE)
+                    .add(addException))
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void deleteExceptionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteExceptionActionPerformed
+
+        int[] indices = exceptionList.getSelectedIndices();
+        for (int i=0; i<indices.length; i++) {
+            int index = indices[i];
+            if (index < 0 || index >= exceptionContainer.size()) {
+                index = exceptionContainer.size() - 1;
+            }
+            exceptionContainer.remove(index);
+        }
+        exceptionList.updateUI();
+        // disable delete button
+        if (exceptionContainer.size() == 0) {
+            deleteException.setEnabled(false);
+        }
+
+    }//GEN-LAST:event_deleteExceptionActionPerformed
+
+    private void addExceptionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addExceptionActionPerformed
+
+        Node[] nodes = manager.getSelectedNodes();
+        if (nodes != null) {
+            for (int i=0; i<nodes.length; i++) {
+                TypeNode node = (TypeNode)nodes[i];
+                if (!exceptionContainer.contains(node.getHierarchicalName()))
+                    exceptionContainer.addElement(node.getHierarchicalName());
+            }
+        }
+        exceptionList.setSelectedIndex(exceptionContainer.size() - 1); // select the last added
+        exceptionList.updateUI();
+        // enable delete button
+        deleteException.setEnabled(true);
+
+    }//GEN-LAST:event_addExceptionActionPerformed
+    
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton addException;
+    private javax.swing.JButton deleteException;
+    private javax.swing.JList exceptionList;
+    private javax.swing.JLabel existingExceptions;
+    private javax.swing.JScrollPane existingExecptionsView;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JLabel showException;
+    // End of variables declaration//GEN-END:variables
+
+    private void createExceptionList(String exceptionList) {
+        StringTokenizer t = new StringTokenizer(exceptionList, " ,"); // NOI18N
+        while(t.hasMoreTokens()) {
+            String listMember = t.nextToken();
+            if (listMember.length() != 0) {
+                exceptionContainer.addElement(listMember);
+            }
+        }
+    }
+    
+    private ListModel getListModel() {
+        return exceptionContainer;
+    }
+
+    public ExplorerManager getExplorerManager() {
+        return manager;
+    }
+
+    public void propertyChange(PropertyChangeEvent evt) {
+        Node[] nodes = manager.getSelectedNodes();
+        if (nodes != null && nodes.length > 0) {
+            TypeNode node = (TypeNode)nodes[0];  // single tree selection
+
+            if (node.getNodeType() != UnoTypes.MODULE_TYPE) { // do not add modules to this type
+                addException.setEnabled(true);
+            }
+            else {
+                addException.setEnabled(false);
+            }
+        }
+        if (exceptionContainer.size() == 0) {
+            deleteException.setEnabled(false);
+        }
+        else {
+            deleteException.setEnabled(true);
+        }
+    }
+
+    public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException {
+        if (PropertyEnv.PROP_STATE.equals(evt.getPropertyName())) { // OK pressed
+            editor.setValue((String)getPropertyValue());
+        }        
+    }
+
+    public Object getPropertyValue() throws IllegalStateException {
+        StringBuffer result = new StringBuffer();
+        for (int i=0; i<exceptionContainer.size(); i++) {
+            if (i > 0) {
+                result.append(", "); // NOI18N
+            }
+            result.append(exceptionContainer.get(i));
+        }
+        return result.toString();
+    }
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionPropertyEditor.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionPropertyEditor.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionPropertyEditor.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/ExceptionPropertyEditor.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: ExceptionPropertyEditor.java,v $
+ *
+ *  $Revision: 1.1 $
+ *
+ *  last change: $Author: sg $ $Date: 2006/10/16 15:39:29 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.awt.Component;
+import java.beans.PropertyEditorSupport;
+import javax.swing.JLabel;
+import org.openide.explorer.propertysheet.ExPropertyEditor;
+import org.openide.explorer.propertysheet.PropertyEnv;
+
+/**
+ *
+ * @author sg128468
+ */
+public class ExceptionPropertyEditor
+        extends PropertyEditorSupport implements ExPropertyEditor {
+
+    private PropertyEnv propertyEnv;
+        
+    
+    /** Creates a new instance of ExceptionPropertyEditor */
+    public ExceptionPropertyEditor() {
+    }
+
+    public void attachEnv(PropertyEnv propertyEnv) {
+        this.propertyEnv = propertyEnv;
+    }
+    
+    public Component getCustomEditor() {
+        return new ExceptionCustomEditor(this, propertyEnv);
+    }
+    
+    public boolean supportsCustomEditor() {
+        return true;
+    }    
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/LocalizedOpenOfficeOrgProperty.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/LocalizedOpenOfficeOrgProperty.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/LocalizedOpenOfficeOrgProperty.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/LocalizedOpenOfficeOrgProperty.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,229 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: LocalizedOpenOfficeOrgProperty.java,v $
+ *
+ *  $Revision: 1.11 $
+ *
+ *  last change: $Author: sg $ $Date: 2009/07/06 14:51:26 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.awt.event.ActionEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyEditor;
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+import org.openide.util.NbBundle;
+import org.openoffice.extensions.projecttemplates.calcaddin.AddinWizardIterator;
+import org.openoffice.extensions.util.datamodel.*;
+import org.openoffice.extensions.util.datamodel.actions.BaseAction;
+import org.openoffice.extensions.util.datamodel.actions.LanguageAction;
+import org.openoffice.extensions.util.datamodel.localization.LanguageDefinition;
+
+/**
+ *
+ * @author sg128468
+ */
+public class LocalizedOpenOfficeOrgProperty implements OpenOfficeOrgProperty, NbNodeObject {
+    
+    OrderedContainer<String>values;
+    String name;
+    String description;
+    // description for tool tips etc.
+    String longDescription;
+
+    private PropertyEditor editor;
+    private NbNodeObject parent;
+
+    private LanguageAction langActions;
+    
+    /** Creates a new instance of LocalizedOpenOfficeOrgProperty */
+    public LocalizedOpenOfficeOrgProperty(String name, String value, String longDescription, NbNodeObject parent, int languageID, PropertyEditor editor) {
+        values = new OrderedContainer<String>();
+        setValueForLanguage(languageID, value);
+        this.parent = parent;
+        this.name = name;
+        this.editor = editor;
+        this.longDescription = longDescription;
+    }
+    
+    public boolean isLocalized() {
+        return true;
+    }
+
+    public String getPropertyName() {
+        return name;
+    }
+
+    public Integer[] getUsedLanguageIndexes() {
+        String[] keys = values.getKeysInOrder();
+        Integer[] intKeys = new Integer[keys.length];
+        for (int i = 0; i < keys.length; i++) {
+            intKeys[i] = new Integer(keys[i]);
+        }
+        return intKeys;
+    }
+    
+    public void setPropertyName(String name) {
+        this.name = name;
+    }
+
+    public String getValueForLanguage(int langID) {
+        String key = Integer.toString(langID);
+        return values.get(key);
+    }
+
+    public void setValueForLanguage(int langID, String value) {
+        String key = Integer.toString(langID);
+        this.values.put(key, value);
+    }
+
+    public void removeValueForLanguage(int langID) {
+        String key = Integer.toString(langID);
+        this.values.remove(key);
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getDisplayName() {
+        return name;
+    }
+
+    public NbNodeObject[] getAllSubObjects() {
+        return null;
+    }
+
+//    public void fireDataChangeEvent() {
+//    }
+    
+    public Node.Property[] createProperties(Sheet sheet, PropertyChangeListener listener) {
+        Integer[] indexes = getUsedLanguageIndexes();
+        Node.Property[] nameProp = new Node.Property[indexes.length];
+        for (int i=0; i<indexes.length; i++) {
+            nameProp[i] = new LocalizedProperty(indexes[i].intValue());
+            if (listener != null) {
+                nameProp[i].getPropertyEditor().addPropertyChangeListener(listener);
+            }
+        }
+        if (sheet != null) {
+            Sheet.Set set = Sheet.createPropertiesSet();
+            set.setName(getDisplayName());
+            set.setDisplayName(getDisplayName().concat(" - ").concat( // NOI18N
+                    NbBundle.getMessage(AddinWizardIterator.class, "LB_LocalizedProperty")));
+            set.put(nameProp);
+            sheet.put(set);
+        }
+        return nameProp;
+    }
+
+    public NbNodeObject getParent() {
+        return parent;
+    }
+
+    public boolean hasActions(int type) {
+        // not type specific
+        return true;
+    }
+
+    public Action[] getActions(boolean b) {
+        return new Action[]{new MyNewLanguageAction(), new MyDeleteLanguageAction()};
+    }
+
+    public void setActions(BaseAction langActions) {
+        this.langActions = (LanguageAction)langActions;
+    }
+    
+    public int getType() {
+        return NbNodeObject.LOCALIZED_PROPERTY_TYPE;
+    }
+    
+    private class MyNewLanguageAction extends AbstractAction {
+        public MyNewLanguageAction() {
+            putValue(NAME, NbBundle.getMessage(LocalizedOpenOfficeOrgProperty.class, "LBL_AddLanguage"));
+        }
+        public void actionPerformed(ActionEvent e) {
+            langActions.addLanguageAction();
+        }
+    }
+    private class MyDeleteLanguageAction extends AbstractAction {
+        public MyDeleteLanguageAction() {
+            putValue(NAME, NbBundle.getMessage(LocalizedOpenOfficeOrgProperty.class, "LBL_DeleteLanguage"));
+        }
+        public void actionPerformed(ActionEvent e) {
+            langActions.deleteLanguageAction();
+        }
+    }
+    
+    class LocalizedProperty extends Node.Property<String> {
+        int languageID;
+//        @SuppressWarnings(value = "unchecked")
+        public LocalizedProperty(int languageID) {
+            super(String.class);
+            this.languageID = languageID;
+            setName(LanguageDefinition.getLanguageNameForId(languageID));
+            this.setShortDescription(longDescription);
+        }
+        public Object getValue(String attributeName) {
+            if ("LocalizedOpenOfficeOrgProperty".equals(attributeName)) { // NOI18N
+                return LocalizedOpenOfficeOrgProperty.this;
+            }
+            return super.getValue(attributeName);
+        }
+        public String getValue() {
+            return getValueForLanguage(this.languageID);
+        }
+        public void setValue(String value) {
+            setValueForLanguage(this.languageID, value);
+        }
+
+        public boolean canRead() {
+            return true;
+        }
+
+        public boolean canWrite() {
+            return true;
+        }
+        
+        public PropertyEditor getPropertyEditor() {
+            if (editor == null) {
+                return super.getPropertyEditor();
+            }
+            return editor;
+        }
+   }
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgBooleanProperty.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgBooleanProperty.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgBooleanProperty.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgBooleanProperty.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: OpenOfficeOrgBooleanProperty.java,v $
+ *
+ *  $Revision: 1.5 $
+ *
+ *  last change: $Author: jsc $ $Date: 2008/02/11 11:05:29 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyEditor;
+import javax.swing.Action;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+import org.openoffice.extensions.util.datamodel.NbNodeObject;
+import org.openoffice.extensions.util.datamodel.actions.BaseAction;
+
+/**
+ *
+ * @author sg128468
+ */
+public class OpenOfficeOrgBooleanProperty implements OpenOfficeOrgProperty, NbNodeObject {//, PropertyChangeListener {
+    
+    String name;
+    boolean value;
+    
+    private String description;
+    private PropertyEditor editor;
+    private NbNodeObject parent;
+    private String longDescription;
+    
+    /** Creates a new instance of OpenOfficeOrgIconProperty */
+    public OpenOfficeOrgBooleanProperty(String name, boolean value, String longDescription, NbNodeObject parent, PropertyEditor editor) {
+        this.name = name;
+        this.editor = editor;
+        this.parent = parent;
+        this.value = value;
+        this.longDescription = longDescription;
+    }
+
+    public boolean isLocalized() {
+        return false;
+    }
+
+    public String getPropertyName() {
+        return name;
+    }
+
+    public void setPropertyName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public void setValue(boolean value) {
+        this.value = value;
+    }
+    
+    public boolean getValue() {
+        return value;
+    }
+    
+    public String getValueForLanguage(int langID) throws UnknownOpenOfficeOrgLanguageIDException {
+        return Boolean.toString(value);
+    }
+
+    public void removeValueForLanguage(int langID) throws UnknownOpenOfficeOrgLanguageIDException {
+    }
+
+    public void setValueForLanguage(int langID, String value) throws UnknownOpenOfficeOrgLanguageIDException {
+        this.value = Boolean.valueOf(value);
+    }
+
+    public NbNodeObject getParent() {
+        return parent;
+    }
+
+    public String getDisplayName() {
+        return name;
+    }
+
+    public NbNodeObject[] getAllSubObjects() {
+        return null;
+    }
+
+    public Node.Property[] createProperties(Sheet sheet, PropertyChangeListener listener) {
+        Node.Property nameProp = new BooleanProperty();
+        if (sheet != null) {
+            Sheet.Set set = sheet.createPropertiesSet();
+            set.put(nameProp);
+            sheet.put(set);
+        }
+        if (listener != null) {
+            nameProp.getPropertyEditor().addPropertyChangeListener(listener);
+        }
+        return new Node.Property[]{nameProp};
+    }
+
+    public boolean hasActions(int type) {
+        return false;
+    }
+
+    public Action[] getActions(boolean context) {
+        return null;
+    }
+
+    public void setActions(BaseAction actions) {
+    }
+
+    public int getType() {
+        return NbNodeObject.PROPERTY_TYPE; // own type for this??
+    }
+
+//    public void propertyChange(PropertyChangeEvent evt) {
+//        toggleChange();
+//    }
+    
+    public class BooleanProperty extends Node.Property<Boolean> {
+        public BooleanProperty() {
+            super(Boolean.class);
+            setName(getPropertyName());
+            this.setShortDescription(longDescription);
+        }
+        public Boolean getValue() {
+            return Boolean.valueOf(value);
+        }
+        public void setValue(Boolean v) {
+            if (Boolean.TRUE.equals(v))
+                value = true;
+            else 
+                value = false;
+        }
+        public PropertyEditor getPropertyEditor() {
+            return super.getPropertyEditor();
+        }
+        public boolean canRead() {
+            return true;
+        }
+        public boolean canWrite() {
+            return true;
+        }
+        public NbNodeObject getPropertyParent() {
+            return getParent();
+        }
+    }    
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgIconProperty.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgIconProperty.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgIconProperty.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgIconProperty.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: OpenOfficeOrgIconProperty.java,v $
+ *
+ *  $Revision: 1.8 $
+ *
+ *  last change: $Author: sg $ $Date: 2008/07/24 10:59:00 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.awt.Image;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyEditor;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+import org.openide.util.Exceptions;
+import org.openoffice.extensions.projecttemplates.addon.datamodel.IconCustomEditor;
+import org.openoffice.extensions.util.datamodel.NbNodeObject;
+import org.openoffice.extensions.util.datamodel.actions.BaseAction;
+
+/**
+ *
+ * @author sg128468
+ */
+public class OpenOfficeOrgIconProperty implements OpenOfficeOrgProperty, NbNodeObject {
+    
+    String name;
+    Image value;
+    String path;
+    
+    private String description;
+    private IconCustomEditor editor;
+    private NbNodeObject parent;
+    
+    /** Creates a new instance of OpenOfficeOrgIconProperty */
+    public OpenOfficeOrgIconProperty(String name, String path, String longDescription, NbNodeObject parent, IconCustomEditor editor) {
+        this.name = name;
+        this.path = path;
+        if (path != null) {
+            ImageIcon icon = new ImageIcon(path);
+            value = icon.getImage();
+        }
+        this.editor = editor;
+        this.parent = parent;
+        this.description = longDescription;
+    }
+
+    public boolean isLocalized() {
+        return false;
+    }
+
+    public String getPropertyName() {
+        return name;
+    }
+
+    public void setPropertyName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public Image getImage() {
+        return value;
+    }
+    
+    public String getValueForLanguage(int langID) throws UnknownOpenOfficeOrgLanguageIDException {
+        return path;
+    }
+
+    public void removeValueForLanguage(int langID) throws UnknownOpenOfficeOrgLanguageIDException {
+        value = null;
+    }
+
+    public void setValueForLanguage(int langID, String value) throws UnknownOpenOfficeOrgLanguageIDException {
+        path = value;
+    }
+
+    public NbNodeObject getParent() {
+        return parent;
+    }
+
+    public String getDisplayName() {
+        return name;
+    }
+
+    public NbNodeObject[] getAllSubObjects() {
+        return null;
+    }
+
+    public Node.Property[] createProperties(Sheet sheet, PropertyChangeListener listener) {
+        Node.Property nameProp = new IconProperty();
+        if (sheet != null) {
+            Sheet.Set set = Sheet.createPropertiesSet();
+            set.put(nameProp);
+            sheet.put(set);
+        }
+        if (listener != null) {
+            nameProp.getPropertyEditor().addPropertyChangeListener(listener);
+        }
+        return new Node.Property[]{nameProp};
+    }
+
+    public boolean hasActions(int type) {
+        return false;
+    }
+
+    public Action[] getActions(boolean context) {
+        return null;
+    }
+
+    public void setActions(BaseAction actions) {
+    }
+
+    public int getType() {
+        return NbNodeObject.PROPERTY_TYPE; // own type for this??
+    }
+    
+    public class IconProperty extends Node.Property<Image> {
+        public IconProperty() {
+            super(Image.class);
+            setName(getPropertyName());
+            this.setShortDescription(description);
+        }
+        public Image getValue() {
+            return value;
+        }
+        public void setValue(Image v) {
+            value = v;
+            try { // rather clumsy way to set the path of the image
+                setValueForLanguage(-1, editor.getPath());
+            } catch (UnknownOpenOfficeOrgLanguageIDException ex) {
+                Exceptions.printStackTrace(ex);
+            }
+//            if (v instanceof String) {
+//                path = (String)v;
+//                // first load the image icon, makes obtaining the image easy
+////                ImageIcon icon = new ImageIcon(path);
+////                value = icon.getImage();
+//                try {
+//                    value = ImageIO.read(new File(path));
+//                } catch (IOException ex) {
+//                    LogWriter.getLogWriter().printStackTrace(ex);
+//                }
+//            }
+//            if (v instanceof String) {
+//                path = (String)v;
+//                // first load the image icon, makes obtaining the image easy
+////                ImageIcon icon = new ImageIcon(path);
+////                value = icon.getImage();
+//                try {
+//                    value = ImageIO.read(new File(path));
+//                } catch (IOException ex) {
+//                    LogWriter.getLogWriter().printStackTrace(ex);
+//                }
+//            }
+        }
+        @Override
+        public PropertyEditor getPropertyEditor() {
+            if (editor == null)
+                return super.getPropertyEditor();
+            return editor;
+        }
+        public boolean canRead() {
+            return true;
+        }
+        public boolean canWrite() {
+            return true;
+        }
+        public NbNodeObject getPropertyParent() {
+            return getParent();
+        }
+    }    
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgProperty.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgProperty.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgProperty.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/OpenOfficeOrgProperty.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: OpenOfficeOrgProperty.java,v $
+ *
+ *  $Revision: 1.1 $
+ *
+ *  last change: $Author: sg $ $Date: 2006/09/08 14:31:33 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import org.openoffice.extensions.util.datamodel.*;
+
+/**
+ *
+ * @author sg128468
+ */
+public interface OpenOfficeOrgProperty {
+    
+    public boolean isLocalized();
+
+    public String getPropertyName();
+    
+    public void setPropertyName(String name);
+    
+    public String getDescription();
+    
+    public void setDescription(String description);
+    
+    public String getValueForLanguage(int langID)
+        throws UnknownOpenOfficeOrgLanguageIDException;
+    
+    public void removeValueForLanguage(int langID)
+        throws UnknownOpenOfficeOrgLanguageIDException;
+    
+    public void setValueForLanguage(int langID, String value)
+        throws UnknownOpenOfficeOrgLanguageIDException;
+    
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/SimpleOpenOfficeOrgProperty.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/SimpleOpenOfficeOrgProperty.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/SimpleOpenOfficeOrgProperty.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/SimpleOpenOfficeOrgProperty.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: SimpleOpenOfficeOrgProperty.java,v $
+ *
+ *  $Revision: 1.8 $
+ *
+ *  last change: $Author: jsc $ $Date: 2008/02/11 11:04:39 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyEditor;
+import javax.swing.Action;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+import org.openoffice.extensions.util.datamodel.*;
+import org.openoffice.extensions.util.datamodel.actions.BaseAction;
+
+/**
+ *
+ * @author sg128468
+ */
+public class SimpleOpenOfficeOrgProperty implements OpenOfficeOrgProperty, NbNodeObject {
+    
+    String name;
+    String value;
+    
+    private String description;
+    private PropertyEditor editor;
+    private NbNodeObject parent;
+    boolean readOnly;
+    
+    public SimpleOpenOfficeOrgProperty(String name, String value, String longDescription, NbNodeObject parent, PropertyEditor editor) {
+        this(name, value, longDescription, parent, editor, false);
+    }
+
+    /** Creates a new instance of SimpleOpenOfficeOrgProperty */
+    public SimpleOpenOfficeOrgProperty(String name, String value, String longDescription, NbNodeObject parent, PropertyEditor editor, boolean readOnly) {
+        this.name = name;
+        this.value = value;
+        this.editor = editor;
+        this.readOnly = readOnly;
+        this.parent = parent;
+        this.description = longDescription;
+    }
+
+    public boolean isLocalized() {
+        return false;
+    }
+
+    public String getPropertyName() {
+        return name;
+    }
+
+    public void setPropertyName(String name) {
+        this.name = name;
+    }
+
+    public String getValueForLanguage(int langID) {
+        return value;
+    }
+
+    public void setValueForLanguage(int langID, String value) {
+        this.value = value;
+    }
+
+    public void removeValueForLanguage(int langID) {
+        this.value = null;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getDisplayName() {
+        return name;
+    }
+
+    public boolean hasActions(int type) {
+        return false;
+    }
+
+    public Action[] getActions(boolean b) {
+        return null;
+    }
+
+    public void setActions(BaseAction actions) {
+    }
+
+    public NbNodeObject[] getAllSubObjects() {
+        return null;
+    }
+
+    public Node.Property[] createProperties(Sheet sheet, PropertyChangeListener listener) {
+        
+        Node.Property nameProp = new SimpleProperty();
+        if (sheet != null) {
+            Sheet.Set set = sheet.createPropertiesSet();
+            set.put(nameProp);
+            sheet.put(set);
+        }
+        if (listener != null) {
+            nameProp.getPropertyEditor().addPropertyChangeListener(listener);
+        }
+        return new Node.Property[]{nameProp};
+    }
+
+    public NbNodeObject getParent() {
+        return parent;
+    }
+
+    public int getType() {
+        return NbNodeObject.PROPERTY_TYPE;
+    }
+
+    public class SimpleProperty extends Node.Property<String> {
+        public SimpleProperty() {
+            super(String.class);
+            setName(getPropertyName());
+            this.setShortDescription(description);
+        }
+        public String getValue() {
+            return getValueForLanguage(-1);
+        }
+        public void setValue(String value) {
+            setValueForLanguage(-1, (String)value);
+        }
+        @Override
+        public PropertyEditor getPropertyEditor() {
+            if (editor == null)
+                return super.getPropertyEditor();
+            return editor;
+        }
+        public boolean canRead() {
+            return true;
+        }
+        public boolean canWrite() {
+            return !readOnly;
+        }
+        public NbNodeObject getPropertyParent() {
+            return getParent();
+        }
+    }    
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgLanguageIDException.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgLanguageIDException.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgLanguageIDException.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgLanguageIDException.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: UnknownOpenOfficeOrgLanguageIDException.java,v $
+ *
+ *  $Revision: 1.1 $
+ *
+ *  last change: $Author: sg $ $Date: 2006/09/08 14:31:33 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import org.openoffice.extensions.util.datamodel.*;
+
+/**
+ *
+ * @author sg128468
+ */
+public class UnknownOpenOfficeOrgLanguageIDException extends java.lang.Exception {
+    
+    /**
+     * Creates a new instance of <code>UnkownOpenOfficeOrgPropertyException</code> without detail message.
+     */
+    public UnknownOpenOfficeOrgLanguageIDException() {
+    }
+    
+    
+    /**
+     * Constructs an instance of <code>UnkownOpenOfficeOrgPropertyException</code> with the specified detail message.
+     * 
+     * @param msg the detail message.
+     */
+    public UnknownOpenOfficeOrgLanguageIDException(String msg) {
+        super(msg);
+    }
+}

Added: incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgPropertyException.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgPropertyException.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgPropertyException.java (added)
+++ incubator/ooo/devtools/netbeansintegration/src/org/openoffice/extensions/util/datamodel/properties/UnknownOpenOfficeOrgPropertyException.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: UnknownOpenOfficeOrgPropertyException.java,v $
+ *
+ *  $Revision: 1.1 $
+ *
+ *  last change: $Author: sg $ $Date: 2006/09/08 14:31:33 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.util.datamodel.properties;
+
+import org.openoffice.extensions.util.datamodel.*;
+
+/**
+ *
+ * @author sg128468
+ */
+public class UnknownOpenOfficeOrgPropertyException extends java.lang.Exception {
+    
+    /**
+     * Creates a new instance of <code>UnknownOpenOfficeOrgPropertyException</code> without detail message.
+     */
+    public UnknownOpenOfficeOrgPropertyException() {
+    }
+    
+    
+    /**
+     * Constructs an instance of <code>UnknownOpenOfficeOrgPropertyException</code> with the specified detail message.
+     * 
+     * 
+     * @param msg the detail message.
+     */
+    public UnknownOpenOfficeOrgPropertyException(String msg) {
+        super(msg);
+    }
+}