Fabian Maurer : include: Add UIRibbon interface definitions.

Alexandre Julliard julliard at winehq.org
Tue Aug 1 16:43:15 CDT 2017


Module: wine
Branch: master
Commit: 338e261c7163fecf505d20f735098d72e17c3417
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=338e261c7163fecf505d20f735098d72e17c3417

Author: Fabian Maurer <dark.shadow4 at web.de>
Date:   Sun Jul 30 19:40:32 2017 +0200

include: Add UIRibbon interface definitions.

Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/Makefile.in  |   1 +
 include/uiribbon.idl | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 183 insertions(+)

diff --git a/include/Makefile.in b/include/Makefile.in
index 1dd6aaf..063c4ec 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 0000000..6759400
--- /dev/null
+++ b/include/uiribbon.idl
@@ -0,0 +1,182 @@
+/*
+ * 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 "propsys.idl";
+
+#ifndef __WIDL__
+#define threading(model)
+#endif
+
+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,
+    UI_EXECUTIONVERB_PREVIEW,
+    UI_EXECUTIONVERB_CANCELPREVIEW,
+} UI_EXECUTIONVERB;
+
+typedef enum UI_VIEWTYPE {
+    UI_VIEWTYPE_RIBBON = 1
+} UI_VIEWTYPE;
+
+typedef enum UI_VIEWVERB {
+    UI_VIEWVERB_CREATE,
+    UI_VIEWVERB_DESTROY,
+    UI_VIEWVERB_SIZE,
+    UI_VIEWVERB_ERROR,
+} UI_VIEWVERB;
+
+typedef enum UI_COMMANDTYPE {
+    UI_COMMANDTYPE_UNKNOWN,
+    UI_COMMANDTYPE_GROUP,
+    UI_COMMANDTYPE_ACTION,
+    UI_COMMANDTYPE_ANCHOR,
+    UI_COMMANDTYPE_CONTEXT,
+    UI_COMMANDTYPE_COLLECTION,
+    UI_COMMANDTYPE_COMMANDCOLLECTION,
+    UI_COMMANDTYPE_DECIMAL,
+    UI_COMMANDTYPE_BOOLEAN,
+    UI_COMMANDTYPE_FONT,
+    UI_COMMANDTYPE_RECENTITEMS,
+    UI_COMMANDTYPE_COLORANCHOR,
+    UI_COMMANDTYPE_COLORCOLLECTION,
+} 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(apartment),
+    uuid(926749fa-2615-4987-8845-c33e65f2b957)
+]
+coclass UIRibbonFramework { interface IUIFramework; }




More information about the wine-cvs mailing list