7#include <unordered_map>
31 bool IsOpen()
const {
return mIsOpen; }
39 void DrawAddonBrowser();
40 void DrawInstalledAddons();
41 void DrawRepositoryManager();
42 void DrawAddonCard(
const Addon& addon,
float cardWidth);
43 void DrawAddonDetailsPopup();
44 void DrawAddRepoPopup();
47 void DrawViewModeToggle();
48 void DrawAddonTable_Browse(
const std::vector<const Addon*>& filtered);
49 void DrawAddonTable_Installed(
const std::vector<InstalledAddon>& installed);
50 void DrawClampedName(
const char* name,
float maxWidth);
51 void LoadViewSettings();
52 void SaveViewSettings();
54 void OnDownloadAddon(
const std::string& addonId);
55 void OnViewMore(
const std::string& addonId);
56 void OnUninstallAddon(
const std::string& addonId);
63 bool DoesAddonHaveGitRepo(
const std::string& addonId);
64 void InvalidateAddonGitRepoCacheIfProjectChanged();
65 std::string GetAddonDirectory(
const std::string& addonId)
const;
66 void OpenAddonInVersionControl(
const std::string& addonId);
67 void InitAddonGitRepo(
const std::string& addonId);
68 void OnAddRepository();
69 void OnRemoveRepository(
const std::string& url);
70 void OnRefreshRepositories();
71 void OnResolveDependencies();
74 void OnBuildNativeAddon(
const std::string& addonId);
75 void OnReloadNativeAddon(
const std::string& addonId);
76 void OnToggleNativeEnabled(
const std::string& addonId);
77 void OnToggleNativeMode(
const std::string& addonId);
78 void OnSyncNativeAddonBinary(
const std::string& addonId);
84 bool mUseTableView =
true;
87 bool mShowAddonDetails =
false;
88 bool mShowAddRepoPopup =
false;
89 std::string mSelectedAddonId;
90 char mRepoUrlBuffer[512] = {};
91 std::string mErrorMessage;
92 std::string mStatusMessage;
95 char mSearchBuffer[256] = {};
96 std::vector<std::string> mSelectedTags;
97 std::string mSelectedCategory;
100 std::vector<std::string> mAvailableTags;
103 bool mNeedsRefresh =
true;
104 bool mIsRefreshing =
false;
107 bool mShowUninstallConfirm =
false;
108 std::string mUninstallAddonId;
109 void DrawUninstallConfirmPopup();
112 bool mShowBuildLog =
false;
113 std::string mBuildLogAddonId;
120 ImTextureID GetAddonThumbnail(
const std::string& addonId);
121 void ClearThumbnailCache();
122 std::unordered_map<std::string, std::string> mThumbnailPaths;
126 std::unordered_map<std::string, bool> mAddonGitRepoCache;
127 std::string mGitRepoCacheProjectDir;
130AddonsWindow* GetAddonsWindow();
void Shutdown()
Definition Engine.cpp:1147