diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-16 16:31:53 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-16 16:31:53 +0000 |
commit | 5b0a53a6d3f1b8d70b34631d96d3815d0a334dd3 (patch) | |
tree | 9b38676d8ae565bac52063f5398dde110082a26f /plugins/Clist_mw/src/clc.h | |
parent | 1cf47d1eaff4d7d7242d0ab87dd540ae5b400833 (diff) |
Clist_mw, Clist_nicer, CmdLine, Console: folder structure change
git-svn-id: http://svn.miranda-ng.org/main/trunk@988 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_mw/src/clc.h')
-rw-r--r-- | plugins/Clist_mw/src/clc.h | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/plugins/Clist_mw/src/clc.h b/plugins/Clist_mw/src/clc.h new file mode 100644 index 0000000000..29b7086d20 --- /dev/null +++ b/plugins/Clist_mw/src/clc.h @@ -0,0 +1,151 @@ +/*
+
+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 _CLC_H_
+#define _CLC_H_
+
+#define CLB_TOPLEFT 0
+#define CLB_STRETCHV 1
+#define CLB_STRETCHH 2 //and tile vertically
+#define CLB_STRETCH 3
+
+#define CLBM_TYPE 0x00FF
+
+#define CLBF_TILEH 0x1000
+#define CLBF_TILEV 0x2000
+#define CLBF_PROPORTIONAL 0x4000
+#define CLBF_SCROLL 0x8000
+#define CLBF_TILEVTOROWHEIGHT 0x0100
+
+#define FONTID_CONTACTS 0
+#define FONTID_INVIS 1
+#define FONTID_OFFLINE 2
+#define FONTID_NOTONLIST 3
+#define FONTID_GROUPS 4
+#define FONTID_GROUPCOUNTS 5
+#define FONTID_DIVIDERS 6
+#define FONTID_OFFINVIS 7
+#define FONTID_STATUSMSG 8
+#define FONTID_GROUPSCLOSED 9
+#define FONTID_CONTACTSHOVER 10
+
+#define TIMERID_DELAYEDREPAINT 16
+#define TIMERID_SUBEXPAND 21
+
+#define CONTACTF_STATUSMSG 64
+
+#define INTM_STATUSMSGCHANGED (WM_USER+26)
+
+#define CLS_SHOWSTATUSMESSAGES 0x800
+
+#define CLS_EX_MULTICOLUMNALIGNLEFT 0x00001000
+
+#define MAXSTATUSMSGLEN 256
+
+struct ClcContact : public ClcContactBase
+{
+ ClcContact *subcontacts;
+ BYTE SubAllocated;
+ BYTE SubExpanded;
+ BYTE isSubcontact;
+ TCHAR szStatusMsg[MAXSTATUSMSGLEN];
+};
+
+struct ClcData : public ClcDataBase
+{
+ DWORD style;
+ SortedList lCLCContactsCache;
+ BYTE doubleClickExpand;
+ int MetaIgnoreEmptyExtra;
+};
+
+//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);
+void ClearRowByIndexCache();
+
+//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 FreeContact(struct ClcContact *p);
+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);
+int GetNewSelection(struct ClcGroup *group,int selection, int direction);
+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 RecalcScrollBar(HWND hwnd,struct ClcData *dat);
+void BeginRenameSelection(HWND hwnd,struct ClcData *dat);
+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);
+void LoadClcOptions(HWND hwnd,struct ClcData *dat);
+
+//clcpaint.c
+void PaintClc(HWND hwnd,struct ClcData *dat,HDC hdc,RECT *rcPaint);
+
+//clcopts.c
+int ClcOptInit(WPARAM wParam,LPARAM lParam);
+
+//clcfiledrop.c
+void InitFileDropping(void);
+void FreeFileDropping(void);
+void RegisterFileDropping(HWND hwnd);
+void UnregisterFileDropping(HWND hwnd);
+
+//cluiservices.c
+void FreeProtocolData( void );
+
+int GetContactCachedStatus(HANDLE hContact);
+char *GetContactCachedProtocol(HANDLE hContact);
+
+#define CLUI_SetDrawerService "CLUI/SETDRAWERSERVICE"
+typedef struct {
+ int cbSize;
+ char *PluginName;
+ char *Comments;
+ char *GetDrawFuncsServiceName;
+
+} DrawerServiceStruct,*pDrawerServiceStruct ;
+
+#define CLUI_EXT_FUNC_PAINTCLC 1
+
+typedef struct {
+ int cbSize;
+ void (*PaintClc)(HWND,struct ClcData *,HDC,RECT *,int ,ClcProtoStatus *,HIMAGELIST);
+} ExternDrawer,*pExternDrawer ;
+
+extern ExternDrawer SED;
+
+#define CLM_SETEXTRACOLUMNSSPACE (CLM_FIRST+73) //wParam = extra space between icons
+
+void FreeAndNil( void** p );
+
+#endif /* _CLC_H_ */
|