ImGuiFileDialogConfig.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #pragma once
  2. // uncomment and modify defines under for customize ImGuiFileDialog
  3. //this options need c++17
  4. //#define USE_STD_FILESYSTEM
  5. //#define MAX_FILE_DIALOG_NAME_BUFFER 1024
  6. //#define MAX_PATH_BUFFER_SIZE 1024
  7. // the slash's buttons in path cna be used for quick select parallles directories
  8. //#define USE_QUICK_PATH_SELECT
  9. // the spacing between button path's can be customized.
  10. // if disabled the spacing is defined by the imgui theme
  11. // define the space between path buttons
  12. //#define CUSTOM_PATH_SPACING 2
  13. //#define USE_THUMBNAILS
  14. //the thumbnail generation use the stb_image and stb_resize lib who need to define the implementation
  15. //btw if you already use them in your app, you can have compiler error due to "implemntation found in double"
  16. //so uncomment these line for prevent the creation of implementation of these libs again
  17. //#define DONT_DEFINE_AGAIN__STB_IMAGE_IMPLEMENTATION
  18. //#define DONT_DEFINE_AGAIN__STB_IMAGE_RESIZE_IMPLEMENTATION
  19. //#define IMGUI_RADIO_BUTTON RadioButton
  20. //#define DisplayMode_ThumbailsList_ImageHeight 32.0f
  21. //#define tableHeaderFileThumbnailsString "Thumbnails"
  22. //#define DisplayMode_FilesList_ButtonString "FL"
  23. //#define DisplayMode_FilesList_ButtonHelp "File List"
  24. //#define DisplayMode_ThumbailsList_ButtonString "TL"
  25. //#define DisplayMode_ThumbailsList_ButtonHelp "Thumbnails List"
  26. // todo
  27. //#define DisplayMode_ThumbailsGrid_ButtonString "TG"
  28. //#define DisplayMode_ThumbailsGrid_ButtonHelp "Thumbnails Grid"
  29. //#define USE_EXPLORATION_BY_KEYS
  30. // this mapping by default is for GLFW but you can use another
  31. //#include <GLFW/glfw3.h>
  32. // Up key for explore to the top
  33. //#define IGFD_KEY_UP ImGuiKey_UpArrow
  34. // Down key for explore to the bottom
  35. //#define IGFD_KEY_DOWN ImGuiKey_DownArrow
  36. // Enter key for open directory
  37. //#define IGFD_KEY_ENTER ImGuiKey_Enter
  38. // BackSpace for comming back to the last directory
  39. //#define IGFD_KEY_BACKSPACE ImGuiKey_Backspace
  40. // by ex you can quit the dialog by pressing the key excape
  41. //#define USE_DIALOG_EXIT_WITH_KEY
  42. //#define IGFD_EXIT_KEY ImGuiKey_Escape
  43. // widget
  44. // begin combo widget
  45. // #define IMGUI_BEGIN_COMBO ImGui::BeginCombo
  46. // filter combobox width
  47. //#define FILTER_COMBO_WIDTH 120.0f
  48. // button widget use for compose path
  49. //#define IMGUI_PATH_BUTTON ImGui::Button
  50. // standard button
  51. //#define IMGUI_BUTTON ImGui::Button
  52. // locales string
  53. //#define createDirButtonString "+"
  54. //#define resetButtonString "R"
  55. //#define drivesButtonString "Drives"
  56. //#define editPathButtonString "E"
  57. //#define searchString "Search"
  58. //#define dirEntryString "[DIR] "
  59. //#define linkEntryString "[LINK] "
  60. //#define fileEntryString "[FILE] "
  61. //#define fileNameString "File Name : "
  62. //#define dirNameString "Directory Path :"
  63. //#define buttonResetSearchString "Reset search"
  64. //#define buttonDriveString "Drives"
  65. //#define buttonEditPathString "Edit path\nYou can also right click on path buttons"
  66. //#define buttonResetPathString "Reset to current directory"
  67. //#define buttonCreateDirString "Create Directory"
  68. //#define OverWriteDialogTitleString "The file Already Exist !"
  69. //#define OverWriteDialogMessageString "Would you like to OverWrite it ?"
  70. //#define OverWriteDialogConfirmButtonString "Confirm"
  71. //#define OverWriteDialogCancelButtonString "Cancel"
  72. //Validation buttons
  73. //#define okButtonString " OK"
  74. //#define okButtonWidth 0.0f
  75. //#define cancelButtonString " Cancel"
  76. //#define cancelButtonWidth 0.0f
  77. //alignement [0:1], 0.0 is left, 0.5 middle, 1.0 right, and other ratios
  78. //#define okCancelButtonAlignement 0.0f
  79. //#define invertOkAndCancelButtons 0
  80. // DateTimeFormat
  81. // see strftime functionin <ctime> for customize
  82. // "%Y/%m/%d %H:%M" give 2021:01:22 11:47
  83. // "%Y/%m/%d %i:%M%p" give 2021:01:22 11:45PM
  84. //#define DateTimeFormat "%Y/%m/%d %i:%M%p"
  85. // theses icons will appear in table headers
  86. //#define USE_CUSTOM_SORTING_ICON
  87. //#define tableHeaderAscendingIcon "A|"
  88. //#define tableHeaderDescendingIcon "D|"
  89. //#define tableHeaderFileNameString " File name"
  90. //#define tableHeaderFileTypeString " Type"
  91. //#define tableHeaderFileSizeString " Size"
  92. //#define tableHeaderFileDateTimeString " Date"
  93. //#define fileSizeBytes "o"
  94. //#define fileSizeKiloBytes "Ko"
  95. //#define fileSizeMegaBytes "Mo"
  96. //#define fileSizeGigaBytes "Go"
  97. // default table sort field (must be FIELD_FILENAME, FIELD_TYPE, FIELD_SIZE, FIELD_DATE or FIELD_THUMBNAILS)
  98. //#define defaultSortField FIELD_FILENAME
  99. // default table sort order for each field (true => Descending, false => Ascending)
  100. //#define defaultSortOrderFilename true
  101. //#define defaultSortOrderType true
  102. //#define defaultSortOrderSize true
  103. //#define defaultSortOrderDate true
  104. //#define defaultSortOrderThumbnails true
  105. //#define USE_BOOKMARK
  106. //#define bookmarkPaneWith 150.0f
  107. //#define IMGUI_TOGGLE_BUTTON ToggleButton
  108. //#define bookmarksButtonString "Bookmark"
  109. //#define bookmarksButtonHelpString "Bookmark"
  110. //#define addBookmarkButtonString "+"
  111. //#define removeBookmarkButtonString "-"