3class SCR_BookmarkPlugin1 : WorkbenchPlugin
6 protected int GetBookmarkIndex()
14 ResourceManager resourceManager = Workbench.GetModule(ResourceManager);
16 array<ResourceName> selection = {};
17 resourceManager.GetResourceBrowserSelection(selection.Insert,
true);
19 int bookmarkIndex = GetBookmarkIndex();
20 SCR_BookmarkSettingsPlugin settings = SCR_BookmarkSettingsPlugin.Cast(Workbench.GetModule(ResourceManager).GetPlugin(SCR_BookmarkSettingsPlugin));
21 ResourceName bookmarkFile = settings.GetBookmarkFile(bookmarkIndex);
27 if (selection.IsEmpty() || bookmarkFile == selection[0])
31 else if (bookmarkFile)
33 SCR_BookmarkPluginPrompt prompt =
new SCR_BookmarkPluginPrompt();
34 if (Workbench.ScriptDialog(
"Open or Replace",
string.Format(
"Do you want to open the existing bookmark '%1'\nor replace it (bookmark %2) by the selected file '%3'?", FilePath.StripPath(bookmarkFile), bookmarkIndex, FilePath.StripPath(selection[0])), prompt) == 0)
37 action = prompt.GetSelectedAction();
52 PrintFormat(
"Opening bookmark %1: @\"%2\"", bookmarkIndex, bookmarkFile, level:
LogLevel.NORMAL);
53 resourceManager.SetOpenedResource(bookmarkFile);
63 bookmarkFile = selection[0];
64 if (settings.SetBookmarkFile(bookmarkIndex, bookmarkFile))
65 PrintFormat(
"Bookmark %1 now points to @\"%2\"", bookmarkIndex, bookmarkFile.GetPath(), level:
LogLevel.NORMAL);
67 PrintFormat(
"Cannot set bookmark's value, the provided index is invalid (%1)", bookmarkIndex, level:
LogLevel.ERROR);
75 protected int ButtonClose()
82class SCR_BookmarkPlugin2 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 2; } }
85class SCR_BookmarkPlugin3 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 3; } }
88class SCR_BookmarkPlugin4 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 4; } }
91class SCR_BookmarkPlugin5 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 5; } }
94class SCR_BookmarkPlugin6 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 6; } }
97class SCR_BookmarkPlugin7 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 7; } }
100class SCR_BookmarkPlugin8 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 8; } }
103class SCR_BookmarkPlugin9 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 9; } }
106class SCR_BookmarkPlugin0 : SCR_BookmarkPlugin1 {
override protected int GetBookmarkIndex() {
return 10; } }
108class SCR_BookmarkPluginPrompt
110 protected int m_iAction = -1;
120 protected int ButtonOpen()
128 protected int ButtonReplace()
143[
WorkbenchPluginAttribute(name:
"Bookmarks Configuration", description:
"Configure bookmarks", wbModules: {
"ResourceManager" }, awesomeFontCode: 0xF02E)]
144class SCR_BookmarkSettingsPlugin : WorkbenchPlugin
179 array<ResourceName> save = { m_sBookmark_1, m_sBookmark_2, m_sBookmark_3, m_sBookmark_4, m_sBookmark_5, m_sBookmark_6, m_sBookmark_7, m_sBookmark_8, m_sBookmark_9, m_sBookmark_10 };
180 if (Workbench.ScriptDialog(
"Configure Bookmarks",
"Select which files will be opened upon pressing bookmarks's shortcuts (Ctrl+#).",
this) == 0)
184 m_sBookmark_1 = save[0];
185 m_sBookmark_2 = save[1];
186 m_sBookmark_3 = save[2];
187 m_sBookmark_4 = save[3];
188 m_sBookmark_5 = save[4];
189 m_sBookmark_6 = save[5];
190 m_sBookmark_7 = save[6];
191 m_sBookmark_8 = save[7];
192 m_sBookmark_9 = save[8];
193 m_sBookmark_10 = save[9];
202 switch (bookmarkIndex)
204 case 1:
return m_sBookmark_1;
205 case 2:
return m_sBookmark_2;
206 case 3:
return m_sBookmark_3;
207 case 4:
return m_sBookmark_4;
208 case 5:
return m_sBookmark_5;
209 case 6:
return m_sBookmark_6;
210 case 7:
return m_sBookmark_7;
211 case 8:
return m_sBookmark_8;
212 case 9:
return m_sBookmark_9;
213 case 10:
return m_sBookmark_10;
223 bool SetBookmarkFile(
int bookmarkIndex,
ResourceName newBookmark)
225 switch (bookmarkIndex)
227 case 1: m_sBookmark_1 = newBookmark;
return true;
228 case 2: m_sBookmark_2 = newBookmark;
return true;
229 case 3: m_sBookmark_3 = newBookmark;
return true;
230 case 4: m_sBookmark_4 = newBookmark;
return true;
231 case 5: m_sBookmark_5 = newBookmark;
return true;
232 case 6: m_sBookmark_6 = newBookmark;
return true;
233 case 7: m_sBookmark_7 = newBookmark;
return true;
234 case 8: m_sBookmark_8 = newBookmark;
return true;
235 case 9: m_sBookmark_9 = newBookmark;
return true;
236 case 10: m_sBookmark_10 = newBookmark;
return true;
244 protected int ButtonSave()
class WorkbenchDialog_AbortRetryIgnore ButtonAttribute("OK", true)
LogLevel
Enum with severity of the logging message.
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)
SCR_FieldOfViewSettings Attribute
proto external BaseUserAction GetSelectedAction()