From 6f8ff613bd81e4592173e9039ec0dc6f01ce5e6b Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 18 Jun 2015 13:21:39 +0000 Subject: dbeditor++ - unified project git-svn-id: http://svn.miranda-ng.org/main/trunk@14244 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/DbEditorPP/src/stdafx.h | 299 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 plugins/DbEditorPP/src/stdafx.h (limited to 'plugins/DbEditorPP/src/stdafx.h') diff --git a/plugins/DbEditorPP/src/stdafx.h b/plugins/DbEditorPP/src/stdafx.h new file mode 100644 index 0000000000..d1827fb6c1 --- /dev/null +++ b/plugins/DbEditorPP/src/stdafx.h @@ -0,0 +1,299 @@ +#ifndef _COMMONHEADERS_H +#define _COMMONHEADERS_H +//===================================================== +// Includes +//===================================================== + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "m_toptoolbar.h" + +#include "resource.h" +#include "Version.h" + + +//======================================================= +// Definitions +//======================================================= +#define modname "DBEditorpp" +#define modFullname "Database Editor++" + +#define msg(a) MessageBox(hwnd2mainWindow,a,_A2T(modFullname),MB_OK) +#define dlg(a,b) MessageBox(hwnd2mainWindow,a,_A2T(modFullname),b) + +#define FLD_SIZE 256 +#define MSG_SIZE 256 +#define NAME_SIZE 128 + +#define WM_FINDITEM (WM_USER + 1) // onyl for the main window, wparam is ItemIfno* lparam is 0 + + +/*********************** + ModuleTreeInfoStruct + this gets dumped as the lparam for each module tree item + ************************/ + +// types +#define CONTACT_ROOT_ITEM 0 +#define CONTACT 1 +#define MODULE 2 +#define STUB 4 +#define EMPTY 8 + + +struct ModuleTreeInfoStruct { + int type; // from above types + MCONTACT hContact; +}; + + +struct SettingListInfo { + MCONTACT hContact; + int selectedItem; // item that is currently selected + char module[FLD_SIZE]; + // for edit + HWND hwnd2Edit; + char setting[FLD_SIZE]; + int subitem; +}; + + +struct DBsetting { + MCONTACT hContact; + char *module; + char *setting; + DBVARIANT dbv; +}; + + +typedef struct { + char module[FLD_SIZE]; + MCONTACT hContact; +} ModuleAndContact; + +// find window +#define FW_MODULE 0 +#define FW_SETTINGNAME 1 +#define FW_SETTINGVALUE 2 + +typedef struct { + int type; // above types + MCONTACT hContact; + char module[FLD_SIZE]; + char setting[FLD_SIZE]; +} ItemInfo; + +// watchwindow +struct WatchListArrayStruct { + struct DBsetting *item; // gotta malloc this + int count; + int size; +}; + +// module setting enum +struct ModSetLinkLinkItem +{ + char *name; + ModSetLinkLinkItem *next; +}; + +struct ModuleSettingLL +{ + ModSetLinkLinkItem *first; + ModSetLinkLinkItem *last; +}; + +struct ColumnsSettings { + TCHAR *name; + int index; + char *dbname; + int defsize; +}; + +struct ColumnsSortParams { + HWND hList; + int column; + int last; +}; + + +enum ICONS { + IMAGE_EMPTY, + IMAGE_BINARY, + IMAGE_BYTE, + IMAGE_WORD, + IMAGE_DWORD, + IMAGE_STRING, + IMAGE_UNICODE, + IMAGE_HANDLE, + IMAGE_SETTINGS, + IMAGE_CLOSED, + IMAGE_OPENED, + IMAGE_CONTACTS, + IMAGE_ONLINE, + IMAGE_OFFLINE +}; + + +//======================================================= +// Variables +//======================================================= +extern HINSTANCE hInst; + +extern HWND hwnd2mainWindow; + +extern int g_Mode; +extern int g_Hex; +extern int g_Order; +extern int g_Inline; + +extern MCONTACT hRestore; + +extern MIDatabase *g_db; + +extern BOOL bServiceMode; +extern BOOL usePopups; + +#define NAMEORDERCOUNT 8 + +#define MODE_UNLOADED 1 +#define MODE_LOADED 2 +#define MODE_ALL 3 + +#define HEX_BYTE 1 +#define HEX_WORD 2 +#define HEX_DWORD 4 + +#ifdef _UNICODE + #define GetValue(a,b,c,d,e) GetValueW(a,b,c,d,e) +#else + #define GetValue(a,b,c,d,e) GetValueA(a,b,c,d,e) +#endif + +//main +char *StringFromBlob(BYTE *blob, WORD len); +int WriteBlobFromString(MCONTACT hContact, const char *module, const char *setting, const char *value, int len); +TCHAR *DBVType(BYTE type); +DWORD getNumericValue(DBVARIANT *dbv); +int setNumericValue(MCONTACT hContact, const char *module, const char *setting, DWORD value, int type); +int IsRealUnicode(TCHAR *value); +int setTextValue(MCONTACT hContact, const char *module, const char *setting, TCHAR *value, int type); +int GetValueA(MCONTACT hContact, const char *module, const char *setting, char *value, int length); +int GetValueW(MCONTACT hContact, const char *module, const char *setting, WCHAR *value, int length); +int GetContactName(MCONTACT hContact, const char *proto, TCHAR *value, int maxlen); +int ApplyProtoFilter(MCONTACT hContact); +void loadListSettings(HWND hwnd, ColumnsSettings *cs); +void saveListSettings(HWND hwnd, ColumnsSettings *cs); +INT_PTR CALLBACK ColumnsCompare(LPARAM lParam1, LPARAM lParam2, LPARAM myParam); + +// main_window +void openMainWindow(); + +// deletemodules +int deleteModule(MCONTACT hContact, const char *module, int confirm); +void deleteModuleDlg(); + +// renamemodule +int renameModule(MCONTACT hContact, const char *oldName, const char *newName); +void renameModuleDlg(); +void addModuleDlg(MCONTACT hContact); + +// moduletree +void insertItem(MCONTACT hContact, const char *module, HTREEITEM hParent); +HTREEITEM findItemInTree(MCONTACT hContact, const char *module); +void replaceTreeItem(MCONTACT hContact, const char *module, const char *newModule); +void refreshTree(BOOL restore); +void freeTree(MCONTACT hContact); + +// settinglist +int ListView_GetItemTextA(HWND hwndLV, int i, int iSubItem, char *pszText, int cchTextMax); +int ListView_SetItemTextA(HWND hwndLV, int i, int iSubItem, const char *pszText); +void ClearListView(); +void DeleteSettingsFromList(MCONTACT hContact, const char *module, const char *setting); +void addListHandle(MCONTACT hContact); +void PopulateSettings(MCONTACT hContact, const char *module); +void SelectSetting(const char *setting); +void settingChanged(MCONTACT hContact, const char *module, const char *setting, DBVARIANT *dbv); + +// settingsdlg +void editSetting(MCONTACT hContact, const char *module, const char *setting); +void copySetting(MCONTACT hContact, const char *module, const char *setting); +void newSetting(MCONTACT hContact, const char *module, int type); + +// exportimport +void exportDB(MCONTACT hContact, const char *module); // hContact == -1 export entire db. module == NULL export entire contact +void ImportSettingsMenuItem(MCONTACT hContact); +void ImportSettingsFromFileMenuItem(MCONTACT hContact, const char *filePath); // ansi! + +// find window +void newFindWindow(); + +// copymodule +void copyModuleMenuItem(MCONTACT hContact, const char *module); +void copyModule(const char *module, MCONTACT hContactFrom, MCONTACT hContactTo); +int CloneContact(MCONTACT hContact); + +// options +int OptInit(WPARAM wParam, LPARAM lParam); + +// watchedvars +int WatchedArrayIndex(MCONTACT hContact, const char *module, const char *setting, int strict); +int addSettingToWatchList(MCONTACT hContact, const char *module, const char *setting); +void freeWatchListItem(int item); +void PopulateWatchedWindow(); +void freeAllWatches(); +void openWatchedVarWindow(); +void popupWatchedVar(MCONTACT hContact, const char *module, const char *setting); + +// modsettingenum +int EnumModules(ModuleSettingLL *msll); +int EnumSettings(MCONTACT hContact, const char *module, ModuleSettingLL *msll); +void FreeModuleSettingLL(ModuleSettingLL *msll); +int IsModuleEmpty(MCONTACT hContact, const char *module); +int LoadResidentSettings(); +void FreeResidentSettings(); +int IsResidentSetting(const char *module, const char *setting); +int EnumResidentSettings(const char *module, ModuleSettingLL *msll); +int EnumResidentModules(ModuleSettingLL *msll); +int fixResidentSettings(); + +// icons +HANDLE GetIcoLibHandle(int icon); +void IcoLibRegister(); +HICON LoadSkinnedDBEIcon(int icon); +HIMAGELIST LoadIcons(); +int GetProtoIconIndex(const char *proto); + +#endif //_COMMONHEADERS_H -- cgit v1.2.3