diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /src/ildasm/gui.h | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2 coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip |
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/ildasm/gui.h')
-rw-r--r-- | src/ildasm/gui.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/src/ildasm/gui.h b/src/ildasm/gui.h new file mode 100644 index 0000000000..71a581b3e0 --- /dev/null +++ b/src/ildasm/gui.h @@ -0,0 +1,155 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#include "dynamicarray.h" + +#define BITMAP_WIDTH 15 +#define BITMAP_HEIGHT 15 + +#define DISASSEMBLY_CLASS_NAME "disassembly" +#define MAIN_WINDOW_CLASS "dasm" +#define MAIN_WINDOW_CAPTION "IL DASM" + +#define DISASSEMBLY_CLASS_NAMEW L"disassembly" +#define MAIN_WINDOW_CLASSW L"dasm" +#define MAIN_WINDOW_CAPTIONW L"IL DASM\0" + +#define PHDC (pDIS->hDC) +#define PRC (pDIS->rcItem) + +#define PADDING 28 + +#define ID_TREEVIEW 1 +#define ID_LISTBOX 2 + +typedef struct +{ + const char *pszNamespace; + HTREEITEM hRoot; +} Namespace_t; + + +// +// Menu info +// +enum +{ + IDM_PROGRESS, + IDM_OPEN, + IDM_DUMP, + IDM_DUMP_TREE, + IDM_EXIT, + IDM_SORT_BY_NAME, + IDM_SHOW_PUB, + IDM_SHOW_PRIV, + IDM_SHOW_FAM, + IDM_SHOW_ASM, + IDM_SHOW_FAA, + IDM_SHOW_FOA, + IDM_SHOW_PSCOPE, + IDM_FULL_INFO, + IDM_BYTES, + IDM_TOKENS, + IDM_SOURCELINES, + IDM_EXPANDTRY, + IDM_QUOTEALLNAMES, + IDM_SHOW_HEADER, + IDM_SHOW_STAT, + IDM_SHOW_METAINFO, + IDM_MI_DEBUG, + IDM_MI_HEADER, + IDM_MI_HEX, + IDM_MI_CSV, + IDM_MI_UNREX, + IDM_MI_SCHEMA, + IDM_MI_RAW, + IDM_MI_HEAPS, + IDM_MI_VALIDATE, + IDM_HELP, + IDM_ABOUT, + IDM_FONT_TREE, + IDM_FONT_DASM, + IDM_FIND, + IDM_FINDNEXT, + IDM_TREEVIEWFCN, + IDM_CAVERBAL, + IDM_DUMPRTF +}; + + +// +// Bitmaps - keep in same order as in dasm.rc file +// +enum +{ + CLASS_IMAGE_INDEX, + EVENT_IMAGE_INDEX, + METHOD_IMAGE_INDEX, + NAMESPACE_IMAGE_INDEX, + FIELD_IMAGE_INDEX, + PROP_IMAGE_INDEX, + STATIC_METHOD_IMAGE_INDEX, + STATIC_FIELD_IMAGE_INDEX, + RED_ARROW_IMAGE_INDEX, + CLASSENUM_IMAGE_INDEX, + CLASSINT_IMAGE_INDEX, + CLASSVAL_IMAGE_INDEX, + CLASS_GEN_IMAGE_INDEX, + METHOD_GEN_IMAGE_INDEX, + STATIC_METHOD_GEN_IMAGE_INDEX, + CLASSENUM_GEN_IMAGE_INDEX, + CLASSINT_GEN_IMAGE_INDEX, + CLASSVAL_GEN_IMAGE_INDEX, + LAST_IMAGE_INDEX +}; + +#define TREEITEM_TYPE_MEMBER 1 +#define TREEITEM_TYPE_INFO 2 + +// Member items and info items (under classes) +typedef struct +{ + HTREEITEM hItem; + union + { + mdToken mbMember; + char * pszText; // if an info item (extends or implements some class) + }; + BYTE Discriminator; +} TreeItem_t; + +// Class items (under the root) +typedef struct +{ + HTREEITEM hItem; + mdTypeDef cl; + TreeItem_t *pMembers; // List of subitems + DWORD SubItems; // Number of subitems + DWORD CurMember; // Used when building member list +} ClassItem_t; + +typedef struct +{ + HWND hwndContainer; + HWND hwndChild; + HMENU hMenu; + mdToken tkClass; + mdToken tkMember; + WCHAR wzFind[120]; + FINDREPLACEW strFR; +} DisasmBox_t; + + + +// For accessing metadata +extern IMDInternalImport* g_pImport; +extern PELoader * g_pPELoader; +extern IMetaDataImport2* g_pPubImport; + +//extern DynamicArray<mdToken> g_cl_list; +extern mdToken * g_cl_list; +//extern DynamicArray<mdToken> g_cl_enclosing; +extern mdToken * g_cl_enclosing; +extern mdTypeDef g_cl_module; +extern DWORD g_NumClasses; |