OpenSceneGraph/include/osgDB
Robert Osfield 687fd9362f From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing in its keyUp event, and in particular didn't call any callbacks. Since I wanted to have callbacks on keyUp, I copied what it does on keyDown, which works for me. I could have just used keyDown and saved myself the trouble, but you know me... :-)
osgWidget::Input:

[Functional changes]
- Previously, the field would be filled with spaces up to its max length, and typing would just replace the spaces. Also, there was a _textLength variable that kept track of the real length of text in the field, since the osgText::Text's length just reflected the length of spaces+text entered. This was not great, as you could still select the spaces with the mouse and it just feels hacky. So I changed it to only contain the text entered, no spaces, and _textLength was removed since it's now redundant (the osgText::Text's length is used instead).
- Fixed the selection size which (visually only) showed one more character selected than what was really selected.
- Fixed selection by dragging the mouse, it would sometimes not select the last character of the string.
- Cursor will now accurately reflect whether insert mode is activated (block cursor) or we're in normal mode (line cursor) like in most editors.
- Implemented Ctrl-X (cut)
- Added a new clear() method that allows the field to be emptied correctly. Useful for a command line interface, for example (hint, hint).
- Mouse and keyboard event handler methods would always return false, which meant selecting with the mouse would also rotate the trackball, and typing an 's' would turn on stats.

[Code cleanup]
- Renamed the (local) _selectionMin and _selectionMax variables which are used in a lot of places, as the underscores would lead to think they were members. Either I called them selection{Min|Max} or delete{Min|Max} where it made more sense.
- Fixed some indenting which was at 3 spaces (inconsistently), I'm sure I didn't catch all the lines where this was the case though.
- Put spaces between variable, operator and value where missing, especially in for()s. Again I only did this where I made changes, there are probably others left.

The result is that delete, backspace, Ctrl-X, Ctrl-C, Ctrl-V, and typing behaviour should now be consistent with text editor conventions, whether insert mode is enabled or not. I hope. :-)

Note, there's a nasty const_cast in there. Why isn't osgText::Font::getGlyph() declared const?

Also, as a note, the current implementation of cut, copy and paste (in addition to being Windows only, yuck) gets and puts the data into an std::string, thus if the osgText::String in the field contains unicode characters I think it won't work correctly. Perhaps someone could implement a proper clipboard class that would be cross-platform and support osgText::String (more precisely other languages like Chinese) correctly? Cut, copy and paste are not critical to what I'm doing so I won't invest the time to do that, but I just thought I'd mention it.
"
2010-09-09 16:49:10 +00:00
..
Archive Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace. 2009-05-09 08:49:27 +00:00
AuthenticationMap
Callbacks Moved ReadFile/WriteFile/FindFile/FileLocationCallbacks from include/osg/Options into their own Callbacks header/source file. 2009-05-11 16:38:40 +00:00
ConvertUTF From Michael Platings, "There is a function, convertStringFromCurrentCodePageToUTF8() that would be useful outside the FBX plugin so it belongs in osgDB. I've attached ConvertUTF and ConvertUTF.cpp with the function added for you to commit at your convenience. 2010-02-25 17:07:34 +00:00
DatabasePager Aded option for doing a glFlush() after compiling texture objects, with a dedicated compile thread default to issuing the glFlush. 2010-08-09 16:19:50 +00:00
DatabaseRevisions Added append() method 2009-06-19 11:04:48 +00:00
DataTypes From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing in its keyUp event, and in particular didn't call any callbacks. Since I wanted to have callbacks on keyUp, I copied what it does on keyDown, which works for me. I could have just used keyDown and saved myself the trouble, but you know me... :-) 2010-09-09 16:49:10 +00:00
DotOsgWrapper Fixed automatic loading of plugins 2010-02-10 16:23:27 +00:00
DynamicLibrary
Export
FileCache Implemented updating of revision files as new data is writing to the FileCache 2009-06-04 14:07:12 +00:00
FileNameUtils From Sukender, "Here is my proposal. I fixed what Paul said, added some doxygen comments, added the function I told about, and removed the two "find('/')"-like calls to use only one." 2010-03-10 11:40:17 +00:00
FileUtils Fom Sukender, "Added copyFile() and comments in FileUtils." 2010-01-28 10:45:40 +00:00
fstream Merged in various changes from the OSG-2.8 to being svn/trunk up to date. 2009-02-19 14:24:10 +00:00
ImageOptions Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace. 2009-05-09 08:49:27 +00:00
ImagePager Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace. 2009-05-09 08:49:27 +00:00
Input Moved the declaration of osgDB::Field, FieldReader and FieldReaderIterator into include/osg/Input to centralise all the deprecated .osg parsing code into one place. 2010-01-25 15:24:47 +00:00
InputStream From Cedric Pinson, "Here a fix about a leak in InputStream::decompress 2010-06-15 10:02:34 +00:00
ObjectWrapper From Wang Rui, "Attached is the osgAnimation wrappers for serialize IO operations. A 2010-04-19 10:35:18 +00:00
Options From Michael Platings with tweaks from Robert Osfield, added Options::s/getPrecisionHint(..) to allow apps to hint to plugins about how to handle double precision geometry data. 2010-04-13 13:06:27 +00:00
Output Moved the declaration of osgDB::Field, FieldReader and FieldReaderIterator into include/osg/Input to centralise all the deprecated .osg parsing code into one place. 2010-01-25 15:24:47 +00:00
OutputStream From Wang Rui, "I'd like to submit my inbuilt schema data support of 2010-05-12 20:02:31 +00:00
ParameterOutput Fixed warnings 2009-01-07 10:32:59 +00:00
PluginQuery From Ralf Habacker, "The appended patch fixes this issue by adding a virtual method named supportedFeatures() to the class ReaderWriter, which could be overriden by a specific plugin to adjust the set of features. 2009-03-10 15:00:39 +00:00
ReaderWriter From Vincent Bourdier, addition of out of memory read result. 2010-03-10 14:28:18 +00:00
ReadFile From Chris Hanson, " Remove vestigial (and because it was undocumented, potentially harmful) code to ignore 2009-11-20 14:51:43 +00:00
Registry Removed no longer defined methods and updated wrappers 2010-02-19 14:05:49 +00:00
Serializer From Wang Rui, "Henry and Brendan just found a small bug of the ListSerializer which 2010-06-09 10:01:25 +00:00
SharedStateManager Introduce NodeVisitor::className and libraryName() 2008-12-17 12:13:15 +00:00
StreamOperator Fixed warnings 2010-04-13 09:42:53 +00:00
Version
WriteFile Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace. 2009-05-09 08:49:27 +00:00
XmlParser Added proper support for writing out Xml graph 2010-04-30 19:41:56 +00:00