7#include <unordered_map>
31 bool IsOpen()
const {
return mIsOpen; }
41 void InstallAddonById(
const std::string& addonId);
50 void ProcessPendingInstalls();
57 void ProcessPendingUninstalls();
61 void ProcessPendingUpdateCheck();
64 void DrawAddonBrowser();
65 void DrawInstalledAddons();
66 void DrawRepositoryManager();
67 void DrawAddonCard(
const Addon& addon,
float cardWidth);
68 void DrawAddonDetailsPopup();
69 void DrawAddRepoPopup();
72 void DrawViewModeToggle();
73 void DrawAddonTable_Browse(
const std::vector<const Addon*>& filtered);
74 void DrawAddonTable_Installed(
const std::vector<InstalledAddon>& installed);
75 void DrawClampedName(
const char* name,
float maxWidth);
76 void LoadViewSettings();
77 void SaveViewSettings();
79 void OnDownloadAddon(
const std::string& addonId);
80 void OnViewMore(
const std::string& addonId);
82 void OnUninstallAddon(
const std::string& addonId);
84 void RequestUninstall(
const std::string& addonId);
86 void RequestUpdate(
const std::string& addonId);
87 void DrawUpdateConfirmPopup();
89 void DrawUpdateStatusLabel(
const std::string& addonId);
96 bool DoesAddonHaveGitRepo(
const std::string& addonId);
97 void InvalidateAddonGitRepoCacheIfProjectChanged();
98 std::string GetAddonDirectory(
const std::string& addonId)
const;
99 void OpenAddonInVersionControl(
const std::string& addonId);
100 void InitAddonGitRepo(
const std::string& addonId);
101 void OnAddRepository();
102 void OnRemoveRepository(
const std::string& url);
103 void OnRefreshRepositories();
104 void OnResolveDependencies();
107 void OnBuildNativeAddon(
const std::string& addonId);
108 void OnReloadNativeAddon(
const std::string& addonId);
109 void OnToggleNativeEnabled(
const std::string& addonId);
110 void OnToggleNativeMode(
const std::string& addonId);
111 void OnSyncNativeAddonBinary(
const std::string& addonId);
113 bool mIsOpen =
false;
114 int mSelectedTab = 0;
117 bool mUseTableView =
true;
120 bool mShowAddonDetails =
false;
121 bool mShowAddRepoPopup =
false;
122 std::string mSelectedAddonId;
123 char mRepoUrlBuffer[512] = {};
124 std::string mErrorMessage;
125 std::string mStatusMessage;
128 char mSearchBuffer[256] = {};
129 std::vector<std::string> mSelectedTags;
130 std::string mSelectedCategory;
133 std::vector<std::string> mAvailableTags;
136 bool mNeedsRefresh =
true;
137 bool mIsRefreshing =
false;
142 bool mShowUninstallConfirm =
false;
143 bool mUninstallPopupRequested =
false;
144 std::string mUninstallAddonId;
145 std::vector<std::string> mUninstallDependents;
146 std::vector<std::string> mUninstallLocalDependents;
147 bool mUninstallNeedsRestart =
false;
148 void DrawUninstallConfirmPopup();
151 bool mShowUpdateConfirm =
false;
152 bool mUpdatePopupRequested =
false;
153 std::string mUpdateAddonId;
154 bool mUpdateAddonHasOwnRepo =
false;
157 bool mShowBuildLog =
false;
158 std::string mBuildLogAddonId;
165 ImTextureID GetAddonThumbnail(
const std::string& addonId);
166 void ClearThumbnailCache();
167 std::unordered_map<std::string, std::string> mThumbnailPaths;
171 std::unordered_map<std::string, bool> mAddonGitRepoCache;
172 std::string mGitRepoCacheProjectDir;
175AddonsWindow* GetAddonsWindow();
void Shutdown()
Definition Engine.cpp:1298