summaryrefslogtreecommitdiffstats
path: root/private/oleutest/letest/ole2ui/pastespl.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/oleutest/letest/ole2ui/pastespl.h')
-rw-r--r--private/oleutest/letest/ole2ui/pastespl.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/private/oleutest/letest/ole2ui/pastespl.h b/private/oleutest/letest/ole2ui/pastespl.h
new file mode 100644
index 000000000..526462f36
--- /dev/null
+++ b/private/oleutest/letest/ole2ui/pastespl.h
@@ -0,0 +1,110 @@
+/*
+ * PASTESPL.H
+ *
+ * Internal definitions, structures, and function prototypes for the
+ * OLE 2.0 UI Paste Special dialog.
+ *
+ * Copyright (c)1992 Microsoft Corporation, All Right Reserved
+ */
+
+#ifndef _PASTESPL_H_
+#define _PASTESPL_H_
+
+#ifndef RC_INVOKED
+#pragma message ("INCLUDING PASTESPL.H from " __FILE__)
+#endif /* RC_INVOKED */
+
+
+// Length of buffers to hold the strings 'Unknown Type', Unknown Source'
+// and 'the application which created it'
+#define PS_UNKNOWNSTRLEN 100
+
+//Property label used to store clipboard viewer chain information
+#define NEXTCBVIEWER TEXT("NextCBViewer")
+
+//Internally used structure
+typedef struct tagPASTESPECIAL
+{
+ //Keep this item first as the Standard* functions depend on it here.
+ LPOLEUIPASTESPECIAL lpOPS; //Original structure passed.
+
+ /*
+ * What we store extra in this structure besides the original caller's
+ * pointer are those fields that we need to modify during the life of
+ * the dialog but that we don't want to change in the original structure
+ * until the user presses OK.
+ */
+
+ DWORD dwFlags; // Local copy of paste special flags
+
+ int nPasteListCurSel; // Save the selection the user made last
+ int nPasteLinkListCurSel; // in the paste and pastelink lists
+ int nSelectedIndex; // Index in arrPasteEntries[] corresponding to user selection
+ BOOL fLink; // Indicates if Paste or PasteLink was selected by user
+
+ HGLOBAL hBuff; // Scratch Buffer for building up strings
+ TCHAR szUnknownType[PS_UNKNOWNSTRLEN]; // Buffer for 'Unknown Type' string
+ TCHAR szUnknownSource[PS_UNKNOWNSTRLEN]; // Buffer for 'Unknown Source' string
+ TCHAR szAppName[OLEUI_CCHKEYMAX]; // Application name of Source. Used in the result text
+ // when Paste is selected. Obtained using clsidOD.
+
+ // Information obtained from OBJECTDESCRIPTOR. This information is accessed when the Paste
+ // radio button is selected.
+ CLSID clsidOD; // ClassID of source
+ SIZEL sizelOD; // sizel transfered in
+ // ObjectDescriptor
+ LPTSTR szFullUserTypeNameOD; // Full User Type Name
+ LPTSTR szSourceOfDataOD; // Source of Data
+ BOOL fSrcAspectIconOD; // Does Source specify DVASPECT_ICON?
+ BOOL fSrcOnlyIconicOD; // Does Source specify OLEMISC_ONLYICONIC?
+ HGLOBAL hMetaPictOD; // Metafile containing icon and icon title
+ HGLOBAL hObjDesc; // Handle to OBJECTDESCRIPTOR structure from which the
+ // above information is obtained
+
+ // Information obtained from LINKSRCDESCRIPTOR. This infomation is accessed when the PasteLink
+ // radio button is selected.
+ CLSID clsidLSD; // ClassID of source
+ SIZEL sizelLSD; // sizel transfered in
+ // LinkSrcDescriptor
+ LPTSTR szFullUserTypeNameLSD;// Full User Type Name
+ LPTSTR szSourceOfDataLSD; // Source of Data
+ BOOL fSrcAspectIconLSD; // Does Source specify DVASPECT_ICON?
+ BOOL fSrcOnlyIconicLSD; // Does Source specify OLEMISC_ONLYICONIC?
+ HGLOBAL hMetaPictLSD; // Metafile containing icon and icon title
+ HGLOBAL hLinkSrcDesc; // Handle to LINKSRCDESCRIPTOR structure from which the
+ // above information is obtained
+
+ BOOL fClipboardChanged; // Has clipboard content changed
+ // if so bring down dlg after
+ // ChangeIcon dlg returns.
+} PASTESPECIAL, *PPASTESPECIAL, FAR *LPPASTESPECIAL;
+
+// Data corresponding to each list item. A pointer to this structure is attached to each
+// Paste\PasteLink list box item using LB_SETITEMDATA
+typedef struct tagPASTELISTITEMDATA
+{
+ int nPasteEntriesIndex; // Index of arrPasteEntries[] corresponding to list item
+ BOOL fCntrEnableIcon; // Does calling application (called container here)
+ // specify OLEUIPASTE_ENABLEICON for this item?
+} PASTELISTITEMDATA, *PPASTELISTITEMDATA, FAR *LPPASTELISTITEMDATA;
+
+
+//Internal function prototypes
+//PASTESPL.C
+BOOL CALLBACK EXPORT PasteSpecialDialogProc(HWND, UINT, WPARAM, LPARAM);
+BOOL FPasteSpecialInit(HWND hDlg, WPARAM, LPARAM);
+BOOL FTogglePasteType(HWND, LPPASTESPECIAL, DWORD);
+void ChangeListSelection(HWND, LPPASTESPECIAL, HWND);
+void EnableDisplayAsIcon(HWND, LPPASTESPECIAL);
+void ToggleDisplayAsIcon(HWND, LPPASTESPECIAL);
+void ChangeIcon(HWND, LPPASTESPECIAL);
+void SetPasteSpecialHelpResults(HWND, LPPASTESPECIAL);
+BOOL FAddPasteListItem(HWND, BOOL, int, LPPASTESPECIAL, LPMALLOC, LPTSTR, LPTSTR);
+BOOL FFillPasteList(HWND, LPPASTESPECIAL);
+BOOL FFillPasteLinkList(HWND, LPPASTESPECIAL);
+BOOL FHasPercentS(LPCTSTR, LPPASTESPECIAL);
+HGLOBAL AllocateScratchMem(LPPASTESPECIAL);
+void FreeListData(HWND);
+
+#endif //_PASTESPL_H_
+