From a2795725f5afc756a405a85c192bdd53b967999d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 29 Jun 2012 06:56:07 +0000 Subject: Added my Miranda API pascal version Changed ShlExt to my API compilation (32 bit FPC now only) git-svn-id: http://svn.miranda-ng.org/main/trunk@679 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Pascal_Headers/m_clui.inc | 243 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 plugins/Pascal_Headers/m_clui.inc (limited to 'plugins/Pascal_Headers/m_clui.inc') diff --git a/plugins/Pascal_Headers/m_clui.inc b/plugins/Pascal_Headers/m_clui.inc new file mode 100644 index 0000000000..1edd114e53 --- /dev/null +++ b/plugins/Pascal_Headers/m_clui.inc @@ -0,0 +1,243 @@ +{ +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2000-2003 Miranda ICQ/IM project, +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +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_CLUI} +{$DEFINE M_CLUI} + +{<>} + +const + { + wParam : 0 + lParam : 0 + Affects: Returns a window handle for the contact list window, see notes + Returns: "" + Notes : This call has a very specific purpose internally Miranda + and shouldn't be used gratuitously, in almost all cases + there's another call to do whatever it is that you're + trying to do. + } + MS_CLUI_GETHWND:PAnsiChar = 'CLUI/GetHwnd'; + + //get ContactTree hwnd + MS_CLUI_GETHWNDTREE:PAnsiChar = 'CLUI/GetHwndTree'; + + { + wParam : new status + lParam : null terminated string to a protocol ID + Affects: Change the protocol specific status indicators, see notes! + Returns: 0 on success, [non zero] on failure + Notes : protocol modules don't want to call this, they want + clist/protocolstatuschanged instead + } + MS_CLUI_PROTOCOLSTATUSCHANGED:PAnsiChar = 'CLUI/ProtocolStatusChanged'; + + { + wParam : Handle to a group + lParam : 1 or 0 + Affect : A new group was created, add it to the list, see notes + Notes : lParam is set to 1 or 0 if the user just created + the group or not. + - + this is also called when the contact list is being rebuilt, + new groups are always created with the name 'New group' + } + MS_CLUI_GROUPADDED:PAnsiChar = 'CLUI/GroupCreated'; + + { + wParam : HCONTACT + lParam : ICON_ID + Affect : Change the icon for a contact, see notes + Returns: 0 on success, [non zero] on failure + Notes : ICON_ID is an offset in the imagelist, see clist/geticonsimagelist + } + MS_CLUI_CONTACTSETICON:PAnsiChar = 'CLUI/ContactSetIcon'; + + { + wParam : HCONTACT + lParam : 0 + Affect : Remove a contact from the list, see notes + Returns: 0 on success, [non zereo] on failure + Notes : this contact is NOT actually being deleted, since if + a contact goes offline while 'hide offline' option is sset, + this service will be called then ALSO + } + MS_CLUI_CONTACTDELETED:PAnsiChar = 'CLUI/ContactDeleted'; + + { + wParam : HCONTACT + lParam : ICON_ID + Affect : Add a contact to the list, see note + returns: 0 on success, [non zero] on failure + Notes : the caller processes the 'hide offline' setting, so the callee + should not do further processing based on the value of this setting + - + WARNING: this will be called to re-add a contact when they come + online if 'hide offline' is on, but it cannot determine if + the contact is already on the list, so you may get requests to + add a contact when it is already on the list, which you should ignore. + - + You'll also get this whenever an event is added for a contact, + since if the contact was offline, it needs to be shown to + display the mesage, even if 'hide offlines' is on. + - + you should not resort the list on this call, a seperate resort + request will be sent. + - + ICON_ID is an offset in the image list, see clist/geticonsimagelist + + } + MS_CLUI_CONTACTADDED:PAnsiChar = 'CLUI/ContactAdded'; + + { + wParam : HCONTACT + lParam : 0 + Affect : Reename a contact in the lists, see notes + Returns: 0 on success, [non zero] on failure + Notes : You should not re-sort the list on this call, a separate resort + request will be sent, you can get the new name from clist/getcontactdisplayname + } + MS_CLUI_CONTACTRENAMED:PAnsiChar = 'CLUI/ContactRenamed'; + + { + wParam : 0 + lParam : 0 + Affect : Start a rebuild of the contact list, see notes + Returns: 0 on success, [non zero] on failure + Notes : this is the cue to clear the existing content of the list + expect to get a series of : + + clui/groupadded + clui/contactadded + clui/resortlist + } + MS_CLUI_LISTBEGINREBUILD:PAnsiChar = 'CLUI/ListBeginRebuild'; + + { + wParam : 0 + lParam : 0 + Affect : End a rebuild of the contact list, see notes + Returns: 0 on success, [non zero] on error + Notes : if you dissplayed an hourglass in beginbuild, set it back + here, you do not need to explicitly sort the list + } + MS_CLUI_LISTENDREBUILD:PAnsiChar = 'CLUI/ListEndRebuild'; + + { + wParam : 0 + lParam : 0 + Affect : Sort the contact list now, see notes + Returns: 0 success, [non zero] on failure + Notes : Sorts are buffered so you won't get this message lots of times + if the lists needs to be resorted many times rapidly + } + MS_CLUI_SORTLIST:PAnsiChar = 'CLUI/SortList'; + + { + wParam : CLUICAPS_* + lParam : 0 + Affect : Gets a load of capabilites for the loaded CLUI, see notes + Returns: the requested value, 0 of wParam is unknown -- + if this service is not implemented it is assumed all return + values will be 0. + Version: v0.1.2.1+ + } +{ + CLUIF2_PLUGININFO = 1; // returns pointer to plugininfo + CLUIF2_CLISTTYPE = 2; // the genaration of list in chronologic + // modern layered return 0x07 (assuming classic, + // mw, meta, nicer1, modern1, nicer++, modernLayered) + // +0x0100 for unicode + CLUIF2_EXTRACOLUMNCOUNT = 3; // return max number of extra icon available to + // be set in main window + CLUIF2_USEREXTRASTART = 4; // return index of first 'advanced' image except + // Adv1 and Adv2 +} + // can only provide this flag to return the following set of caps, the strings + // show the database setting/type to store the list option, changing the value + // does not reflect what the change is, i.e. ontop can only be affected with + // a call to SetWindowPos() + CLUICAPS_FLAGS1 = 0; + // empty groups aren't shown, 'CList/HideEmptyGroups' (byte) [changes make the list reload] + CLUIF_HIDEEMPTYGROUPS = 1; + // groups can be disabled, lists can be merged into one seamlessly, (byte) 'CList/UseGroups' + CLUIF_DISABLEGROUPS = 2; + // list can be displayed 'on top' of all other windows, 4 (byte) 'CList/OnTop' + CLUIF_HASONTOPOPTION = 4; + // can disappear after a while of inactive use, + // (byte) 'CList/AutoHide' (word) 'CList/HideTime' + CLUIF_HASAUTOHIDEOPTION = 8; + + CLUICAPS_FLAGS2 = 1; // Returns info about extra icons + // HIWORD is the first extra icon number, LOWORD is the extra icons count + +//LPARAMS for CLUICAPS_FLAGS1 + CLUIF2_PLUGININFO = 1; //returns pointer to plugininfo + CLUIF2_CLISTTYPE = 2; // the genaration of list in chronologic +// modern layered return 0x07 +// (assuming classic, mw, meta, nicer1, modern1, nicer++, modernLayered) +// +0x0100 for unicode + CLUIF2_EXTRACOLUMNCOUNT = 3; // return max number of extra icon available to be set in main window + CLUIF2_USEREXTRASTART = 4; // return index of first 'advanced' image except Adv1 and Adv2 + + MS_CLUI_GETCAPS:PAnsiChar = 'CLUI/GetCaps'; + + { + wParam : HCONTACT + lParam : MAKELPARAM(screenX, screenY) + Affect : A contact is being dragged outside the main window + Return : return [non zero] to show the drag cursor as "accepting" the drag + or zero to show the circle/slash 'not allowed' + Version: v0.1.2.0+ + } + ME_CLUI_CONTACTDRAGGING:PAnsiChar = 'CLUI/ContactDragging'; + + { + wParam : HCONTACT + lParam : MAKELPARAM(screenX, screenY) + Affect : a contact has just been dropped outside the main window, see notes + Notes : return non zero to stop other hooks processing this event. + Version: v0.1.2.0+ + } + ME_CLUI_CONTACTDROPPED:PAnsiChar = 'CLUI/ContactDropped'; + + { + wParam : HCONTACT + lParam : 0 + Affect : A contact that *was* being dragged outside the main window + has gone back to the main window + Return : always return 0 + Version: v0.1.2.1+ + } + ME_CLUI_CONTACTDRAGSTOP:PAnsiChar = 'CLUI/ContactDragStop'; + +// return TRUE if Clist Module Support Metacontacts + ME_CLUI_METASUPPORT:PAnsiChar = 'CLUI/MetaContactSupport'; + +// return pointer to PLUGININFO structure +// MS_CLIST_GETCLISTCAPS = 'CList/GetCaps'; + +{$ENDIF} \ No newline at end of file -- cgit v1.2.3