EditorWindowDock.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. TODO:
  2. - Closing all docked widgets causes an exception
  3. - Test out minimum dock container size and maybe increase it a bit
  4. Polish TOOD:
  5. - Change cursor icon when window is dragged
  6. - Prevent docking if available size is less than 20 pixels, otherwise there might be some weirdness
  7. ------------------------
  8. Layout saving/loading:
  9. TODO:
  10. Register a bunch of duplicate widgets and open and dock them
  11. C# EditorWindows
  12. ------------------------
  13. Other things to remember:
  14. - Possibly add a way to have hidden widgets in the EditorWidgetContainer (like side-bars that pop on mouse over in Visual Studio)
  15. ------------------------
  16. EditorWindow enumeraton in C#: - HOWEVER I think it's almost certainly better do just use C# reflection. I don't see any advantages
  17. to doing it in C++.
  18. To get all classes in a mono image:
  19. MonoClass*
  20. mono_assembly_get_classes (MonoAssembly *assembly, gpointer *iter)
  21. {
  22. MonoImage *image;
  23. int num_types;
  24. gssize *index;
  25. if (!iter)
  26. return NULL;
  27. index = (gssize *) iter;
  28. /* skip the <Module> */
  29. if (!*index)
  30. *index = 1;
  31. image = mono_assembly_get_image (assembly);
  32. num_types = mono_image_get_table_rows (image, MONO_TABLE_TYPEDEF);
  33. if (*index < num_types) {
  34. (*index)++;
  35. return mono_class_get (image, *index | MONO_TOKEN_TYPE_DEF);
  36. } else {
  37. *index = 0;
  38. return NULL;
  39. }
  40. }
  41. More info on how to potentially access other properties, here: http://docs.go-mono.com/?link=xhtml%3adeploy%2fmono-api-metadata.html
  42. To get class hierarchy:
  43. mono_class_get_parent to get parent class (does this mean base class?)
  44. mono_class_is_assignable_from potentially
  45. mono_class_is_subclass_of
  46. Attributes: Very much undocumented but a lot of stuff here relates to attributes: http://docs.go-mono.com/?link=xhtml%3adeploy%2fmono-api-reflection.html