Last updated:
3. June 2002

User Interface Programming

(Start main menu) Home ­ Articles ­ Book ­ Resources (End main menu)

TextEdit ChangeLog and Todo-list

(Start sub-menu)

Table of Contents


Sample Chapter




My blog »

(End sub-menu)

Programming Industrial Strength Windows (cover)

Changes to TextEdit since original publication.

This table lists changes to TextEdit since original publication.
When Where What
4. June 2002 openFileDlg.cpp
Sets current directory before opening dia­log box. Plus a number of minor improvements.
11. February 2002 TextEdit.rc
TextEdit.exe.manifest  NEW 
The resource file now includes a manifest for the benefit of Windows XP styles/themes.
11. February 2002 Editor.cpp Editor::onPosChange is sometimes called (at least under Windows XP) before the Editor constructor is done, while the toolbar and statusbar pointers are invalid. The method now allows for this possibility.
11. February 2002 Registry.cpp
Rebranding: Registry data is now stored under Software/Accenture rather than the firm’s old name. The rebranding migrates all user data to the new key name.
25. January 2002 Document.cpp Properly handles file-sharing: locked files opened with FILE_SHARE_READ | FILE_SHARE_WRITE rather than just FILE_SHARE_READ.
25. January 2002 link.cpp
Fixed a sometimes erroneous assertion.
Added rich edit definitions to compensate for old SDK header files.
27. July 2001 language.cpp
The language selection combo box does not add system or user default if the executable doesn’t contain them.
I’m not sure whether this is a great idea…
27. July 2001 InstanceSubclasser.h
Fixed a memory leak by making unSubclass virtual, then subclassing and overriding it in HTML.cpp.
27. July 2001 createNewFile.cpp
The ‘make copy of …’ command now has a Save As dia­log that let’s you select the name and location.
Fixes typing problem in drop-down combobox (see relevant column).
Winter 2001 RichEditWnd.cpp Uses tab settings if RichEdit 3.0 is available.
8. March 2000 resolveName.cpp The assertion 

assert( E_FAIL == hres || 0x80070015 == hres );

triggered when a file was not found. The ac­tu­al value of hres turned out to be 0x80070002, which is just a fancy OLE/COM way of saying “file not found.” No reason to handle this differently from E_FAIL, but the assertion has been updated.

The value 0x80070015, by the way, is “device not ready,” which should be handled. Later, I promise.

8. March 2000 TextEdit.rc The height of the IDC_MESSAGE widget in the IDD_SETUP dia­log has been increased from 8 to 10.

 NEW  I’m working on a syntax-coloring editor to replace the rich edit widget. Look for it in these pages!

TextEdit Todo-list and Open Issues

These get moved up when resolved. If you have suggestions, please let me know.

  1. Language selection box: What if system or user language doesn’t exist in the exe file?
  2. Autosave to floppies is a problem. Shouldn’t do this on WM_ACTIVATE( FALSE )—unless, perhaps, in a background thread.
  3. The Help/Web Home Page command does not take you to an upgrade, which is too bad. A real across-the-web auto-upgrade feature would be nice, ¿yesno?
  4. When the file name changes, the MRU item is updated. The system’s MRU list is, however, not updated, and the Start Menu/Documents entry is wrong. I don’t think there’s an API for renaming or deleting MRU items. Doing it undocumentedly isn’t hard, but is it a good idea?
  5. Should handle “well-known” errors specifically, such as when file is locked by another process.
  6. Got an “unknown system exception” while changing some environment variables!
  7. Reset view (top line, cursor position) after Ctrl+W. This will be easier with the new Copperfield widget.
  8. When opening a file, set current directory to file’s directory.
  9. Open/Save dia­log templates should be resizable
  10. Check read-only status when loading file.
  11. Open file preview win­dow should support mosue wheel.
  12. If you click in the text area after modifying the tabs field, no change is made and the current tab does not reflect the apparent settings.
  13. When you change the tab settings, the cursor is scrolled into view. Is that what you want?
  14. If a file is locked we get access denied for read-write. Open as read-only instead? I need a proper file system monitor!
  15. Include line count in properties dia­log.
  16. When doing Replace All: Don’t show each change, as this slows things down for large files.
  17. Status line displayed too low on an NT4 system.
  18. Window menu for all currently open windows (semi-MDI).
  19. MDI option?

File System Monitor: Requirements

(Start bottom menu)

Win­dows De­vel­oper Maga­zineR&D BooksCMP Books Petter Hesselberg

(End bottom menu)