From cb4a46e7fbe62d788e66ed6121c717a2d22a4d7c Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 21 Apr 2011 14:14:52 +0000 Subject: svn.miranda.im is moving to a new home! git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@7 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- miranda-wine/src/modules/clist/clc.h | 154 +++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 miranda-wine/src/modules/clist/clc.h (limited to 'miranda-wine/src/modules/clist/clc.h') diff --git a/miranda-wine/src/modules/clist/clc.h b/miranda-wine/src/modules/clist/clc.h new file mode 100644 index 0000000..4c9b80d --- /dev/null +++ b/miranda-wine/src/modules/clist/clc.h @@ -0,0 +1,154 @@ +/* + +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2000-2006 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. +*/ + +struct ClcContact { + BYTE type; + BYTE flags; + union { + struct { + WORD iImage; + HANDLE hContact; + }; + struct { + WORD groupId; + struct ClcGroup *group; + }; + }; + BYTE iExtraImage[MAXEXTRACOLUMNS]; + TCHAR szText[120-MAXEXTRACOLUMNS]; + char * proto; // MS_PROTO_GETBASEPROTO +}; + +struct ClcData { + struct ClcGroup list; + int rowHeight; + int yScroll; + int selection; + struct ClcFontInfo fontInfo[FONTID_MAX + 1]; + int scrollTime; + HIMAGELIST himlHighlight; + int groupIndent; + TCHAR szQuickSearch[128]; + int iconXSpace; + HWND hwndRenameEdit; + COLORREF bkColour, selBkColour, selTextColour, hotTextColour, quickSearchColour; + int iDragItem, iInsertionMark; + int dragStage; + POINT ptDragStart; + int dragAutoScrolling; + int dragAutoScrollHeight; + int leftMargin; + int insertionMarkHitHeight; + HBITMAP hBmpBackground; + int backgroundBmpUse, bkChanged; + int iHotTrack; + int gammaCorrection; + DWORD greyoutFlags; //see m_clc.h + DWORD offlineModes; + DWORD exStyle; + POINT ptInfoTip; + int infoTipTimeout; + HANDLE hInfoTipItem; + HIMAGELIST himlExtraColumns; + int extraColumnsCount; + int extraColumnSpacing; + int checkboxSize; + int showSelAlways; + int showIdle; + int noVScrollbar; + int useWindowsColours; + int needsResort; +}; + +//clc.c +extern int g_IconWidth, g_IconHeight; + +//clcidents.c +int GetRowsPriorTo(struct ClcGroup *group,struct ClcGroup *subgroup,int contactIndex); +int FindItem(HWND hwnd,struct ClcData *dat,HANDLE hItem,struct ClcContact **contact,struct ClcGroup **subgroup,int *isVisible); +int GetRowByIndex(struct ClcData *dat,int testindex,struct ClcContact **contact,struct ClcGroup **subgroup); +HANDLE ContactToHItem(struct ClcContact *contact); +HANDLE ContactToItemHandle(struct ClcContact *contact,DWORD *nmFlags); + +//clcitems.c +struct ClcGroup *AddGroup(HWND hwnd,struct ClcData *dat,const TCHAR *szName,DWORD flags,int groupId,int calcTotalMembers); +void FreeGroup(struct ClcGroup *group); +int AddInfoItemToGroup(struct ClcGroup *group,int flags,const TCHAR *pszText); +void RebuildEntireList(HWND hwnd,struct ClcData *dat); +struct ClcGroup *RemoveItemFromGroup(HWND hwnd,struct ClcGroup *group,struct ClcContact *contact,int updateTotalCount); +void DeleteItemFromTree(HWND hwnd,HANDLE hItem); +void AddContactToTree(HWND hwnd,struct ClcData *dat,HANDLE hContact,int updateTotalCount,int checkHideOffline); +void SortCLC(HWND hwnd,struct ClcData *dat,int useInsertionSort); +int GetGroupContentsCount(struct ClcGroup *group,int visibleOnly); +void SaveStateAndRebuildList(HWND hwnd,struct ClcData *dat); + +//clcmsgs.c +LRESULT ProcessExternalMessages(HWND hwnd,struct ClcData *dat,UINT msg,WPARAM wParam,LPARAM lParam); + +//clcutils.c +void EnsureVisible(HWND hwnd,struct ClcData *dat,int iItem,int partialOk); +void RecalcScrollBar(HWND hwnd,struct ClcData *dat); +void SetGroupExpand(HWND hwnd,struct ClcData *dat,struct ClcGroup *group,int newState); +void DoSelectionDefaultAction(HWND hwnd,struct ClcData *dat); +int FindRowByText(HWND hwnd,struct ClcData *dat,const TCHAR *text,int prefixOk); +void EndRename(HWND hwnd,struct ClcData *dat,int save); +void DeleteFromContactList(HWND hwnd,struct ClcData *dat); +void BeginRenameSelection(HWND hwnd,struct ClcData *dat); +char *GetGroupCountsText(struct ClcData *dat,struct ClcContact *contact); +int HitTest(HWND hwnd,struct ClcData *dat,int testx,int testy,struct ClcContact **contact,struct ClcGroup **group,DWORD *flags); +void ScrollTo(HWND hwnd,struct ClcData *dat,int desty,int noSmooth); + +int GetDropTargetInformation(HWND hwnd,struct ClcData *dat,POINT pt); +int ClcStatusToPf2(int status); +int IsHiddenMode(struct ClcData *dat,int status); +void HideInfoTip(HWND hwnd,struct ClcData *dat); +void NotifyNewContact(HWND hwnd,HANDLE hContact); +void LoadClcOptions(HWND hwnd,struct ClcData *dat); +void RecalculateGroupCheckboxes(HWND hwnd,struct ClcData *dat); +void SetGroupChildCheckboxes(struct ClcGroup *group,int checked); +void InvalidateItem(HWND hwnd,struct ClcData *dat,int iItem); + +int fnGetRowBottomY(struct ClcData *dat, int item); +int fnGetRowHeight(struct ClcData *dat, int item); +int fnGetRowTopY(struct ClcData *dat, int item); +int fnGetRowTotalHeight(struct ClcData *dat); +int fnRowHitTest(struct ClcData *dat, int y); + +//clcpaint.c +void PaintClc(HWND hwnd,struct ClcData *dat,HDC hdc,RECT *rcPaint); + +//clcopts.c +int ClcOptInit(WPARAM wParam,LPARAM lParam); +DWORD GetDefaultExStyle(void); +void GetFontSetting(int i,LOGFONTA *lf,COLORREF *colour); + +//clistsettings.c +TCHAR* GetContactDisplayNameW( HANDLE hContact, int mode ); +char* u2a( wchar_t* src ); +wchar_t* a2u( char* src ); + +//clcfiledrop.c +void InitFileDropping(void); +void FreeFileDropping(void); +void RegisterFileDropping(HWND hwnd); +void UnregisterFileDropping(HWND hwnd); -- cgit v1.2.3