1 /* 2 * ElementIds.java 3 * 4 * Copyright (C) 2021 by RStudio, PBC 5 * 6 * Unless you have received this program directly from RStudio pursuant 7 * to the terms of a commercial license agreement with RStudio, then 8 * this program is licensed to you under the terms of version 3 of the 9 * GNU Affero General Public License. This program is distributed WITHOUT 10 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, 11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the 12 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. 13 * 14 */ 15 package org.rstudio.core.client; 16 17 import com.google.gwt.aria.client.Id; 18 import com.google.gwt.dom.client.Element; 19 import com.google.gwt.user.client.ui.Widget; 20 import org.rstudio.core.client.dom.DomUtils; 21 import org.rstudio.core.client.regex.Pattern; 22 23 public class ElementIds 24 { 25 /** 26 * Return a unique ID based on examination of existing elements. Must be assigned 27 * immediately to an element in the DOM to ensure uniqueness. 28 * @param baseId 29 * @return 30 */ getUniqueElementId(String baseId)31 public static String getUniqueElementId(String baseId) 32 { 33 String elementIdBase = getElementId(baseId); 34 String elementId = elementIdBase; 35 int counter = 0; 36 37 // ensure uniqueness; for example, if multiple modal dialogs are displayed, make sure 38 // the OK button instances, etc., are uniquely identified 39 while (DomUtils.getElementById(elementId) != null) 40 { 41 elementId = elementIdBase + "_" + counter++; 42 } 43 return elementId; 44 } 45 assignElementId(Element ele, String id)46 public static void assignElementId(Element ele, String id) 47 { 48 ele.setId(getUniqueElementId(id)); 49 } 50 assignElementId(Widget widget, String id)51 public static void assignElementId(Widget widget, String id) 52 { 53 assignElementId(widget.getElement(), id); 54 } 55 getElementId(String id)56 public static String getElementId(String id) 57 { 58 return ID_PREFIX + id; 59 } 60 getAriaElementId(String id)61 public static Id getAriaElementId(String id) 62 { 63 return Id.of(getElementId(id)); 64 } 65 isInstanceOf(Widget widget, String baseId)66 public static boolean isInstanceOf(Widget widget, String baseId) 67 { 68 return isInstanceOf(widget.getElement(), baseId); 69 } 70 isInstanceOf(Element ele, String baseId)71 public static boolean isInstanceOf(Element ele, String baseId) 72 { 73 String actualId = ele.getId(); 74 String testId = ElementIds.getElementId(baseId); 75 if (actualId == testId) 76 return true; 77 78 // does ID match disambiguation pattern? 79 if (RE_NUMBERED_ELEMENT_ID.test(actualId)) 80 { 81 String trimmedId = actualId.substring(0, actualId.lastIndexOf('_')); 82 return trimmedId == testId; 83 } 84 return false; 85 } 86 idSafeString(String text)87 public static String idSafeString(String text) 88 { 89 // If text contains "C++" it will generate the same label as one containing 90 // plain "C", so substitute "CPP" to avoid duplicate IDs. 91 if (text.contains("C++")) 92 { 93 text = text.replaceFirst("C\\+\\+", "CPP"); 94 } 95 96 // replace all non-alphanumerics with underscores 97 String id = text.replaceAll("[^a-zA-Z0-9]", "_"); 98 99 // collapse multiple underscores to a single underscore 100 id = id.replaceAll("_+", "_"); 101 102 // clean up leading/trailing underscores 103 id = id.replaceAll("^_+", ""); 104 id = id.replaceAll("_+$", ""); 105 106 // convert to lowercase and return 107 return id.toLowerCase(); 108 } 109 idFromLabel(String label)110 public static String idFromLabel(String label) 111 { 112 return ID_PREFIX + "label_" + idSafeString(label); 113 } 114 idWithPrefix(String prefix, String id)115 public static String idWithPrefix(String prefix, String id) 116 { 117 return idSafeString(prefix) + "_" + id; 118 } 119 120 private static final Pattern RE_NUMBERED_ELEMENT_ID = Pattern.create("^[a-zA-Z0-9_]+_\\d+$"); 121 122 public final static String ID_PREFIX = "rstudio_"; 123 124 // global list of specific IDs we assign -- we keep this list centralized in this class as a 125 // so that we can be sure an ID is not used elsewhere in the product 126 public final static String RSTUDIO_LOGO = "rstudio_logo"; 127 public final static String CONSOLE_INPUT = "console_input"; 128 public final static String CONSOLE_OUTPUT = "console_output"; 129 public final static String DEPLOY_CONTENT = "deploy_content"; 130 public final static String FIND_REPLACE_BAR = "find_replace_bar"; 131 public final static String HELP_FRAME = "help_frame"; 132 public final static String LOADING_SPINNER = "loading_image"; 133 public final static String PLOT_IMAGE_FRAME = "plot_image_frame"; 134 public final static String POPUP_COMPLETIONS = "popup_completions"; 135 public final static String PREFERENCES_CONFIRM = "preferences_confirm"; 136 public final static String PUBLISH_CONNECT = "publish_connect"; 137 public final static String PUBLISH_DISCONNECT = "publish_disconnect"; 138 public final static String PUBLISH_ITEM = "publish_item"; 139 public final static String PUBLISH_RECONNECT = "publish_reconnect"; 140 public final static String PUBLISH_SHOW_DEPLOYMENTS = "show_deployments"; 141 public final static String SHELL_WIDGET = "shell_widget"; 142 public final static String SOURCE_TEXT_EDITOR = "source_text_editor"; 143 public final static String XTERM_WIDGET = "xterm_widget"; 144 public final static String FILE_DIALOG_NAME_PROMPT = "file_dialog_name_prompt"; 145 public final static String WORKBENCH_PANEL = "workbench_panel"; 146 public final static String WORKBENCH_TAB = "workbench_tab"; 147 public final static String FILE_ACCEPT_BUTTON = "file_accept"; 148 public final static String FILE_CANCEL_BUTTON = "file_cancel"; 149 public final static String FILE_NEW_FOLDER_BUTTON = "file_new_folder"; 150 public final static String PREVIEW_BUTTON = "preview"; 151 public final static String CREATE_BUTTON = "create"; 152 public final static String DIALOG_YES_BUTTON = "dlg_yes"; 153 public final static String DIALOG_NO_BUTTON = "dlg_no"; 154 public final static String DIALOG_CANCEL_BUTTON = "dlg_cancel"; 155 public final static String DIALOG_OK_BUTTON = "dlg_ok"; 156 public final static String DIALOG_APPLY_BUTTON = "dlg_apply"; 157 public final static String DIALOG_RETRY_BUTTON = "dlg_retry"; 158 public final static String DIALOG_HOME_BUTTON = "dlg_home"; 159 public final static String DIALOG_CLEAR_BUTTON = "dlg_clear"; 160 public final static String SELECT_ALL_BUTTON = "select_all"; 161 public final static String SELECT_NONE_BUTTON = "select_none"; 162 public final static String ABOUT_MANAGE_LICENSE_BUTTON = "about_manage_license"; 163 public final static String TEXT_SOURCE_BUTTON = "text_source"; 164 public final static String TEXT_SOURCE_BUTTON_DROPDOWN = "text_source_dropdown"; 165 public final static String EMPTY_DOC_BUTTON = "empty_doc"; 166 167 public final static String EDIT_EDITING_PREFS = "edit_editing_prefs"; 168 public final static String EDIT_DISPLAY_PREFS = "edit_display_prefs"; 169 public final static String EDIT_SAVING_PREFS = "edit_saving_prefs"; 170 public final static String EDIT_COMPLETION_PREFS = "editing_completion_prefs"; 171 public final static String EDIT_DIAGNOSTICS_PREFS = "editing_diagnostics_prefs"; 172 173 public final static String GENERAL_BASIC_PREFS = "general_basic_prefs"; 174 public final static String GENERAL_GRAPHICS_PREFS = "general_graphics_prefs"; 175 public final static String GENERAL_ADVANCED_PREFS = "general_advanced_prefs"; 176 177 public final static String RMARKDOWN_BASIC_PREFS = "rmarkdown_basic_prefs"; 178 public final static String RMARKDOWN_ADVANCED_PREFS = "markdown_advanced_prefs"; 179 public final static String RMARKDOWN_VISUAL_MODE_PREFS = "markdown_visual_mode_prefs"; 180 public final static String RMARKDOWN_CITATIONS_PREFS = "markdown_citations_prefs"; 181 182 public final static String PACKAGE_MANAGEMENT_PREFS = "package_management_prefs"; 183 public final static String PACKAGE_DEVELOPMENT_PREFS = "package_development_prefs"; 184 185 public final static String TERMINAL_GENERAL_PREFS = "terminal_general_prefs"; 186 public final static String TERMINAL_CLOSING_PREFS = "terminal_closing_prefs"; 187 188 public final static String NEW_PROJECT_DIRECTORY = "directory_name"; 189 public final static String NEW_PROJECT_TYPE = "project_type"; 190 public final static String NEW_PROJECT_GIT_REPO = "git_repo"; 191 public final static String NEW_PROJECT_RENV = "use_renv"; 192 public final static String NEW_PROJECT_VENV = "use_venv"; 193 public final static String NEW_PROJECT_VENV_PACKAGES = "use_venv_packages"; 194 public final static String NEW_PROJECT_SOURCE_FILES = "source_files"; 195 public final static String NEW_PROJECT_NEW_SESSION = "new_session"; 196 197 // AskSecretDialog 198 public final static String ASK_SECRET_TEXT = "ask_secret_text"; getAskSecretText()199 public static String getAskSecretText() { return getElementId(ASK_SECRET_TEXT); } 200 201 // FindInFilesDialog 202 public final static String FIND_FILES_TEXT = "find_files_text"; getFindFilesText()203 public static String getFindFilesText() { return getElementId(FIND_FILES_TEXT); } 204 public final static String FIND_FILES_PATTERN_EXAMPLE = "find_files_pattern_example"; 205 public final static String FIND_FILES_CASE = "find_files_case"; getFindFilesCase()206 public static String getFindFilesCase() { return getElementId(FIND_FILES_CASE); } 207 public final static String FIND_FILES_WHOLE_WORD = "find_files_whole_word"; getFindFilesWholeWord()208 public static String getFindFilesWholeWord() { return getElementId(FIND_FILES_WHOLE_WORD); } 209 public final static String FIND_FILES_REGEX = "find_files_regex"; getFindFilesRegex()210 public static String getFindFilesRegex() { return getElementId(FIND_FILES_REGEX); } 211 212 // ImportFileSettingsDialog 213 public final static String IMPORT_FILE_NAME = "import_file_name"; getImportFileName()214 public static String getImportFileName() { return getElementId(IMPORT_FILE_NAME); } 215 public final static String IMPORT_FILE_ENCODING = "import_file_encoding"; getImportFileEncoding()216 public static String getImportFileEncoding() { return getElementId(IMPORT_FILE_ENCODING); } 217 public final static String IMPORT_FILE_ROW_NAMES = "import_file_row_names"; getImportFileRowNames()218 public static String getImportFileRowNames() { return getElementId(IMPORT_FILE_ROW_NAMES); } 219 public final static String IMPORT_FILE_SEPARATOR = "import_file_separator"; getImportFileSeparator()220 public static String getImportFileSeparator() { return getElementId(IMPORT_FILE_SEPARATOR); } 221 public final static String IMPORT_FILE_DECIMAL = "import_file_decimal"; getImportFileDecimal()222 public static String getImportFileDecimal() { return getElementId(IMPORT_FILE_DECIMAL); } 223 public final static String IMPORT_FILE_QUOTE = "import_file_quote"; getImportFileQuote()224 public static String getImportFileQuote() { return getElementId(IMPORT_FILE_QUOTE); } 225 public final static String IMPORT_FILE_COMMENT = "import_file_comment"; getImportFileComment()226 public static String getImportFileComment() { return getElementId(IMPORT_FILE_COMMENT); } 227 public final static String IMPORT_FILE_NA_STRINGS = "import_file_na_strings"; getImportFileNaStrings()228 public static String getImportFileNaStrings() { return getElementId(IMPORT_FILE_NA_STRINGS); } 229 230 // NewRMarkdownDialog 231 public final static String NEW_RMD_TITLE = "new_rmd_title"; getNewRmdTitle()232 public static String getNewRmdTitle() { return getElementId(NEW_RMD_TITLE); } 233 public final static String NEW_RMD_AUTHOR = "new_rmd_author"; getNewRmdAuthor()234 public static String getNewRmdAuthor() { return getElementId(NEW_RMD_AUTHOR); } 235 public final static String NEW_RMD_TEMPLATE_LABEL = "new_rmd_template_label"; getNewRmdTemplateLabel()236 public static String getNewRmdTemplateLabel() { return getElementId(NEW_RMD_TEMPLATE_LABEL); } 237 public final static String NEW_RMD_TEMPLATE = "new_rmd_template"; getNewRmdTemplate()238 public static String getNewRmdTemplate() { return getElementId(NEW_RMD_TEMPLATE); } 239 240 // RmdTemplateChooser 241 public final static String RMD_TEMPLATE_CHOOSER_NAME = "rmd_template_chooser_name"; getRmdTemplateChooserName()242 public static String getRmdTemplateChooserName() { return getElementId(RMD_TEMPLATE_CHOOSER_NAME); } 243 244 // NewShinyWebApplication 245 public final static String NEW_SHINY_APP_NAME = "new_shiny_app_name"; 246 public final static String NEW_SHINY_APP_SINGLE_FILE = "new_shiny_app_single_file"; 247 public final static String NEW_SHINY_APP_MULTI_FILE = "new_shiny_app_multi_file"; 248 249 // Memory 250 public final static String MEMORY_PIE_MINI = "memory_pie_mini"; 251 public final static String MEMORY_PIE_FULL = "memory_pie_full"; 252 public final static String MEMORY_USAGE_TABLE = "memory_usage_table"; 253 public final static String MEMORY_TABLE_TITLE = "memory_table_title"; 254 public final static String MEMORY_DROPDOWN = "memory_dropdown"; 255 256 // TextBoxWithButton and subclasses -- prefixes for button/text/help, combined with suffixes 257 public final static String TBB_TEXT = "tbb_text"; 258 public final static String TBB_BUTTON = "tbb_button"; 259 public final static String TBB_CLEAR_BUTTON = "tbb_clear_button"; 260 public final static String TBB_HELP = "tbb_help"; 261 262 // TextBoxWithButton and subclasses -- unique suffix added to text field, button, and help link; 263 // only has to be unique within this enum 264 public enum TextBoxButtonId 265 { 266 BUILD_SCRIPT("build_Script"), 267 CA_BUNDLE("ca_bundle"), 268 DEFAULT_WORKING_DIR("default_working_dir"), 269 ZOTERO_DATA_DIRECTORY("zotero_data_directory"), 270 EXISTING_PROJECT_DIR("existing_project_dir"), 271 FIND_IN("find_in"), 272 GIT("git"), 273 JOB_SCRIPT("job_script"), 274 JOB_WORKING_DIR("job_working_dir"), 275 ODBC_PATH("odbc_path"), 276 PACKAGE_ARCHIVE("package_archive"), 277 PDF_ROOT("pdf_root"), 278 PLUMBER_DIR("plumber_dir"), 279 PRIMARY_CRAN("primary_cran"), 280 PRO_JOB_DIR("pro_job_dir"), 281 PRO_JOB_SCRIPT("pro_job_script"), 282 PRO_NEW_SESSION_DIR("pro_new_session_dir"), 283 PROJECT_PARENT("project_parent"), 284 PROJECT_REPO_DIR("project_repo_dir"), 285 PROJECT_ROOT("project_root"), 286 PROJECT_TEMPLATE("project_template"), 287 PROJECT_TEXT_ENCODING("project_text_encoding"), 288 RMD_DIR("rmd_dir"), 289 RMD_OPTION("rmd_option"), 290 RMD_TEMPLATE_DIR("rmd_template_dir"), 291 R_VERSION("r_version"), 292 SHINY_DIR("shiny_dir"), 293 SVN("svn"), 294 TERMINAL("terminal"), 295 TEXT_ENCODING("text_encoding"), 296 UPLOAD_TARGET("upload_target"), 297 VCS_IGNORE("vcs_ignore"), 298 VCS_TERMINAL("vcs_terminal"), 299 CHOOSE_IMAGE("choose_image"), 300 PYTHON_PATH("python_path"); 301 TextBoxButtonId(String value)302 TextBoxButtonId(String value) 303 { 304 value_ = value; 305 } 306 307 @Override toString()308 public String toString() 309 { 310 return value_; 311 } 312 313 private final String value_; 314 } 315 316 // TerminalPane 317 public final static String TERMINAL_DROPDOWN_MENUBUTTON = "terminal_dropdown_menubutton"; 318 319 // GlobalToolbar 320 public final static String NEW_FILE_MENUBUTTON = "new_file_menubutton"; 321 public final static String OPEN_MRU_MENUBUTTON = "open_mru_menubutton"; 322 public final static String VCS_MENUBUTTON = "vcs_menubutton"; 323 public final static String PANELAYOUT_MENUBUTTON = "panelayout_menubutton"; 324 public final static String PROJECT_MENUBUTTON = "project_menubutton"; 325 public final static String PROJECT_MENUBUTTON_TOOLBAR_SUFFIX = "toolbar"; 326 public final static String PROJECT_MENUBUTTON_MENUBAR_SUFFIX = "menubar"; 327 328 // BuildPane 329 public final static String BUILD_MORE_MENUBUTTON = "build_more_menubutton"; 330 public final static String BUILD_BOOKDOWN_MENUBUTTON = "build_bookdown_menubutton"; 331 332 // JobLauncherDialog 333 public final static String JOB_LAUNCHER_ENVIRONMENT = "job_launcher_environment"; getJobLauncherEnvironment()334 public static String getJobLauncherEnvironment() { return getElementId(JOB_LAUNCHER_ENVIRONMENT); } 335 336 // JobLauncherDialogPro 337 public final static String JOB_LAUNCHER_PRO_OPTIONS = "job_launcher_pro_options"; 338 public final static String JOB_LAUNCHER_PRO_ENVIRONMENT = "job_launcher_pro_environment"; 339 340 // OpenSharedProjectDialog (Pro) 341 public final static String SHARED_PROJ_MINE = "shared_proj_mine"; 342 public final static String SHARED_PROJ_SHARED = "shared_proj_shared"; 343 344 // RmdTemplateOptionsWidget 345 public final static String RMD_TEMPLATE_OPTIONS_OUTPUT_FORMAT = "rmd_template_options_output_format"; getRmdTemplateOptionsOutputFormat()346 public static String getRmdTemplateOptionsOutputFormat() { return getElementId(RMD_TEMPLATE_OPTIONS_OUTPUT_FORMAT); } 347 348 // Modal Dialogs 349 public final static String DIALOG_GLOBAL_PREFS = "dialog_global_prefs"; 350 351 // DataImport 352 public final static String DATA_IMPORT_UI_OPTIONS = "data_import_ui_options"; 353 public final static String DATA_IMPORT_FILE_URL = "data_import_file_url"; getDataImportFileUrl()354 public static String getDataImportFileUrl() { return getElementId(DATA_IMPORT_FILE_URL); } 355 public final static String DATA_IMPORT_OPTIONS_FILECHOOSER = "data_import_options_filechooser"; getDataImportOptionsFilechooser()356 public static String getDataImportOptionsFilechooser() { return getElementId(DATA_IMPORT_OPTIONS_FILECHOOSER); } 357 public final static String DATA_IMPORT_CODE_PREVIEW = "data_import_code_preview"; getDataImportCodePreview()358 public static String getDataImportCodePreview() { return getElementId(DATA_IMPORT_CODE_PREVIEW); } 359 public final static String DATA_IMPORT_OPTIONS_NAME = "data_import_options_name"; getDataImportOptionsName()360 public static String getDataImportOptionsName() { return getElementId(DATA_IMPORT_OPTIONS_NAME); } 361 public final static String DATA_IMPORT_OPTIONS_SKIP = "data_import_options_skip"; getDataImportOptionsSkip()362 public static String getDataImportOptionsSkip() { return getElementId(DATA_IMPORT_OPTIONS_SKIP); } 363 public final static String DATA_IMPORT_OPTIONS_MAXROWS = "data_import_options_maxrows"; getDataImportOptionsMaxrows()364 public static String getDataImportOptionsMaxrows() { return getElementId(DATA_IMPORT_OPTIONS_MAXROWS); } 365 public final static String DATA_IMPORT_OPTIONS_DELIMITER = "data_import_options_delimiter"; getDataImportOptionsDelimiter()366 public static String getDataImportOptionsDelimiter() { return getElementId(DATA_IMPORT_OPTIONS_DELIMITER); } 367 public final static String DATA_IMPORT_OPTIONS_QUOTES = "data_import_options_quotes"; getDataImportOptionsQuotes()368 public static String getDataImportOptionsQuotes() { return getElementId(DATA_IMPORT_OPTIONS_QUOTES); } 369 public final static String DATA_IMPORT_OPTIONS_ESCAPE = "data_import_options_escape"; getDataImportOptionsEscape()370 public static String getDataImportOptionsEscape() { return getElementId(DATA_IMPORT_OPTIONS_ESCAPE); } 371 public final static String DATA_IMPORT_OPTIONS_COMMENT = "data_import_options_comment"; getDataImportOptionsComment()372 public static String getDataImportOptionsComment() { return getElementId(DATA_IMPORT_OPTIONS_COMMENT); } 373 public final static String DATA_IMPORT_OPTIONS_NA = "data_import_options_na"; getDataImportOptionsNa()374 public static String getDataImportOptionsNa() { return getElementId(DATA_IMPORT_OPTIONS_NA); } 375 public final static String DATA_IMPORT_OPTIONS_SHEET = "data_import_options_sheet"; getDataImportOptionsSheet()376 public static String getDataImportOptionsSheet() { return getElementId(DATA_IMPORT_OPTIONS_SHEET); } 377 public final static String DATA_IMPORT_OPTIONS_RANGE = "data_import_options_range"; getDataImportOptionsRange()378 public static String getDataImportOptionsRange() { return getElementId(DATA_IMPORT_OPTIONS_RANGE); } 379 public final static String DATA_IMPORT_OPTIONS_FORMAT = "data_import_options_format"; getDataImportOptionsFormat()380 public static String getDataImportOptionsFormat() { return getElementId(DATA_IMPORT_OPTIONS_FORMAT); } 381 382 // DataImportOptionsUiCsvLocale 383 public final static String DATA_IMPORT_CSV_DATENAME = "data_import_csv_datename"; getDataImportCsvDatename()384 public static String getDataImportCsvDatename() { return getElementId(DATA_IMPORT_CSV_DATENAME); } 385 public final static String DATA_IMPORT_CSV_ENCODING = "data_import_csv_encoding"; getDataImportCsvEncoding()386 public static String getDataImportCsvEncoding() { return getElementId(DATA_IMPORT_CSV_ENCODING); } 387 public final static String DATA_IMPORT_CSV_DATE_FORMAT = "data_import_csv_date_format"; getDataImportCsvDateFormat()388 public static String getDataImportCsvDateFormat() { return getElementId(DATA_IMPORT_CSV_DATE_FORMAT); } 389 public final static String DATA_IMPORT_CSV_TIME_FORMAT = "data_import_csv_time_format"; getDataImportCsvTimeFormat()390 public static String getDataImportCsvTimeFormat() { return getElementId(DATA_IMPORT_CSV_TIME_FORMAT); } 391 public final static String DATA_IMPORT_CSV_DECIMAL_MARK = "data_import_csv_decimal_mark"; getDataImportCsvDecimalMark()392 public static String getDataImportCsvDecimalMark() { return getElementId(DATA_IMPORT_CSV_DECIMAL_MARK); } 393 public final static String DATA_IMPORT_CSV_GROUPING_MARK = "data_import_csv_grouping_mark"; getDataImportCsvGroupingMark()394 public static String getDataImportCsvGroupingMark() { return getElementId(DATA_IMPORT_CSV_GROUPING_MARK); } 395 public final static String DATA_IMPORT_CSV_TZ = "data_import_csv_tz"; getDataImportCsvTz()396 public static String getDataImportCsvTz() { return getElementId(DATA_IMPORT_CSV_TZ); } 397 398 // AboutDialogContents 399 public final static String ABOUT_LICENSE_INFO = "about_license_info"; getAboutLicenseInfo()400 public static String getAboutLicenseInfo() { return getElementId(ABOUT_LICENSE_INFO); } 401 402 // TextEditingTargetWidget 403 public final static String CB_SOURCE_ON_SAVE = "cb_source_on_save"; getCbSourceOnSave()404 public static String getCbSourceOnSave() { return getElementId(CB_SOURCE_ON_SAVE); } 405 public final static String TOGGLE_DOC_OUTLINE_BUTTON = "toggle_doc_outline_button"; getToggleDocOutlineButton()406 public static String getToggleDocOutlineButton() { return getElementId(TOGGLE_DOC_OUTLINE_BUTTON); } 407 408 // AddinsToolbarButton 409 public final static String ADDINS_TOOLBAR_BUTTON = "addins_toolbar_button"; getAddinsToolbarButton()410 public static String getAddinsToolbarButton() { return getElementId(ADDINS_TOOLBAR_BUTTON); } 411 412 // CodeSearchWidget 413 public final static String CODE_SEARCH_WIDGET = "code_search_widget"; getCodeSearchWidget()414 public static String getCodeSearchWidget() { return getElementId(CODE_SEARCH_WIDGET); } 415 416 // EnvironmentPane 417 public final static String MB_IMPORT_DATASET = "mb_import_dataset"; getMbImportDataset()418 public static String getMbImportDataset() { return getElementId(MB_IMPORT_DATASET); } 419 public final static String MB_ENVIRONMENT_LIST = "mb_environment_list"; getMbEnvironmentList()420 public static String getMbEnvironmentList() { return getElementId(MB_ENVIRONMENT_LIST); } 421 public final static String MB_OBJECT_LIST_VIEW = "mb_object_list_view"; getMbObjectListView()422 public static String getMbObjectListView() { return getElementId(MB_OBJECT_LIST_VIEW); } 423 public final static String SW_ENVIRONMENT = "sw_environment"; getSwEnvironment()424 public static String getSwEnvironment() { return getElementId(SW_ENVIRONMENT); } 425 public final static String MB_REFRESH_OPTS = "mb_refresh_opts"; 426 public final static String MB_ENV_LANGUAGE = "mb_env_language"; 427 public final static String ENV_EMPTY = "env_empty"; 428 429 // HistoryPane 430 public final static String SW_HISTORY = "sw_history"; getSwHistory()431 public static String getSwHistory() { return getElementId(SW_HISTORY); } 432 433 // GitPane 434 public final static String MB_GIT_MORE = "mb_git_more"; getMbGitMore()435 public static String getMbGitMore() { return getElementId(MB_GIT_MORE); } 436 public final static String TB_GIT_REFRESH = "tb_git_refresh"; getTbGitRefresh()437 public static String getTbGitRefresh() { return getElementId(TB_GIT_REFRESH); } 438 439 // FileCommandToolbar 440 public final static String MB_FILES_MORE = "mb_files_more"; getMbFilesMore()441 public static String getMbFilesMore() { return getElementId(MB_FILES_MORE); } 442 443 // PlotsToolbar 444 public final static String MB_PLOTS_EXPORT = "mb_plots_export"; getMbPlotsExport()445 public static String getMbPlotsExport() { return getElementId(MB_PLOTS_EXPORT); } 446 447 // PackagesPane 448 public final static String SW_PACKAGES = "sw_packages"; getSwPackages()449 public static String getSwPackages() { return getElementId(SW_PACKAGES); } 450 451 // SpellingDialog 452 public final static String SPELLING_NOT_IN_DICT= "spelling_not_in_dict"; getSpellingNotInDict()453 public static String getSpellingNotInDict() { return getElementId(SPELLING_NOT_IN_DICT); } 454 public final static String SPELLING_CHANGE_TO= "spelling_change_to"; getSpellingChangeTo()455 public static String getSpellingChangeTo() { return getElementId(SPELLING_CHANGE_TO); } 456 457 // HelpPane 458 public final static String SW_HELP_FIND_IN_TOPIC = "sw_help_find_in_topic"; getSwHelpFindInTopic()459 public static String getSwHelpFindInTopic() { return getElementId(SW_HELP_FIND_IN_TOPIC); } 460 461 // HelpSearchWidget 462 public final static String SW_HELP = "sw_help"; getSwHelp()463 public static String getSwHelp() { return getElementId(SW_HELP); } 464 465 // NewRdDialog 466 public final static String NEW_RD_NAME = "new_rd_name"; getNewRdName()467 public static String getNewRdName() { return getElementId(NEW_RD_NAME); } 468 public final static String NEW_RD_TEMPLATE = "new_rd_template"; getNewRdTemplate()469 public static String getNewRdTemplate() { return getElementId(NEW_RD_TEMPLATE); } 470 471 // SvnResolveDialog 472 public final static String SVN_RESOLVE_GROUP = "svn_resolve_group"; 473 public final static String SVN_RESOLVE_MINE = "svn_resolve_mine"; 474 public final static String SVN_RESOLVE_MINE_DESC = "svn_resolve_mine_desc"; 475 public final static String SVN_RESOLVE_MINE_CONFLICT = "svn_resolve_mine_conflict"; 476 public final static String SVN_RESOLVE_MINE_CONFLICT_DESC = "svn_resolve_mine_conflict_desc"; 477 public final static String SVN_RESOLVE_THEIRS_CONFLICT = "svn_resolve_theirs_conflict"; 478 public final static String SVN_RESOLVE_THEIRS_CONFLICT_DESC = "svn_resolve_theirs_conflict_desc"; 479 public final static String SVN_RESOLVE_MINE_ALL = "svn_resolve_mine_all"; 480 public final static String SVN_RESOLVE_MINE_ALL_DESC = "svn_resolve_mine_all_desc"; 481 public final static String SVN_RESOLVE_THEIRS_ALL = "svn_resolve_theirs_all"; 482 public final static String SVN_RESOLVE_THEIRS_ALL_DESC = "svn_resolve_theirs_all_desc"; 483 484 // TutorialPane 485 public final static String TUTORIAL_FRAME = "tutorial_frame"; 486 487 // ShowPublicKeyDialog 488 public final static String PUBLIC_KEY_TEXT = "public_key_text"; 489 public final static String PUBLIC_KEY_LABEL = "public_key_label"; 490 491 // JobQuitControls 492 public final static String JOB_QUIT_LISTBOX = "job_quit_listbox"; getJobQuitListbox()493 public static String getJobQuitListbox() { return getElementId(JOB_QUIT_LISTBOX); } 494 495 // RSConnect 496 public final static String RSC_SERVER_URL = "rsc_server_url"; getRscServerUrl()497 public static String getRscServerUrl() { return getElementId(RSC_SERVER_URL); } 498 public final static String RSC_ACCOUNT_LIST_LABEL = "rsc_account_list_label"; getRscAccountListLabel()499 public static String getRscAccountListLabel() { return getElementId(RSC_ACCOUNT_LIST_LABEL); } 500 public final static String RSC_ACCOUNT_LIST = "rsc_account_list"; getRscAccountList()501 public static String getRscAccountList() { return getElementId(RSC_ACCOUNT_LIST); } 502 public final static String RSC_FILES_LIST_LABEL = "rsc_files_list_label"; 503 504 // WindowFrameButton (combined with unique suffix for each quadrant 505 public final static String FRAME_MIN_BTN = "frame_min_btn"; 506 public final static String FRAME_MAX_BTN = "frame_max_btn"; 507 public final static String MIN_FRAME_MIN_BTN = "min_frame_min_btn"; 508 public final static String MIN_FRAME_MAX_BTN = "min_frame_max_btn"; 509 510 // Visual Markdown Editing dialogs 511 public final static String VISUAL_MD_RAW_FORMAT_SELECT = "visual_md_raw_format_select"; getVisualMdRawFormatSelect()512 public static String getVisualMdRawFormatSelect() { return getElementId(VISUAL_MD_RAW_FORMAT_SELECT); } 513 public final static String VISUAL_MD_RAW_FORMAT_CONTENT = "visual_md_raw_format_content"; getVisualMdRawContent()514 public static String getVisualMdRawContent() { return getElementId(VISUAL_MD_RAW_FORMAT_CONTENT); } 515 public final static String VISUAL_MD_RAW_FORMAT_REMOVE_BUTTON = "visual_md_raw_format_remove_button"; 516 public final static String VISUAL_MD_INSERT_TABLE_ROWS = "visual_md_insert_table_rows"; getVisualMdInsertTableRows()517 public static String getVisualMdInsertTableRows() { return getElementId(VISUAL_MD_INSERT_TABLE_ROWS); } 518 public final static String VISUAL_MD_INSERT_TABLE_COLUMNS = "visual_md_insert_table_columns"; getVisualMdInsertTableColumns()519 public static String getVisualMdInsertTableColumns() { return getElementId(VISUAL_MD_INSERT_TABLE_COLUMNS); } 520 public final static String VISUAL_MD_INSERT_TABLE_CAPTION = "visual_md_insert_table_caption"; getVisualMdInsertTableCaption()521 public static String getVisualMdInsertTableCaption() { return getElementId(VISUAL_MD_INSERT_TABLE_CAPTION); } 522 public final static String VISUAL_MD_INSERT_TABLE_HEADER = "visual_md_insert_table_heaeder"; 523 public final static String VISUAL_MD_ATTR_REMOVE_BUTTON = "visual_md_attr_remove_button"; 524 public final static String VISUAL_MD_ATTR_ID_LABEL1 = "visual_md_attr_id_label1"; getVisualMdAttrIdLabel1()525 public static String getVisualMdAttrIdLabel1() { return getElementId(VISUAL_MD_ATTR_ID_LABEL1); } 526 public final static String VISUAL_MD_ATTR_ID_LABEL2 = "visual_md_attr_id_label2"; getVisualMdAttrIdLabel2()527 public static String getVisualMdAttrIdLabel2() { return getElementId(VISUAL_MD_ATTR_ID_LABEL2); } 528 public final static String VISUAL_MD_ATTR_ID_GENERATE = "visual_md_attr_id_generate"; 529 public final static String VISUAL_MD_ATTR_ID = "visual_md_attr_id"; getVisualMdAttrId()530 public static String getVisualMdAttrId() { return getElementId(VISUAL_MD_ATTR_ID); } 531 public final static String VISUAL_MD_ATTR_CLASSES_LABEL1 = "visual_md_attr_classes_label1"; getVisualMdAttrClassesLabel1()532 public static String getVisualMdAttrClassesLabel1() { return getElementId(VISUAL_MD_ATTR_CLASSES_LABEL1); } 533 public final static String VISUAL_MD_ATTR_CLASSES_LABEL2 = "visual_md_attr_classes_label2"; getVisualMdAttrClassesLabel2()534 public static String getVisualMdAttrClassesLabel2() { return getElementId(VISUAL_MD_ATTR_CLASSES_LABEL2); } 535 public final static String VISUAL_MD_ATTR_CLASSES = "visual_md_attr_classes"; getVisualMdAttrClasses()536 public static String getVisualMdAttrClasses() { return getElementId(VISUAL_MD_ATTR_CLASSES); } 537 public final static String VISUAL_MD_ATTR_STYLE_LABEL1 = "visual_md_attr_style_label1"; getVisualMdAttrStyleLabel1()538 public static String getVisualMdAttrStyleLabel1() { return getElementId(VISUAL_MD_ATTR_STYLE_LABEL1); } 539 public final static String VISUAL_MD_ATTR_STYLE_LABEL2 = "visual_md_attr_style_label2"; getVisualMdAttrStyleLabel2()540 public static String getVisualMdAttrStyleLabel2() { return getElementId(VISUAL_MD_ATTR_STYLE_LABEL2); } 541 public final static String VISUAL_MD_ATTR_STYLE = "visual_md_attr_style"; getVisualMdAttrStyle()542 public static String getVisualMdAttrStyle() { return getElementId(VISUAL_MD_ATTR_STYLE); } 543 public final static String VISUAL_MD_ATTR_KEYVALUE_LABEL1 = "visual_md_attr_keyvalue_label1"; getVisualMdAttrKeyValueLabel1()544 public static String getVisualMdAttrKeyValueLabel1() { return getElementId(VISUAL_MD_ATTR_KEYVALUE_LABEL1); } 545 public final static String VISUAL_MD_ATTR_KEYVALUE_LABEL2 = "visual_md_attr_keyvalue_label2"; getVisualMdAttrKeyValueLabel2()546 public static String getVisualMdAttrKeyValueLabel2() { return getElementId(VISUAL_MD_ATTR_KEYVALUE_LABEL2); } 547 public final static String VISUAL_MD_ATTR_KEYVALUE = "visual_md_attr_keyvalue"; getVisualMdAttrKeyValue()548 public static String getVisualMdAttrKeyValue() { return getElementId(VISUAL_MD_ATTR_KEYVALUE); } 549 public final static String VISUAL_MD_CITATION_ID = "visual_md_citation_id"; getVisualMdCitationId()550 public static String getVisualMdCitationId() { return getElementId(VISUAL_MD_CITATION_ID); } 551 public final static String VISUAL_MD_CITATION_LOCATOR = "visual_md_citation_locator"; getVisualMdCitationLocator()552 public static String getVisualMdCitationLocator() { return getElementId(VISUAL_MD_CITATION_LOCATOR); } 553 public final static String VISUAL_MD_LIST_TYPE = "visual_md_list_type"; getVisualMdListType()554 public static String getVisualMdListType() { return getElementId(VISUAL_MD_LIST_TYPE); } 555 public final static String VISUAL_MD_LIST_ORDER = "visual_md_list_order"; getVisualMdListOrder()556 public static String getVisualMdListOrder() { return getElementId(VISUAL_MD_LIST_ORDER); } 557 public final static String VISUAL_MD_LIST_NUMBER_STYLE = "visual_md_list_number_style"; getVisualMdListNumberStyle()558 public static String getVisualMdListNumberStyle() { return getElementId(VISUAL_MD_LIST_NUMBER_STYLE); } 559 public final static String VISUAL_MD_LIST_NUMBER_DELIM = "visual_md_list_number_delim"; getVisualMdListNumberDelim()560 public static String getVisualMdListNumberDelim() { return getElementId(VISUAL_MD_LIST_NUMBER_DELIM); } 561 public final static String VISUAL_MD_LIST_NUMBER_DELIM_NOTE = "visual_md_list_number_delim_note"; getVisualMdListNumberDelimNote()562 public static String getVisualMdListNumberDelimNote() { return getElementId(VISUAL_MD_LIST_NUMBER_DELIM_NOTE); } 563 public final static String VISUAL_MD_LIST_INSERT_CITE_ID = "visual_md_insert_cite_id"; getVisualMdInsertCiteId()564 public static String getVisualMdInsertCiteId() { return getElementId(VISUAL_MD_LIST_INSERT_CITE_ID); } 565 public final static String VISUAL_MD_LIST_INSERT_CITE_PREVIEW = "visual_md_insert_cite_preview"; getVisualMdInsertCitePreview()566 public static String getVisualMdInsertCitePreview() { return getElementId(VISUAL_MD_LIST_INSERT_CITE_PREVIEW); } 567 public final static String VISUAL_MD_LIST_INSERT_CITE_BIB = "visual_md_insert_cite_bib"; getVisualMdInsertCiteBib()568 public static String getVisualMdInsertCiteBib() { return getElementId(VISUAL_MD_LIST_INSERT_CITE_BIB); } 569 public final static String VISUAL_MD_LIST_INSERT_CITE_CREATE_BIB = "visual_md_insert_cite_create_bib"; getVisualMdInsertCiteCreateBib()570 public static String getVisualMdInsertCiteCreateBib() { return getElementId(VISUAL_MD_LIST_INSERT_CITE_CREATE_BIB); } 571 public final static String VISUAL_MD_LIST_INSERT_CITE_CREATE_BIB_TYPE = "visual_md_insert_cite_create_bib_type"; getVisualMdInsertCiteCreateBibType()572 public static String getVisualMdInsertCiteCreateBibType() { return getElementId(VISUAL_MD_LIST_INSERT_CITE_CREATE_BIB_TYPE); } 573 574 public final static String VISUAL_MD_LIST_TIGHT = "visual_md_ordered_list_tight"; 575 public final static String VISUAL_MD_IMAGE_TAB_IMAGE = "visual_md_image_tab_image"; 576 public final static String VISUAL_MD_IMAGE_WIDTH = "visual_md_image_width"; 577 public final static String VISUAL_MD_IMAGE_HEIGHT = "visual_md_image_height"; 578 public final static String VISUAL_MD_IMAGE_UNITS = "visual_md_image_units"; 579 public final static String VISUAL_MD_IMAGE_LOCK_RATIO = "visual_md_image_lock_ratio"; 580 public final static String VISUAL_MD_IMAGE_TITLE = "visual_md_image_title"; 581 public final static String VISUAL_MD_IMAGE_ALT = "visual_md_image_alt"; 582 public final static String VISUAL_MD_IMAGE_LINK_TO = "visual_md_image_link_to"; 583 public final static String VISUAL_MD_IMAGE_TAB_ATTRIBUTES = "visual_md_image_tab_attributes"; 584 public final static String VISUAL_MD_LINK_REMOVE_LINK_BUTTON = "visual_md_link_remove_link_button"; 585 public final static String VISUAL_MD_LINK_TAB_LINK = "visual_md_link_tab_link"; 586 public final static String VISUAL_MD_LINK_TYPE = "visual_md_link_type"; 587 public final static String VISUAL_MD_LINK_HREF = "visual_md_link_href"; 588 public final static String VISUAL_MD_LINK_SELECT_HEADING = "visual_md_link_select_heading"; 589 public final static String VISUAL_MD_LINK_SELECT_ID = "visual_md_link_select_id"; 590 public final static String VISUAL_MD_LINK_TEXT = "visual_md_link_text"; 591 public final static String VISUAL_MD_LINK_TITLE = "visual_md_link_title"; 592 public final static String VISUAL_MD_LINK_TAB_ATTRIBUTES = "visual_md_link_tab_attributes"; 593 public final static String VISUAL_MD_CODE_BLOCK_TAB_LANGUAGE = "visual_md_code_block_tab_language"; 594 public final static String VISUAL_MD_CODE_BLOCK_TAB_ATTRIBUTES = "visual_md_code_block_tab_attributes"; 595 public final static String VISUAL_MD_CODE_BLOCK_LANG_LABEL1 = "visual_md_code_block_lang_label1"; 596 public final static String VISUAL_MD_CODE_BLOCK_LANG_LABEL2 = "visual_md_code_block_lang_label2"; 597 public final static String VISUAL_MD_CODE_BLOCK_LANG = "visual_md_code_block_tab_lang"; 598 599 // ProgressDialog 600 public final static String PROGRESS_TITLE_LABEL = "progress_title_label"; 601 602 // AccessibilityPreferencesPane 603 public final static String A11Y_GENERAL_PREFS = "a11y_general_prefs"; 604 public final static String A11Y_ANNOUNCEMENTS_PREFS = "a11y_announcements_prefs"; 605 606 // SatelliteWindow 607 public final static String SATELLITE_PANEL = "satellite_panel"; 608 609 // CommandPalette 610 public final static String COMMAND_PALETTE_LIST = "command_palette_list"; 611 public final static String COMMAND_PALETTE_SEARCH = "command_palette_search"; 612 public final static String COMMAND_ENTRY_PREFIX = "command_entry_"; 613 614 // Right-click tab context menus 615 public final static String FEATURE_TAB_CONTEXT = "feature_tab_context"; 616 public final static String EDITOR_TAB_CONTEXT = "editor_tab_context"; 617 public final static String GIT_TAB_CONTEXT = "git_tab_context"; 618 public final static String SVN_TAB_CONTEXT = "svn_tab_context"; 619 620 // Right-click tab context menus commands 621 public final static String TAB_CLOSE = "tab_close"; 622 public final static String TAB_RENAME_FILE = "tab_rename_file"; 623 public final static String TAB_COPY_PATH = "tab_copy_path"; 624 public final static String TAB_SET_WORKING_DIR = "tab_set_working_dir"; 625 public final static String TAB_SET_FILES_PANE = "tab_set_files_pane"; 626 public final static String TAB_CLOSE_ALL = "tab_close_all"; 627 public final static String TAB_CLOSE_OTHERS = "tab_close_others"; 628 629 // Jobs pane 630 public final static String JOB_STOP = "job_stop"; 631 public final static String JOB_REPLAY = "job_replay"; 632 633 // OpenProjectDialog 634 public final static String OP_NEW_SESSION = "op_new_session"; 635 636 // FilePathToolbar 637 public final static String FP_SELECT_ALL = "fp_select_all"; 638 639 // ChooseEncodingDialog 640 public final static String ENC_SHOW_ALL = "enc_show_all"; 641 public final static String ENC_SET_DEFAULT = "enc_set_default"; 642 }