[Libreoffice-commits] core.git: starmath/inc starmath/source

Marcos Paulo de Souza marcos.souza.org at gmail.com
Sun Nov 3 17:14:48 CET 2013


 starmath/inc/ElementsDockingWindow.hxx    |   30 +--
 starmath/inc/starmath.hrc                 |  239 ++++++++++++++++++++++++
 starmath/source/ElementsDockingWindow.cxx |  297 ++++++++++++++++--------------
 starmath/source/commands.src              |  223 ++++++++++++++++++++++
 4 files changed, 641 insertions(+), 148 deletions(-)

New commits:
commit c83d876c2ae0bd88cb92e5829edd93641779ea23
Author: Marcos Paulo de Souza <marcos.souza.org at gmail.com>
Date:   Sun Nov 3 10:11:31 2013 -0200

    fdo#65586: Add tools tips in Math Elements Dock
    
    Change-Id: I304ba9fe0a97f85424d0eb0ee87bf3b4b58179f4
    Reviewed-on: https://gerrit.libreoffice.org/6540
    Reviewed-by: Marcos Souza <marcos.souza.org at gmail.com>
    Tested-by: Marcos Souza <marcos.souza.org at gmail.com>

diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx
index e3b1e8f..2cc13e7 100644
--- a/starmath/inc/ElementsDockingWindow.hxx
+++ b/starmath/inc/ElementsDockingWindow.hxx
@@ -29,11 +29,12 @@ class SmElement
 {
     SmNodePointer   mpNode;
     OUString        maText;
+    OUString        maHelpText;
 public:
     Point mBoxLocation;
     Size  mBoxSize;
 
-    SmElement(SmNodePointer pNode, OUString aText);
+    SmElement(SmNodePointer pNode, OUString aText, OUString aHelpText);
     virtual ~SmElement();
 
     SmNodePointer getNode();
@@ -42,6 +43,11 @@ public:
         return maText;
     }
 
