EditorWindowDock.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. DockManager::setLayout
  11. DockManagerLayoutRTTI
  12. EditorWidgetLayout & EditorWidgetLayoutRTTI
  13. EditorWidgetManager::setLayout, EditorWidgetManager::getLayout
  14. Some kind of automatic loading & saving of currently selected EditorWidgetLayout
  15. C# EditorWindows
  16. ------------------------
  17. Other things to remember:
  18. - Possibly add a way to have hidden widgets in the EditorWidgetContainer (like side-bars that pop on mouse over in Visual Studio)
  19. ------------------------
  20. EditorWindow enumeraton in C#: - HOWEVER I think it's almost certainly better do just use C# reflection. I don't see any advantages
  21. to doing it in C++.
  22. To get all classes in a mono image:
  23. MonoClass*
  24. mono_assembly_get_classes (MonoAssembly *assembly, gpointer *iter)
  25. {
  26. MonoImage *image;
  27. int num_types;
  28. gssize *index;
  29. if (!iter)
  30. return NULL;
  31. index = (gssize *) iter;
  32. /* skip the <Module> */
  33. if (!*index)
  34. *index = 1;
  35. image = mono_assembly_get_image (assembly);
  36. num_types = mono_image_get_table_rows (image, MONO_TABLE_TYPEDEF);
  37. if (*index < num_types) {
  38. (*index)++;
  39. return mono_class_get (image, *index | MONO_TOKEN_TYPE_DEF);
  40. } else {
  41. *index = 0;
  42. return NULL;
  43. }
  44. }
  45. More info on how to potentially access other properties, here: http://docs.go-mono.com/?link=xhtml%3adeploy%2fmono-api-metadata.html
  46. To get class hierarchy:
  47. mono_class_get_parent to get parent class (does this mean base class?)
  48. mono_class_is_assignable_from potentially
  49. mono_class_is_subclass_of
  50. 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