| /* |
| * 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; } |