Irrlicht Patches svn 2701 and later

Warning: Don't install patches unless you really have to!
My good patches will go into the engine directly.
Those here are the ones where I feel they are not (yet) suited for the engine.

The patches are under the zlib-license, the same license as used in the Irrlicht engine.
Last edit: 26.march.2012

- add a fontfactory to the guienvironment

(Simliar patch is in svn-trunk for Irrlicht 1.8) element_name.patch
- add a name element to IGUIElement which can be used to identify elements (because working with ID's gets confusing very fast)

- add a textID field which can be used by stringtables

- add a textID field which can be used by stringtables

(Is in svn-trunk for Irrlicht 1.7, but renamed to clearSystemMessages) device_clearevents.patch
- add clearPendingEvents for linux and windows

(Is in svn-trunk for Irrlicht 1.7) texpath.patch
- allow setting a texturepath for .b3d files
- allow setting a texturepath for .obj files

(Is in svn-trunk for Irrlicht 1.7) menu_autochecking.patch
- grownup menues can handle checking flags on click themself
- serialize also checked flag
- some serialization cleanup

(Is in svn-trunk for Irrlicht 1.7) menu_closehandling.patch
- allow to set another behaviour when menus are closed

(Is in svn-trunk for Irrlicht 1.7) menu_deserialize_nice.patch
- added some existsAttribute checks to allow for incomplete xml's as the other default mechanism
does not work for sub-elements. So defaults are hardcoded, but still better than having to type them
so often in the xml's. Also this will make nicer xml's even without my other default mechanism.

(Is in svn-trunk for Irrlicht 1.7) menu_eventparent.patch
- with just a little change the eventparent functionality was surprisingly useful as interface function

(Is in svn-trunk for Irrlicht 1.7) menu_findbycommandid.patch
- add comfort function to find menu items by their command id

- add multiselection to the listbox
- this patch sucks - it was developed mainly so it would change minimal stuff in Irrlicht. Just a placeholder until I find time for a good solution.

- Add textwrapping in lines

(Is in svn-trunk for Irrlicht 1.7) attributes_cleanup.patch
- give E_ATTRIBUTE_TYPE own header EAttributes.h
- give IAttribute own header IAttribute.h
- CStringWArrayAttribute can use const-ref instead of copy

default_attributes patch
- adding isEqualTo to IAttribute and CStringWArrayAttribute (should be const, but not possible due to getStringW not beeing const)
- adding new functions getDefaultAttributes, setDefaultAttributeUsage in IAttributes, CAttributes
- put getAttributeP into the IAttributes interface and make it public in CAttributes
- adding new function isEqualToDefaultAttribute to CAttributes
- adding DefaultAttributes and DefaultAttributeUsage to CAttributes

(needs default_attributes patch)
- add support for default attributes to the guienvironment
- IGUIElementFactory and CDefaultGUIElementFactory have now getTypeFromName as public interface (was private in CDefaultGUIElementFactory)
- getTypeFromName added to CGUIEnvironment

(Improved version is in svn-trunk for Irrlicht 1.8) editbox_disabledcol.patch
- give editbox EGDC_INACTIVE_BORDER color when disabled (that wasn't visible before)

(needs listbox_multiselection.patch) - fileopen dialog can now open several files at once
- this patch still sucks - it works - but in a horrible bad way (like everything is single-click). It's only a placeholder until I find time for a good solution.

- support some international keyinput on linux

(a more advanced solution is now in trunk and will be in Irrlicht 1.7) no_make_lower.patch
- make_lower for names which are also used as filenames removed (not a perfect solution, but probably better than the current way)

- A profiler specialized to profile peaks

(beware - irrlicht default-font not yet checked)
- button, editbox and statictext do now serialize the override fonts

- add line-scrolling support to statictext elements

(Improved version is in svn-trunk for Irrlicht 1.8) noX11.patch
- allow disabling X11 per define parameter so it can be set with -D instead of changing sources

(Is in svn-trunk for Irrlicht 1.7) menu_insert.patch
- add function insertItem to menu

(Is in svn-trunk for Irrlicht 1.7) menu_subs_inside.patch
- make sure sub-menus open inside the mainscreen (but not caring about parent-menus so far, should do both in engine)

- allow disabling the bringtofront for windows. (not yet a nice patch, works for me...)

(Is in svn-trunk for Irrlicht 1.7) window_active.patch
- make sure titlebar of windows shows active/not active status.

(Is in svn-trunk for Irrlicht 1.8) listbox_getitemat.patch
- add function getItemAt to listbox which returns the menu-item at given mouse coordinates.

(is in Irrlicht 1.6) make_irr_id.patch
- MAKE_IRR_ID shouldn't use types with irr namespace

(is in Irrlicht 1.6) createemptyfilelist.patch
- Add a function to filesystem to allow create CFileList objects