summaryrefslogtreecommitdiff
path: root/include/delphi/reserve/m_ieview.inc
diff options
context:
space:
mode:
Diffstat (limited to 'include/delphi/reserve/m_ieview.inc')
-rw-r--r--include/delphi/reserve/m_ieview.inc217
1 files changed, 217 insertions, 0 deletions
diff --git a/include/delphi/reserve/m_ieview.inc b/include/delphi/reserve/m_ieview.inc
new file mode 100644
index 0000000000..2881ef5c8c
--- /dev/null
+++ b/include/delphi/reserve/m_ieview.inc
@@ -0,0 +1,217 @@
+{
+ IEView Plugin for Miranda IM
+ Copyright (C) 2005 Piotr Piastucki
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+}
+
+{$IFNDEF M_IEVIEW}
+{$DEFINE M_IEVIEW}
+
+const
+ MS_IEVIEW_WINDOW = 'IEVIEW/NewWindow';
+ MS_IEVIEW_EVENT = 'IEVIEW/Event';
+ MS_IEVIEW_NAVIGATE = 'IEVIEW/Navigate';
+
+ ME_IEVIEW_OPTIONSCHANGED = 'IEVIEW/OptionsChanged';
+(*
+ MS_IEVIEW_UTILS = 'IEVIEW/Utils';
+ MS_IEVIEW_SHOWSMILEYSELECTION = 'IEVIEW/ShowSmileySelection';
+ ME_IEVIEW_NOTIFICATION = 'IEVIEW/Notification';
+*)
+ IEW_CREATE = 1; // create new window (control)
+ IEW_DESTROY = 2; // destroy control
+ IEW_SETPOS = 3; // set window position and size
+ IEW_SCROLLBOTTOM = 4; // scroll text to bottom
+
+ IEWM_SRMM = 0; // regular SRMM
+ IEWM_TABSRMM = 1; // TabSRMM-compatible HTML builder
+ IEWM_HTML = 2; // HTML
+ IEWM_SCRIVER = 3; // HTML
+ IEWM_MUCC = 4; // MUCC group chats GUI
+ IEWM_CHAT = 5; // chat.dll group chats GUI
+ IEWM_HISTORY = 6; // history viewer
+ IEWM_BROWSER = 256; // empty browser window
+
+type
+ PIEVIEWWINDOW = ^TIEVIEWWINDOW;
+ TIEVIEWWINDOW = record
+ cbSize : int; // size of the strusture
+ iType : int; // one of IEW_* values
+ dwMode : DWORD; // compatibility mode - one of IEWM_* values
+ dwFlags: DWORD; // flags, one of IEWF_* values
+ parent : HWND; // parent window HWND
+ hwnd : HWND; // IEW_CREATE returns WebBrowser control's HWND here
+ x : int; // IE control horizontal position
+ y : int; // IE control vertical position
+ cx : int; // IE control horizontal size
+ cy : int; // IE control vertical size
+ end;
+
+const
+ IEEDF_UNICODE = 1; // if set pszText is a pointer to wchar_t string instead of AnsiChar string
+ IEEDF_UNICODE_TEXT = 1; // if set pszText is a pointer to wchar_t string instead of AnsiChar string
+ IEEDF_UNICODE_NICK = 2; // if set pszNick is a pointer to wchar_t string instead of AnsiChar string
+ IEEDF_UNICODE_TEXT2 = 4; // if set pszText2 is a pointer to wchar_t string instead of AnsiChar string
+// The following flags are valid only for message events (IEED_EVENT_MESSAGE)
+ IEEDF_FORMAT_FONT = $00000100; // if set pszFont (font name) is valid and should be used
+ IEEDF_FORMAT_SIZE = $00000200; // if set fontSize is valid and should be used
+ IEEDF_FORMAT_COLOR = $00000400; // if set color is valid and should be used
+ IEEDF_FORMAT_STYLE = $00000800; // if set fontSize is valid and should be used
+
+ IEEDF_READ = $00001000; // if set
+ IEEDF_SENT = $00002000; // if set
+ IEEDF_RTL = $00004000; // if set
+
+ IEED_EVENT_MESSAGE = $0001; // message
+ IEED_EVENT_STATUSCHANGE = $0002; // status change
+ IEED_EVENT_FILE = $0003; // file
+ IEED_EVENT_URL = $0004; // url
+ IEED_EVENT_ERRMSG = $0005; // error message
+ IEED_EVENT_SYSTEM = $0006; // system event
+
+ IEED_MUCC_EVENT_MESSAGE = $0001; // message
+ IEED_MUCC_EVENT_TOPIC = $0002; // topic change
+ IEED_MUCC_EVENT_JOINED = $0003; // user joined
+ IEED_MUCC_EVENT_LEFT = $0004; // user left
+ IEED_MUCC_EVENT_ERROR = $0005; // error
+
+// MUCC-related dwData bit flags
+ IEEDD_MUCC_SHOW_NICK = $00000001;
+ IEEDD_MUCC_MSG_ON_NEW_LINE = $00000002;
+ IEEDD_MUCC_SHOW_DATE = $00000010;
+ IEEDD_MUCC_SHOW_TIME = $00000020;
+ IEEDD_MUCC_SECONDS = $00000040;
+ IEEDD_MUCC_LONG_DATE = $00000080;
+
+ IEED_GC_EVENT_HIGHLIGHT = $8000;
+ IEED_GC_EVENT_MESSAGE = $0001;
+ IEED_GC_EVENT_TOPIC = $0002;
+ IEED_GC_EVENT_JOIN = $0003;
+ IEED_GC_EVENT_PART = $0004;
+ IEED_GC_EVENT_QUIT = $0006;
+ IEED_GC_EVENT_NICK = $0007;
+ IEED_GC_EVENT_ACTION = $0008;
+ IEED_GC_EVENT_KICK = $0009;
+ IEED_GC_EVENT_NOTICE = $000A;
+ IEED_GC_EVENT_INFORMATION = $000B;
+ IEED_GC_EVENT_ADDSTATUS = $000C;
+ IEED_GC_EVENT_REMOVESTATUS = $000D;
+
+// GC-related dwData bit flags
+ IEEDD_GC_SHOW_NICK = $00000001;
+ IEEDD_GC_SHOW_TIME = $00000002;
+ IEEDD_GC_SHOW_ICON = $00000004;
+ IEEDD_GC_MSG_ON_NEW_LINE = $00001000;
+
+ IE_FONT_BOLD = $000100; // Bold font flag
+ IE_FONT_ITALIC = $000200; // Italic font flag
+ IE_FONT_UNDERLINE = $000400; // Underlined font flags
+
+type
+ PtagIEVIEWEVENTDATA = ^TtagIEVIEWEVENTDATA;
+ TtagIEVIEWEVENTDATA = record
+ cbSize :int;
+ iType :int; // Event type, one of MUCC_EVENT_* values
+ dwFlags :dword; // Event flags - IEEF_*
+ fontName :PAnsiChar; // Text font name
+ fontSize :int; // Text font size (in pixels)
+ fontStyle:int; // Text font style (combination of IE_FONT_* flags)
+ color :TCOLORREF; // Text color
+ Nick :TChar; // Nick, usage depends on type of event
+ Text :TChar; // Text, usage depends on type of event
+ dwData :dword; // DWORD data e.g. status
+ bIsMe :BOOL; // TRUE if the event is related to the user
+ time :dword; // Time of the event
+ next :PtagIEVIEWEVENTDATA;
+ Text2 :TChar; // Text, usage depends on type of event
+ end;
+ PIEVIEWEVENTDATA = PtagIEVIEWEVENTDATA;
+ TIEVIEWEVENTDATA = TtagIEVIEWEVENTDATA;
+
+const
+ IEE_LOG_DB_EVENTS = 1; // log specified number of DB events
+ IEE_CLEAR_LOG = 2; // clear log
+ IEE_GET_SELECTION = 3; // get selected text
+ IEE_SAVE_DOCUMENT = 4; // save current document
+ IEE_LOG_MEM_EVENTS = 5; // log specified number of IEView events
+
+ IEEF_RTL = 1; // turn on RTL support
+ IEEF_NO_UNICODE = 2; // disable Unicode support
+ IEEF_NO_SCROLLING = 4; // do not scroll logs to bottom
+
+const
+ IEVIEWEVENT_SIZE_V1 = 28;
+ IEVIEWEVENT_SIZE_V2 = 32;
+ IEVIEWEVENT_SIZE_V3 = 36;
+
+type
+ tagIEVIEWEVENT = record
+ case byte of
+ 0: (hDbEventFirst: THANDLE);
+ 1: (eventData :PIEVIEWEVENTDATA);
+ end;
+
+ PIEVIEWEVENT = ^TIEVIEWEVENT;
+ TIEVIEWEVENT = record
+ cbSize :int; // size of the strusture
+ iType :int; // one of IEE_* values
+ dwFlags :DWORD; // one of IEEF_* values
+ hwnd :HWND; // HWND returned by IEW_CREATE
+ hContact :THANDLE; // contact
+ Event :tagIEVIEWEVENT; // first event to log, when IEE_LOG_EVENTS
+ // returns it will contain the last event
+ // actually logged or NULL if no event was logged
+ count :int; // number of events to log
+ codepage :int; // ANSI codepage
+ pszProto :PAnsiChar;
+ end;
+(*
+type
+ PIEVIEWSHOWSMILEYSEL = ^TIEVIEWSHOWSMILEYSEL;
+ TIEVIEWSHOWSMILEYSEL = record
+ cbSize : int; // size of the structure
+ Protocolname : PAnsiChar; // protocol to use... if you have defined a protocol,
+ // u can use your own protocol name. Smiley add will
+ // automatically select the smileypack that is
+ // defined for your protocol. Or, use "Standard" for
+ // standard smiley set. Or "ICQ", "MSN" if you
+ // prefer those icons. If not found or NULL:
+ // "Standard" will be used
+ xPosition : int; // Postition to place the selectwindow
+ yPosition : int;
+ Direction : int; // Direction (i.e. size upwards/downwards/etc) of
+ // the window 0, 1, 2, 3
+ hwndTarget : HWND; // Window, where to send the message when smiley is
+ // selected.
+ targetMessage: DWORD; // Target message, to be sent.
+ targetWParam : LPARAM; // Target WParam to be sent (LParam will be AnsiChar*
+ // to select smiley) see the example file.
+ end;
+*)
+const
+ IEN_NAVIGATE = 1; // navigate to the given destination
+ IENF_UNICODE = 1; // if set urlW is used instead of urlW
+
+type
+ IEVIEWNAVIGATE = record
+ cbSize :int; // size of the strusture
+ iType :int; // one of IEN_* values
+ dwFlags:dword; // one of IEEF_* values
+ hwnd :HWND; // HWND returned by IEW_CREATE
+ url :TChar; // Text, usage depends on type of event
+end;
+
+{$ENDIF}