@SizeStatistics.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class SizeStatistics : ClosableWindow
  4. {
  5. class ElmListElm // project element as list element
  6. {
  7. bool proj_elm; // if this is a project element or some other file
  8. cchar8 *type_name;
  9. Str name, path;
  10. UID id;
  11. ELM_TYPE type;
  12. uint size, size_compressed;
  13. Str finalName()C;
  14. void setElm(C UID &id, uint size, uint size_compressed);
  15. void setTex(C Str &name, C Str &path, uint size, uint size_compressed);
  16. static Str FinalName(C ElmListElm &elm);
  17. static Str Size (C ElmListElm &elm);
  18. static Str SizeCmpr (C ElmListElm &elm);
  19. public:
  20. ElmListElm();
  21. };
  22. Memc<ElmListElm> data;
  23. List<ElmListElm> list;
  24. Menu menu;
  25. Memc<UID> menu_elm;
  26. Region region;
  27. ViewportSkin preview;
  28. MemberDesc sort_size[2];
  29. Str path;
  30. Pak pak;
  31. Image image;
  32. UID image_id;
  33. int packed_col;
  34. static void SelectSel(SizeStatistics &ss);
  35. static void DrawPreview(Viewport &viewport);
  36. void drawPreview();
  37. void release();
  38. virtual SizeStatistics& del ()override;
  39. virtual SizeStatistics& hide()override;
  40. virtual SizeStatistics& rect(C Rect &rect)override;
  41. void create();
  42. void refresh(C Str &path, Cipher *cipher);
  43. void display(C Str &path, Cipher *cipher=null);
  44. void displayUnusedMaterials();
  45. virtual void update(C GuiPC &gpc)override;
  46. public:
  47. SizeStatistics();
  48. };
  49. /******************************************************************************/
  50. /******************************************************************************/
  51. extern SizeStatistics SizeStats;
  52. /******************************************************************************/