Configuration Viewer 1.0 ======================== This is something I quickly threw together to allow GUI editing of ACE_Configuration files. I thought it would be useful and serve as a better example of how to use ACE_Configuration. I developed this under Windows 2000, but it should easily port to any platform that wxWindows supports (see http://www.wxwindows.org.). ============== Usage ============== All functionality is delivered through the file menu and right mouse button context menus. The file menu lets you create the different types of ACE_Configurations such as a transient heap, persistent heap or Win32 Registry heap. A new persistent heap may be created, or an older one may be opened. The win32 registry will require you to enter the path from HKEY_LOCAL_MACHINE that you want to open. For example: "Software/TAO" would set the Win32Registry's root to HKEY_LOCAL_MACHINE/Software/TAO. Note that this quick implementation loads the entire tree, so if you enter "Software" it may take a minute to load up - beware! Next you may import or export entries from a heap to an INI file using the Import/Export file commands. The right mouse button opens up a context menu in both the tree control and the list control. From the tree context menu, you can: 1) Create new keys (these hold name/value pairs) 2) Create new string values 3) Create new integer values 4) Delete a key (beware, everything beneath it will be removed as well) From the list control context menu, you can: 1) Modify a the value of an entry 2) Delete the entry 3) Rename the entry Known Bugs/Issues: *) You cannot enter/edit binary types *) Adding a new string/integer value with the same name as an existing entry will overwrite the existing entry without warning. I think there is a memory leak that occurs as well. *) You can add entries to the root key, but they will not be imported or exported. I think this is by design and the GUI should prevent this. I need to investigate this further. *) The entire configuration file is loaded into the tree when it is opened. For large configurations, this may take a while. A good improvement would be to load items as the user expands them. *) At the time of this writing, there is a nasty bug in ACE_Configuration_Heap that has to do with changing the value of an existing entry. I have submitted a patch to fix this, but it may not go in until 5.1.3 (current version is 5.1.2). I strongly recommend that you get the patch/newer version! *) Renaming of Keys is not supported. This requires an enhancement to ACE_Configuration first. *) No makefiles for other platforms exist, can you donate one? *) This has only been tested for non MFC DLL builds of ACE, it should work fine in the other configurations, but I haven't tested it. ============================================= This was developed using: *) wxWindows 2.1.15 *) ACE 5.0.16 + My patch to fix a bug in ACE_Configuration_Heap *) Windows 2000 *) MSVC 6.0 + SP3 If you have any questions or comments, please send me an email. I really enjoy hearing about others that find this contribution useful! Chris Hafey May 2, 2000 chris@stentorsoft.com