From 2ebb53adcd4663ac2f1da74972b7b21d53b0ce53 Mon Sep 17 00:00:00 2001 From: "george.hazan" Date: Thu, 26 May 2011 20:18:42 +0000 Subject: patch for dbeditorpp: C++ support, other improvements git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@122 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- dbeditorpp/headers.h | 106 ++++++++++++++++++--------------------------------- 1 file changed, 38 insertions(+), 68 deletions(-) (limited to 'dbeditorpp/headers.h') diff --git a/dbeditorpp/headers.h b/dbeditorpp/headers.h index e3b19b0..9eda591 100644 --- a/dbeditorpp/headers.h +++ b/dbeditorpp/headers.h @@ -1,14 +1,11 @@ #ifndef _COMMONHEADERS_H #define _COMMONHEADERS_H -#pragma warning( disable : 4786 ) // limitation in MSVC's debugger. //===================================================== // Includes //===================================================== #define _WIN32_WINNT 0x0501 -#define MIRANDA_VER 0x0600 - -#pragma comment(lib,"shlwapi") +#define MIRANDA_VER 0x0900 #include #include @@ -20,6 +17,8 @@ #include #include #include +#include + #include #include #include @@ -42,32 +41,27 @@ #include "m_updater.h" #include "m_toptoolbar.h" +#include "resource.h" +#include "Version.h" +#include "modsettingenum.h" #define DEF_ICON 7 - -#define safe_free(ptr) if (ptr) { free(ptr); ptr = 0;} +#define crlf_string "\r\n\0" /////// icons support -BYTE UsingIconManager; +extern BYTE UsingIconManager; void addIcons(char* szModuleFileName); HICON LoadSkinnedDBEIcon(int icon); int AddIconToList(HIMAGELIST hil, HICON hIcon); void AddProtoIconsToList(HIMAGELIST hil, int newshift); int GetProtoIcon(char *szProto); -HANDLE hRestore; -HANDLE hUserMenu; +extern HANDLE hRestore; +extern HANDLE hUserMenu; ///////////////////// - -#include "resource.h" -#include "modsettingenum.h" - - #ifndef NDEBUG -//#define _CRTDBG_MAP_ALLOC -//#include -#define new new(_NORMAL_BLOCK, __FILE__, __LINE__) + #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) #endif //======================================================= @@ -82,35 +76,23 @@ HANDLE hUserMenu; #define WM_FINDITEM (WM_USER+1) // onyl for the main window, wparam is ItemIfno* lparam is 0 -#define mir_strlen(ptr) ((ptr==NULL)?0:strlen(ptr)) - +#define mir_strlen(ptr) ((ptr==NULL)?0:(int)strlen(ptr)) #define mir_strncpy(dst, src, len) strncpy(dst, src, len)[len-1]=0; +#define mir_strcmp(ptr1, ptr2) ((ptr1 && ptr2)?strcmp(ptr1, ptr2):1) // (ptr1||ptr2) #define ListView_SetItemTextW(hwndLV, i, iSubItem_, pszText_) \ { LV_ITEMW _ms_lvi;\ _ms_lvi.iSubItem = iSubItem_;\ _ms_lvi.pszText = pszText_;\ - _SendMessageW((hwndLV), LVM_SETITEMTEXTW, (WPARAM)(i), (LPARAM)(LV_ITEMW *)&_ms_lvi);\ + SendMessageW((hwndLV), LVM_SETITEMTEXTW, (WPARAM)(i), (LPARAM)(LV_ITEMW *)&_ms_lvi);\ } #define ListView_InsertItemW(hwnd, pitem) \ - _SendMessageW((hwnd), LVM_INSERTITEMW, 0, (LPARAM)(const LV_ITEMW *)(pitem)) + SendMessageW((hwnd), LVM_INSERTITEMW, 0, (LPARAM)(const LV_ITEMW *)(pitem)) #define TreeView_InsertItemW(hwnd, lpis) \ - (HTREEITEM)_SendMessageW((hwnd), TVM_INSERTITEMW, 0, (LPARAM)(LPTV_INSERTSTRUCTW)(lpis)) - -#define _CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\ -_CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) - - -HWND (WINAPI *_CreateWindowExW)(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID); -HWND (WINAPI *_CreateDialogParamW)(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); -LRESULT (WINAPI *_CallWindowProcW)(WNDPROC,HWND,UINT,WPARAM,LPARAM); -LONG (WINAPI *_SetWindowLongW)(HWND,int,LONG); -LRESULT (WINAPI *_SendMessageW)(HWND,UINT,WPARAM,LPARAM); + (HTREEITEM)SendMessageW((hwnd), TVM_INSERTITEMW, 0, (LPARAM)(LPTV_INSERTSTRUCTW)(lpis)) /*********************** ModuleTreeInfoStruct @@ -125,7 +107,6 @@ LRESULT (WINAPI *_SendMessageW)(HWND,UINT,WPARAM,LPARAM); #define STUB 4 #define EMPTY 8 - typedef struct { int type; // from above types HANDLE hContact; @@ -141,6 +122,7 @@ typedef struct { #define WATCH_MODULE 1 #define WATCH_SETTING 0 + struct DBsetting { DBVARIANT dbv; HANDLE hContact; @@ -171,24 +153,23 @@ struct WatchListArrayStruct{ struct DBsetting *item; // gotta malloc this int count; int size; -} WatchListArray; +}; +extern WatchListArrayStruct WatchListArray; //======================================================= // Variables //======================================================= -PLUGINLINK *pluginLink; -HINSTANCE hInst; -HWND hwnd2mainWindow, hwnd2watchedVarsWindow, hwnd2importWindow; -HIMAGELIST himl; -HIMAGELIST himl2; -int Mode; -int Hex; -int Order; -BOOL UDB, UOS; - -BOOL usePopUps; +extern HINSTANCE hInst; +extern HWND hwnd2mainWindow, hwnd2watchedVarsWindow, hwnd2importWindow; +extern HIMAGELIST himl; +extern HIMAGELIST himl2; +extern int Mode; +extern int Hex; +extern int Order; +extern BOOL UDB, UOS; + +extern BOOL usePopUps; #define NAMEORDERCOUNT 8 -BYTE nameOrder[NAMEORDERCOUNT]; #define MODE_UNLOADED 1 #define MODE_LOADED 2 @@ -200,7 +181,6 @@ BYTE nameOrder[NAMEORDERCOUNT]; //main.c int DBGetContactSettingStringStatic(HANDLE hContact, char* szModule, char* szSetting, char* value, int maxLength); -int DBWriteContactSettingBlob(HANDLE hContact,const char *szModule,const char *szSetting, const BYTE *pbVal, WORD cbVal); int WriteBlobFromString(HANDLE hContact,const char *szModule,const char *szSetting, const char *Value, int len); int GetSetting(HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv); int GetValue(HANDLE hContact, const char* szModule, const char* szSetting, char* Value, int length); @@ -208,18 +188,17 @@ int GetValueW(HANDLE hContact, const char* szModule, const char* szSetting, WCHA char* u2a( wchar_t* src ); wchar_t *a2u( char* src , wchar_t *buffer, int len ); int mir_snwprintf(WCHAR *buffer, size_t count, const WCHAR* fmt, ...); -int GetDatabaseString(HANDLE hContact, const char *szModule, const char* szSetting, WCHAR *Value, int length, BOOL unicode); WCHAR *GetContactName(HANDLE hContact, const char *szProto, int unicode); BOOL IsProtocolLoaded(char* pszProtocolName); // main_window.c -BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); // modules.c int deleteModule(char* module, HANDLE hContact, int fromMenu); void deleteModuleGui(); void renameModule(char* oldName, char* newName, HANDLE hContact); -BOOL CALLBACK AddModDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK AddModDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int CloneContact(HANDLE hContact); // moduletree.c @@ -241,23 +220,22 @@ void PopulateSettings(HWND hwnd2Settings, HANDLE hContact, char* module); void SelectSetting(char* setting); // addeditsettingsdlg.c -BOOL CALLBACK EditSettingDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK EditSettingDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); void editSetting(HANDLE hContact, char* module, char* setting); BOOL convertSetting(HANDLE hContact, char* module, char* setting, int toType); // 0 = byte, 1 = word, 2 = dword, 3 = string // exportimport.c void exportDB(HANDLE hContact, char* module); // hContact == -1 export entire db. module == NULL export entire contact void ImportSettingsMenuItem(HANDLE hContact); -void ImportSettingsFromFileMenuItem(HANDLE hContact); +void ImportSettingsFromFileMenuItem(HANDLE hContact, char* FilePath); // find window.c -BOOL CALLBACK FindWindowDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK FindReplaceDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK FindWindowDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); // knownmodules.c -BYTE UseKnownModList; -int RegisterModule(WPARAM wParam, LPARAM lParam); -int RegisterSingleModule(WPARAM wParam, LPARAM lParam); +extern BYTE UseKnownModList; +INT_PTR RegisterModule(WPARAM wParam, LPARAM lParam); +INT_PTR RegisterSingleModule(WPARAM wParam, LPARAM lParam); void FreeKnownModuleList(); int IsModuleKnown(char* moduleName); void doOldKnownModulesList(); @@ -274,15 +252,7 @@ int addSettingToWatchList(HANDLE hContact, char* module, char* setting); void freeWatchListItem(int item); void PopulateWatchedWindow(HWND hwnd); void freeAllWatches(); -BOOL CALLBACK WatchDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK WatchDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); void popupWatchedVar(HANDLE hContact,const char* module,const char* setting); -#define mir_strcmp(ptr1, ptr2) ((ptr1 && ptr2)?strcmp(ptr1, ptr2):1) // (ptr1||ptr2) - -#ifndef NDEBUG -#include -#define new new(_NORMAL_BLOCK, __FILE__, __LINE__) -#endif -#pragma comment(lib,"comctl32.lib") - #endif //_COMMONHEADERS_H \ No newline at end of file -- cgit v1.2.3