311 lines
6.8 KiB
Plaintext
311 lines
6.8 KiB
Plaintext
/*
|
|
* 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;
|
|
|
|
typedef [v1_enum] enum UI_OWNERSHIP {
|
|
UI_OWNERSHIP_TRANSFER = 0,
|
|
UI_OWNERSHIP_COPY = 1,
|
|
} UI_OWNERSHIP;
|
|
|
|
typedef [v1_enum] enum UI_COLLECTIONCHANGE {
|
|
UI_COLLECTIONCHANGE_INSERT = 0,
|
|
UI_COLLECTIONCHANGE_REMOVE = 1,
|
|
UI_COLLECTIONCHANGE_REPLACE = 2,
|
|
UI_COLLECTIONCHANGE_RESET = 3
|
|
} UI_COLLECTIONCHANGE;
|
|
|
|
[
|
|
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
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(23c8c838-4de6-436b-ab01-5554bb7c30dd),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUIImage : IUnknown
|
|
{
|
|
HRESULT GetBitmap(
|
|
[out] HBITMAP *bitmap
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(803982ab-370a-4f7e-a9e7-8784036a6e26),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUIRibbon : IUnknown
|
|
{
|
|
HRESULT GetHeight(
|
|
[out] UINT32 *cy
|
|
);
|
|
HRESULT LoadSettingsFromStream(
|
|
[in] IStream *pStream
|
|
);
|
|
HRESULT SaveSettingsToStream(
|
|
[in] IStream *pStream
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(df4f45bf-6f9d-4dd7-9d68-d8f9cd18c4db),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUICollection : IUnknown
|
|
{
|
|
HRESULT GetCount(
|
|
[out] UINT32 *count
|
|
);
|
|
HRESULT GetItem(
|
|
[in] UINT32 index,
|
|
[out] IUnknown **item
|
|
);
|
|
HRESULT Add(
|
|
[in] IUnknown *item
|
|
);
|
|
HRESULT Insert(
|
|
[in] UINT32 index,
|
|
[in] IUnknown *item
|
|
);
|
|
HRESULT RemoveAt(
|
|
[in] UINT32 index
|
|
);
|
|
HRESULT Replace(
|
|
[in] UINT32 indexReplaced,
|
|
[in] IUnknown *itemReplaceWith
|
|
);
|
|
HRESULT Clear();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(eea11f37-7c46-437c-8e55-b52122b29293),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUIContextualUI : IUnknown
|
|
{
|
|
HRESULT ShowAtLocation(
|
|
[in] INT32 x,
|
|
[in] INT32 y
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(6502ae91-a14d-44b5-bbd0-62aacc581d52),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUICollectionChangedEvent : IUnknown
|
|
{
|
|
HRESULT OnChanged(
|
|
[in] UI_COLLECTIONCHANGE action,
|
|
[in] UINT32 oldIndex,
|
|
[in] IUnknown *oldItem,
|
|
[in] UINT32 newIndex,
|
|
[in] IUnknown *newItem
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(18aba7f3-4c1c-4ba2-bf6c-f5c3326fa816),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface IUIImageFromBitmap : IUnknown
|
|
{
|
|
HRESULT CreateImage(
|
|
[in] HBITMAP bitmap,
|
|
[in] UI_OWNERSHIP options,
|
|
[out] IUIImage **image
|
|
);
|
|
}
|
|
|
|
|
|
[
|
|
helpstring("UIRibbonFramework Object"),
|
|
threading(apartment),
|
|
uuid(926749fa-2615-4987-8845-c33e65f2b957)
|
|
]
|
|
coclass UIRibbonFramework { interface IUIFramework; }
|
|
|
|
[
|
|
threading(apartment),
|
|
uuid(0f7434b6-59b6-4250-999e-d168d6ae4293)
|
|
]
|
|
coclass UIRibbonImageFromBitmapFactory { interface IUIImageFromBitmap; }
|