📄 editods.h
字号:
"blank" object */
/* These remappings of Native clipboard formats are used because we can't
use Windows or PM constants because they are different */
#define DDEFORMAT_TEXT 0x01 /* CF_TEXT */
#define DDEFORMAT_METAFILE 0x02 /* CF_METAFILE or CF_METAFILEPICT */
#define DDEFORMAT_BITMAP 0x03 /* CF_BITMAP */
#define DDEFORMAT_RTF 0x04 /* Rich Text Format */
#define DDEFORMAT_OWNERLINK 0x06 /* OLE Ownerlink (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_OBJECTLINK 0x07 /* OLE Objectlink (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_NATIVE 0x08 /* OLE Native (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_ICON 0x09 /* Program Icon for embedded object */
/* Total number of DDE format types supported. Increment this if
one is added above */
#define DDEFORMAT_TYPES 5
typedef struct
{
WSIG Header; /* Signature and length of this record */
DWORD Flags; /* Currently unused, but reserve some flags */
}CDDDEEND;
/* On-disk format for an OLE object. Both Links and
embedded objects actually have an attached $FILE "object"
which is the variable length portion of the data which follows
the CDOLEBEGIN record. */
typedef struct
{
WSIG Header; /* Signature and length of this record */
WORD Version; /* Notes OLE implementation version */
DWORD Flags; /* See OLEREC_FLAG_xxx flag definitions below */
WORD ClipFormat; /* Clipboard format with which data should be rendered */
/* (DDEFORMAT_xxx defined above) */
WORD AttachNameLength; /* Attached file name length */
WORD ClassNameLength; /* Length of Classname */
WORD TemplateNameLength; /* User during Insert New Object, but never saved to disk */
/* The Attachment Name (length "AttachNameLength") always follows... */
/* The Classname, optional, then follows... */
/* The Template Name, optional, then follows... */
} CDOLEBEGIN;
typedef struct
{
WSIG Header; /* Signature and length of this record */
DWORD Flags; /* Currently unused, but reserve some flags */
}CDOLEEND;
/* Current OLE Version */
#define NOTES_OLEVERSION1 1
#define NOTES_OLEVERSION2 2
#define OLEREC_FLAG_OBJECT 0x01 /* The data is an OLE embedded OBJECT */
#define OLEREC_FLAG_LINK 0x02 /* The data is an OLE Link */
#define OLEREC_FLAG_AUTOLINK 0x04 /* If link, Link type == Automatic (hot) */
#define OLEREC_FLAG_MANUALLINK 0x08 /* If link, Link type == Manual (warm) */
#define OLEREC_FLAG_NEWOBJECT 0x10 /* New object, just inserted */
#define OLEREC_FLAG_PASTED 0x20 /* New object, just pasted */
#define OLEREC_FLAG_SAVEOBJWHENCHANGED 0x40 /* Object came from form and should be saved
every time it changes in server */
#define OLEREC_FLAG_NOVISUALIZE 0x80 /* Object inherited from form, so don't visualize or
object incabable of rendering itself. */
/* On-disk format for an OLE object's rich text marker. Marker is always
within an OLE rich text hot spot. Marker was introduced in Notes 4.6.
Previous versions of Notes ignor this marker on load and do not write it
out on save. The absence of this marker within the hot spot indicates
that the OLE rich text was accessed on a system running a pre-4.6 version
of Notes. */
typedef struct
{
WSIG Header; /* Signature and length of this record */
DWORD Flags; /* (reserved) */
} CDOLERTMARKER;
/* On-disk format for an OLE object's rich text hot spot data. This data
is internal to the hot spot and is treated by the hot spot as a blob of
data. It is not a CD record type */
typedef struct
{
WSIG Header; /* Signature and length of this record */
DWORD Flags; /* (reserved) */
WORD cFileObjName; /* Length of extendable $FILE object name which contains object data */
WORD Reserved1; /* Unused, must be 0 */
WORD Reserved2; /* Unused, must be 0 */
WORD Reserved3; /* Unused, must be 0 */
DWORD Reserved4; /* Unused, must be 0 */
/* The variable length portions go here in the following order:
FileObjectName
*/
} HSOLERICHTEXT;
#define OLERT_FLAG_CHANGED 0x01 /* Rich text was changed */
#define OLERT_FLAG_NEW 0x02
/* On-disk format for HotSpots. */
/* HOTSPOT_RUN Types */
#define HOTSPOTREC_TYPE_POPUP 1
#define HOTSPOTREC_TYPE_HOTREGION 2
#define HOTSPOTREC_TYPE_BUTTON 3
#define HOTSPOTREC_TYPE_FILE 4
#define HOTSPOTREC_TYPE_SECTION 7
#define HOTSPOTREC_TYPE_ANY 8
#define HOTSPOTREC_TYPE_HOTLINK 11
#define HOTSPOTREC_TYPE_BUNDLE 12
#define HOTSPOTREC_TYPE_V4_SECTION 13
#define HOTSPOTREC_TYPE_SUBFORM 14
#define HOTSPOTREC_TYPE_ACTIVEOBJECT 15
#define HOTSPOTREC_TYPE_OLERICHTEXT 18
#define HOTSPOTREC_TYPE_EMBEDDEDVIEW 19 /* embedded view */
#define HOTSPOTREC_TYPE_EMBEDDEDFPANE 20 /* embedded folder pane */
#define HOTSPOTREC_TYPE_EMBEDDEDNAV 21 /* embedded navigator */
#define HOTSPOTREC_TYPE_MOUSEOVER 22
#define HOTSPOTREC_TYPE_FILEUPLOAD 24 /* file upload placeholder */
#define HOTSPOTREC_TYPE_EMBEDDEDOUTLINE 27 /* embedded outline */
#define HOTSPOTREC_TYPE_EMBEDDEDCTL 28 /* embedded control window */
#define HOTSPOTREC_TYPE_EMBEDDEDCALENDARCTL 30 /* embedded calendar control (date picker) */
#define HOTSPOTREC_TYPE_EMBEDDEDSCHEDCTL 31 /* embedded scheduling control */
#define HOTSPOTREC_TYPE_RCLINK 32 /* Not a new type, but renamed for V5 terms*/
#define HOTSPOTREC_TYPE_EMBEDDEDEDITCTL 34 /* embedded editor control */
#define HOTSPOTREC_TYPE_CONTACTLISTCTL 36 /* Embeddeble buddy list */
#define HOTSPOTREC_RUNFLAG_BEGIN 0x00000001L
#define HOTSPOTREC_RUNFLAG_END 0x00000002L
#define HOTSPOTREC_RUNFLAG_BOX 0x00000004L
#define HOTSPOTREC_RUNFLAG_NOBORDER 0x00000008L
#define HOTSPOTREC_RUNFLAG_FORMULA 0x00000010L /* Popup is a formula, not text. */
#define HOTSPOTREC_RUNFLAG_MOVIE 0x00000020L /* File is a QuickTime movie. */
#define HOTSPOTREC_RUNFLAG_IGNORE 0x00000040L /* Run is for backward compatibility
(i.e. ignore the run)
*/
#define HOTSPOTREC_RUNFLAG_ACTION 0x00000080L /* Hot region executes a canned action */
#define HOTSPOTREC_RUNFLAG_SCRIPT 0x00000100L /* Hot region executes a script. */
#define HOTSPOTREC_RUNFLAG_INOTES 0x00001000L
#define HOTSPOTREC_RUNFLAG_ISMAP 0x00002000L
#define HOTSPOTREC_RUNFLAG_INOTES_AUTO 0x00004000L
#define HOTSPOTREC_RUNFLAG_ISMAP_INPUT 0x00008000L
#define HOTSPOTREC_RUNFLAG_SIGNED 0x00010000L
#define HOTSPOTREC_RUNFLAG_ANCHOR 0x00020000L
#define HOTSPOTREC_RUNFLAG_COMPUTED 0x00040000L /* Used in conjunction
with computed hotspots.
*/
#define HOTSPOTREC_RUNFLAG_TEMPLATE 0x00080000L /* used in conjunction
with embedded navigator
panes.
*/
#define HOTSPOTREC_RUNFLAG_HIGHLIGHT 0x00100000L
#define HOTSPOTREC_RUNFLAG_EXTACTION 0x00200000L /* Hot region executes an extended action */
#define HOTSPOTREC_RUNFLAG_NAMEDELEM 0x00400000L /* Hot link to a named element */
/* Allow R6 dual action type buttons, e.g. client LotusScript, web JS */
#define HOTSPOTREC_RUNFLAG_WEBJAVASCRIPT 0x00800000L
#define HOTSPOTREC_RUNFLAG_ODSMASK 0x00FFFFFCL /* Mask for bits stored on disk*/
typedef struct CDHOTSPOTBEGIN
{
WSIG Header; /* Signature and length of this record */
WORD Type;
DWORD Flags;
WORD DataLength;
/* Data Follows. */
/* if HOTSPOTREC_RUNFLAG_SIGNED, WORD SigLen then SigData follows. */
} CDHOTSPOTBEGIN;
typedef struct
{
BSIG Header; /* Signature and length of this record */
} CDHOTSPOTEND;
/* On-disk flags for CDBAR (Collapsible Sections) */
#define BARREC_DISABLED_FOR_NON_EDITORS 1L
#define BARREC_EXPANDED 2L
#define BARREC_PREVIEW 4L
#define BARREC_BORDER_INVISIBLE 0x1000L
#define BARREC_ISFORMULA 0x2000L
#define BARREC_HIDE_EXPANDED 0x4000L
/* Auto expand/collapse properties. */
#define BARREC_AUTO_EXP_READ 0x10L
#define BARREC_AUTO_EXP_PRE 0x20L
#define BARREC_AUTO_EXP_EDIT 0x40L
#define BARREC_AUTO_EXP_PRINT 0x80L
#define BARREC_AUTO_EXP_MASK 0xf0L
#define BARREC_AUTO_COL_READ 0x100L
#define BARREC_AUTO_COL_PRE 0x200L
#define BARREC_AUTO_COL_EDIT 0x400L
#define BARREC_AUTO_COL_PRINT 0x800L
#define BARREC_AUTO_COL_MASK 0xF00L
#define BARREC_AUTO_PRE_MASK (BARREC_AUTO_COL_PRE | BARREC_AUTO_EXP_PRE)
#define BARREC_AUTO_READ_MASK (BARREC_AUTO_COL_READ | BARREC_AUTO_EXP_READ)
#define BARREC_AUTO_EDIT_MASK (BARREC_AUTO_COL_EDIT | BARREC_AUTO_EXP_EDIT)
#define BARREC_AUTO_PRINT_MASK (BARREC_AUTO_COL_PRINT | BARREC_AUTO_EXP_PRINT)
/* We will make use (in the code) of the fact that the auto expand/collapse
flags for editors are simply shifted left twelve bits from the normal
expand/collapse flags.
*/
#define BARREC_AUTO_ED_SHIFT 12
#define BARREC_AUTO_ED_EXP_READ 0x10000L
#define BARREC_AUTO_ED_EXP_PRE 0x20000L
#define BARREC_AUTO_ED_EXP_EDIT 0x40000L
#define BARREC_AUTO_ED_EXP_PRINT 0x80000L
#define BARREC_AUTO_ED_EXP_MASK 0xf00000L
#define BARREC_AUTO_ED_COL_READ 0x100000L
#define BARREC_AUTO_ED_COL_PRE 0x200000L
#define BARREC_AUTO_ED_COL_EDIT 0x400000L
#define BARREC_AUTO_ED_COL_PRINT 0x800000L
#define BARREC_AUTO_ED_COL_MASK 0xF00000L
#define BARREC_AUTO_ED_PRE_MASK (BARREC_AUTO_ED_COL_PRE | BARREC_AUTO_ED_EXP_PRE)
#define BARREC_AUTO_ED_READ_MASK (BARREC_AUTO_ED_COL_READ | BARREC_AUTO_ED_EXP_READ)
#define BARREC_AUTO_ED_EDIT_MASK (BARREC_AUTO_ED_COL_EDIT | BARREC_AUTO_ED_EXP_EDIT)
#define BARREC_AUTO_ED_PRINT_MASK (BARREC_AUTO_ED_COL_PRINT | BARREC_AUTO_ED_EXP_PRINT)
#define BARREC_INTENDED 0x1000000L
#define BARREC_HAS_COLOR 0x4000000L
#define BARREC_BORDER_MASK 0x70000000L
#define GETBORDERTYPE(a) ((DWORD)((a) & BARREC_BORDER_MASK) >> 28)
#define SETBORDERTYPE(a,b) a = ((DWORD)((a) & ~BARREC_BORDER_MASK) | ((DWORD)(b) << 28))
#define BARREC_BORDER_SHADOW 0
#define BARREC_BORDER_NONE 1
#define BARREC_BORDER_SINGLE 2
#define BARREC_BORDER_DOUBLE 3
#define BARREC_BORDER_TRIPLE 4
#define BARREC_BORDER_TWOLINE 5
#define BARREC_BORDER_WINDOWCAPTION 6
#define BARREC_BORDER_OTHER 7
#define BARREC_BORDER_GRADIENT 7
#define BARREC_BORDER_TAB 8
#define BARREC_BORDER_DIAG 9
#define BARREC_INDENTED 0x80000000L
/* Indicate explicitly those bits that we want to save on-disk
so that we insure that the others are zero when we save to
disk so that we can use later.
*/
#define BARREC_ODS_MASK 0xF4FF6FF7
/* On-disk format for Object Bars. */
#define BARREC_IS_EXPANDED 0x0001
#define BARREC_IS_DISABLED 0x0002
#define BAR_VERSION1 0
/* Some more border bits put out in extra data thru a CDDATAFLAGS record */
#define BAR_DATA_BORDER_OFFSET 7
#define BARREC_DATA_BORDER_MASK 0x0000007L
#define GETDATABORDERTYPE(a) (((DWORD)((a) & BARREC_DATA_BORDER_MASK )) + BAR_DATA_BORDER_OFFSET)
#define SETDATABORDERTYPE(a,b) a = ((DWORD)((a) & ~BARREC_DATA_BORDER_MASK) | ((DWORD)(b - BAR_DATA_BORDER_OFFSET)))
#define BARREC_DATA_BORDER_GRADIENT 0
#define BARREC_DATA_BORDER_TAB 1
#define BARREC_DATA_BORDER_DIAG 2
typedef struct
{
WSIG Header;
DWORD Flags;
FONTID FontID;
/* Caption and name follow */
} CDBAR;
/* On-disk format for Buttons. */
/* Button-specific run information. */
#define BUTTON_UNUSED 0x0000
#define BUTTON_RUNFLAG_SCRIPT 0x0001
#define BUTTON_RUNFLAG_NOWRAP 0x0002
#define BUTTON_ODS_MASK 0x7F02
#define BUTTON_RUNFLAG_RTL 0x0100
#define BUTTON_RUNFLAG_FIXED 0x0200
#define BUTTON_RUNFLAG_MINIMUM 0x0400
#define BUTTON_RUNFLAG_CONTENT 0x0800
#define BUTTON_RUNFLAG_PROPORTIONAL 0x4000
#define BUTTON_FOCUS_ON 0x8000 /* button has focus */
#define BUTTON_RUNFLAG_WIDTH_MASK (BUTTON_RUNFLAG_FIXED | BUTTON_RUNFLAG_MINIMUM | BUTTON_RUNFLAG_CONTENT | BUTTON_RUNFLAG_PROPORTIONAL)
#define BUTTON_EDGE_ROUNDED 0x1000
#define BUTTON_EDGE_SQUARE 0x2000
typedef struct
{
WSIG Header; /* Signature and length of this record. */
WORD Flags;
WORD Width;
WORD Height;
WORD Lines;
FONTID FontID;
/* Button Text Follows */
} CDBUTTON;
#define BUTTON_VERSION1 0
#define BUTTON_TYPE_NORMAL 0x00000000
#define BUTTON_TYPE_OK 0x00000001
#define BUTTON_TYPE_CANCEL 0x00000002
#define BUTTON_TYPE_HELP 0x00000004
#define BUTTON_TYPE_MASK ( BUTTO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -