From: dannysmith Date: Mon, 8 Dec 2003 22:41:43 +0000 (+0000) Subject: 2003-12-08 Danny Smith X-Git-Tag: reparent-point~5005 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e0c3a20e3ec2c348f87e7e228ae36c3476c33794;p=pf3gnuchains%2Fpf3gnuchains4x.git 2003-12-08 Danny Smith * include/winuser.h (DISPLAY_DEVICE_*): Remove defines. * include/wingdi.h (DISPLAY_DEVICE_REMOVABLE, DISPLAY_DEVICE_MODESPRINED): Add defines from winuser.h 2003-12-08 Hartmut Honisch * include/commctrl.h (ListView_Get_State, ListView_Check_State): Add macros. * include/wingdi.h (DISPLAY_DEVICE_*): Add multi-monitor constants. * include/shlobj.h (SHCOLUMNINIT); Add structure. (SHCOLUMNDAT): Likwise. (SHCOLUMNID): Likewise. (SHCOLUMNINFO): Likewise. (SHCOLSTATE): Add enum. (IColumnProvider): Add COM interface. (IQueryInfo): Likewise. (IShellIconOverlayIdentifier): Likewise. * include/shlguid.h (IID_IColumnProvider) Declare. (IID_IQueryInfo): Likweise. (IID_IShellIconOverlayIdentifier): Likwise. * lib/shell32.c (IID_IColumnProvider) Define. (IID_IQueryInfo): Likweise. (IID_IShellIconOverlayIdentifier): Likwise. --- diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 6a71cdd143..64ac9e894c 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,30 @@ +2003-12-08 Danny Smith + + * include/winuser.h (DISPLAY_DEVICE_*): Remove defines. + * include/wingdi.h (DISPLAY_DEVICE_REMOVABLE, + DISPLAY_DEVICE_MODESPRINED): Add defines. + +2003-12-08 Hartmut Honisch + + * include/commctrl.h (ListView_Get_State, ListView_Check_State): + Add macros. + * include/wingdi.h (DISPLAY_DEVICE_*): Add multi-monitor + constants. + * include/shlobj.h (SHCOLUMNINIT); Add structure. + (SHCOLUMNDAT): Likwise. + (SHCOLUMNID): Likewise. + (SHCOLUMNINFO): Likewise. + (SHCOLSTATE): Add enum. + (IColumnProvider): Add COM interface. + (IQueryInfo): Likewise. + (IShellIconOverlayIdentifier): Likewise. + * include/shlguid.h (IID_IColumnProvider) Declare. + (IID_IQueryInfo): Likweise. + (IID_IShellIconOverlayIdentifier): Likwise. + * lib/shell32.c (IID_IColumnProvider) Define. + (IID_IQueryInfo): Likweise. + (IID_IShellIconOverlayIdentifier): Likwise. + 2003-12-08 Roald Ribe * include/winuser.h (RT_MANIFEST): Add define. diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h index 70b317a065..064dead666 100644 --- a/winsup/w32api/include/commctrl.h +++ b/winsup/w32api/include/commctrl.h @@ -2999,6 +2999,9 @@ int WINAPI LBItemFromPt(HWND,POINT,BOOL); SNDMSG((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\ } #define ListView_GetSelectedCount(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOUNT,0,0) +#define ListView_GetCheckState(w,i) ((((UINT)(SNDMSG((w),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK)))>>12)-1) +#define ListView_SetCheckState(w,i,f) ListView_SetItemState(w,i,INDEXTOSTATEIMAGEMASK((f)+1),LVIS_STATEIMAGEMASK) + BOOL WINAPI MakeDragList(HWND); void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT); #define MonthCal_GetColor(hwnd,icolor) SNDMSG(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0) diff --git a/winsup/w32api/include/shlguid.h b/winsup/w32api/include/shlguid.h index b6d65cc136..db42c88224 100644 --- a/winsup/w32api/include/shlguid.h +++ b/winsup/w32api/include/shlguid.h @@ -20,7 +20,10 @@ extern const GUID IID_INewShortcutHookA; extern const GUID IID_IShellBrowser; extern const GUID IID_IShellView; extern const GUID IID_IContextMenu; +extern const GUID IID_IColumnProvider; +extern const GUID IID_IQueryInfo; extern const GUID IID_IShellIcon; +extern const GUID IID_IShellIconOverlayIdentifier; extern const GUID IID_IShellFolder; extern const GUID IID_IShellExtInit; extern const GUID IID_IShellPropSheetExt; diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 446a229185..7386e58f5c 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -480,6 +480,83 @@ DECLARE_INTERFACE_(IContextMenu2,IUnknown) }; typedef IContextMenu2 *LPCONTEXTMENU2; +#if (_WIN32_IE >= 0x0500) +#pragma pack(push,8) +typedef struct { + ULONG dwFlags; + ULONG dwReserved; + WCHAR wszFolder[MAX_PATH]; +} SHCOLUMNINIT,*LPSHCOLUMNINIT; +typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT; +typedef struct { + ULONG dwFlags; + DWORD dwFileAttributes; + ULONG dwReserved; + WCHAR *pwszExt; + WCHAR wszFile[MAX_PATH]; +} SHCOLUMNDATA,*LPSHCOLUMNDATA; +typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA; +#pragma pack(pop) + +typedef struct { + GUID fmtid; + DWORD pid; +} SHCOLUMNID,*LPSHCOLUMNID; +typedef const SHCOLUMNID *LPCSHCOLUMNID; + +#define MAX_COLUMN_NAME_LEN 80 +#define MAX_COLUMN_DESC_LEN 128 + +#pragma pack(push,1) +typedef struct { + SHCOLUMNID scid; + VARTYPE vt; + DWORD fmt; + UINT cChars; + DWORD csFlags; + WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; + WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; +} SHCOLUMNINFO,*LPSHCOLUMNINFO; +typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO; +#pragma pack(pop) + +typedef enum { + SHCOLSTATE_TYPE_STR = 0x00000001, + SHCOLSTATE_TYPE_INT = 0x00000002, + SHCOLSTATE_TYPE_DATE = 0x00000003, + SHCOLSTATE_TYPEMASK = 0x0000000f, + SHCOLSTATE_ONBYDEFAULT = 0x00000010, + SHCOLSTATE_SLOW = 0x00000020, + SHCOLSTATE_EXTENDED = 0x00000040, + SHCOLSTATE_SECONDARYUI = 0x00000080, + SHCOLSTATE_HIDDEN = 0x00000100, + SHCOLSTATE_PREFER_VARCMP = 0x00000200 +} SHCOLSTATE; + +#undef INTERFACE +#define INTERFACE IColumnProvider +DECLARE_INTERFACE_(IColumnProvider,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE; + STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE; + STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE; +}; +#endif /* _WIN32_IE >= 0x0500 */ + +#undef INTERFACE +#define INTERFACE IQueryInfo +DECLARE_INTERFACE_(IQueryInfo,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE; + STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE; +}; + #undef INTERFACE #define INTERFACE IShellExtInit DECLARE_INTERFACE_(IShellExtInit, IUnknown) @@ -809,6 +886,22 @@ typedef struct { UINT fRestFlags : 3; } SHELLFLAGSTATE, * LPSHELLFLAGSTATE; +#undef INTERFACE +#define INTERFACE IShellIconOverlayIdentifier +DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE; + STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE; + STDMETHOD(GetPriority)(THIS_ int*) PURE; +}; + +#define ISIOI_ICONFILE 0x00000001 +#define ISIOI_ICONINDEX 0x00000002 + + #if (_WIN32_WINNT >= 0x0500) /* W2K */ typedef struct { BOOL fShowAllObjects : 1; diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h index fb8349bdda..5c5f9a0844 100644 --- a/winsup/w32api/include/wingdi.h +++ b/winsup/w32api/include/wingdi.h @@ -1182,6 +1182,13 @@ extern "C" { #define SETICMPROFILE_EMBEDED 0x00000001 #endif +#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 +#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 +#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004 +#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 +#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 +#define DISPLAY_DEVICE_REMOVABLE 0x00000020 +#define DISPLAY_DEVICE_MODESPRUNED 0x08000000 #ifndef RC_INVOKED typedef struct _ABC { int abcA; diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 9aa2d3c207..c32cee91e9 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -163,12 +163,6 @@ extern "C" { #define DISP_CHANGE_FAILED (-1) #define DISP_CHANGE_BADMODE (-2) #define DISP_CHANGE_NOTUPDATED (-3) -#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x01 -#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x04 -#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x08 -#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x10 -#define DISPLAY_DEVICE_REMOVABLE 0x20 -#define DISPLAY_DEVICE_MODESPRUNED 0x08000000 #define BST_CHECKED 1 #define BST_INDETERMINATE 2 #define BST_UNCHECKED 0 diff --git a/winsup/w32api/lib/shell32.c b/winsup/w32api/lib/shell32.c index 9074089162..c654424536 100644 --- a/winsup/w32api/lib/shell32.c +++ b/winsup/w32api/lib/shell32.c @@ -13,6 +13,7 @@ DEFINE_SHLGUID(IID_INewShortcutHookA,0x000214E1L,0,0); DEFINE_SHLGUID(IID_IShellBrowser,0x000214E2L,0,0); DEFINE_SHLGUID(IID_IShellView,0x000214E3L,0,0); DEFINE_SHLGUID(IID_IContextMenu,0x000214E4L,0,0); +DEFINE_SHLGUID(IID_IQueryInfo,0x00021500L,0,0); DEFINE_SHLGUID(IID_IShellIcon,0x000214E5L,0,0); DEFINE_SHLGUID(IID_IShellFolder,0x000214E6L,0,0); DEFINE_SHLGUID(IID_IShellExtInit,0x000214E8L,0,0); @@ -53,3 +54,5 @@ DEFINE_GUID(IID_IUniformResourceLocator,0xFBF23B80L,0xE3F0,0x101B,0x84,0x88,0x00 DEFINE_GUID(CLSID_DragDropHelper,0x4657278AL,0x411B,0x11D2,0x83,0x9A,0x0,0xC0,0x4F,0xD9,0x18,0xD0); DEFINE_GUID(IID_IDropTargetHelper,0x4657278BL,0x411B,0x11D2,0x83,0x9A,0x0,0xC0,0x4F,0xD9,0x18,0xD0); DEFINE_GUID(IID_IDragSourceHelper,0xDE5BF786L,0x477A,0x11D2,0x83,0x9D,0x0,0xC0,0x4F,0xD9,0x18,0xD0); +DEFINE_GUID(IID_IColumnProvider,0xE8025004,0x1C42,0x11D2,0xBE,0x2C,0x0,0xA0,0xC9,0xA8,0x3D,0xA1); +DEFINE_GUID(IID_IShellIconOverlayIdentifier,0x0C6C4200L,0xC589,0x11D0,0x99,0x9A,0x00,0xC0,0x4F,0xD6,0x55,0xE1);