From 65e002b63efdb00571d0ba4ec1a73b14e1d7d3a0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 4 Jul 2012 20:10:29 +0000 Subject: Pascal headers moved to include\delphi directory (with small updates) removed deprecated m_mwclc.h file and link on it in AutoShutdown plugin git-svn-id: http://svn.miranda-ng.org/main/trunk@763 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/delphi/m_cluiframes.inc | 324 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 include/delphi/m_cluiframes.inc (limited to 'include/delphi/m_cluiframes.inc') diff --git a/include/delphi/m_cluiframes.inc b/include/delphi/m_cluiframes.inc new file mode 100644 index 0000000000..29178a66da --- /dev/null +++ b/include/delphi/m_cluiframes.inc @@ -0,0 +1,324 @@ +{ +Miranda ICQ: the free icq client for MS Windows +Copyright (C) 2000-2 Richard Hughes, Roland Rabien & Tristan Van de Vreede + +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. +} + +//////////////////////////////////// +//Extra Image Column Support +0.5.0.0 + +//Extra columns type. +//column arranged in this way +// +// [statusicon] ContactName [ADV1][ADV2][SMS][EMAIL][PROTO] +// +{$IFNDEF M_CLUIFRAMES} +{$DEFINE M_CLUIFRAMES} + +const + EXTRA_ICON_RES0 = 0; // only used by nicer + EXTRA_ICON_EMAIL = 1; + EXTRA_ICON_PROTO = 2; // used by mwclist and modern + EXTRA_ICON_RES1 = 2; // only used by nicer + EXTRA_ICON_SMS = 3; + EXTRA_ICON_ADV1 = 4; + EXTRA_ICON_ADV2 = 5; + EXTRA_ICON_WEB = 6; + EXTRA_ICON_CLIENT = 7; + EXTRA_ICON_VISMODE = 8; // only used by modern + EXTRA_ICON_RES2 = 8; // only used by nicer + EXTRA_ICON_ADV3 = 9; + EXTRA_ICON_ADV4 = 10; + + EXTRA_ICON_COUNT = 10; + +// DEFAULT_TITLEBAR_HEIGHT = 18; + +//this control will be the main contact list (v. 0.3.4.3+ 2004/11/02) + CLS_SKINNEDFRAME = $0800; + +type + PIconExtraColumn = ^TIconExtraColumn; + TIconExtraColumn = record + cbSize :int; //must be sizeof(IconExtraColumn) + ColumnType:int; + hImage :THANDLE; //return value from MS_CLIST_EXTRA_ADD_ICON + end; + +const +//Set icon for contact at needed column +//wparam=hContact +//lparam=pIconExtraColumn +//return 0 on success,-1 on failure +// +//See above for supported columns + MS_CLIST_EXTRA_SET_ICON:PAnsiChar = 'CListFrames/SetIconForExraColumn'; + +//Adding icon to extra image list. +//Call this in ME_CLIST_EXTRA_LIST_REBUILD event +// +//wparam=hIcon +//lparam=0 +//return hImage on success,-1 on failure + MS_CLIST_EXTRA_ADD_ICON:PAnsiChar = 'CListFrames/AddIconToExtraImageList'; + + ME_CLIST_EXTRA_LIST_REBUILD:PAnsiChar = 'CListFrames/OnExtraListRebuild'; + +//called with wparam=hContact + ME_CLIST_EXTRA_IMAGE_APPLY:PAnsiChar = 'CListFrames/OnExtraImageApply'; + +//called with wparam=hContact lparam=extra + ME_CLIST_EXTRA_CLICK:PAnsiChar = 'CListFrames/OnExtraClick'; + +//adds a frame window +//wParam=(CLISTFrame*) +//lParam=0 +//returns an integer, the frame id. +type + PCLISTFrame = ^TCLISTFrame; + TCLISTFrame = record + cbSize:dword; + hWnd :hwnd; + hIcon :HICON; + align :int; // al flags below + height:int; // or minSize - the actual meaning depends from type of frame + Flags :int; // F_flags below + name :TChar; // frame window name,will be shown in menu (DO NOT TRANSLATE) + TBname:TChar; // titlebar caption + // TBBackColour:COLORREF; //titlebar background colour + end; + PtagCLISTFrame = PCLISTFrame; + tagCLISTFrame = TCLISTFrame; + +const + F_VISIBLE = 1; // Frame visible + F_SHOWTB = 2; // Show TitleBar + F_UNCOLLAPSED = 4; // UnCollapse frame + F_LOCKED = 8; // Lock Frame + F_NOBORDER = 16; // Dont apply WS_BORDER style for window + F_SHOWTBTIP = 32; // Show titlebar tooltip + + F_CANBEVERTICAL = 64; // frames can be vertical + F_CANNOTBEHORIZONTAL = 128; // frames can NOT be horizontal F_CANBEVERTICAL have to be set + F_NO_SUBCONTAINER = 1024; // Support skining no subcontainer needed + + F_SKINNED = 2048; // skinned frame (for owned subframe only) + F_UNICODE = 32768; // Use unicode text + +// frame alignment + alTop = $00000001; + alBottom = $00000002; + alClient = $00000004; // only one alClient frame + +// since 0.7.0.20 + alLeft = $00000011; // frame is vertical + alRight = $00000012; + + alVertFrameMask = $00000010; + + FU_TBREDRAW = 1; // redraw titlebar + FU_FMREDRAW = 2; // redraw Frame + FU_FMPOS = 4; // update Frame position + + FO_FLAGS = $0001; // return set of F_VISIBLE,F_SHOWTB,F_UNCOLLAPSED, + // F_LOCKED,F_NOBORDER,F_SHOWTBTIP + FO_NAME = $0002; // Change m_cacheTName + FO_TBNAME = $0003; // Change TB caption + FO_TBSTYLE = $0004; // Change TB style + FO_TBEXSTYLE = $0005; // Change TB exstyle + FO_ICON = $0006; // Change icon + FO_HEIGHT = $0007; // Change height + FO_ALIGN = $0008; // Change align + FO_TBTIPNAME = $0009; // Change TB tooltip + FO_FLOATING = $000A; // Change floating mode + + FO_UNICODETEXT = $8000; // flag for FO_NAME,FO_TBNAME, FO_TBTIPNAME set/get lPAram as unicode wchar_t + +// want show tooltip for statusbar +// wparam=(AnsiChar *)protocolname +// lparam=0 + ME_CLIST_FRAMES_SB_SHOW_TOOLTIP:PAnsiChar = 'CListFrames/StatusBarShowToolTip'; + +// want hide tooltip for statusbar +// wparam=lparam=0 + ME_CLIST_FRAMES_SB_HIDE_TOOLTIP:PAnsiChar = 'CListFrames/StatusBarHideToolTip'; + +{ + adds a frame window + wParam=(CLISTFrame*) + lParam=0 + returns an integer, the frame id. +} + MS_CLIST_FRAMES_ADDFRAME:PAnsiChar = 'CListFrames/AddFrame'; + +// remove frame +// wParam=Frame Id +// lParam=0 +// window with hWnd field in CLISTFrame will be destroyed!! + MS_CLIST_FRAMES_REMOVEFRAME:PAnsiChar = 'CListFrames/RemoveFrame'; + +//shows all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure + MS_CLIST_FRAMES_SHOWALLFRAMES:PAnsiChar = 'CListFrames/ShowALLFrames'; + +//shows the titlebars of all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure + MS_CLIST_FRAMES_SHOWALLFRAMESTB:PAnsiChar = 'CListFrames/ShowALLFramesTB'; + +//hides the titlebars of all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure + MS_CLIST_FRAMES_HIDEALLFRAMESTB:PAnsiChar = 'CListFrames/HideALLFramesTB'; + +{ + shows the frame if it is hidden, + hides the frame if it is shown + wParam=FrameId + lParam = Frame number (can be shown in profile in CLUIFrames key) + returns 0 on success, -1 on failure + note that Frame number will be taken only if wParam == 0 +} + MS_CLIST_FRAMES_SHFRAME:PAnsiChar = 'CListFrames/SHFrame'; + +{ + shows the frame titlebar if it is hidden, + hides the frame titlebar if it is shown + wParam=FrameId + lParam = Frame number (can be shown in profile in CLUIFrames key) + returns 0 on success, -1 on failure + note that Frame number will be taken only if wParam == 0 +} + MS_CLIST_FRAMES_SHFRAMETITLEBAR:PAnsiChar = 'CListFrame/SHFrameTitleBar'; + +{ + locks the frame if it is unlocked, + unlock the frame if it is locked + wParam=FrameId + lParam = Frame number (can be shown in profile in CLUIFrames key) + returns 0 on success, -1 on failure + note that Frame number will be taken only if wParam == 0 +} + MS_CLIST_FRAMES_ULFRAME:PAnsiChar = 'CListFrame/ULFrame'; + +{ + collapses the frame if it is uncollapsed, + uncollapses the frame if it is collapsed + wParam=FrameId + lParam = Frame number (can be shown in profile in CLUIFrames key) + returns 0 on success, -1 on failure + note that Frame number will be taken only if wParam == 0 +} + MS_CLIST_FRAMES_UCOLLFRAME:PAnsiChar = 'CListFrame/UCOLLFrame'; + +{ + trigger border flags + wparam=frameid + lParam = Frame number (can be shown in profile in CLUIFrames key) + returns 0 on success, -1 on failure + note that Frame number will be taken only if wParam == 0 +} + MS_CLIST_FRAMES_SETUNBORDER:PAnsiChar = 'CListFrame/SetUnBorder'; + +//trigger skinned flags +//wparam=frameid +//lparam=0 + MS_CLIST_FRAMES_SETSKINNED:PAnsiChar = 'CListFrame/SetSkinnedFrame'; + +{ + redraws the frame + wParam=FrameId, -1 for all frames + lparam=FU_flags + returns a pointer to option, -1 on failure +} + MS_CLIST_FRAMES_UPDATEFRAME:PAnsiChar = 'CListFrame/UpdateFrame'; + +{ + gets the frame options + (HIWORD)wParam=FrameId + (LOWORD)wParam=FO_flag + lParam=0 + returns a pointer to option, -1 on failure +} + MS_CLIST_FRAMES_GETFRAMEOPTIONS:PAnsiChar = 'CListFrame/GetFrameOptions'; + +//sets the frame options +//(HIWORD)wParam=FrameId +//(LOWORD)wParam=FO_flag +//lParam=value +//returns 0 on success, -1 on failure + MS_CLIST_FRAMES_SETFRAMEOPTIONS:PAnsiChar = 'CListFrame/SetFrameOptions'; + +//menu stuff + +{ + add a new item to the context frame menu + wParam=0 + lParam=(LPARAM)(CLISTMENUITEM*)&mi + returns a handle to the new item + popupposition=frameid + contactowner=advanced parameter +} + MS_CLIST_ADDCONTEXTFRAMEMENUITEM:PAnsiChar = 'CList/AddContextFrameMenuItem'; + +{ + remove a item from context frame menu + wParam=hMenuItem returned by MS_CLIST_ADDCONTACTMENUITEM + lParam=0 + returns 0 on success, nonzero on failure +} + MS_CLIST_REMOVECONTEXTFRAMEMENUITEM:PAnsiChar = 'CList/RemoveContextFrameMenuItem'; + +{ + builds the context menu for a frame + wparam=frameid + lParam=0 + returns a HMENU on success, or NULL on failure +} + MS_CLIST_MENUBUILDFRAMECONTEXT:PAnsiChar = 'CList/BuildContextFrameMenu'; + +{ +//the frame menu is about to be built +wparam=frameid +lparam= +-1 for build from titlebar, + use + MS_CLIST_ADDCONTEXTFRAMEMENUITEM + MS_CLIST_REMOVECONTEXTFRAMEMENUITEM + +>0 for build in main menu, +must be popupname=lparam to place your items in right popup of main menu. + use + MS_CLIST_ADDMAINMENUITEM + MS_CLIST_REMOVEMAINMENUITEM + +} + ME_CLIST_PREBUILDFRAMEMENU:PAnsiChar = 'CList/PreBuildFrameMenu'; + +//needed by cluiframes module to add frames menu to main menu. +//it just calls NotifyEventHooks(hPreBuildFrameMenuEvent,wParam,lParam); + MS_CLIST_FRAMEMENUNOTIFY:PAnsiChar = 'CList/ContextFrameMenuNotify'; + +//#define FONTID_STATUS 8 +//#define FONTID_FRAMETITLE 9 + +//#undef FONTID_MAX +//#define FONTID_MAX 9 + +// ME_CLIST_PREBUILDSTATUSMENU = 'CList/PreBuildStatusMenu'; +// MS_CLIST_ADDSTATUSMENUITEM = 'CList/AddStatusMenuItem'; +{$ENDIF} -- cgit v1.2.3