/* Miranda IM Help Plugin Copyright (C) 2002 Richard Hughes, 2005-2007 H. Herkenrath 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 (Help-License.txt); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // dlgboxsubclass.c int InstallDialogBoxHook(void); int RemoveDialogBoxHook(void); // utils.c #define CTLTYPE_UNKNOWN 0 #define CTLTYPE_DIALOG 1 #define CTLTYPE_BUTTON 2 #define CTLTYPE_CHECKBOX 3 #define CTLTYPE_RADIO 4 #define CTLTYPE_TEXT 5 #define CTLTYPE_IMAGE 6 #define CTLTYPE_EDIT 7 #define CTLTYPE_GROUP 8 #define CTLTYPE_COMBO 9 #define CTLTYPE_LIST 10 #define CTLTYPE_SPINEDIT 11 #define CTLTYPE_PROGRESS 12 #define CTLTYPE_SLIDER 13 #define CTLTYPE_LISTVIEW 14 #define CTLTYPE_TREEVIEW 15 #define CTLTYPE_DATETIME 16 #define CTLTYPE_IP 17 #define CTLTYPE_STATUSBAR 18 #define CTLTYPE_HYPERLINK 19 #define CTLTYPE_CLC 20 #define CTLTYPE_SCROLL 21 #define CTLTYPE_ANIMATION 22 #define CTLTYPE_HOTKEY 23 #define CTLTYPE_TABS 24 #define CTLTYPE_COLOUR 25 #define CTLTYPE_TOOLBAR 26 #define CTLTYPE_SIZEGRIP 27 extern const TCHAR *szControlTypeNames[]; int GetControlType(HWND hwndCtl); HWND GetControlDialog(HWND hwndCtl); int GetControlTitle(HWND hwndCtl,TCHAR *pszTitle,int cchTitle); char *GetControlModuleName(HWND hwndCtl); int GetControlID(HWND hwndCtl); char *CreateDialogIdString(HWND hwndDlg); struct ResizableCharBuffer { char *sz; int iEnd,cbAlloced; }; void AppendCharToCharBuffer(struct ResizableCharBuffer *rcb,char c); void AppendToCharBuffer(struct ResizableCharBuffer *rcb,const char *fmt,...); // helpdlg.c #define M_CHANGEHELPCONTROL (WM_APP+0x100) #define M_HELPLOADED (WM_APP+0x101) #ifdef EDITOR #define M_SAVECOMPLETE (WM_APP+0x102) #endif #define M_LOADHELP (WM_APP+0x103) #define M_HELPLOADFAILED (WM_APP+0x104) #define M_CLIPBOARDCOPY (WM_APP+0x105) BOOL CALLBACK HelpDlgProc(HWND hwndDlg,UINT msg,WPARAM wParam,LPARAM lParam); BOOL CALLBACK ShadowDlgProc(HWND hwndDlg,UINT msg,WPARAM wParam,LPARAM lParam); // streaminout.c void StreamInHtml(HWND hwndEdit,const char *szHtml,UINT codepage,COLORREF clrBkgrnd); #ifdef EDITOR char *StreamOutHtml(HWND hwndEdit); #endif #define TEXTSIZE_BIG 18 // in half points #define TEXTSIZE_NORMAL 16 #define TEXTSIZE_SMALL 13 #ifndef EDITOR void FreeHyperlinkData(void); int IsHyperlink(LONG cpPos,LONG *pcpMin,LONG *pcpMax,char **ppszLink); #endif // datastore.c void InitDialogCache(void); void FreeDialogCache(void); #define GCHF_DONTLOAD 1 int GetControlHelp(HWND hwndCtl,const char *pszDlgId,const char *pszModule,int ctrlId,TCHAR **ppszTitle,char **ppszText,int *pType,LCID *pLocaleID,UINT *pCodePage,BOOL *pIsRTL,DWORD flags); #ifdef EDITOR void SetControlHelp(const char *pszDlgId,const char *pszModule,int ctrlId,TCHAR *pszTitle,char *pszText,int type); void SaveDialogCache(void); #else char *CreateControlIdentifier(const char *pszDlgId,const char *pszModule,int ctrlId,HWND hwndCtl); #endif void RegisterFileChange(void); void CloseFileChange(void); // options.c void ReloadLangOptList(void); void InitOptions(void); void UninitOptions(void); // helppack.c void TrimStringSimple(char *str); void TrimString(char *str); BOOL IsEmpty(const char *str); typedef struct { TCHAR szLanguage[64]; LCID Locale; WORD codepage; char szAuthors[1024]; char szAuthorEmail[128]; char szLastModifiedUsing[64]; char szPluginsIncluded[4080]; char szVersion[21]; char szFLName[128]; FILETIME ftFileDate; TCHAR szFileName[MAX_PATH]; /* just the file name itself */ BYTE flags; /* see HPIF_* flags */ } HELPPACK_INFO; #define HPF_ENABLED 0x01 // pack is enabled #define HPF_NOLOCALE 0x02 // pack has no valid locale #define HPF_DEFAULT 0x04 // pack is english default BOOL GetPackPath(TCHAR *pszPath,int nSize,BOOL fEnabledPacks,const TCHAR *pszFile); typedef BOOL (CALLBACK *ENUM_PACKS_CALLBACK)(HELPPACK_INFO *pack,WPARAM wParam,LPARAM lParam); BOOL EnumPacks(ENUM_PACKS_CALLBACK callback,const TCHAR *pszFilePattern,const char *pszFileVersionHeader,WPARAM wParam,LPARAM lParam); BOOL IsPluginIncluded(const HELPPACK_INFO *pack,char *pszFileBaseName); BOOL EnablePack(const HELPPACK_INFO *pack,const TCHAR *pszFilePattern); void CorrectPacks(const TCHAR *pszFilePattern,const TCHAR *pszDefaultFile,BOOL fDisableAll); /* update.c */ int ServiceShowLangDialog(WPARAM wParam,LPARAM lPARAM); void InitUpdate(void); void UninitUpdate(void);