+    OUString getHelpText()
+    {
+        return maHelpText;
+    }
+
     virtual bool isSeparator()
     {
         return false;
@@ -62,15 +68,15 @@ public:
 class SmElementsControl : public Control
 {
 
-    static const sal_uInt16 aUnaryBinaryOperatorsList[];
-    static const sal_uInt16 aRelationsList[];
-    static const sal_uInt16 aSetOperations[];
-    static const sal_uInt16 aFunctions[];
-    static const sal_uInt16 aOperators[];
-    static const sal_uInt16 aAttributes[];
-    static const sal_uInt16 aBrackets[];
-    static const sal_uInt16 aFormats[];
-    static const sal_uInt16 aOthers[];
+    static const sal_uInt16 aUnaryBinaryOperatorsList[][2];
+    static const sal_uInt16 aRelationsList[][2];
+    static const sal_uInt16 aSetOperations[][2];
+    static const sal_uInt16 aFunctions[][2];
+    static const sal_uInt16 aOperators[][2];
+    static const sal_uInt16 aAttributes[][2];
+    static const sal_uInt16 aBrackets[][2];
+    static const sal_uInt16 aFormats[][2];
+    static const sal_uInt16 aOthers[][2];
 
     Link aSelectHdlLink;
 
@@ -90,9 +96,9 @@ class SmElementsControl : public Control
     Size          maMaxElementDimensions;
     bool          mbVerticalMode;
 
-    void addElement(OUString aElementVisual, OUString aElementSource);
+    void addElement(OUString aElementVisual, OUString aElementSource, OUString aHelpText);
 
-    void addElements(const sal_uInt16 aElementsArray[], sal_uInt16 size);
+    void addElements(const sal_uInt16 aElementsArray[][2], sal_uInt16 size);
 
     void addSeparator();
 
diff --git a/starmath/inc/starmath.hrc b/starmath/inc/starmath.hrc
index e053829..6a731e4 100644
--- a/starmath/inc/starmath.hrc
+++ b/starmath/inc/starmath.hrc
@@ -207,6 +207,64 @@
 #define RID_XPRECEDESEQUIVY         (RID_APP_START + 1333)
 #define RID_XSUCCEEDSEQUIVY         (RID_APP_START + 1334)
 
+// Help text
+#define RID_PLUSX_HELP              (RID_APP_START + 1335)
+#define RID_MINUSX_HELP             (RID_APP_START + 1336)
+#define RID_PLUSMINUSX_HELP         (RID_APP_START + 1337)
+#define RID_MINUSPLUSX_HELP         (RID_APP_START + 1338)
+#define RID_XPLUSY_HELP             (RID_APP_START + 1339)
+#define RID_XCDOTY_HELP             (RID_APP_START + 1340)
+#define RID_XTIMESY_HELP            (RID_APP_START + 1341)
+#define RID_XSYMTIMESY_HELP         (RID_APP_START + 1342)
+#define RID_XMINUSY_HELP            (RID_APP_START + 1343)
+#define RID_XOVERY_HELP             (RID_APP_START + 1344)
+#define RID_XDIVY_HELP              (RID_APP_START + 1345)
+#define RID_XSYMDIVIDEY_HELP        (RID_APP_START + 1346)
+#define RID_NEGX_HELP               (RID_APP_START + 1347)
+#define RID_XANDY_HELP              (RID_APP_START + 1358)
+#define RID_XORY_HELP               (RID_APP_START + 1350)
+#define RID_XODIVIDEY_HELP          (RID_APP_START + 1360)
+#define RID_XODOTY_HELP             (RID_APP_START + 1361)
+#define RID_XOMINUSY_HELP           (RID_APP_START + 1362)
+#define RID_XOPLUSY_HELP            (RID_APP_START + 1363)
+#define RID_XOTIMESY_HELP           (RID_APP_START + 1364)
+#define RID_XCIRCY_HELP             (RID_APP_START + 1365)
+#define RID_XWIDESLASHY_HELP        (RID_APP_START + 1366)
+#define RID_XWIDEBSLASHY_HELP       (RID_APP_START + 1367)
+#define RID_RSUBX_HELP              (RID_APP_START + 1368)
+#define RID_RSUPX_HELP              (RID_APP_START + 1369)
+#define RID_BINOMXY_HELP            (RID_APP_START + 1370)
+#define RID_STACK_HELP              (RID_APP_START + 1371)
+#define RID_MATRIX_HELP             (RID_APP_START + 1372)
+#define RID_LSUBX_HELP              (RID_APP_START + 1373)
+#define RID_LSUPX_HELP              (RID_APP_START + 1374)
+#define RID_CSUBX_HELP              (RID_APP_START + 1375)
+#define RID_CSUPX_HELP              (RID_APP_START + 1376)
+#define RID_NOSPACE_HELP            (RID_APP_START + 1377)
+#define RID_NEWLINE_HELP            (RID_APP_START + 1378)
+#define RID_SBLANK_HELP             (RID_APP_START + 1379)
+#define RID_BLANK_HELP              (RID_APP_START + 1380)
+#define RID_RE_HELP                 (RID_APP_START + 1381)
+#define RID_IM_HELP                 (RID_APP_START + 1382)
+#define RID_INFINITY_HELP           (RID_APP_START + 1383)
+#define RID_PARTIAL_HELP            (RID_APP_START + 1384)
+#define RID_WP_HELP                 (RID_APP_START + 1385)
+#define RID_DOTSAXIS_HELP           (RID_APP_START + 1386)
+#define RID_DOTSUP_HELP             (RID_APP_START + 1387)
+#define RID_DOTSDOWN_HELP           (RID_APP_START + 1388)
+#define RID_DOTSLOW_HELP            (RID_APP_START + 1389)
+#define RID_DOTSVERT_HELP           (RID_APP_START + 1390)
+#define RID_NABLA_HELP              (RID_APP_START + 1391)
+#define RID_HBAR_HELP               (RID_APP_START + 1392)
+#define RID_LAMBDABAR_HELP          (RID_APP_START + 1393)
+#define RID_LEFTARROW_HELP          (RID_APP_START + 1394)
+#define RID_RIGHTARROW_HELP         (RID_APP_START + 1395)
+#define RID_UPARROW_HELP            (RID_APP_START + 1396)
+#define RID_DOWNARROW_HELP          (RID_APP_START + 1397)
+#define RID_EXISTS_HELP             (RID_APP_START + 1398)
+#define RID_NOTEXISTS_HELP          (RID_APP_START + 1399)
+#define RID_FORALL_HELP             (RID_APP_START + 1400)
+
 #define RID_XINY                    (RID_APP_START + 1401)
 #define RID_XNOTINY                 (RID_APP_START + 1402)
 #define RID_XOWNSY                  (RID_APP_START + 1403)
@@ -427,6 +485,187 @@
 #define RID_CATEGORY_OTHERS                 (RID_APP_START + 4009)
 #define RID_CATEGORY_EXAMPLES               (RID_APP_START + 4010)
 
+// more tooptips help texts
+#define RID_XEQY_HELP               (RID_APP_START + 4011)
+#define RID_XNEQY_HELP              (RID_APP_START + 4012)
+#define RID_XEQUIVY_HELP            (RID_APP_START + 4013)
+#define RID_XORTHOY_HELP            (RID_APP_START + 4014)
+#define RID_XLTY_HELP               (RID_APP_START + 4015)
+#define RID_XGTY_HELP               (RID_APP_START + 4016)
+#define RID_XAPPROXY_HELP           (RID_APP_START + 4017)
+#define RID_XPARALLELY_HELP         (RID_APP_START + 4018)
+#define RID_XLESLANTY_HELP          (RID_APP_START + 4019)
+#define RID_XGESLANTY_HELP          (RID_APP_START + 4020)
+#define RID_XSIMEQY_HELP            (RID_APP_START + 4021)
+#define RID_XPROPY_HELP             (RID_APP_START + 4022)
+#define RID_XLEY_HELP               (RID_APP_START + 4023)
+#define RID_XGEY_HELP               (RID_APP_START + 4024)
+#define RID_XSIMY_HELP              (RID_APP_START + 4025)
+#define RID_XTOWARDY_HELP           (RID_APP_START + 4026)
+#define RID_XLLY_HELP               (RID_APP_START + 4027)
+#define RID_XGGY_HELP               (RID_APP_START + 4028)
+#define RID_XDEFY_HELP              (RID_APP_START + 4029)
+#define RID_XTRANSLY_HELP           (RID_APP_START + 4030)
+#define RID_XTRANSRY_HELP           (RID_APP_START + 4031)
+#define RID_XDIVIDESY_HELP          (RID_APP_START + 4032)
+#define RID_XNDIVIDESY_HELP         (RID_APP_START + 4033)
+#define RID_DLARROW_HELP            (RID_APP_START + 4034)
+#define RID_DLRARROW_HELP           (RID_APP_START + 4035)
+#define RID_DRARROW_HELP            (RID_APP_START + 4036)
+#define RID_XPRECEDESY_HELP         (RID_APP_START + 4037)
+#define RID_XNOTPRECEDESY_HELP      (RID_APP_START + 4038)
+#define RID_XSUCCEEDSY_HELP         (RID_APP_START + 4039)
+#define RID_XNOTSUCCEEDSY_HELP      (RID_APP_START + 4040)
+#define RID_XPRECEDESEQUALY_HELP    (RID_APP_START + 4041)
+#define RID_XSUCCEEDSEQUALY_HELP    (RID_APP_START + 4042)
+#define RID_XPRECEDESEQUIVY_HELP    (RID_APP_START + 4043)
+#define RID_XSUCCEEDSEQUIVY_HELP    (RID_APP_START + 4044)
+#define RID_XINY_HELP               (RID_APP_START + 4045)
+#define RID_XNOTINY_HELP            (RID_APP_START + 4046)
+#define RID_XOWNSY_HELP             (RID_APP_START + 4047)
+#define RID_XINTERSECTIONY_HELP     (RID_APP_START + 4048)
+#define RID_XUNIONY_HELP            (RID_APP_START + 4049)
+#define RID_XSETMINUSY_HELP         (RID_APP_START + 4050)
+#define RID_XSLASHY_HELP            (RID_APP_START + 4051)
+#define RID_XSUBSETY_HELP           (RID_APP_START + 4052)
+#define RID_XSUBSETEQY_HELP         (RID_APP_START + 4053)
+#define RID_XSUPSETY_HELP           (RID_APP_START + 4054)
+#define RID_XSUPSETEQY_HELP         (RID_APP_START + 4055)
+#define RID_LRPARENTX_HELP          (RID_APP_START + 4056)
+#define RID_LRBRACKETX_HELP         (RID_APP_START + 4057)
+#define RID_LRANGLEX_HELP           (RID_APP_START + 4058)
+#define RID_LRBRACEX_HELP           (RID_APP_START + 4059)
+#define RID_LRLINEX_HELP            (RID_APP_START + 4060)
+#define RID_LRDLINEX_HELP           (RID_APP_START + 4061)
+#define RID_LRGROUPX_HELP           (RID_APP_START + 4062)
+#define RID_SLRPARENTX_HELP         (RID_APP_START + 4063)
+#define RID_SLRBRACKETX_HELP        (RID_APP_START + 4064)
+#define RID_SLRANGLEX_HELP          (RID_APP_START + 4065)
+#define RID_SLRBRACEX_HELP          (RID_APP_START + 4066)
+#define RID_SLRLINEX_HELP           (RID_APP_START + 4067)
+#define RID_SLRDLINEX_HELP          (RID_APP_START + 4068)
+#define RID_LRCEILX_HELP            (RID_APP_START + 4069)
+#define RID_LRFLOORX_HELP           (RID_APP_START + 4071)
+#define RID_SLRCEILX_HELP           (RID_APP_START + 4072)
+#define RID_SLRFLOORX_HELP          (RID_APP_START + 4073)
+#define RID_LMRANGLEXY_HELP         (RID_APP_START + 4074)
+#define RID_SLMRANGLEXY_HELP        (RID_APP_START + 4075)
+#define RID_LRDBRACKETX_HELP        (RID_APP_START + 4076)
+#define RID_SLRDBRACKETX_HELP       (RID_APP_START + 4077)
+#define RID_XOVERBRACEY_HELP        (RID_APP_START + 4078)
+#define RID_XUNDERBRACEY_HELP       (RID_APP_START + 4079)
+#define RID_XNSUBSETY_HELP          (RID_APP_START + 4080)
+#define RID_XNSUBSETEQY_HELP        (RID_APP_START + 4081)
+#define RID_XNSUPSETY_HELP          (RID_APP_START + 4082)
+#define RID_XNSUPSETEQY_HELP        (RID_APP_START + 4083)
+#define RID_SETN_HELP               (RID_APP_START + 4084)
+#define RID_SETZ_HELP               (RID_APP_START + 4085)
+#define RID_SETQ_HELP               (RID_APP_START + 4086)
+#define RID_SETR_HELP               (RID_APP_START + 4087)
+#define RID_SETC_HELP               (RID_APP_START + 4088)
+#define RID_ALEPH_HELP              (RID_APP_START + 4089)
+#define RID_EMPTYSET_HELP           (RID_APP_START + 4090)
+#define RID_ACUTEX_HELP             (RID_APP_START + 4091)
+#define RID_GRAVEX_HELP             (RID_APP_START + 4092)
+#define RID_CHECKX_HELP             (RID_APP_START + 4093)
+#define RID_BREVEX_HELP             (RID_APP_START + 4094)
+#define RID_BARX_HELP               (RID_APP_START + 4095)
+#define RID_VECX_HELP               (RID_APP_START + 4096)
+#define RID_HATX_HELP               (RID_APP_START + 4097)
+#define RID_TILDEX_HELP             (RID_APP_START + 4098)
+#define RID_CIRCLEX_HELP            (RID_APP_START + 4099)
+#define RID_DOTX_HELP               (RID_APP_START + 4100)
+#define RID_DDOTX_HELP              (RID_APP_START + 4101)
+#define RID_DDDOTX_HELP             (RID_APP_START + 4102)
+#define RID_OVERLINEX_HELP          (RID_APP_START + 4103)
+#define RID_UNDERLINEX_HELP         (RID_APP_START + 4104)
+#define RID_OVERSTRIKEX_HELP        (RID_APP_START + 4105)
+#define RID_PHANTOMX_HELP           (RID_APP_START + 4106)
+#define RID_BOLDX_HELP              (RID_APP_START + 4107)
+#define RID_ITALX_HELP              (RID_APP_START + 4108)
+#define RID_SIZEXY_HELP             (RID_APP_START + 4109)
+#define RID_FONTXY_HELP             (RID_APP_START + 4110)
+#define RID_COLORX_HELP             (RID_APP_START + 4111)
+#define RID_WIDEHATX_HELP           (RID_APP_START + 4112)
+#define RID_WIDETILDEX_HELP         (RID_APP_START + 4113)
+#define RID_WIDEVECX_HELP           (RID_APP_START + 4114)
+#define RID_COLORX_BLACK_HELP       (RID_APP_START + 4115)
+#define RID_COLORX_BLUE_HELP        (RID_APP_START + 4116)
+#define RID_COLORX_GREEN_HELP       (RID_APP_START + 4117)
+#define RID_COLORX_RED_HELP         (RID_APP_START + 4118)
+#define RID_COLORX_CYAN_HELP        (RID_APP_START + 4119)
+#define RID_COLORX_MAGENTA_HELP     (RID_APP_START + 4120)
+#define RID_COLORX_YELLOW_HELP      (RID_APP_START + 4121)
+#define RID_ABSX_HELP               (RID_APP_START + 4122)
+#define RID_FACTX_HELP              (RID_APP_START + 4123)
+#define RID_SQRTX_HELP              (RID_APP_START + 4124)
+#define RID_NROOTXY_HELP            (RID_APP_START + 4125)
+#define RID_EX_HELP                 (RID_APP_START + 4126)
+#define RID_LNX_HELP                (RID_APP_START + 4127)
+#define RID_EXPX_HELP               (RID_APP_START + 4128)
+#define RID_LOGX_HELP               (RID_APP_START + 4129)
+#define RID_SINX_HELP               (RID_APP_START + 4130)
+#define RID_COSX_HELP               (RID_APP_START + 4131)
+#define RID_TANX_HELP               (RID_APP_START + 4132)
+#define RID_COTX_HELP               (RID_APP_START + 4133)
+#define RID_SINHX_HELP              (RID_APP_START + 4134)
+#define RID_COSHX_HELP              (RID_APP_START + 4135)
+#define RID_TANHX_HELP              (RID_APP_START + 4136)
+#define RID_COTHX_HELP              (RID_APP_START + 4137)
+#define RID_ARCSINX_HELP            (RID_APP_START + 4138)
+#define RID_ARCCOSX_HELP            (RID_APP_START + 4139)
+#define RID_ARCTANX_HELP            (RID_APP_START + 4140)
+#define RID_ARCCOTX_HELP            (RID_APP_START + 4141)
+#define RID_ARSINHX_HELP            (RID_APP_START + 4142)
+#define RID_ARCOSHX_HELP            (RID_APP_START + 4143)
+#define RID_ARTANHX_HELP            (RID_APP_START + 4144)
+#define RID_ARCOTHX_HELP            (RID_APP_START + 4145)
+#define RID_LIMX_HELP               (RID_APP_START + 4146)
+#define RID_SUMX_HELP               (RID_APP_START + 4147)
+#define RID_PRODX_HELP              (RID_APP_START + 4148)
+#define RID_COPRODX_HELP            (RID_APP_START + 4149)
+#define RID_INTX_HELP               (RID_APP_START + 4150)
+#define RID_IINTX_HELP              (RID_APP_START + 4151)
+#define RID_IIINTX_HELP             (RID_APP_START + 4152)
+#define RID_LINTX_HELP              (RID_APP_START + 4153)
+#define RID_LLINTX_HELP             (RID_APP_START + 4154)
+#define RID_LLLINTX_HELP            (RID_APP_START + 4155)
+#define RID_FROMXTOY_HELP           (RID_APP_START + 4156)
+#define RID_FROMX_HELP              (RID_APP_START + 4157)
+#define RID_TOX_HELP                (RID_APP_START + 4158)
+#define RID_LIMINFX_HELP            (RID_APP_START + 4159)
+#define RID_LIMSUPX_HELP            (RID_APP_START + 4160)
+#define RID_LIM_FROMX_HELP          (RID_APP_START + 4161)
+#define RID_SUM_FROMX_HELP          (RID_APP_START + 4162)
+#define RID_PROD_FROMX_HELP         (RID_APP_START + 4163)
+#define RID_COPROD_FROMX_HELP       (RID_APP_START + 4164)
+#define RID_INT_FROMX_HELP          (RID_APP_START + 4165)
+#define RID_IINT_FROMX_HELP         (RID_APP_START + 4166)
+#define RID_IIINT_FROMX_HELP        (RID_APP_START + 4167)
+#define RID_LINT_FROMX_HELP         (RID_APP_START + 4168)
+#define RID_LLINT_FROMX_HELP        (RID_APP_START + 4169)
+#define RID_LLLINT_FROMX_HELP       (RID_APP_START + 4170)
+#define RID_LIM_TOX_HELP            (RID_APP_START + 4171)
+#define RID_SUM_TOX_HELP            (RID_APP_START + 4172)
+#define RID_PROD_TOX_HELP           (RID_APP_START + 4173)
+#define RID_COPROD_TOX_HELP         (RID_APP_START + 4174)
+#define RID_INT_TOX_HELP            (RID_APP_START + 4175)
+#define RID_IINT_TOX_HELP           (RID_APP_START + 4176)
+#define RID_IIINT_TOX_HELP          (RID_APP_START + 4177)
+#define RID_LINT_TOX_HELP           (RID_APP_START + 4178)
+#define RID_LLINT_TOX_HELP          (RID_APP_START + 4179)
+#define RID_LLLINT_TOX_HELP         (RID_APP_START + 4180)
+#define RID_LIM_FROMTOX_HELP        (RID_APP_START + 4181)
+#define RID_SUM_FROMTOX_HELP        (RID_APP_START + 4182)
+#define RID_PROD_FROMTOX_HELP       (RID_APP_START + 4183)
+#define RID_COPROD_FROMTOX_HELP     (RID_APP_START + 4184)
+#define RID_INT_FROMTOX_HELP        (RID_APP_START + 4185)
+#define RID_IINT_FROMTOX_HELP       (RID_APP_START + 4186)
+#define RID_IIINT_FROMTOX_HELP      (RID_APP_START + 4187)
+#define RID_LINT_FROMTOX_HELP       (RID_APP_START + 4188)
+#define RID_LLINT_FROMTOX_HELP      (RID_APP_START + 4189)
+#define RID_LLLINT_FROMTOX_HELP     (RID_APP_START + 4190)
+
 #define BMP_ARROW_RIGHT     1
 
 #define MN_WIN 60
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 7837e23..4f9ac91 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -32,9 +32,10 @@
 SV_DECL_REF(SmDocShell)
 SV_IMPL_REF(SmDocShell)
 
-SmElement::SmElement(SmNodePointer pNode, OUString aText) :
+SmElement::SmElement(SmNodePointer pNode, OUString aText, OUString aHelpText) :
     mpNode(pNode),
-    maText(aText)
+    maText(aText),
+    maHelpText(aHelpText)
 {}
 
 SmElement::~SmElement()
@@ -46,129 +47,157 @@ SmNodePointer SmElement::getNode()
 }
 
 SmElementSeparator::SmElementSeparator() :
-    SmElement(SmNodePointer(), OUString())
+    SmElement(SmNodePointer(), OUString(), OUString())
 {}
 
-const sal_uInt16 SmElementsControl::aUnaryBinaryOperatorsList[] =
+const sal_uInt16 SmElementsControl::aUnaryBinaryOperatorsList[][2] =
 {
-    RID_PLUSX, RID_MINUSX, RID_PLUSMINUSX, RID_MINUSPLUSX,
-    0xFFFF,
-    RID_XPLUSY, RID_XMINUSY, RID_XCDOTY, RID_XTIMESY,
-    RID_XSYMTIMESY, RID_XOVERY,  RID_XDIVY, RID_XSYMDIVIDEY,
-    RID_XCIRCY, RID_XWIDESLASHY, RID_XWIDEBSLASHY,
-    0xFFFF,
-    RID_NEGX, RID_XANDY, RID_XORY,
+    {RID_PLUSX, RID_PLUSX_HELP}, {RID_MINUSX, RID_MINUSX_HELP},
+    {RID_PLUSMINUSX, RID_PLUSMINUSX_HELP}, {RID_MINUSPLUSX, RID_MINUSPLUSX_HELP},
+    {0xFFFF, 0},
+    {RID_XPLUSY, RID_XPLUSY_HELP}, {RID_XMINUSY, RID_XMINUSY_HELP},
+    {RID_XCDOTY, RID_XCDOTY_HELP}, {RID_XTIMESY, RID_XTIMESY_HELP},
+    {RID_XSYMTIMESY, RID_XSYMTIMESY_HELP}, {RID_XOVERY, RID_XOVERY_HELP},
+    {RID_XDIVY, RID_XDIVY_HELP}, {RID_XSYMDIVIDEY, RID_XSYMDIVIDEY_HELP},
+    {RID_XCIRCY, RID_XCIRCY_HELP}, {RID_XWIDESLASHY, RID_XWIDESLASHY_HELP},
+    {RID_XWIDEBSLASHY, RID_XWIDEBSLASHY_HELP},
+    {0xFFFF, 0},
+    {RID_NEGX, RID_NEGX_HELP}, {RID_XANDY, RID_XANDY_HELP}, {RID_XORY, RID_XORY_HELP},
 };
 
-const sal_uInt16 SmElementsControl::aRelationsList[] =
+const sal_uInt16 SmElementsControl::aRelationsList[][2] =
 {
-    RID_XEQY, RID_XNEQY, RID_XLTY, RID_XLEY,
-    RID_XLESLANTY, RID_XGTY, RID_XGEY, RID_XGESLANTY,
-    0xFFFF,
-    RID_XAPPROXY, RID_XSIMY, RID_XSIMEQY, RID_XEQUIVY,
-    RID_XPROPY, RID_XPARALLELY, RID_XORTHOY, RID_XDIVIDESY,
-    RID_XNDIVIDESY, RID_XTOWARDY,
-    0xFFFF,
-    RID_DLARROW, RID_DLRARROW, RID_DRARROW,
-    0xFFFF,
-    RID_XPRECEDESY, RID_XSUCCEEDSY, RID_XPRECEDESEQUALY, RID_XSUCCEEDSEQUALY,
-    RID_XPRECEDESEQUIVY, RID_XSUCCEEDSEQUIVY, RID_XNOTPRECEDESY, RID_XNOTSUCCEEDSY
+    {RID_XEQY, RID_XEQY_HELP}, {RID_XNEQY, RID_XNEQY_HELP}, {RID_XLTY, RID_XLTY_HELP},
+    {RID_XLEY, RID_XLEY_HELP}, {RID_XLESLANTY, RID_XLESLANTY_HELP}, {RID_XGTY, RID_XGTY_HELP},
+    {RID_XGEY, RID_XGEY_HELP}, {RID_XGESLANTY, RID_XGESLANTY_HELP},
+    {0xFFFF, 0},
+    {RID_XAPPROXY, RID_XAPPROXY_HELP}, {RID_XSIMY, RID_XSIMY_HELP}, {RID_XSIMEQY, RID_XSIMEQY_HELP},
+    {RID_XEQUIVY, RID_XEQUIVY_HELP}, {RID_XPROPY, RID_XPROPY_HELP}, {RID_XPARALLELY, RID_XPARALLELY_HELP},
+    {RID_XORTHOY, RID_XORTHOY_HELP}, {RID_XDIVIDESY, RID_XDIVIDESY_HELP}, {RID_XNDIVIDESY, RID_XNDIVIDESY_HELP},
+    {RID_XTOWARDY, RID_XTOWARDY_HELP},
+    {0xFFFF, 0},
+    {RID_DLARROW, RID_DLARROW_HELP}, {RID_DLRARROW, RID_DLRARROW_HELP}, {RID_DRARROW, RID_DRARROW_HELP},
+    {0xFFFF, 0},
+    {RID_XPRECEDESY, RID_XPRECEDESY_HELP}, {RID_XSUCCEEDSY, RID_XSUCCEEDSY_HELP},
+    {RID_XPRECEDESEQUALY, RID_XPRECEDESEQUALY_HELP}, {RID_XSUCCEEDSEQUALY, RID_XSUCCEEDSEQUALY_HELP},
+    {RID_XPRECEDESEQUIVY, RID_XPRECEDESEQUIVY_HELP}, {RID_XSUCCEEDSEQUIVY, RID_XSUCCEEDSEQUIVY_HELP},
+    {RID_XNOTPRECEDESY, RID_XNOTPRECEDESY_HELP}, {RID_XNOTSUCCEEDSY, RID_XNOTSUCCEEDSY_HELP},
 };
 
-const sal_uInt16 SmElementsControl::aSetOperations[] =
+const sal_uInt16 SmElementsControl::aSetOperations[][2] =
 {
-    RID_XINY, RID_XNOTINY, RID_XOWNSY,
-    0xFFFF,
-    RID_XINTERSECTIONY, RID_XUNIONY, RID_XSETMINUSY, RID_XSLASHY,
-    RID_XSUBSETY, RID_XSUBSETEQY, RID_XSUPSETY, RID_XSUPSETEQY, RID_XNSUBSETY,
-    RID_XNSUBSETEQY, RID_XNSUPSETY, RID_XNSUPSETEQY,
-    0xFFFF,
-    RID_EMPTYSET, RID_ALEPH, RID_SETN, RID_SETZ,
-    RID_SETQ, RID_SETR, RID_SETC
+    {RID_XINY, RID_XINY_HELP}, {RID_XNOTINY, RID_XNOTINY_HELP}, {RID_XOWNSY, RID_XOWNSY_HELP},
+    {0xFFFF, 0},
+    {RID_XINTERSECTIONY, RID_XINTERSECTIONY_HELP}, {RID_XUNIONY, RID_XUNIONY_HELP},
+    {RID_XSETMINUSY, RID_XSETMINUSY_HELP}, {RID_XSLASHY, RID_XSLASHY_HELP},
+    {RID_XSUBSETY, RID_XSUBSETY_HELP}, {RID_XSUBSETEQY, RID_XSUBSETEQY_HELP},
+    {RID_XSUPSETY, RID_XSUPSETY_HELP}, {RID_XSUPSETEQY, RID_XSUPSETEQY_HELP},
+    {RID_XNSUBSETY, RID_XNSUBSETY_HELP}, {RID_XNSUBSETEQY, RID_XNSUBSETEQY_HELP},
+    {RID_XNSUPSETY, RID_XNSUPSETY_HELP}, {RID_XNSUPSETEQY, RID_XNSUPSETEQY_HELP},
+    {0xFFFF, 0},
+    {RID_EMPTYSET, RID_EMPTYSET_HELP}, {RID_ALEPH, RID_ALEPH_HELP}, {RID_SETN, RID_SETN_HELP},
+    {RID_SETZ, RID_SETZ_HELP}, {RID_SETQ, RID_SETQ_HELP}, {RID_SETR, RID_SETR_HELP}, {RID_SETC, RID_SETC_HELP}
 };
 
-const sal_uInt16 SmElementsControl::aFunctions[] =
+const sal_uInt16 SmElementsControl::aFunctions[][2] =
 {
-    RID_ABSX, RID_FACTX, RID_SQRTX, RID_NROOTXY,
-    RID_RSUPX, RID_EX, RID_LNX, RID_EXPX,
-    RID_LOGX,
-    0xFFFF,
-    RID_SINX, RID_COSX, RID_TANX, RID_COTX,
-    RID_SINHX, RID_COSHX, RID_TANHX, RID_COTHX,
-    0xFFFF,
-    RID_ARCSINX, RID_ARCCOSX, RID_ARCTANX, RID_ARCCOTX,
-    RID_ARSINHX, RID_ARCOSHX, RID_ARTANHX, RID_ARCOTHX
+    {RID_ABSX, RID_ABSX_HELP}, {RID_FACTX, RID_FACTX_HELP}, {RID_SQRTX, RID_SQRTX_HELP},
+    {RID_NROOTXY, RID_NROOTXY_HELP}, {RID_RSUPX, RID_RSUPX_HELP}, {RID_EX, RID_EX_HELP},
+    {RID_LNX, RID_LNX_HELP}, {RID_EXPX, RID_EXPX_HELP}, {RID_LOGX, RID_LOGX_HELP},
+    {0xFFFF, 0},
+    {RID_SINX, RID_SINX_HELP}, {RID_COSX, RID_COSX_HELP}, {RID_TANX, RID_TANX_HELP}, {RID_COTX, RID_COTX_HELP},
+    {RID_SINHX, RID_SINHX_HELP}, {RID_COSHX, RID_COSHX_HELP}, {RID_TANHX, RID_TANHX_HELP},
+    {RID_COTHX, RID_COTHX_HELP},
+    {0xFFFF, 0},
+    {RID_ARCSINX, RID_ARCSINX_HELP}, {RID_ARCCOSX, RID_ARCCOSX_HELP}, {RID_ARCTANX, RID_ARCTANX_HELP},
+    {RID_ARCCOTX, RID_ARCCOTX_HELP}, {RID_ARSINHX, RID_ARSINHX_HELP}, {RID_ARCOSHX, RID_ARCOSHX_HELP},
+    {RID_ARTANHX, RID_ARTANHX_HELP}, {RID_ARCOTHX, RID_ARCOTHX_HELP}
 };
 
-const sal_uInt16 SmElementsControl::aOperators[] =
+const sal_uInt16 SmElementsControl::aOperators[][2] =
 {
-    RID_LIMX, RID_SUMX, RID_PRODX, RID_COPRODX,
-    RID_INTX, RID_IINTX, RID_IIINTX, RID_LINTX,
-    RID_LLINTX, RID_LLLINTX,
-    0xFFFF,
-    RID_LIM_FROMX, RID_SUM_FROMX, RID_PROD_FROMX, RID_COPROD_FROMX,
-    RID_INT_FROMX, RID_IINT_FROMX, RID_IIINT_FROMX, RID_LINT_FROMX,
-    RID_LLINT_FROMX, RID_LLLINT_FROMX,
-    0xFFFF,
-    RID_LIM_TOX, RID_SUM_TOX, RID_PROD_TOX, RID_COPROD_TOX,
-    RID_INT_TOX, RID_IINT_TOX, RID_IIINT_TOX, RID_LINT_TOX,
-    RID_LLINT_TOX, RID_LLLINT_TOX,
-    0xFFFF,
-    RID_LIM_FROMTOX, RID_SUM_FROMTOX, RID_PROD_FROMTOX, RID_COPROD_FROMTOX,
-    RID_INT_FROMTOX, RID_IINT_FROMTOX, RID_IIINT_FROMTOX, RID_LINT_FROMTOX,
-    RID_LLINT_FROMTOX, RID_LLLINT_FROMTOX,
-
+    {RID_LIMX, RID_LIMX_HELP}, {RID_SUMX, RID_SUMX_HELP}, {RID_PRODX, RID_PRODX_HELP},
+    {RID_COPRODX, RID_COPRODX_HELP}, {RID_INTX, RID_INTX_HELP}, {RID_IINTX, RID_IINTX_HELP},
+    {RID_IIINTX, RID_IIINTX_HELP}, {RID_LINTX, RID_LINTX_HELP}, {RID_LLINTX, RID_LLINTX_HELP},
+    {RID_LLLINTX, RID_LLLINTX_HELP},
+    {0xFFFF, 0},
+    {RID_LIM_FROMX, RID_LIM_FROMX_HELP}, {RID_SUM_FROMX, RID_SUM_FROMX_HELP}, {RID_PROD_FROMX, RID_PROD_FROMX_HELP},
+    {RID_COPROD_FROMX, RID_COPROD_FROMX_HELP}, {RID_INT_FROMX, RID_INT_FROMX_HELP},
+    {RID_IINT_FROMX, RID_IINT_FROMX_HELP}, {RID_IIINT_FROMX, RID_IIINT_FROMX_HELP},
+    {RID_LINT_FROMX, RID_LINT_FROMX_HELP}, {RID_LLINT_FROMX, RID_LLINT_FROMX_HELP}, {RID_LLLINT_FROMX, RID_LLLINT_FROMX_HELP},
+    {0xFFFF, 0},
+    {RID_LIM_TOX, RID_LIM_TOX_HELP}, {RID_SUM_TOX, RID_SUM_TOX_HELP}, {RID_PROD_TOX, RID_PROD_TOX_HELP},
+    {RID_COPROD_TOX, RID_COPROD_TOX_HELP}, {RID_INT_TOX, RID_INT_TOX_HELP}, {RID_IINT_TOX, RID_IINT_TOX_HELP},
+    {RID_IIINT_TOX, RID_IIINT_TOX_HELP}, {RID_LINT_TOX, RID_LINT_TOX_HELP}, {RID_LLINT_TOX, RID_LLINT_TOX_HELP},
+    {RID_LLLINT_TOX, RID_LLLINT_TOX_HELP},
+    {0xFFFF, 0},
+    {RID_LIM_FROMTOX, RID_LIM_FROMTOX_HELP}, {RID_SUM_FROMTOX, RID_SUM_FROMTOX_HELP},
+    {RID_PROD_FROMTOX, RID_PROD_FROMTOX_HELP}, {RID_COPROD_FROMTOX, RID_COPROD_FROMTOX_HELP},
+    {RID_INT_FROMTOX, RID_INT_FROMTOX_HELP}, {RID_IINT_FROMTOX, RID_IINT_FROMTOX_HELP},
+    {RID_IIINT_FROMTOX, RID_IIINT_FROMTOX_HELP}, {RID_LINT_FROMTOX, RID_LINT_FROMTOX_HELP},
+    {RID_LLINT_FROMTOX, RID_LLINT_FROMTOX_HELP}, {RID_LLLINT_FROMTOX, RID_LLLINT_FROMTOX_HELP}
 };
 
-const sal_uInt16 SmElementsControl::aAttributes[] =
+const sal_uInt16 SmElementsControl::aAttributes[][2] =
 {
-    RID_ACUTEX, RID_GRAVEX, RID_BREVEX, RID_CIRCLEX,
-    RID_DOTX, RID_DDOTX, RID_DDDOTX, RID_BARX,
-    RID_VECX, RID_TILDEX, RID_HATX,
-    0xFFFF,
-    RID_WIDEVECX, RID_WIDETILDEX, RID_WIDEHATX, RID_OVERLINEX,
-    RID_UNDERLINEX, RID_OVERSTRIKEX,
-    0xFFFF,
-    RID_PHANTOMX, RID_BOLDX, RID_ITALX, RID_SIZEXY, RID_FONTXY,
-    0xFFFF,
-    RID_COLORX_BLACK, RID_COLORX_BLUE, RID_COLORX_GREEN,
-    RID_COLORX_RED, RID_COLORX_CYAN, RID_COLORX_MAGENTA, RID_COLORX_YELLOW
+    {RID_ACUTEX, RID_ACUTEX_HELP}, {RID_GRAVEX, RID_GRAVEX_HELP}, {RID_BREVEX, RID_BREVEX_HELP},
+    {RID_CIRCLEX, RID_CIRCLEX_HELP}, {RID_DOTX, RID_DOTX_HELP}, {RID_DDOTX, RID_DDOTX_HELP},
+    {RID_DDDOTX, RID_DDDOTX_HELP}, {RID_BARX, RID_BARX_HELP}, {RID_VECX, RID_VECX_HELP},
+    {RID_TILDEX, RID_TILDEX_HELP}, {RID_HATX, RID_HATX_HELP},
+    {0xFFFF, 0},
+    {RID_WIDEVECX, RID_WIDEVECX_HELP}, {RID_WIDETILDEX, RID_WIDETILDEX_HELP}, {RID_WIDEHATX, RID_WIDEHATX_HELP},
+    {RID_OVERLINEX, RID_OVERLINEX_HELP}, {RID_UNDERLINEX, RID_UNDERLINEX_HELP}, {RID_OVERSTRIKEX, RID_OVERSTRIKEX_HELP},
+    {0xFFFF, 0},
+    {RID_PHANTOMX, RID_PHANTOMX_HELP}, {RID_BOLDX, RID_BOLDX_HELP}, {RID_ITALX, RID_ITALX_HELP},
+    {RID_SIZEXY, RID_SIZEXY_HELP}, {RID_FONTXY, RID_FONTXY_HELP},
+    {0xFFFF, 0},
+    {RID_COLORX_BLACK, RID_COLORX_BLACK_HELP}, {RID_COLORX_BLUE, RID_COLORX_BLUE_HELP},
+    {RID_COLORX_GREEN, RID_COLORX_GREEN_HELP}, {RID_COLORX_RED, RID_COLORX_RED_HELP},
+    {RID_COLORX_CYAN, RID_COLORX_CYAN_HELP}, {RID_COLORX_MAGENTA, RID_COLORX_MAGENTA_HELP},
+    {RID_COLORX_YELLOW, RID_COLORX_YELLOW_HELP}
 };
 
-const sal_uInt16 SmElementsControl::aBrackets[] =
+const sal_uInt16 SmElementsControl::aBrackets[][2] =
 {
-    RID_LRGROUPX,
-    0xFFFF,
-    RID_LRPARENTX, RID_LRBRACKETX, RID_LRDBRACKETX, RID_LRBRACEX,
-    RID_LRANGLEX, RID_LMRANGLEXY, RID_LRCEILX, RID_LRFLOORX,
-    RID_LRLINEX, RID_LRDLINEX,
-    0xFFFF,
-    RID_SLRPARENTX, RID_SLRBRACKETX, RID_SLRDBRACKETX, RID_SLRANGLEX,
-    RID_SLMRANGLEXY, RID_SLRCEILX, RID_SLRFLOORX, RID_SLRLINEX,
-    RID_SLRDLINEX,
-    0XFFFF,
-    RID_XOVERBRACEY, RID_XUNDERBRACEY
+    {RID_LRGROUPX, RID_LRGROUPX_HELP},
+    {0xFFFF, 0},
+    {RID_LRPARENTX, RID_LRPARENTX_HELP}, {RID_LRBRACKETX, RID_LRBRACKETX_HELP},
+    {RID_LRDBRACKETX, RID_LRDBRACKETX_HELP}, {RID_LRBRACEX, RID_LRBRACEX_HELP},
+    {RID_LRANGLEX, RID_LRANGLEX_HELP}, {RID_LMRANGLEXY, RID_LMRANGLEXY_HELP},
+    {RID_LRCEILX, RID_LRCEILX_HELP}, {RID_LRFLOORX, RID_LRFLOORX_HELP},
+    {RID_LRLINEX, RID_LRLINEX_HELP}, {RID_LRDLINEX, RID_LRDLINEX_HELP},
+    {0xFFFF, 0},
+    {RID_SLRPARENTX, RID_SLRPARENTX_HELP}, {RID_SLRBRACKETX, RID_SLRBRACKETX_HELP},
+    {RID_SLRDBRACKETX, RID_SLRDBRACKETX_HELP}, {RID_SLRANGLEX, RID_SLRANGLEX_HELP},
+    {RID_SLMRANGLEXY, RID_SLMRANGLEXY_HELP}, {RID_SLRCEILX, RID_SLRCEILX_HELP},
+    {RID_SLRFLOORX, RID_SLRFLOORX_HELP}, {RID_SLRLINEX, RID_SLRLINEX_HELP},
+    {RID_SLRDLINEX, RID_SLRDLINEX_HELP},
+    {0XFFFF, 0},
+    {RID_XOVERBRACEY, RID_XOVERBRACEY_HELP}, {RID_XUNDERBRACEY, RID_XUNDERBRACEY_HELP},
 };
 
-const sal_uInt16 SmElementsControl::aFormats[] =
+const sal_uInt16 SmElementsControl::aFormats[][2] =
 {
-    RID_RSUPX, RID_RSUBX, RID_LSUPX, RID_LSUBX,
-    RID_CSUPX, RID_CSUBX,
-    0xFFFF,
-    RID_NEWLINE, RID_SBLANK, RID_BLANK, RID_NOSPACE,
-    RID_BINOMXY, RID_STACK, RID_MATRIX,
+    {RID_RSUPX, RID_RSUPX_HELP}, {RID_RSUBX, RID_RSUBX_HELP}, {RID_LSUPX, RID_LSUPX_HELP},
+    {RID_LSUBX, RID_LSUBX_HELP}, {RID_CSUPX, RID_CSUPX_HELP}, {RID_CSUBX, RID_CSUBX_HELP},
+    {0xFFFF, 0},
+    {RID_NEWLINE, RID_NEWLINE_HELP}, {RID_SBLANK, RID_SBLANK_HELP}, {RID_BLANK, RID_BLANK_HELP},
+    {RID_NOSPACE, RID_NOSPACE_HELP}, {RID_BINOMXY, RID_BINOMXY_HELP}, {RID_STACK, RID_STACK_HELP},
+    {RID_MATRIX, RID_MATRIX_HELP},
 };
 
-const sal_uInt16 SmElementsControl::aOthers[] =
+const sal_uInt16 SmElementsControl::aOthers[][2] =
 {
-    RID_INFINITY, RID_PARTIAL, RID_NABLA, RID_EXISTS,
-    RID_NOTEXISTS, RID_FORALL, RID_HBAR, RID_LAMBDABAR,
-    RID_RE, RID_IM, RID_WP,
-    0xFFFF,
-    RID_LEFTARROW, RID_RIGHTARROW, RID_UPARROW, RID_DOWNARROW,
-    0xFFFF,
-    RID_DOTSLOW, RID_DOTSAXIS, RID_DOTSVERT, RID_DOTSUP,
-    RID_DOTSDOWN
+    {RID_INFINITY, RID_INFINITY_HELP}, {RID_PARTIAL, RID_PARTIAL_HELP}, {RID_NABLA, RID_NABLA_HELP},
+    {RID_EXISTS, RID_EXISTS_HELP}, {RID_NOTEXISTS, RID_NOTEXISTS_HELP}, {RID_FORALL, RID_FORALL_HELP},
+    {RID_HBAR, RID_HBAR_HELP}, {RID_LAMBDABAR, RID_LAMBDABAR_HELP}, {RID_RE, RID_RE_HELP},
+    {RID_IM, RID_IM_HELP}, {RID_WP, RID_WP_HELP},
+    {0xFFFF, 0},
+    {RID_LEFTARROW, RID_LEFTARROW_HELP}, {RID_RIGHTARROW, RID_RIGHTARROW_HELP}, {RID_UPARROW, RID_UPARROW_HELP},
+    {RID_DOWNARROW, RID_DOWNARROW_HELP},
+    {0xFFFF, 0},
+    {RID_DOTSLOW, RID_DOTSLOW_HELP}, {RID_DOTSAXIS, RID_DOTSAXIS_HELP}, {RID_DOTSVERT, RID_DOTSVERT_HELP},
+    {RID_DOTSUP, RID_DOTSUP_HELP}, {RID_DOTSDOWN, RID_DOTSDOWN_HELP}
 };
 
 SmElementsControl::SmElementsControl(Window *pParent, const ResId& rResId) :
@@ -313,7 +342,7 @@ void SmElementsControl::MouseMove( const MouseEvent& rMouseEvent )
                 {
                     mpCurrentElement = element;
                     Invalidate();
-                    tooltip = element->getText();
+                    tooltip = element->getHelpText();
                 }
             }
         }
