summaryrefslogtreecommitdiff
path: root/starmath/source
diff options
context:
space:
mode:
authorThomas Arnhold <thomas@arnhold.org>2013-11-05 12:04:51 +0100
committerThomas Arnhold <thomas@arnhold.org>2013-11-05 18:00:15 +0100
commite9a7ff1a5ba9d5ba34eeca9d622d8a3a9c68ade8 (patch)
tree82e706f837ca0d827dc5a9ae979ae3d15ec86e47 /starmath/source
parent01f6f620395a86abe1e7f503ae4b3b5f7124e144 (diff)
fdo#67862: Add greek symbols to docking window
Those were already present at starmath/source/symbol.src and are merged to the docking window now. Also make use of SAL_N_ELEMENTS. Change-Id: I3e1f082082763168e731c3771c0b71467d095eba
Diffstat (limited to 'starmath/source')
-rw-r--r--starmath/source/ElementsDockingWindow.cxx64
-rw-r--r--starmath/source/commands.src90
2 files changed, 142 insertions, 12 deletions
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 4f9ac914bd63..89ef87dcff27 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -186,6 +186,34 @@ const sal_uInt16 SmElementsControl::aFormats[][2] =
{RID_MATRIX, RID_MATRIX_HELP},
};
+const sal_uInt16 SmElementsControl::aGreek[][2] =
+{
+ {RID_GRC_ALPHA, RID_GRC_ALPHA_HELP}, {RID_GRC_BETA, RID_GRC_BETA_HELP},
+ {RID_GRC_GAMMA, RID_GRC_GAMMA_HELP}, {RID_GRC_DELTA, RID_GRC_DELTA_HELP},
+ {RID_GRC_EPSILON, RID_GRC_EPSILON_HELP}, {RID_GRC_ZETA, RID_GRC_ZETA_HELP},
+ {RID_GRC_ETA, RID_GRC_ETA_HELP}, {RID_GRC_THETA, RID_GRC_THETA_HELP},
+ {RID_GRC_IOTA, RID_GRC_IOTA_HELP}, {RID_GRC_KAPPA, RID_GRC_KAPPA_HELP},
+ {RID_GRC_LAMBDA, RID_GRC_LAMBDA_HELP}, {RID_GRC_MU, RID_GRC_MU_HELP},
+ {RID_GRC_NU, RID_GRC_NU_HELP}, {RID_GRC_XI, RID_GRC_XI_HELP},
+ {RID_GRC_OMICRON, RID_GRC_OMICRON_HELP}, {RID_GRC_PI, RID_GRC_PI_HELP},
+ {RID_GRC_RHO, RID_GRC_RHO_HELP}, {RID_GRC_SIGMA, RID_GRC_SIGMA_HELP},
+ {RID_GRC_TAU, RID_GRC_TAU_HELP}, {RID_GRC_UPSILON, RID_GRC_UPSILON_HELP},
+ {RID_GRC_PHI, RID_GRC_PHI_HELP}, {RID_GRC_CHI, RID_GRC_CHI_HELP},
+ {RID_GRC_PSI, RID_GRC_PSI_HELP}, {RID_GRC_OMEGA, RID_GRC_OMEGA_HELP}
+};
+
+const sal_uInt16 SmElementsControl::aSymbols[][2] =
+{
+ {RID_SYM_VAREPSILON, RID_SYM_VAREPSILON_HELP}, {RID_SYM_VARTHETA, RID_SYM_VARTHETA_HELP},
+ {RID_SYM_VARPI, RID_SYM_VARPI_HELP}, {RID_SYM_VARRHO, RID_SYM_VARRHO_HELP},
+ {RID_SYM_VARSIGMA, RID_SYM_VARSIGMA_HELP}, {RID_SYM_VARPHI, RID_SYM_VARPHI_HELP},
+ {RID_SYM_ELEMENT, RID_SYM_ELEMENT_HELP}, {RID_SYM_NOELEMENT, RID_SYM_NOELEMENT_HELP},
+ {RID_SYM_STRICTLYLESSTHAN, RID_SYM_STRICTLYLESSTHAN_HELP}, {RID_SYM_STRICTLYGREATERTHAN, RID_SYM_STRICTLYGREATERTHAN_HELP},
+ {RID_SYM_NOTEQUAL, RID_SYM_NOTEQUAL_HELP}, {RID_SYM_IDENTICAL, RID_SYM_IDENTICAL_HELP},
+ {RID_SYM_TENDTO, RID_SYM_TENDTO_HELP}, {RID_SYM_INFINITE, RID_SYM_INFINITE_HELP}, {RID_SYM_ANGLE, RID_SYM_ANGLE_HELP},
+ {RID_SYM_PERTHOUSAND, RID_SYM_PERTHOUSAND_HELP}, {RID_SYM_AND, RID_SYM_AND_HELP}, {RID_SYM_OR, RID_SYM_OR_HELP}
+};
+
const sal_uInt16 SmElementsControl::aOthers[][2] =
{
{RID_INFINITY, RID_INFINITY_HELP}, {RID_PARTIAL, RID_PARTIAL_HELP}, {RID_NABLA, RID_NABLA_HELP},
@@ -465,31 +493,42 @@ void SmElementsControl::build()
{
// we need to divide by 2 because of the matrix of two dimensions
case RID_CATEGORY_UNARY_BINARY_OPERATORS:
- addElements(aUnaryBinaryOperatorsList, (sizeof(aUnaryBinaryOperatorsList) / 2) / sizeof(sal_uInt16));
+ addElements(aUnaryBinaryOperatorsList, SAL_N_ELEMENTS(aUnaryBinaryOperatorsList));
break;
case RID_CATEGORY_RELATIONS:
- addElements(aRelationsList, (sizeof(aRelationsList) / 2) / sizeof(sal_uInt16));
+ addElements(aRelationsList, SAL_N_ELEMENTS(aRelationsList));
break;
case RID_CATEGORY_SET_OPERATIONS:
- addElements(aSetOperations, (sizeof(aSetOperations) / 2) / sizeof(sal_uInt16));
+ addElements(aSetOperations, SAL_N_ELEMENTS(aSetOperations));
break;
case RID_CATEGORY_FUNCTIONS:
- addElements(aFunctions, (sizeof(aFunctions) / 2 ) / sizeof(sal_uInt16));
+ addElements(aFunctions, SAL_N_ELEMENTS(aFunctions));
break;
case RID_CATEGORY_OPERATORS:
- addElements(aOperators, (sizeof(aOperators) / 2) / sizeof(sal_uInt16));
+ addElements(aOperators, SAL_N_ELEMENTS(aOperators));
break;
case RID_CATEGORY_ATTRIBUTES:
- addElements(aAttributes, (sizeof(aAttributes) / 2 ) / sizeof(sal_uInt16));
+ addElements(aAttributes, SAL_N_ELEMENTS(aAttributes));
break;
case RID_CATEGORY_BRACKETS:
- addElements(aBrackets, (sizeof(aBrackets) / 2) / sizeof(sal_uInt16));
+ addElements(aBrackets, SAL_N_ELEMENTS(aBrackets));
break;
case RID_CATEGORY_FORMATS:
- addElements(aFormats, (sizeof(aFormats) / 2) / sizeof(sal_uInt16));
+ addElements(aFormats, SAL_N_ELEMENTS(aFormats));
+ break;
+ case RID_CATEGORY_SYMBOLS:
+ // upper case Greek symbols get generated from the lowercase ones
+ for ( sal_uInt16 i = 0; i < SAL_N_ELEMENTS(aGreek); i++)
+ addElement(SM_RESSTR(aGreek[i][0]).toAsciiUpperCase(), SM_RESSTR(aGreek[i][0]).toAsciiUpperCase(), SM_RESSTR(aGreek[i][1]));
+
+ addSeparator();
+ // lower case Greek symbols
+ addElements(aGreek, SAL_N_ELEMENTS(aGreek));
+ addSeparator();
+ addElements(aSymbols, SAL_N_ELEMENTS(aSymbols));
break;
case RID_CATEGORY_OTHERS:
- addElements(aOthers, (sizeof(aOthers) / 2) / sizeof(sal_uInt16));
+ addElements(aOthers, SAL_N_ELEMENTS(aOthers));
break;
case RID_CATEGORY_EXAMPLES:
{
@@ -518,6 +557,7 @@ const sal_uInt16 SmElementsDockingWindow::aCategories[] = {
RID_CATEGORY_ATTRIBUTES,
RID_CATEGORY_BRACKETS,
RID_CATEGORY_FORMATS,
+ RID_CATEGORY_SYMBOLS,
RID_CATEGORY_OTHERS,
RID_CATEGORY_EXAMPLES
};
@@ -540,9 +580,9 @@ SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, Sf
maElementsControl.setStringSize(SmResId(STR_SIZE));
maElementsControl.setStringFont(SmResId(STR_FONT));
- maElementListBox.SetDropDownLineCount( 10 );
+ maElementListBox.SetDropDownLineCount( 11 );
- for (sal_uInt16 i = 0; i < sizeof(aCategories) / sizeof(sal_uInt16) ; i++)
+ for (sal_uInt16 i = 0; i < SAL_N_ELEMENTS(aCategories) ; i++)
{
maElementListBox.InsertEntry(SM_RESSTR(aCategories[i]));
}
@@ -587,7 +627,7 @@ IMPL_LINK( SmElementsDockingWindow, SelectClickHdl, SmElement*, pElement)
IMPL_LINK( SmElementsDockingWindow, ElementSelectedHandle, ListBox*, pList)
{
- for (sal_uInt16 i = 0; i < sizeof(aCategories) / sizeof(sal_uInt16) ; i++)
+ for (sal_uInt16 i = 0; i < SAL_N_ELEMENTS(aCategories) ; i++)
{
sal_uInt16 aCurrentCategory = aCategories[i];
OUString aCurrentCategoryString = SM_RESSTR(aCurrentCategory);
diff --git a/starmath/source/commands.src b/starmath/source/commands.src
index 758dc7cb687c..848464dca7dc 100644
--- a/starmath/source/commands.src
+++ b/starmath/source/commands.src
@@ -481,6 +481,92 @@ String RID_XNOTPRECEDESY_HELP { Text = "Not precedes" ; };
String RID_XNOTSUCCEEDSY { Text = "<?> nsucc <?> " ; };
String RID_XNOTSUCCEEDSY_HELP { Text = "Not succeeds" ; };
+String RID_GRC_ALPHA { Text = "%alpha" ; };
+String RID_GRC_ALPHA_HELP { Text = "Alpha" ; };
+String RID_GRC_BETA { Text = "%beta" ; };
+String RID_GRC_BETA_HELP { Text = "Beta" ; };
+String RID_GRC_CHI { Text = "%chi" ; };
+String RID_GRC_CHI_HELP { Text = "Chi" ; };
+String RID_GRC_DELTA { Text = "%delta" ; };
+String RID_GRC_DELTA_HELP { Text = "Delta" ; };
+String RID_GRC_EPSILON { Text = "%epsilon" ; };
+String RID_GRC_EPSILON_HELP { Text = "Epsilon" ; };
+String RID_GRC_ETA { Text = "%eta" ; };
+String RID_GRC_ETA_HELP { Text = "Eta" ; };
+String RID_GRC_GAMMA { Text = "%gamma" ; };
+String RID_GRC_GAMMA_HELP { Text = "Gamma" ; };
+String RID_GRC_IOTA { Text = "%iota" ; };
+String RID_GRC_IOTA_HELP { Text = "Iota" ; };
+String RID_GRC_KAPPA { Text = "%kappa" ; };
+String RID_GRC_KAPPA_HELP { Text = "Kappa" ; };
+String RID_GRC_LAMBDA { Text = "%lambda" ; };
+String RID_GRC_LAMBDA_HELP { Text = "Lambda" ; };
+String RID_GRC_MU { Text = "%mu" ; };
+String RID_GRC_MU_HELP { Text = "Mu" ; };
+String RID_GRC_NU { Text = "%nu" ; };
+String RID_GRC_NU_HELP { Text = "Nu" ; };
+String RID_GRC_OMEGA { Text = "%omega" ; };
+String RID_GRC_OMEGA_HELP { Text = "Omega" ; };
+String RID_GRC_OMICRON { Text = "%omicron" ; };
+String RID_GRC_OMICRON_HELP { Text = "Omicron" ; };
+String RID_GRC_PHI { Text = "%phi" ; };
+String RID_GRC_PHI_HELP { Text = "Phi" ; };
+String RID_GRC_PI { Text = "%pi" ; };
+String RID_GRC_PI_HELP { Text = "Pi" ; };
+String RID_GRC_PSI { Text = "%psi" ; };
+String RID_GRC_PSI_HELP { Text = "Psi" ; };
+String RID_GRC_RHO { Text = "%rho" ; };
+String RID_GRC_RHO_HELP { Text = "Rho" ; };
+String RID_GRC_SIGMA { Text = "%sigma" ; };
+String RID_GRC_SIGMA_HELP { Text = "Sigma" ; };
+String RID_GRC_TAU { Text = "%tau" ; };
+String RID_GRC_TAU_HELP { Text = "Tau" ; };
+String RID_GRC_THETA { Text = "%theta" ; };
+String RID_GRC_THETA_HELP { Text = "Theta" ; };
+String RID_GRC_UPSILON { Text = "%upsilon" ; };
+String RID_GRC_UPSILON_HELP { Text = "Upsilon" ; };
+String RID_GRC_XI { Text = "%xi" ; };
+String RID_GRC_XI_HELP { Text = "Xi" ; };
+String RID_GRC_ZETA { Text = "%zeta" ; };
+String RID_GRC_ZETA_HELP { Text = "Zeta" ; };
+
+String RID_SYM_VAREPSILON { Text = "%varepsilon" ; };
+String RID_SYM_VAREPSILON_HELP { Text = "Varepsilon" ; };
+String RID_SYM_VARTHETA { Text = "%vartheta" ; };
+String RID_SYM_VARTHETA_HELP { Text = "Vartheta" ; };
+String RID_SYM_VARPI { Text = "%varpi" ; };
+String RID_SYM_VARPI_HELP { Text = "Varpi" ; };
+String RID_SYM_VARRHO { Text = "%varrho" ; };
+String RID_SYM_VARRHO_HELP { Text = "Varrho" ; };
+String RID_SYM_VARSIGMA { Text = "%varsigma" ; };
+String RID_SYM_VARSIGMA_HELP { Text = "Varsigma" ; };
+String RID_SYM_VARPHI { Text = "%varphi" ; };
+String RID_SYM_VARPHI_HELP { Text = "Varphi" ; };
+String RID_SYM_ELEMENT { Text = "%element" ; };
+String RID_SYM_ELEMENT_HELP { Text = "Element" ; };
+String RID_SYM_NOELEMENT { Text = "%noelement" ; };
+String RID_SYM_NOELEMENT_HELP { Text = "No element" ; };
+String RID_SYM_STRICTLYLESSTHAN { Text = "%strictlylessthan" ; };
+String RID_SYM_STRICTLYLESSTHAN_HELP { Text = "Strictly less than" ; };
+String RID_SYM_STRICTLYGREATERTHAN { Text = "%strictlygreaterthan" ; };
+String RID_SYM_STRICTLYGREATERTHAN_HELP { Text = "Strictly greater than" ; };
+String RID_SYM_NOTEQUAL { Text = "%notequal" ; };
+String RID_SYM_NOTEQUAL_HELP { Text = "Not equal" ; };
+String RID_SYM_IDENTICAL { Text = "%identical" ; };
+String RID_SYM_IDENTICAL_HELP { Text = "Identical" ; };
+String RID_SYM_TENDTO { Text = "%tendto" ; };
+String RID_SYM_TENDTO_HELP { Text = "Tend to" ; };
+String RID_SYM_INFINITE { Text = "%infinite" ; };
+String RID_SYM_INFINITE_HELP { Text = "Infinite" ; };
+String RID_SYM_ANGLE { Text = "%angle" ; };
+String RID_SYM_ANGLE_HELP { Text = "Angle" ; };
+String RID_SYM_PERTHOUSAND { Text = "%perthousand" ; };
+String RID_SYM_PERTHOUSAND_HELP { Text = "Per thousand" ; };
+String RID_SYM_AND { Text = "%and" ; };
+String RID_SYM_AND_HELP { Text = "And" ; };
+String RID_SYM_OR { Text = "%or" ; };
+String RID_SYM_OR_HELP { Text = "Or" ; };
+
String RID_CATEGORY_UNARY_BINARY_OPERATORS
{
Text [ en-US ] = "Unary/Binary Operators" ;
@@ -513,6 +599,10 @@ String RID_CATEGORY_FORMATS
{
Text [ en-US ] = "Formats" ;
};
+String RID_CATEGORY_SYMBOLS
+{
+ Text [ en-US ] = "Symbols" ;
+};
String RID_CATEGORY_OTHERS
{
Text [ en-US ] = "Others" ;