ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

main.h
Go to the documentation of this file.
00001 /*
00002  * Regedit definitions
00003  *
00004  * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019  */
00020 
00021 #pragma once
00022 
00023 #include "resource.h"
00024 
00025 
00026 #define STATUS_WINDOW   2001
00027 #define TREE_WINDOW     2002
00028 #define LIST_WINDOW     2003
00029 
00030 #define SPLIT_WIDTH 5
00031 #define SPLIT_MIN  30
00032 
00033 #define COUNT_OF(a) (sizeof(a)/sizeof(a[0]))
00034 
00035 #define PM_MODIFYVALUE  0
00036 #define PM_NEW          1
00037 #define PM_TREECONTEXT  2
00038 #define PM_HEXEDIT      3
00039 
00040 #define MAX_NEW_KEY_LEN 128
00041 
00042 extern HINSTANCE hInst;
00043 
00044 /******************************************************************************/
00045 
00046 enum OPTION_FLAGS
00047 {
00048     OPTIONS_AUTO_REFRESH                   = 0x01,
00049     OPTIONS_READ_ONLY_MODE                 = 0x02,
00050     OPTIONS_CONFIRM_ON_DELETE              = 0x04,
00051     OPTIONS_SAVE_ON_EXIT               = 0x08,
00052     OPTIONS_DISPLAY_BINARY_DATA        = 0x10,
00053     OPTIONS_VIEW_TREE_ONLY             = 0x20,
00054     OPTIONS_VIEW_DATA_ONLY             = 0x40,
00055 };
00056 
00057 typedef struct
00058 {
00059     HWND    hWnd;
00060     HWND    hTreeWnd;
00061     HWND    hListWnd;
00062     HWND    hAddressBarWnd;
00063     HWND    hAddressBtnWnd;
00064     int     nFocusPanel;      /* 0: left  1: right */
00065     int     nSplitPos;
00066     WINDOWPLACEMENT pos;
00067     TCHAR   szPath[MAX_PATH];
00068 } ChildWnd;
00069 extern ChildWnd* g_pChildWnd;
00070 
00071 /*******************************************************************************
00072  * Global Variables:
00073  */
00074 extern HINSTANCE hInst;
00075 extern HWND      hFrameWnd;
00076 extern HMENU     hMenuFrame;
00077 extern HWND      hStatusBar;
00078 extern HMENU     hPopupMenus;
00079 extern HFONT     hFont;
00080 extern enum OPTION_FLAGS Options;
00081 
00082 extern TCHAR szTitle[];
00083 extern TCHAR szFrameClass[];
00084 extern TCHAR szChildClass[];
00085 
00086 extern const TCHAR g_szGeneralRegKey[];
00087 
00088 /* about.c */
00089 extern void ShowAboutBox(HWND hWnd);
00090 
00091 /* childwnd.c */
00092 extern LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
00093 extern void ResizeWnd(int cx, int cy);
00094 extern LPCTSTR get_root_key_name(HKEY hRootKey);
00095 
00096 /* error.c */
00097 extern void ErrorMessageBox(HWND hWnd, LPCTSTR title, DWORD code);
00098 
00099 /* find.c */
00100 extern void FindDialog(HWND hWnd);
00101 extern BOOL FindNext(HWND hWnd);
00102 
00103 /* framewnd.c */
00104 extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
00105 extern void SetupStatusBar(HWND hWnd, BOOL bResize);
00106 extern void UpdateStatusBar(void);
00107 extern BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCTSTR keyName);
00108 extern BOOL ExportRegistryFile(HWND hWnd);
00109 
00110 /* listview.c */
00111 extern HWND CreateListView(HWND hwndParent, HMENU id);
00112 extern BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCTSTR keyPath);
00113 extern LPCTSTR GetValueName(HWND hwndLV, int iStartAt);
00114 extern BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
00115 extern BOOL IsDefaultValue(HWND hwndLV, int i);
00116 
00117 /* treeview.c */
00118 extern HWND CreateTreeView(HWND hwndParent, LPTSTR pHostName, HMENU id);
00119 extern BOOL RefreshTreeView(HWND hWndTV);
00120 extern BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem);
00121 extern BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
00122 extern LPCTSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
00123 extern BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem);
00124 extern HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPTSTR name);
00125 extern HWND StartKeyRename(HWND hwndTV);
00126 extern BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem);
00127 extern BOOL SelectNode(HWND hwndTV, LPCTSTR keyPath);
00128 extern void DestroyTreeView( void );
00129 extern void DestroyListView( HWND hwndLV );
00130 extern void DestroyMainMenu( void );
00131 
00132 /* edit.c */
00133 extern BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCTSTR valueName, BOOL EditBin);
00134 extern BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCTSTR keyPath);
00135 extern LONG RenameKey(HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpNewName);
00136 extern LONG RenameValue(HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpDestValue, LPCTSTR lpSrcValue);
00137 extern LONG QueryStringValue(HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpValueName, LPTSTR pszBuffer, DWORD dwBufferLen);
00138 extern BOOL GetKeyName(LPTSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCTSTR lpSubKey);
00139 
00140 /* security.c */
00141 extern BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCTSTR lpMachine, LPCTSTR lpKeyName);
00142 
00143 /* settings.c */
00144 extern void LoadSettings(void);
00145 extern void SaveSettings(void);

Generated on Sun May 27 2012 04:16:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.