summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@suse.com>2011-11-29 14:27:04 -0500
committerKohei Yoshida <kohei.yoshida@suse.com>2011-11-29 22:35:45 -0500
commit34493546d62eff44c2a0f8111551ce50695e054b (patch)
treeface8232fcfb8ac9913f13b8ae7a8c147e430ebf /offapi
parent7113c7152d1ec875e65e97548fa6243fc83fbc53 (diff)
New UNO API to handle multi-value filters.
Diffstat (limited to 'offapi')
-rw-r--r--offapi/UnoApi_offapi.mk3
-rw-r--r--offapi/com/sun/star/sheet/FilterFieldValue.idl54
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField3.idl62
-rw-r--r--offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl3
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl65
5 files changed, 187 insertions, 0 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 5fe45e99feb3..0391056465a3 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -3318,6 +3318,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/sheet,\
FillDirection \
FillMode \
FilterConnection \
+ FilterFieldValue \
FilterOperator \
FilterOperator2 \
FormulaLanguage \
@@ -3350,6 +3351,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/sheet,\
SubTotalColumn \
TableFilterField \
TableFilterField2 \
+ TableFilterField3 \
TableOperationMode \
TablePageBreakData \
TableValidationVisibility \
@@ -3445,6 +3447,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/sheet,\
XSheetConditionalEntry \
XSheetFilterDescriptor \
XSheetFilterDescriptor2 \
+ XSheetFilterDescriptor3 \
XSheetFilterable \
XSheetFilterableEx \
XSheetLinkable \
diff --git a/offapi/com/sun/star/sheet/FilterFieldValue.idl b/offapi/com/sun/star/sheet/FilterFieldValue.idl
new file mode 100644
index 000000000000..1e157fba2f16
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterFieldValue.idl
@@ -0,0 +1,54 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Kohei Yoshida <kohei.yoshida@suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_sheet_FilterFieldValue_idl__
+#define __com_sun_star_sheet_FilterFieldValue_idl__
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 3.5
+ */
+struct FilterFieldValue
+{
+ /** selects whether the <member>TableFilterFieldValue::NumericValue</member>
+ or the <member>TableFilterFieldValue::StringValue</member> is used.
+ */
+ boolean IsNumeric;
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/TableFilterField3.idl b/offapi/com/sun/star/sheet/TableFilterField3.idl
new file mode 100644
index 000000000000..8ddd2a95d6cb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField3.idl
@@ -0,0 +1,62 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Kohei Yoshida <kohei.yoshida@suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_sheet_TableFilterField3_idl__
+#define __com_sun_star_sheet_TableFilterField3_idl__
+
+#include <com/sun/star/sheet/FilterConnection.idl>
+#include <com/sun/star/sheet/FilterOperator2.idl>
+#include <com/sun/star/sheet/FilterFieldValue.idl>
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 3.5
+ */
+struct TableFilterField3
+{
+ /** specifies how the condition is connected to the previous condition.
+ */
+ FilterConnection Connection;
+
+ /** specifies which field (column) is used for the condition.
+ */
+ long Field;
+
+ /** specifies the type of the condition as defined in
+ <type>FilterOperator2</type>.
+ */
+ long Operator;
+
+ /** specifies values to match against. Each filter field may have one or
+ more values.*/
+ sequence<FilterFieldValue> Values;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl
index fe4957927f7a..6b16af5567e5 100644
--- a/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl
+++ b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl
@@ -32,6 +32,9 @@
module com { module sun { module star { module sheet {
+/**
+ * @since LibreOffice 3.5
+ */
interface XSelectedSheetsSupplier: com::sun::star::uno::XInterface
{
/**
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl
new file mode 100644
index 000000000000..58f7ef8f1395
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl
@@ -0,0 +1,65 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Kohei Yoshida <kohei.yoshida@suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor3_idl__
+#define __com_sun_star_sheet_XSheetFilterDescriptor3_idl__
+
+#include <com/sun/star/sheet/TableFilterField3.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+/** provides access to a collection of filter conditions (filter fields).
+
+ <p>This interface uses the <type>TableFilterField3</type> struct.
+ whereas the <type>XSheetFilterDescriptor2</type> interface uses the
+ <type>TableFilterField2</type> struct.</p>
+
+ @see SheetFilterDescriptor2
+
+ @since LibreOffice 3.5
+ */
+interface XSheetFilterDescriptor3: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns the collection of filter fields.
+ */
+ sequence<TableFilterField3> getFilterFields3();
+
+ //-------------------------------------------------------------------------
+
+ /** sets a new collection of filter fields.
+ */
+ void setFilterFields3( [in] sequence<TableFilterField3> aFilterFields );
+
+};
+
+}; }; }; };
+
+#endif
+