@CodeView.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /******************************************************************************/
  2. class CodeView : Region, Edit::CodeEditorInterface
  3. {
  4. Memx<EEItem > items;
  5. Memc<EEItem*> items_sorted;
  6. virtual void configChangedDebug()override;
  7. virtual void configChanged32Bit()override;
  8. virtual void configChangedDX9()override;
  9. virtual void configChangedEXE()override;
  10. virtual void visibleChangedOptions ()override;
  11. virtual void visibleChangedOpenedFiles ()override;
  12. virtual void visibleChangedOutput ()override;
  13. virtual void visibleChangedAndroidDevLog()override;
  14. virtual UID projectID()override;
  15. virtual UID appID ()override;
  16. virtual Str appName ()override;
  17. virtual Str appDirsWindows ()override;
  18. virtual Str appDirsNonWindows ()override;
  19. virtual Str appHeadersWindows ()override;
  20. virtual Str appHeadersMac ()override;
  21. virtual Str appHeadersLinux ()override;
  22. virtual Str appHeadersAndroid ()override;
  23. virtual Str appHeadersiOS ()override;
  24. virtual Str appLibsWindows ()override;
  25. virtual Str appLibsMac ()override;
  26. virtual Str appLibsLinux ()override;
  27. virtual Str appLibsAndroid ()override;
  28. virtual Str appLibsiOS ()override;
  29. virtual Str appPackage ()override;
  30. virtual Str appLicenseKey ()override;
  31. virtual Str appLocationUsageReason ()override;
  32. virtual Int appBuild ()override;
  33. virtual ulong appFacebookAppID ()override;
  34. virtual Str appChartboostAppIDiOS ()override;
  35. virtual Str appChartboostAppSignatureiOS ()override;
  36. virtual Str appChartboostAppIDGooglePlay ()override;
  37. virtual Str appChartboostAppSignatureGooglePlay()override;
  38. virtual Edit::STORAGE_MODE appPreferredStorage ()override;
  39. virtual UInt appSupportedOrientations ()override;
  40. virtual UID appGuiSkin ()override;
  41. virtual int appEmbedEngineData ()override;
  42. virtual Cipher* appEmbedCipher ()override;
  43. virtual COMPRESS_TYPE appEmbedCompress ()override;
  44. virtual int appEmbedCompressLevel ()override;
  45. virtual DateTime appEmbedSettingsTime ()override; // return Max of all params affecting PAK's
  46. virtual Bool appPublishProjData ()override;
  47. virtual Bool appPublishPhysxDll ()override;
  48. virtual Bool appPublishSteamDll ()override;
  49. virtual Bool appPublishOpenVRDll ()override;
  50. virtual Bool appPublishDataAsPak ()override;
  51. virtual Bool appAndroidExpansion ()override;
  52. //virtual Bool appWindowsCodeSign ()override {if(Elm *app=Proj.findElm(Proj.curApp()))if(ElmApp *app_data=app.appData())return app_data.windowsCodeSign () ; return super.appWindowsCodeSign();}
  53. virtual ImagePtr appIcon ()override;
  54. virtual ImagePtr appImagePortrait ()override;
  55. virtual ImagePtr appImageLandscape ()override;
  56. virtual ImagePtr appNotificationIcon ()override;
  57. static void ImageGenerateProcess(ImageGenerate &generate, ptr user, int thread_index);
  58. static void ImageConvertProcess (ImageConvert &convert , ptr user, int thread_index);
  59. virtual void appSpecificFiles(MemPtr<PakFileData> files)override;
  60. virtual void appInvalidProperty(C Str &msg)override;
  61. virtual void validateActiveSources()override;
  62. virtual Rect menuRect()override;
  63. virtual Rect sourceRect()override;
  64. virtual Str sourceProjPath(C UID &id)override;
  65. virtual Edit::ERROR_TYPE sourceDataLoad(C UID &id, Str &data)override;
  66. virtual Bool sourceDataSave(C UID &id, C Str &data)override;
  67. virtual void sourceChanged(bool activate=false)override;
  68. virtual Bool elmValid (C UID &id )override;
  69. virtual Str elmBaseName (C UID &id )override;
  70. virtual Str elmFullName (C UID &id )override;
  71. virtual void elmHighlight(C UID &id, C Str &name)override;
  72. virtual void elmOpen (C UID &id )override; // don't toggle currently opened source because it will close it
  73. virtual void elmLocate (C UID &id )override;
  74. virtual void elmPreview (C UID &id, C Vec2 &pos, bool mouse, C Rect&clip)override;
  75. virtual Str idToText(C UID &id, Bool *valid)override; // if we're in code then it already displays an ID, no need to write the same ID on top of that
  76. virtual void getProjPublishElms(Memc<ElmLink> &elms)override;
  77. Str importPaths(C Str &path)C;
  78. void drag(C MemPtr<UID> &elms, GuiObj *obj, C Vec2 &screen_pos);
  79. void drop(C MemPtr<Str> &names, GuiObj *obj, C Vec2 &screen_pos);
  80. bool selected()C;
  81. void selectedChanged();
  82. void flush(); // do nothing because sources need to be saved manually
  83. void overwriteChanges();
  84. void sourceTitleChanged(C UID &id); // call if name or "modified state" changed
  85. void sourceRename(C UID &id);
  86. bool sourceDataSet(C UID &id, C Str &data);
  87. void cleanAll();
  88. static int Compare(C Enum::Elm &a, C Enum::Elm &b);
  89. void makeAuto(bool publish=false);
  90. void codeDo(Edit::BUILD_MODE mode);
  91. void buildDo(Edit::BUILD_MODE mode);
  92. void build ();
  93. void publish();
  94. void play ();
  95. void debug ();
  96. void rebuild(); // override to call custom 'build'
  97. void openIDE();
  98. bool Export(Edit::EXPORT_MODE mode, bool data=false);
  99. virtual void publishSuccess(C Str &exe_name, Edit::EXE_TYPE exe_type, Edit::BUILD_MODE build_mode, C UID &project_id)override; // code compiled successfully
  100. virtual CodeView& del()override;
  101. static int CompareItem(EEItem *C &a, EEItem *C &b);
  102. static int CompareItem(EEItem *C &a, C Str &b);
  103. void createItems(Memx<EEItem> &dest, C Memx<Edit::Item>&src, EEItem*parent);
  104. void create(GuiObj &parent);
  105. void resize(bool full=true);
  106. void activate(Elm *elm);
  107. void toggle(Elm *elm);
  108. void toggle(EEItem *item);
  109. void erasing(C UID &elm_id);
  110. void kbSet();
  111. virtual GuiObj* test (C GuiPC &gpc, C Vec2 &pos, GuiObj* &mouse_wheel)override;
  112. virtual void update(C GuiPC &gpc)override;
  113. virtual void draw(C GuiPC &gpc)override;
  114. void drawPreview(ListElm *list_elm);
  115. };
  116. /******************************************************************************/
  117. /******************************************************************************/
  118. extern CodeView CodeEdit;
  119. /******************************************************************************/