EditorWindowDock.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. Other things to remember:
  9. - Possibly add a way to have hidden widgets in the EditorWidgetContainer (like side-bars that pop on mouse over in Visual Studio)
  10. - A way to persist window states
  11. - Also a way to reset all widgets to original locations
  12. ------------------------
  13. EditorWindow enumeraton in C#:
  14. To get all classes in a mono image:
  15. MonoClass*
  16. mono_assembly_get_classes (MonoAssembly *assembly, gpointer *iter)
  17. {
  18. MonoImage *image;
  19. int num_types;
  20. gssize *index;
  21. if (!iter)
  22. return NULL;
  23. index = (gssize *) iter;
  24. /* skip the <Module> */
  25. if (!*index)
  26. *index = 1;
  27. image = mono_assembly_get_image (assembly);
  28. num_types = mono_image_get_table_rows (image, MONO_TABLE_TYPEDEF);
  29. if (*index < num_types) {
  30. (*index)++;
  31. return mono_class_get (image, *index | MONO_TOKEN_TYPE_DEF);
  32. } else {
  33. *index = 0;
  34. return NULL;
  35. }
  36. }
  37. More info on how to potentially access other properties, here: http://docs.go-mono.com/?link=xhtml%3adeploy%2fmono-api-metadata.html
  38. To get class hierarchy:
  39. mono_class_get_parent to get parent class (does this mean base class?)
  40. mono_class_is_assignable_from potentially
  41. mono_class_is_subclass_of
  42. 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