@@ -355,7 +384,7 @@ void SmElementsControl::addSeparator()
     maElementList.push_back(pElement);
 }
 
-void SmElementsControl::addElement(OUString aElementVisual, OUString aElementSource)
+void SmElementsControl::addElement(OUString aElementVisual, OUString aElementSource, OUString aHelpText)
 {
     SmNodePointer pNode(SmParser().ParseExpression(aElementVisual));
 
@@ -372,7 +401,7 @@ void SmElementsControl::addElement(OUString aElementVisual, OUString aElementSou
         maMaxElementDimensions.Height() = aSizePixel.Height();
     }
 
-    SmElementPointer pElement(new SmElement(pNode, aElementSource));
+    SmElementPointer pElement(new SmElement(pNode, aElementSource, aHelpText));
     maElementList.push_back(pElement);
 }
 
@@ -383,46 +412,47 @@ void SmElementsControl::setElementSetId(sal_uInt16 aSetId)
     build();
 }
 
-void SmElementsControl::addElements(const sal_uInt16 aElementsArray[], sal_uInt16 aElementsArraySize)
+void SmElementsControl::addElements(const sal_uInt16 aElementsArray[][2], sal_uInt16 aElementsArraySize)
 {
     for (sal_uInt16 i = 0; i < aElementsArraySize ; i++)
     {
-        sal_uInt16 aElementId = aElementsArray[i];
+        sal_uInt16 aElementId = aElementsArray[i][0];
+        sal_uInt16 aElementIdHelp = aElementsArray[i][1];
         if (aElementId == 0xFFFF) {
             addSeparator();
         } else {
             if (aElementId == RID_NEWLINE)
-                addElement(OStringToOUString( "\xe2\x86\xb5", RTL_TEXTENCODING_UTF8 ), SmResId(aElementId));
+                addElement(OStringToOUString( "\xe2\x86\xb5", RTL_TEXTENCODING_UTF8 ), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_SBLANK)
-                addElement(OUString("\"`\""), SmResId(aElementId));
+                addElement(OUString("\"`\""), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_BLANK)
-                addElement(OUString("\"~\""), SmResId(aElementId));
+                addElement(OUString("\"~\""), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_PHANTOMX)
-                addElement(OUString("\"" + stringHide() +"\""), SmResId(aElementId));
+                addElement(OUString("\"" + stringHide() +"\""), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_BOLDX)
-                addElement(OUString("bold B"), SmResId(aElementId));
+                addElement(OUString("bold B"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_ITALX)
-                addElement(OUString("ital I"), SmResId(aElementId));
+                addElement(OUString("ital I"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_SIZEXY)
-                addElement(OUString("\"" + stringSize() + "\""), SmResId(aElementId));
+                addElement(OUString("\"" + stringSize() + "\""), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_FONTXY)
-                addElement(OUString("\"" + stringFont() + "\""), SmResId(aElementId));
+                addElement(OUString("\"" + stringFont() + "\""), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_BLACK)
-                addElement(OUString("color black { \"" + colorBlack() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color black { \"" + colorBlack() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_BLUE)
-                addElement(OUString("color blue { \"" + colorBlue() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color blue { \"" + colorBlue() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_GREEN)
-                addElement(OUString("color green { \"" + colorGreen() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color green { \"" + colorGreen() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_RED)
-                addElement(OUString("color red { \"" + colorRed() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color red { \"" + colorRed() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_CYAN)
-                addElement(OUString("color cyan { \"" + colorCyan() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color cyan { \"" + colorCyan() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_MAGENTA)
-                addElement(OUString("color magenta { \"" + colorMagenta() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color magenta { \"" + colorMagenta() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else if (aElementId == RID_COLORX_YELLOW)
-                addElement(OUString("color yellow { \"" + colorYellow() + "\" }"), SmResId(aElementId));
+                addElement(OUString("color yellow { \"" + colorYellow() + "\" }"), SmResId(aElementId), SmResId(aElementIdHelp));
             else
-                addElement(SmResId(aElementId), SmResId(aElementId));
+                addElement(SmResId(aElementId), SmResId(aElementId), SmResId(aElementIdHelp));
         }
     }
 }
@@ -433,45 +463,46 @@ void SmElementsControl::build()
 
     switch(maCurrentSetId)
     {
+        // we need to divide by 2 because of the matrix of two dimensions
         case RID_CATEGORY_UNARY_BINARY_OPERATORS:
-            addElements(aUnaryBinaryOperatorsList, sizeof(aUnaryBinaryOperatorsList) / sizeof(sal_uInt16));
+            addElements(aUnaryBinaryOperatorsList, (sizeof(aUnaryBinaryOperatorsList) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_RELATIONS:
-            addElements(aRelationsList, sizeof(aRelationsList) / sizeof(sal_uInt16));
+            addElements(aRelationsList, (sizeof(aRelationsList) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_SET_OPERATIONS:
-            addElements(aSetOperations, sizeof(aSetOperations) / sizeof(sal_uInt16));
+            addElements(aSetOperations, (sizeof(aSetOperations) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_FUNCTIONS:
-            addElements(aFunctions, sizeof(aFunctions) / sizeof(sal_uInt16));
+            addElements(aFunctions, (sizeof(aFunctions) / 2 ) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_OPERATORS:
-            addElements(aOperators, sizeof(aOperators) / sizeof(sal_uInt16));
+            addElements(aOperators, (sizeof(aOperators) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_ATTRIBUTES:
-            addElements(aAttributes, sizeof(aAttributes) / sizeof(sal_uInt16));
+            addElements(aAttributes, (sizeof(aAttributes) / 2 ) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_BRACKETS:
-            addElements(aBrackets, sizeof(aBrackets) / sizeof(sal_uInt16));
+            addElements(aBrackets, (sizeof(aBrackets) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_FORMATS:
-            addElements(aFormats, sizeof(aFormats) / sizeof(sal_uInt16));
+            addElements(aFormats, (sizeof(aFormats) / 2)  / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_OTHERS:
-            addElements(aOthers, sizeof(aOthers) / sizeof(sal_uInt16));
+            addElements(aOthers, (sizeof(aOthers) / 2) / sizeof(sal_uInt16));
         break;
         case RID_CATEGORY_EXAMPLES:
         {
             OUString aEquation = OUString("C=%pi cdot d = 2 cdot %pi cdot r");
-            addElement(aEquation, aEquation);
+            addElement(aEquation, aEquation, "");
             aEquation = OUString("E=mc^2");
-            addElement(aEquation, aEquation);
+            addElement(aEquation, aEquation, "");
             aEquation = OUString("a^2 + b^2 = c^2");
-            addElement(aEquation, aEquation);
+            addElement(aEquation, aEquation, "");
             aEquation = OUString("f ( x ) = sum from { { i = 0 } } to { infinity } { {f^{(i)}(0)} over {i!} x^i}");
-            addElement(aEquation, aEquation);
+            addElement(aEquation, aEquation, "");
             aEquation = OUString("f ( x ) = {1} over {%sigma sqrt{2%pi} }e^-{{(x-%mu)^2} over {2%sigma^2}}");
-            addElement(aEquation, aEquation);
+            addElement(aEquation, aEquation, "");
         }
         break;
     }
diff --git a/starmath/source/commands.src b/starmath/source/commands.src
index a39d151..758dc7c 100644
--- a/starmath/source/commands.src
+++ b/starmath/source/commands.src
@@ -25,244 +25,461 @@
 ////////////////////////////////////////////////////////////
 
 String RID_PLUSX            { Text = "+<?> " ; };
+String RID_PLUSX_HELP       { Text = "+ Sign" ; };
 String RID_MINUSX           { Text = "-<?> " ; };
+String RID_MINUSX_HELP      { Text = "- Sign" ; };
 String RID_PLUSMINUSX       { Text = "+-<?> " ; };
+String RID_PLUSMINUSX_HELP  { Text = "+- Sign" ; };
 String RID_MINUSPLUSX       { Text = "-+<?> " ; };
+String RID_MINUSPLUSX_HELP  { Text = "-+ Sign" ; };
 String RID_NEGX             { Text = "neg <?> " ; };
+String RID_NEGX_HELP        { Text = "Boolean NOT" ; };
 String RID_XPLUSY           { Text = "<?> + <?> " ; };
+String RID_XPLUSY_HELP      { Text = "Addition + " ; };
 String RID_XMINUSY          { Text = "<?> - <?> " ; };
+String RID_XMINUSY_HELP     { Text = "Subtraction -" ; };
 String RID_XCDOTY           { Text = "<?> cdot <?> " ; };
+String RID_XCDOTY_HELP      { Text = "Multiplication (Dot)" ; };
 String RID_XTIMESY          { Text = "<?> times <?> " ; };
+String RID_XTIMESY_HELP     { Text = "Multiplication (x)" ; };
 String RID_XSYMTIMESY       { Text = "<?> * <?> " ; };
+String RID_XSYMTIMESY_HELP  { Text = "Multiplication (*)" ; };
 String RID_XSYMDIVIDEY      { Text = "<?> / <?> " ; };
+String RID_XSYMDIVIDEY_HELP { Text = "Division (Slash)" ; };
 String RID_XDIVY            { Text = "<?> div <?> " ; };
+String RID_XDIVY_HELP       { Text = "Division (÷)" ; };
 String RID_XOVERY           { Text = "{<?>} over {<?>} " ; };
+String RID_XOVERY_HELP      { Text = "Division (Fraction)" ; };
 String RID_XODIVIDEY        { Text = "<?> odivide <?> " ; };
 String RID_XODOTY           { Text = "<?> odot <?> " ; };
 String RID_XOMINUSY         { Text = "<?> ominus <?> " ; };
 String RID_XOPLUSY          { Text = "<?> oplus <?> " ; };
 String RID_XOTIMESY         { Text = "<?> otimes <?> " ; };
 String RID_XANDY            { Text = "<?> and <?> " ; };
+String RID_XANDY_HELP       { Text = "Boolean AND" ; };
 String RID_XORY             { Text = "<?> or <?> " ; };
+String RID_XORY_HELP        { Text = "Boolean OR" ; };
 String RID_XEQY             { Text = "<?> = <?> " ; };
+String RID_XEQY_HELP        { Text = "Is Equal" ; };
 String RID_XNEQY            { Text = "<?> <> <?> " ; };
+String RID_XNEQY_HELP       { Text = "Is Not Equal" ; };
 String RID_XLTY             { Text = "<?> < <?> " ; };
+String RID_XLTY_HELP        { Text = "Is Less Than" ; };
 String RID_XGTY             { Text = "<?> > <?> " ; };
+String RID_XGTY_HELP        { Text = "Is Greater Than" ; };
 String RID_XLEY             { Text = "<?> <= <?> " ; };
+String RID_XLEY_HELP        { Text = "Is Less Than Or Equal To" ; };
 String RID_XGEY             { Text = "<?> >= <?> " ; };
+String RID_XGEY_HELP        { Text = "Is Greater Than Or Equal To" ; };
 String RID_XLESLANTY        { Text = "<?> leslant <?> " ; };
+String RID_XLESLANTY_HELP   { Text = "Is Less Than Or Equal To" ; };
 String RID_XGESLANTY        { Text = "<?> geslant <?> " ; };
+String RID_XGESLANTY_HELP   { Text = "Is Greater Than Or Equal To" ; };
 String RID_XLLY             { Text = "<?> << <?> " ; };
 String RID_XGGY             { Text = "<?> >> <?> " ; };
 String RID_XDEFY            { Text = "<?> def <?> " ; };
 String RID_XEQUIVY          { Text = "<?> equiv <?> " ; };
+String RID_XEQUIVY_HELP     { Text = "Is Congruent To" ; };
 String RID_XAPPROXY         { Text = "<?> approx <?> " ; };
+String RID_XAPPROXY_HELP    { Text = "Is Approximately Equal" ; };
 String RID_XSIMY            { Text = "<?> sim <?> " ; };
+String RID_XSIMY_HELP       { Text = "Is Similar To" ; };
 String RID_XSIMEQY          { Text = "<?> simeq <?> " ; };
+String RID_XSIMEQY_HELP     { Text = "Is Similar Or Equal" ; };
 String RID_XPROPY           { Text = "<?> prop <?> " ; };
+String RID_XPROPY_HELP      { Text = "Is Proportional To" ; };
 String RID_XORTHOY          { Text = "<?> ortho <?> " ; };
+String RID_XORTHOY_HELP     { Text = "Is Orthogonal To" ; };
 String RID_XPARALLELY       { Text = "<?> parallel <?> " ; };
+String RID_XPARALLELY_HELP  { Text = "Is Parallel To" ; };
 String RID_XTOWARDY         { Text = "<?> toward <?> " ; };
+String RID_XTOWARDY_HELP    { Text = "Toward" ; };
 String RID_XTRANSLY         { Text = "<?> transl <?> " ; };
 String RID_XTRANSRY         { Text = "<?> transr <?> " ; };
 String RID_XINY             { Text = "<?> in <?> " ; };
+String RID_XINY_HELP        { Text = "Is In" ; };
 String RID_XNOTINY          { Text = "<?> notin <?> " ; };
+String RID_XNOTINY_HELP     { Text = "Is Not In" ; };
 String RID_XOWNSY           { Text = "<?> owns <?> " ; };
+String RID_XOWNSY_HELP      { Text = "Owns" ; };
 String RID_XUNIONY          { Text = "<?> union <?> " ; };
+String RID_XUNIONY_HELP     { Text = "Union" ; };
 String RID_XINTERSECTIONY   { Text = "<?> intersection <?> " ; };
+String RID_XINTERSECTIONY_HELP { Text = "Intersection" ; };
 String RID_XSETMINUSY       { Text = "<?> setminus <?> " ; };
+String RID_XSETMINUSY_HELP  { Text = "Difference" ; };
 String RID_XSLASHY          { Text = "<?> slash <?> " ; };
+String RID_XSLASHY_HELP     { Text = "Quotient Set" ; };
 String RID_XSUBSETY         { Text = "<?> subset <?> " ; };
+String RID_XSUBSETY_HELP    { Text = "Subset" ; };
 String RID_XSUBSETEQY       { Text = "<?> subseteq <?> " ; };
+String RID_XSUBSETEQY_HELP  { Text = "Subset Or Equal To" ; };
 String RID_XSUPSETY         { Text = "<?> supset <?> " ; };
+String RID_XSUPSETY_HELP    { Text = "Superset" ; };
 String RID_XSUPSETEQY       { Text = "<?> supseteq <?> " ; };
+String RID_XSUPSETEQY_HELP  { Text = "Superset Or Equal To" ; };
 String RID_XNSUBSETY        { Text = "<?> nsubset <?> " ; };
+String RID_XNSUBSETY_HELP   { Text = "Not Subset" ; };
 String RID_XNSUBSETEQY      { Text = "<?> nsubseteq <?> " ; };
+String RID_XNSUBSETEQY_HELP { Text = "Not Subset Or Equal" ; };
 String RID_XNSUPSETY        { Text = "<?> nsupset <?> " ; };
+String RID_XNSUPSETY_HELP   { Text = "Not Superset" ; };
 String RID_XNSUPSETEQY      { Text = "<?> nsupseteq <?> " ; };
+String RID_XNSUPSETEQY_HELP { Text = "Not Superset Or Equal" ; };
 String RID_ABSX             { Text = "abs{<?>} " ; };
+String RID_ABSX_HELP        { Text = "Absolute Value" ; };
 String RID_FACTX            { Text = "fact {<?>} " ; };
+String RID_FACTX_HELP       { Text = "Factorial" ; };
 String RID_SQRTX            { Text = "sqrt{<?>} " ; };
+String RID_SQRTX_HELP       { Text = "Square Root " ; };
 String RID_NROOTXY          { Text = "nroot{<?>}{<?>} " ; };
+String RID_NROOTXY_HELP     { Text = "N-th Root" ; };
 String RID_EX               { Text = "func e^{<?>} " ; };
+String RID_EX_HELP          { Text = "Exponential Function" ; };
 String RID_EXPX             { Text = "exp(<?>) " ; };
+String RID_EXPX_HELP        { Text = "Exponential Function" ; };
 String RID_LNX              { Text = "ln(<?>) " ; };
+String RID_LNX_HELP         { Text = "Natural Logarithm" ; };
 String RID_LOGX             { Text = "log(<?>) " ; };
+String RID_LOGX_HELP        { Text = "Logarithm" ; };
 String RID_SINX             { Text = "sin(<?>) " ; };
+String RID_SINX_HELP        { Text = "Sine" ; };
 String RID_COSX             { Text = "cos(<?>) " ; };
+String RID_COSX_HELP        { Text = "Cosine" ; };
 String RID_TANX             { Text = "tan(<?>) " ; };
+String RID_TANX_HELP        { Text = "Tangent" ; };
 String RID_COTX             { Text = "cot(<?>) " ; };
+String RID_COTX_HELP        { Text = "Cotangent" ; };
 String RID_ARCSINX          { Text = "arcsin(<?>) " ; };
+String RID_ARCSINX_HELP     { Text = "Arcsine" ; };
 String RID_ARCCOSX          { Text = "arccos(<?>) " ; };
+String RID_ARCCOSX_HELP     { Text = "Arccosise" ; };
 String RID_ARCTANX          { Text = "arctan(<?>) " ; };
+String RID_ARCTANX_HELP     { Text = "Arctangent" ; };
 String RID_ARCCOTX          { Text = "arccot(<?>) " ; };
+String RID_ARCCOTX_HELP     { Text = "Arccotangent" ; };
 String RID_SINHX            { Text = "sinh(<?>) " ; };
+String RID_SINHX_HELP       { Text = "Hyperbolic Sine" ; };
 String RID_COSHX            { Text = "cosh(<?>) " ; };
+String RID_COSHX_HELP       { Text = "Hyperbolic Cosine" ; };
 String RID_TANHX            { Text = "tanh(<?>) " ; };
+String RID_TANHX_HELP       { Text = "Hyperbolic Tangent" ; };
 String RID_COTHX            { Text = "coth(<?>) " ; };
+String RID_COTHX_HELP       { Text = "Hyperbolic Cotangent" ; };
 String RID_ARSINHX          { Text = "arsinh(<?>) " ; };
+String RID_ARSINHX_HELP     { Text = "Area Hyperbolic Sine" ; };
 String RID_ARCOSHX          { Text = "arcosh(<?>) " ; };
+String RID_ARCOSHX_HELP     { Text = "Area Hyperbolic Cosine" ; };
 String RID_ARTANHX          { Text = "artanh(<?>) " ; };
+String RID_ARTANHX_HELP     { Text = "Area Hyperbolic Tangent" ; };
 String RID_ARCOTHX          { Text = "arcoth(<?>) " ; };
+String RID_ARCOTHX_HELP     { Text = "Area Hyperbolic Cotangent" ; };
 String RID_SUMX             { Text = "sum <?> " ; };
+String RID_SUMX_HELP        { Text = "Sum" ; };
 String RID_SUM_FROMX        { Text = "sum from{<?>} <?> " ; };
+String RID_SUM_FROMX_HELP   { Text = "Sum Subscript Bottom" ; };
 String RID_SUM_TOX          { Text = "sum to{<?>} <?> " ; };
+String RID_SUM_TOX_HELP     { Text = "Sum SuperScript Top" ; };
 String RID_SUM_FROMTOX      { Text = "sum from{<?>} to{<?>} <?> " ; };
+String RID_SUM_FROMTOX_HELP { Text = "Sum Sup/Sub script" ; };
 String RID_PRODX            { Text = "prod <?> " ; };
+String RID_PRODX_HELP       { Text = "Product" ; };
 String RID_PROD_FROMX       { Text = "prod from{<?>} <?> " ; };
+String RID_PROD_FROMX_HELP  { Text = "Product Subscript Bottom" ; };
 String RID_PROD_TOX         { Text = "prod to{<?>} <?> " ; };
+String RID_PROD_TOX_HELP    { Text = "Product Superscript Top" ; };
 String RID_PROD_FROMTOX     { Text = "prod from{<?>} to{<?>} <?> " ; };
+String RID_PROD_FROMTOX_HELP { Text = "Product Sup/Sub script" ; };
 String RID_COPRODX          { Text = "coprod <?> " ; };
+String RID_COPRODX_HELP     { Text = "Coproduct" ; };
 String RID_COPROD_FROMX     { Text = "coprod from{<?>} <?> " ; };
+String RID_COPROD_FROMX_HELP { Text = "Coproduct " ; };
 String RID_COPROD_TOX       { Text = "coprod to{<?>} <?> " ; };
+String RID_COPROD_TOX_HELP  { Text = "Coproduct Superscript Top" ; };
 String RID_COPROD_FROMTOX   { Text = "coprod from{<?>} to{<?>} <?> " ; };
+String RID_COPROD_FROMTOX_HELP { Text = "Coproduct Sup/Sub script" ; };
 String RID_LIMX             { Text = "lim <?> " ; };
+String RID_LIMX_HELP        { Text = "Limes" ; };
 String RID_LIM_FROMX        { Text = "lim from{<?>} <?> " ; };
+String RID_LIM_FROMX_HELP   { Text = "Lime Subscript Bottom" ; };
 String RID_LIM_TOX          { Text = "lim to{<?>} <?> " ; };
+String RID_LIM_TOX_HELP     { Text = "Lime Superscript Top" ; };
 String RID_LIM_FROMTOX      { Text = "lim from{<?>} to{<?>} <?> " ; };
+String RID_LIM_FROMTOX_HELP { Text = "Lime Sup/Sub script" ; };
 String RID_LIMINFX          { Text = "liminf <?> " ; };
 String RID_LIMSUPX          { Text = "limsup <?> " ; };
 String RID_EXISTS           { Text = "exists " ; };
+String RID_EXISTS_HELP      { Text = "There exists" ; };
 String RID_NOTEXISTS        { Text = "notexists " ; };
+String RID_NOTEXISTS_HELP   { Text = "There Not Exists" ; };
 String RID_FORALL           { Text = "forall " ; };
+String RID_FORALL_HELP      { Text = "For all" ; };
 String RID_INTX             { Text = "int <?> " ; };
+String RID_INTX_HELP        { Text = "Integral" ; };
 String RID_INT_FROMX        { Text = "int from{<?>} <?> " ; };
+String RID_INT_FROMX_HELP   { Text = "Integral Subscript Top" ; };
 String RID_INT_TOX          { Text = "int to{<?>} <?> " ; };
+String RID_INT_TOX_HELP     { Text = "Integral Superscript Top" ; };
 String RID_INT_FROMTOX      { Text = "int from{<?>} to{<?>} <?> " ; };
+String RID_INT_FROMTOX_HELP { Text = "Integral Sup/Sub script" ; };
 String RID_IINTX            { Text = "iint <?> " ; };
+String RID_IINTX_HELP       { Text = "Double Integral" ; };
 String RID_IINT_FROMX       { Text = "iint from{<?>} <?> " ; };
+String RID_IINT_FROMX_HELP  { Text = "Double Integral Subscript Bottom" ; };
 String RID_IINT_TOX         { Text = "iint to{<?>} <?> " ; };
+String RID_IINT_TOX_HELP    { Text = "Double Integral Superscript Top" ; };
 String RID_IINT_FROMTOX     { Text = "iint from{<?>} to{<?>} <?> " ; };
+String RID_IINT_FROMTOX_HELP { Text = "Double Integral Sup/Sub script" ; };
 String RID_IIINTX           { Text = "iiint <?> " ; };
+String RID_IIINTX_HELP      { Text = "Triple Integral" ; };
 String RID_IIINT_FROMX      { Text = "iiint from{<?>} <?> " ; };
+String RID_IIINT_FROMX_HELP { Text = "Triple Integral Subscript Bottom" ; };
 String RID_IIINT_TOX        { Text = "iiint to{<?>} <?> " ; };
+String RID_IIINT_TOX_HELP   { Text = "Triple Integral Superscript Top" ; };
 String RID_IIINT_FROMTOX    { Text = "iiint from{<?>} to{<?>} <?> " ; };
+String RID_IIINT_FROMTOX_HELP { Text = "Triple Integral Sup/Sub script" ; };
 String RID_LINTX            { Text = "lint <?> " ; };
+String RID_LINTX_HELP       { Text = "Curve Integral" ; };
 String RID_LINT_FROMX       { Text = "lint from{<?>} <?> " ; };
+String RID_LINT_FROMX_HELP  { Text = "Curve Integral Subscript Bottom" ; };
 String RID_LINT_TOX         { Text = "lint to{<?>} <?> " ; };
+String RID_LINT_TOX_HELP    { Text = "Curve Integral Superscript Top" ; };
 String RID_LINT_FROMTOX     { Text = "lint from{<?>} to{<?>} <?> " ; };
+String RID_LINT_FROMTOX_HELP { Text = "Curve Integral Sup/Sub script" ; };
 String RID_LLINTX           { Text = "llint <?> " ; };
+String RID_LLINTX_HELP      { Text = "Double Curve Integral" ; };
 String RID_LLINT_FROMX      { Text = "llint from{<?>} <?> " ; };
+String RID_LLINT_FROMX_HELP { Text = "Double Curve Integral Subscript Bottom" ; };
 String RID_LLINT_TOX        { Text = "llint to{<?>} <?> " ; };
+String RID_LLINT_TOX_HELP   { Text = "Double Curve Integral Superscript Top" ; };
 String RID_LLINT_FROMTOX    { Text = "llint from{<?>} to{<?>} <?> " ; };
+String RID_LLINT_FROMTOX_HELP { Text = "Double Curve Integral Sup/Sub script" ; };
 String RID_LLLINTX          { Text = "lllint <?> " ; };
+String RID_LLLINTX_HELP     { Text = "Triple Curve Integral" ; };
 String RID_LLLINT_FROMX     { Text = "lllint from{<?>} <?> " ; };
+String RID_LLLINT_FROMX_HELP { Text = "Triple Curve Integral Subscript Bottom" ; };
 String RID_LLLINT_TOX       { Text = "lllint to{<?>} <?> " ; };
+String RID_LLLINT_TOX_HELP  { Text = "Triple Curve Integral Superscript Top" ; };
 String RID_LLLINT_FROMTOX   { Text = "lllint from{<?>} to{<?>} <?> " ; };
+String RID_LLLINT_FROMTOX_HELP { Text = "Trile Curve Integral Sup/Sub script" ; };
 String RID_FROMX            { Text = "from{<?>} <?> " ; };
 String RID_TOX              { Text = "to{<?>} <?> " ; };
 String RID_FROMXTOY         { Text = "from{<?>} to{<?>} <?> " ; };
 String RID_ACUTEX           { Text = "acute <?> " ; };
+String RID_ACUTEX_HELP      { Text =  "Acute Accent" ; };
 String RID_BARX             { Text = "bar <?> " ; };
+String RID_BARX_HELP        { Text = "Line Above" ; };
 String RID_BREVEX           { Text = "breve <?> " ; };
+String RID_BREVEX_HELP      { Text = "Breve" ; };
 String RID_CHECKX           { Text = "check <?> " ; };
 String RID_CIRCLEX          { Text = "circle <?> " ; };
+String RID_CIRCLEX_HELP     { Text = "Circle" ; };
 String RID_DOTX             { Text = "dot <?> " ; };
+String RID_DOTX_HELP        { Text = "Dot" ; };
 String RID_DDOTX            { Text = "ddot <?> " ; };
+String RID_DDOTX_HELP       { Text = "Double Dot" ; };
 String RID_DDDOTX           { Text = "dddot <?> " ; };
+String RID_DDDOTX_HELP      { Text = "Triple Dot " ; };
 String RID_GRAVEX           { Text = "grave <?> " ; };
+String RID_GRAVEX_HELP      { Text = "Grave Accent" ; };
 String RID_HATX             { Text = "hat <?> " ; };
+String RID_HATX_HELP        { Text = "Circumflex" ; };
 String RID_TILDEX           { Text = "tilde <?> " ; };
+String RID_TILDEX_HELP      { Text = "Tilde" ; };
 String RID_VECX             { Text = "vec <?> " ; };
+String RID_VECX_HELP        { Text = "Vector Arrow" ; };
 String RID_UNDERLINEX       { Text = "underline {<?>} " ; };
+String RID_UNDERLINEX_HELP  { Text = "Line Below" ; };
 String RID_OVERLINEX        { Text = "overline {<?>} " ; };
+String RID_OVERLINEX_HELP   { Text = "Line Over" ; };
 String RID_OVERSTRIKEX      { Text = "overstrike {<?>} " ; };
+String RID_OVERSTRIKEX_HELP { Text = "Line Through" ; };
 String RID_PHANTOMX         { Text = "phantom {<?>} " ; };
+String RID_PHANTOMX_HELP    { Text = "Transparent" ; };
 String RID_BOLDX            { Text = "bold <?> " ; };
+String RID_BOLDX_HELP       { Text = "Bold Font" ; };
 String RID_ITALX            { Text = "ital <?> " ; };
+String RID_ITALX_HELP       { Text = "Italic Font" ; };
 String RID_SIZEXY           { Text = "size <?> {<?>} " ; };
+String RID_SIZEXY_HELP      { Text = "Resize" ; };
 String RID_FONTXY           { Text = "font <?> {<?>} " ; };
+String RID_FONTXY_HELP      { Text = "Change Font" ; };
 String RID_COLORX           { Text = "color <?> {<?>} " ; };
 String RID_COLORX_BLACK     { Text = "color black {<?>} " ; };
-String RID_COLORX_BLUE      { Text = "color blue {<?>} " ; };
-String RID_COLORX_GREEN     { Text = "color green {<?>} " ; };
+String RID_COLORX_BLACK_HELP { Text = "Color Black" ; };
+String RID_COLORX_BLUE       { Text = "color blue {<?>} " ; };
+String RID_COLORX_BLUE_HELP  { Text = "Color Blue" ; };
+String RID_COLORX_GREEN      { Text = "color green {<?>} " ; };
+String RID_COLORX_GREEN_HELP { Text = "Color Green" ; };
 String RID_COLORX_RED       { Text = "color red {<?>} " ; };
+String RID_COLORX_RED_HELP  { Text = "Color Red" ; };
 String RID_COLORX_CYAN      { Text = "color cyan {<?>} " ; };
+String RID_COLORX_CYAN_HELP { Text = "Color Cyan" ; };
 String RID_COLORX_MAGENTA   { Text = "color magenta {<?>} " ; };
-String RID_COLORX_YELLOW    { Text = "color yellow {<?>} " ; };
+String RID_COLORX_MAGENTA_HELP { Text = "Color Magenta" ; };
+String RID_COLORX_YELLOW       { Text = "color yellow {<?>} " ; };
+String RID_COLORX_YELLOW_HELP  { Text = "Color Yellow" ; };
 String RID_LRGROUPX         { Text = "{<?>} " ; };
+String RID_LRGROUPX_HELP    { Text = "Group Brackets" ; };
 String RID_LRPARENTX        { Text = "(<?>) " ; };
+String RID_LRPARENTX_HELP   { Text = "Round Brackets (Scalable)" ; };
 String RID_LRBRACKETX       { Text = "[<?>] " ; };
+String RID_LRBRACKETX_HELP  { Text = "Square Brackets (Scalable)" ; };
 String RID_LRDBRACKETX      { Text = "ldbracket <?> rdbracket " ; };
+String RID_LRDBRACKETX_HELP { Text = "Double Square Brackets" ; };
 String RID_LRBRACEX         { Text = "lbrace <?> rbrace " ; };
+String RID_LRBRACEX_HELP    { Text = "Braces" ; };
 String RID_LRANGLEX         { Text = "langle <?> rangle " ; };
+String RID_LRANGLEX_HELP    { Text = "Angle Brackets" ; };
 String RID_LRCEILX          { Text = "lceil <?> rceil " ; };
+String RID_LRCEILX_HELP     { Text = "Upper Ceil" ; };
 String RID_LRFLOORX         { Text = "lfloor <?> rfloor " ; };
+String RID_LRFLOORX_HELP    { Text = "Floor" ; };
 String RID_LRLINEX          { Text = "lline <?> rline " ; };
+String RID_LRLINEX_HELP     { Text = "Single Lines" ; };
 String RID_LRDLINEX         { Text = "ldline <?> rdline " ; };
+String RID_LRDLINEX_HELP    { Text = "Double Lines" ; };
 String RID_LMRANGLEXY       { Text = "langle <?> mline <?> rangle " ; };
+String RID_LMRANGLEXY_HELP  { Text = "Operator Brackets" ; };
 String RID_SLRPARENTX       { Text = "left ( <?> right ) " ; };
+String RID_SLRPARENTX_HELP  { Text = "Round Brackets (Scalable)" ; };
 String RID_SLRBRACKETX      { Text = "left [ <?> right ] " ; };
+String RID_SLRBRACKETX_HELP { Text = "Square Brackets (Scalable)" ; };
 String RID_SLRDBRACKETX     { Text = "left ldbracket <?> right rdbracket " ; };
+String RID_SLRDBRACKETX_HELP { Text = "Double Square Brackets (Scalable)" ; };
 String RID_SLRBRACEX        { Text = "left lbrace <?> right rbrace " ; };
 String RID_SLRANGLEX        { Text = "left langle <?> right rangle " ; };
+String RID_SLRANGLEX_HELP   { Text = "Angle Brackets (Scalable)" ; };
 String RID_SLRCEILX         { Text = "left lceil <?> right rceil " ; };
+String RID_SLRCEILX_HELP    { Text = "Minor ceil" ; };
 String RID_SLRFLOORX        { Text = "left lfloor <?> right rfloor " ; };
+String RID_SLRFLOORX_HELP   { Text = "Minor floor" ; };
 String RID_SLRLINEX         { Text = "left lline <?> right rline " ; };
+String RID_SLRLINEX_HELP    { Text = "Single Lines (Scalable)" ; };
 String RID_SLRDLINEX        { Text = "left ldline <?> right rdline " ; };
+String RID_SLRDLINEX_HELP   { Text = "Double Lines (Scalable)" ; };
 String RID_SLMRANGLEXY      { Text = "left langle <?> mline <?> right rangle " ; };
+String RID_SLMRANGLEXY_HELP { Text = "Operator Brackets (Scalable)" ; };
 String RID_XOVERBRACEY      { Text = "{<?>} overbrace {<?>} " ; };
+String RID_XOVERBRACEY_HELP { Text = "Braces Top (Scalable)" ; };
 String RID_XUNDERBRACEY     { Text = "{<?>} underbrace {<?>} " ; };
+String RID_XUNDERBRACEY_HELP { Text = "Braces Bottom (Scalable)" ; };
 String RID_RSUBX            { Text = "<?>_{<?>}" ; };
+String RID_RSUBX_HELP       { Text = "Subscript Right" ; };
 String RID_RSUPX            { Text = "<?>^{<?>}" ; };
+String RID_RSUPX_HELP       { Text = "Power" ; };
 String RID_LSUBX            { Text = "<?> lsub{<?>} " ; };
+String RID_LSUBX_HELP       { Text = "Subscript Left" ; };
 String RID_LSUPX            { Text = "<?> lsup{<?>} " ; };
+String RID_LSUPX_HELP       { Text = "Superscript Left" ; };
 String RID_CSUBX            { Text = "<?> csub{<?>} " ; };
+String RID_CSUBX_HELP       { Text = "Subscript Bottom" ; };
 String RID_CSUPX            { Text = "<?> csup{<?>} " ; };
+String RID_CSUPX_HELP       { Text = "Superscript Top" ; };
 String RID_SBLANK           { Text = "`" ; };
+String RID_SBLANK_HELP      { Text = "Small Gap" ; };
 String RID_BLANK            { Text = "~" ; };
+String RID_BLANK_HELP       { Text = "Blank" ; };
 String RID_NEWLINE          { Text = "newline " ; };
+String RID_NEWLINE_HELP     { Text = "New Line " ; };
 String RID_BINOMXY          { Text = "binom{<?>}{<?>} " ; };
+String RID_BINOMXY_HELP     { Text = "Vertical Stack (2 Elements)"; };
 String RID_STACK            { Text = "stack{<?> # <?> # <?>} " ; };
+String RID_STACK_HELP       { Text = "Vertical Stack" ; };
 String RID_MATRIX           { Text = "matrix{<?> # <?> ## <?> # <?>} " ; };
+String RID_MATRIX_HELP      { Text = "Matrix Stack" ; };
 String RID_ALIGNLX          { Text = "alignl <?> " ; };
 String RID_ALIGNCX          { Text = "alignc <?> " ; };
 String RID_ALIGNRX          { Text = "alignr <?> " ; };
 String RID_ALEPH            { Text = "aleph " ; };
+String RID_ALEPH_HELP       { Text = "Aleph" ; };
 String RID_EMPTYSET         { Text = "emptyset " ; };
+String RID_EMPTYSET_HELP    { Text = "Empty Set" ; };
 String RID_RE               { Text = "Re " ; };
+String RID_RE_HELP          { Text = "Real Part" ; };
 String RID_IM               { Text = "Im " ; };
+String RID_IM_HELP          { Text = "Imaginary Part" ; };
 String RID_INFINITY         { Text = "infinity " ; };
+String RID_INFINITY_HELP    { Text = "Infinity" ; };
 String RID_PARTIAL          { Text = "partial " ; };
+String RID_PARTIAL_HELP     { Text = "Partial" ; };
 String RID_NABLA            { Text = "nabla " ; };
+String RID_NABLA_HELP       { Text = "Nabla" ; };
 String RID_WP               { Text = "wp " ; };
+String RID_WP_HELP          { Text = "Weierstrass p" ; };
 String RID_DOTSAXIS         { Text = "dotsaxis " ; };
+String RID_DOTSAXIS_HELP    { Text = "Dots In Middle" ; };
 String RID_DOTSUP           { Text = "dotsup " ; };
+String RID_DOTSUP_HELP      { Text = "Dots To Top" ; };
 String RID_DOTSDOWN         { Text = "dotsdown " ; };
+String RID_DOTSDOWN_HELP    { Text = "Dots To Bottom" ; };
 String RID_DOTSLOW          { Text = "dotslow " ; };
+String RID_DOTSLOW_HELP     { Text = "Dots At Bottom" ; };
 String RID_DOTSVERT         { Text = "dotsvert " ; };
+String RID_DOTSVERT_HELP    { Text = "Dots Vertically" ; };
 String RID_XCIRCY           { Text = "<?> circ <?> " ; };
+String RID_XCIRCY_HELP      { Text = "Concatenate" ; };
 String RID_XWIDESLASHY      { Text = "{<?>} wideslash {<?>} " ; };
+String RID_XWIDESLASHY_HELP { Text = "Division (wideslash) " ; };
 String RID_XWIDEBSLASHY     { Text = "<?> widebslash <?> " ; };
+String RID_XWIDEBSLASHY_HELP{ Text = "Division (counter wideslash) " ; };
 String RID_XDIVIDESY        { Text = "<?> divides <?> " ; };
+String RID_XDIVIDESY_HELP   { Text = "Divides" ; };
 String RID_XNDIVIDESY       { Text = "<?> ndivides <?> " ; };
+String RID_XNDIVIDESY_HELP  { Text = "Does Not Divide" ; };
 String RID_DLARROW          { Text = "<?> dlarrow <?> " ; };
+String RID_DLARROW_HELP     { Text = "Double Arrow Left" ; };
 String RID_DLRARROW         { Text = "<?> dlrarrow <?> " ; };
+String RID_DLRARROW_HELP    { Text = "Double Arrow Left And Right" ; };
 String RID_DRARROW          { Text = "<?> drarrow <?> " ; };
+String RID_DRARROW_HELP     { Text = "Double Arrow Right" ; };
 String RID_SETN             { Text = "setN " ; };
+String RID_SETN_HELP        { Text = "Natural Numbers Set" ; };
 String RID_SETZ             { Text = "setZ " ; };
+String RID_SETZ_HELP        { Text = "Integers Set" ; };
 String RID_SETQ             { Text = "setQ " ; };
+String RID_SETQ_HELP        { Text = "Set of Rational Numbers" ; };
 String RID_SETR             { Text = "setR " ; };
+String RID_SETR_HELP        { Text = "Real Numbers Set" ; };
 String RID_SETC             { Text = "setC " ; };
+String RID_SETC_HELP        { Text = "Complex Numbers Set" ; };
 String RID_WIDEHATX         { Text = "widehat {<?>} " ; };
+String RID_WIDEHATX_HELP    { Text = "Large Circumflex" ; };
 String RID_WIDETILDEX       { Text = "widetilde {<?>} " ; };
+String RID_WIDETILDEX_HELP  { Text = "Large Tilde" ; };
 String RID_WIDEVECX         { Text = "widevec {<?>} " ; };
+String RID_WIDEVECX_HELP    { Text = "Large Vector Arrow" ; };
 String RID_HBAR             { Text = "hbar " ; };
+String RID_HBAR_HELP        { Text = "h Bar" ; };
 String RID_LAMBDABAR        { Text = "lambdabar " ; };
+String RID_LAMBDABAR_HELP   { Text = "Lambda Bar" ; };
 String RID_LEFTARROW        { Text = "leftarrow " ; };
+String RID_LEFTARROW_HELP   { Text = "Left Arrow" ; };
 String RID_RIGHTARROW       { Text = "rightarrow " ; };
+String RID_RIGHTARROW_HELP  { Text = "Right Arrow" ; };
 String RID_UPARROW          { Text = "uparrow " ; };
+String RID_UPARROW_HELP     { Text = "Up Arrow" ; };
 String RID_DOWNARROW        { Text = "downarrow " ; };
+String RID_DOWNARROW_HELP   { Text = "Down Arrow" ; };
 String RID_NOSPACE          { Text = "nospace {<?>} " ; };
+String RID_NOSPACE_HELP     { Text = "No space" ; };
 
 String RID_XPRECEDESY        { Text = "<?> prec <?> " ; };
+String RID_XPRECEDESY_HELP   { Text = "Precedes" ; };
 String RID_XPRECEDESEQUALY   { Text = "<?> preccurlyeq <?> " ; };
+String RID_XPRECEDESEQUALY_HELP { Text = "Precedes or equal to" ; };
 String RID_XPRECEDESEQUIVY   { Text = "<?> precsim <?> " ; };
+String RID_XPRECEDESEQUIVY_HELP { Text = "Precedes or equivalent to" ; };
 String RID_XSUCCEEDSY        { Text = "<?> succ <?> " ; };
+String RID_XSUCCEEDSY_HELP   { Text = "Succeeds" ; };
 String RID_XSUCCEEDSEQUALY   { Text = "<?> succcurlyeq <?> " ; };
+String RID_XSUCCEEDSEQUALY_HELP { Text = "Succeeds or equal to" ; };
 String RID_XSUCCEEDSEQUIVY   { Text = "<?> succsim <?> " ; };
+String RID_XSUCCEEDSEQUIVY_HELP { Text = "Succeeds or equivalent to" ; };
 String RID_XNOTPRECEDESY     { Text = "<?> nprec <?> " ; };
+String RID_XNOTPRECEDESY_HELP { Text = "Not precedes" ; };
 String RID_XNOTSUCCEEDSY     { Text = "<?> nsucc <?> " ; };
+String RID_XNOTSUCCEEDSY_HELP { Text = "Not succeeds" ; };
 
 String RID_CATEGORY_UNARY_BINARY_OPERATORS
 {


More information about the Libreoffice-commits mailing list