[PATCH v4 2/3] uiribbon: Add interface definitions
Fabian Maurer
dark.shadow4 at web.de
Sat Jul 29 18:29:24 CDT 2017
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
include/Makefile.in | 1 +
include/uiribbon.idl | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 180 insertions(+)
create mode 100644 include/uiribbon.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index 1dd6aafa32..063c4ecd3d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -161,6 +161,7 @@ IDL_SRCS = \
txdtc.idl \
uiautomationclient.idl \
uiautomationcore.idl \
+ uiribbon.idl \
unknwn.idl \
urlhist.idl \
urlmon.idl \
diff --git a/include/uiribbon.idl b/include/uiribbon.idl
new file mode 100644
index 0000000000..0d4a4b5dca
--- /dev/null
+++ b/include/uiribbon.idl
@@ -0,0 +1,179 @@
+/*
+ * COM Classes for uiribbon
+ *
+ * Copyright 2017 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+import "propsys.idl";
+
+typedef enum UI_INVALIDATIONS {
+ UI_INVALIDATIONS_STATE = 0x00000001,
+ UI_INVALIDATIONS_VALUE = 0x00000002,
+ UI_INVALIDATIONS_PROPERTY = 0x00000004,
+ UI_INVALIDATIONS_ALLPROPERTIES = 0x00000008,
+} UI_INVALIDATIONS;
+
+typedef enum UI_EXECUTIONVERB {
+ UI_EXECUTIONVERB_EXECUTE = 0,
+ UI_EXECUTIONVERB_PREVIEW = 1,
+ UI_EXECUTIONVERB_CANCELPREVIEW = 2,
+} UI_EXECUTIONVERB;
+
+typedef enum UI_VIEWTYPE {
+ UI_VIEWTYPE_RIBBON = 1
+} UI_VIEWTYPE;
+
+typedef enum UI_VIEWVERB {
+ UI_VIEWVERB_CREATE = 0,
+ UI_VIEWVERB_DESTROY = 1,
+ UI_VIEWVERB_SIZE = 2,
+ UI_VIEWVERB_ERROR = 3,
+} UI_VIEWVERB;
+
+typedef enum UI_COMMANDTYPE {
+ UI_COMMANDTYPE_UNKNOWN = 0,
+ UI_COMMANDTYPE_GROUP = 1,
+ UI_COMMANDTYPE_ACTION = 2,
+ UI_COMMANDTYPE_ANCHOR = 3,
+ UI_COMMANDTYPE_CONTEXT = 4,
+ UI_COMMANDTYPE_COLLECTION = 5,
+ UI_COMMANDTYPE_COMMANDCOLLECTION = 6,
+ UI_COMMANDTYPE_DECIMAL = 7,
+ UI_COMMANDTYPE_BOOLEAN = 8,
+ UI_COMMANDTYPE_FONT = 9,
+ UI_COMMANDTYPE_RECENTITEMS = 10,
+ UI_COMMANDTYPE_COLORANCHOR = 11,
+ UI_COMMANDTYPE_COLORCOLLECTION = 12,
+} UI_COMMANDTYPE;
+
+
+[
+ object,
+ uuid(c205bb48-5b1c-4219-a106-15bd0a5f24e2),
+ local,
+ pointer_default(unique)
+]
+interface IUISimplePropertySet : IUnknown
+{
+ HRESULT GetValue(
+ [in] REFPROPERTYKEY key,
+ [out] PROPVARIANT *value
+ );
+}
+
+[
+ object,
+ uuid(75ae0a2d-dc03-4c9f-8883-069660d0beb6),
+ local,
+ pointer_default(unique)
+]
+interface IUICommandHandler : IUnknown
+{
+ HRESULT Execute(
+ [in] UINT32 commandId,
+ [in] UI_EXECUTIONVERB verb,
+ [in] const PROPERTYKEY *key,
+ [in] const PROPVARIANT *currentValue,
+ [in] IUISimplePropertySet *commandExecutionProperties
+ );
+ HRESULT UpdateProperty(
+ [in] UINT32 commandId,
+ [in] REFPROPERTYKEY key,
+ [in] const PROPVARIANT *currentValue,
+ [out] PROPVARIANT *newValue
+ );
+}
+
+[
+ object,
+ uuid(D428903C-729A-491d-910D-682A08FF2522),
+ local,
+ pointer_default(unique)
+]
+interface IUIApplication : IUnknown
+{
+ HRESULT OnViewChanged(
+ [in] UINT32 viewId,
+ [in] UI_VIEWTYPE typeID,
+ [in] IUnknown *view,
+ [in] UI_VIEWVERB verb,
+ [in] INT32 uReasonCode
+ );
+ HRESULT OnCreateUICommand(
+ [in] UINT32 commandId,
+ [in] UI_COMMANDTYPE typeID,
+ [out] IUICommandHandler **commandHandler
+ );
+ HRESULT OnDestroyUICommand(
+ [in] UINT32 commandId,
+ [in] UI_COMMANDTYPE typeID,
+ [in] IUICommandHandler *commandHandler
+ );
+}
+
+[
+ object,
+ uuid(F4F0385D-6872-43a8-AD09-4C339CB3F5C5),
+ local,
+ pointer_default(unique)
+]
+interface IUIFramework : IUnknown
+{
+ HRESULT Initialize(
+ [in] HWND frameWnd,
+ [in] IUIApplication *application
+ );
+ HRESULT Destroy(
+ );
+ HRESULT LoadUI(
+ [in] HINSTANCE instance,
+ [in] LPCWSTR resourceName
+ );
+ HRESULT GetView(
+ [in] UINT32 viewId,
+ [in] REFIID riid,
+ [out] void **ppv
+ );
+ HRESULT GetUICommandProperty(
+ [in] UINT32 commandId,
+ [in] REFPROPERTYKEY key,
+ [out] PROPVARIANT *value
+ );
+ HRESULT SetUICommandProperty(
+ [in] UINT32 commandId,
+ [in] REFPROPERTYKEY key,
+ [in] PROPVARIANT value
+ );
+ HRESULT InvalidateUICommand(
+ [in] UINT32 commandId,
+ [in] UI_INVALIDATIONS flags,
+ [in] const PROPERTYKEY *key
+ );
+ HRESULT FlushPendingInvalidations(
+ );
+ HRESULT SetModes(
+ INT32 iModes
+ );
+}
+
+[
+ helpstring("UIRibbonFramework Object"),
+ threading(both),
+ uuid(926749fa-2615-4987-8845-c33e65f2b957)
+]
+coclass UIRibbonFramework { interface IUIFramework; }
--
2.13.3
More information about the wine-patches
mailing list