Skip to content

Commit 0008ede

Browse files
committed
ImGuiFileDialog 0.5.2
fixed for last ImGui 1.79 fixed #33 some refactoring too obsolete imgui function disabled by default in sample app
1 parent 8bd3f00 commit 0008ede

10 files changed

+207
-174
lines changed

3rdparty/imgui

Submodule imgui updated 150 files

CMakeLists.txt

+6-5
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ endif ()
2727

2828
add_definitions(${GLFW_DEFINITIONS})
2929
add_definitions(-DCUSTOM_IMGUIFILEDIALOG_CONFIG="../../../CustomImGuiFileDialogConfig.h")
30-
30+
add_definitions(-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS)
31+
3132
file(GLOB MAIN_SOURCES ${CMAKE_SOURCE_DIR}/main.cpp)
3233
file(GLOB CUSTOM_SOURCES ${CMAKE_SOURCE_DIR}/CustomImGuiFileDialogConfig.h)
3334
file(GLOB RES_SOURCES
@@ -37,10 +38,10 @@ file(GLOB IMGUIFILEDIALOG_SOURCES
3738
${CMAKE_SOURCE_DIR}/ImGuiFileDialog/*.cpp
3839
${CMAKE_SOURCE_DIR}/ImGuiFileDialog/*.h)
3940
file(GLOB IMGUIIMPL_SOURCES
40-
${CMAKE_SOURCE_DIR}/3rdparty/imgui/examples/imgui_impl_glfw.cpp
41-
${CMAKE_SOURCE_DIR}/3rdparty/imgui/examples/imgui_impl_glfw.h
42-
${CMAKE_SOURCE_DIR}/3rdparty/imgui/examples/imgui_impl_opengl3.cpp
43-
${CMAKE_SOURCE_DIR}/3rdparty/imgui/examples/imgui_impl_opengl3.h)
41+
${CMAKE_SOURCE_DIR}/3rdparty/imgui/backends/imgui_impl_glfw.cpp
42+
${CMAKE_SOURCE_DIR}/3rdparty/imgui/backends/imgui_impl_glfw.h
43+
${CMAKE_SOURCE_DIR}/3rdparty/imgui/backends/imgui_impl_opengl3.cpp
44+
${CMAKE_SOURCE_DIR}/3rdparty/imgui/backends/imgui_impl_opengl3.h)
4445
source_group(main FILES ${MAIN_SOURCES})
4546
source_group(src\\Custom FILES ${CUSTOM_SOURCES})
4647
source_group(src\\Res FILES ${RES_SOURCES})

CustomFont.cpp

+26-24
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
#include "CustomFont.h"
22

3-
static const char FONT_ICON_BUFFER_NAME_IGFD[3105+1] =
4-
"7])#######qgGmo'/###V),##+Sl##Q6>##w#S+Hh=?<a7*&T&d.7m/oJ[^IflZg#BfG<-iNE/1-2JuBw0'B)i,>>#'tEn/<_[FHkp#L#,)m<-:qEn/@d@UCGD7s$_gG<-]rK8/XU#[A"
5-
">7X*M^iEuLQaX1DIMr62DXe(#=eR%#_AFmBFF1J5h@6gLYwG`-77LkOETt?0(MiSAq@ClLS[bfL)YZ##E)1w--Aa+MNq;?#-D^w'0bR5'Cv9N(f$IP/371^#IhOSMoH<mL6kSG2mEexF"
6-
"TP'##NjToIm3.AF4@;=-1`/,M)F5gL':#gLIlJGMIfG<-IT*COI=-##.<;qMTl:$#L7cwL#3#&#W(^w5i*l.q3;02qtKJ5q'>b9qx:`?q*R[SqOim4vII3L,J-eL,o[njJ@Ro?93VtA#"
7-
"n;4L#?C(DNgJG&#D;B;-KEII-O&Ys1,AP##0Mc##4Yu##fRXgLC;E$#@(V$#jDA]%f,);?o[3YckaZfCj>)Mp64YS76`JYYZGUSItO,AtgC_Y#>v&##je+gL)SL*57*vM($i?X-,BG`a"
8-
"*HWf#Ybf;-?G^##$VG13%&>uuYg8e$UNc##D####,03/MbPMG)@f)T/^b%T%S2`^#J:8Y.pV*i(T=)?#h-[guT#9iu&](?#A]wG;[Dm]uB*07QK(]qFV=fV$H[`V$#kUK#$8^fLmw@8%"
9-
"P92^uJ98=/[email protected]`5BOojOps+/q=110[YEt$bcx5#kN:tLmb]s$wkH>#iE(E#VA@r%Mep$-#b?1,G2J1,mQOhuvne.Mv?75/Huiw'6`?$=VC]&,EH*7M:9s%,:7QVQM]X-?^10ip"
10-
"&ExrQF7$##lnr?#&r&t%NEE/2XB+a4?c=?/^0Xp%kH$IM$?YCjwpRX:CNNjL<b7:.rH75/1uO]unpchLY.s%,R=q9V%M,)#%)###Tx^##[email protected]%##AFDZ#5D-W.-kr.0oUFb35IL,3"
11-
"%A2*/RtC.3j85L#gJ))3rx3I):2Cv-FX(9/vBo8%=[%?5BKc8/t=r$#<MfD*.gB.*Q&WS7#r&ipf9b^EhD]:/%A@`aU5b'O]I03N2cUN0ebYF':?AE+OaUq).]tfd]s0$d0C9E#enTtQ"
12-
"&(oqL^)sB#`:5Yu9A;TFN%MeMBhZd3J0(6:8mc0CdpC,)#5>X(3^*rMo&Y9%)[[c;QIt<1q3n0#MI`QjeUB,MCG#&#n#]I*/=_hLfM]s$Cr&t%#M,W-d9'hlM2'J35i4f)_Y_Z-Mx;=."
13-
"Z&f.:a[xw'2q'Y$G38$5Zs<7.;G(<-$87V?M42X-n+[w'1q-[Bv(ofL2@R2L/%dDE=?CG)bhho.&1(a4D/NF3;G`=.Su$s$]WD.3jY5lLBMuM(Hnr?#FTFo26N.)*,/_Yox3prHH]G>u"
14-
"?#Ke$+tG;%M)H3uH@ta$/$bku/1.E4:po2/Z5wGE^e*:*Mgj8&=B]'/-=h1B-n4GVaVQu.gm^6X,&Gj/Run+M,jd##kJ,/1=-U,2QNv)42.,Q'iUKF*wCXI)+f1B4./.&4maJX-'$fF4"
15-
"uX@8%5Y,>#r:N&l,=GNGA5AZ$XA`0(Q^(k'(GB.WKx+M/mi5###%D1Mh;BE+O.1w,p8QSV`E3$%sMwH)/t6iLF.'DX[G&8Remo7/,w/RNRPUV$)8[0#G,>>#d=OZ-$_Aj0^ll%0uAOZ6"
16-
"m('J3*`4-6Rq@.*G7K,3L1O058b4-5mS4'5841'5%J/GV/1:B#'at%$q^DIM=X0DMg*^fL6)0/Ldbb(NRdimM-a4o7qPa>$cMDX:W<=&5t^Dv$)2mJ)lb+Ze`eHQ%:oSfLiMK/L@i6o7"
17-
":fKb@'x_5/Q1wPMIR0cMmbR`aRLb>-w..e-R3n0#bsn`$bA%%#N,>>#MhSM'Z`qdm?D,c4A]DD3mMWB#,5Rv$g&?a3?9wGMeANv>s#V&1iJ&%bE2ZA#-.^g1j;R)4443%b7RU`u`Kk(N"
18-
"HbeV@gJS'-BWcP3m?+#-VaDuL:`WY5kEaau^=lJ(_24J-WvW+.VxIfLXqd##Q3=&#d72mLvG(u$+dfF4<BPF%MPEb3:]Me.d(4I)(P;e.)_K#$^n;#MjXGp%jDJeM20P.)'9_-2[x):8"
19-
",VjfLQJa0V*#4o7dD24'^bO-)GX3/U@@%P'9/8b*;XmGA9Gw;8i=I`(sZhM'8A]?cof-6M>Awx-tS<GMRoS+MWWB@#WG9J'P@)?uNUYI8#-EE#[Yw_#;R,<8+b?:3=t$gLFf]0#G?O&#"
20-
"DoA*#_>QJ(PGpkL'(MB#/T01YP6;hLeb6lL7$(f):3ou-KHaJM[TXD#'1;p72$[p.Z9OA#RcB##Oi./LlA)ZuTBqn'B]7%b/WM<LrFcS7XOtILd9b<UxX'^#)J/Dt]il3++^tpAu_L%,"
21-
"w$[gu5[-['#**&+*wwGXO4h=#%H3'50S6##l9f/)m`):)t1@k=?\?#]u3i8-#%/5##)]$s$+JNh#jl###cU^F*Vs'Y$Lov[-0<a?$Hni?#+?2?up1m%.*%%-NPB`>$agNe'Qk[X'ep.'5"
22-
"8=B_A+L1_A'fp`Nae&%#aKb&#W>gkLZ/(p$V2Cv-_uv20tt?X-BL75/#(KU)N0;hLr75c4br9s-;va.3exLG`^U;4F9D+tqKKGSIULS:d=vRduSxXCuOq$0ufu'L#>Y[OVk1k3G(kZoA"
23-
"O9iQN'h5',b_mL,v?qr&4uG##%J/GV5J?`a'=@@M#w-tL0+xRV6,A48_fa-Zups+;(=rhZ;ktD#c9OA#axJ+*?7%s$DXI5/CKU:%eQ+,2=C587Rg;E4Z3f.*?ulW-tYqw0`EmS/si+C#"
24-
"[<;S&mInS%FAov#Fu[E+*L'O'GWuN'+)U40`a5k'sA;)*RIRF%Tw/Z--1=e?5;1X:;vPk&CdNjL*(KJ1/,TV-G(^S*v14gL#8,,M*YPgLaII@b+s[&#n+d3#1jk$#';P>#,Gc>#0Su>#"
25-
"4`1?#8lC?#<xU?#@.i?#D:%@#i'LVCn)fQD[.C(%ea@uBoF/ZGrDFVCjZ/NB0)61Fg&cF$v:7FHFDRb3bW<2Be(&ZG17O(Ie4;hFwf1eGEmqA4sS4VCoC%eG1PM*HsH%'I]MBnD+'],M"
26-
"w)n,Ga8q`EgKJ.#wZ/x=v`#/#";
3+
static const char FONT_ICON_BUFFER_NAME_IGFD[3410+1] =
4+
"7])#######v;i/q'/###[),##+Sl##Q6>##w#S+HiREK=e:jl&]?'o/5K[^Ihxmg#BfG<-iNE/1-2JuB0.GY>37YY#=6Bk0i_[FH$N?h#/,>>#xTup8f-d<Bv^7vPP$s%cB4pV.<[b2C"
5+
"%jkc1^N(&Pmh3G4,5LsCvGCW-(K:;?N9$TeqV,-GlRl#dQS]J;J+ci_eQ.@$P>J`fdKus'alVP&=*4r.+EoZ3YqQb%)xB#v,%wo%guH['OMYY#N$H&#)7Qv$d7&:)x?w,v%=Ds%D0vhL"
6+
"2;K;[email protected][%#VCDX-3on34wdJe$_fl-$0h)%$pSm(%Ud68%L*Nd$nGZ(%3L$Z$3.5F%)3,F%;7Lk+7LC_&$fv-$ict9)<:Lk+)]'B#Txe+MS.<$#X*%#M%?5&#Y:>X6k*l.q3;02q"
7+
"tKJ5q'>b9qObm;qo/3`q(&w_q(eZ<_FZ8p&VT_/DM9ojJF'1X:5VtA#pA4L#AI(DNk]Y&#K,GdNrqJfLU)^fL:GI##.GY##2Sl##6`($#:l:$#>xL$#B.`$#&qrBOL&1kL,B8#MWL>gL"
8+
",2u1#f4RqLm_f8#RjFoL'kL:#G$/nLIv-tLu9Y9#(gajL9kFrLK7q=#C)r7#Ef]vLBMX<#s=Z3#Nce8#n'Lk+_nWt$-ikEI_DD]-j2dJ(7R6V#>GZ)G;-Wc$`Fv(%fiBkF7i'(#)]$s$"
9+
")8[0#K?O&#aq0hLGnL5/bkh8.E7TfL7.SY.n,Ih(Lv_>$u7XI)E$X=$FR]tuVbxX#KF-,$6+hF4Ns5c]5]4xt(l0o`HG]Y,V=SqFs-*#/>BxY-2>6=1SS@n3BQQY>+sgD4K;6xtBE3mu"
10+
"G?$##HRq/#n2^I$oAhhLdJ)U1,VW/2*7Yd3w0`.3us/I$#i%s$FS&J14YK+,^U&3,Cr(9.2d/;Q0:U#$ZuEO+AakL#EYIq.4v=(j]&+F.H<IFF)bBg(2o58.[[5K)[(Ls-/t/I$OEU*@"
11+
"hPt>P(&cI)9r_V$6^`A.,k`Cjj&nA#Y7,HM+@75/8e9:)K4j'MdZwe-fcBN,g6'@9Q.kD3YdUV$sRk&#l,>>#@D5##]o;T/,oK9/)$fF4k&B.*-7T^,k(TF4^.RM0Rq@.*bZ'u$cJF/M"
12+
";`6<.*M4gL;ngo0TAOZ6W.PV-RVx_4QmuX$KOj`ub>(6RTcZULbR39/oBfU+-p9x9SP>bnQ5&X%pbO-)&-g[us_.u-=^7>N8$EG'i_7MTv+qM#ReBtLg@RxktpqbrUv?rC*+8C8i&X1)"
13+
"e61nLx-$O*%@h-Ml=DX-xv@=(`()?#B8WeFW-u?-vOlo.$&>uuu]iQjhx###6T&],vQnW_$Dh8.w-<?#PE3j1j.dx3stb@$RieX-PbU/)9,d]u*l0[.p2rE3*cA/L>%jx-q-U&5YZbA#"
14+
"Dc$a-1F-Z$3(m<-2&&b-cjHwB)j9e$*fF.#=F.%#bWt&#M3>V/2T/i)HrUv-F^?d))2pb4N*sKG'L/@#H`G>#x]5.3Z_[@#1N.Q@2eV5*k+)ul=^hA4+;wA4-l2%bt_NPoN%g1BYb]+4"
15+
"2bMjLXF8:La,3.M58+**]kp)4JP`,u2U`k#Z-qDX;BgF/['9'#/W%RNTfUV$R.c98V0sw$]p*P(&b+X$xIkI)<07IMS@E`#a?7f3lCgG3&va.3BPc##H$1,)lT1fB,jBYB9./W$`sPn&"
16+
"HhRw#'Stk#(1bd3;Duu#E'h'/C<,A#/@PD4I2?[CsQj8.acRL(Tm=0l-n21d?R#N#;DOjL)^l[0Sr@/Lw758.Run+MFJuM(jAqB#(@lZ-TekD#7%x[-Dn0&6,R(f)H&B.*_bfr/8Yer/"
17+
"C?x_ur>l(5r@1XMK@/GVQUQ;-***:2W-S9r3WxQEv0[0#$jFRE>*w-?Y=`2Mp4pfLeksNMUoHlL*/ar?:eTAX[8DG)OA2<%m$PH2No^I*Tj'u$Od]b3vQ)Wuin1T.G8][#lq8gLg0N;X"
18+
"J&5R*rNZ'X+H^[#-n`?ubO)iM/es(v_<]1$]&H`-X%@k=XQk9.*m@]+r)2I$6_>b@^X[[#8^Da-ot>_8GR@)4-krE@FkGb%rAeA#(8^v$W.H9M0>LP8vZ@ZRxiGA#=v:u$+iqfttU5UM"
19+
"^eJe$H/Fe@I9dNu04L#$HZiX-8t)C8tlIfLMoMv>5<c1)ML$##@=)?#w#9Z-*W8f3EPsD#ItLt/'^Bv-8(@8%BLWn%<C2=%Ib7o[(f/dtZ9R%-Uwe'&c:]#.S]M4uNDKm6-_r>#s'C@-"
20+
"NJ6/:.N,VH+QB],H0exO-@hB#P%19:Kxu;$OcB1PKoBwgwjf*%bkfi'lH*20K6>X(1cLs-;va.3-uu8.P=]:/pjiv$t@0+*Hl-E4w8#g1&O;qV>>LW-XhNt_8M'+*So(:8pHCE#-PNh#"
21+
"cr&=)$h)9'Z$]<$UH)_t>j`ZUJRm#u@Zk=$$r/?8Us&<Ags6U@Ms%_4g7.D(ClNh53GY/2'@t05R.k05cn^1p%bpK(i`2iK.K+<AZ4QS7$o45AhXv,49FeU8YIAx$S6[0#G?O&#DoA*#"
22+
"_>QJ(PGpkL'(MB#/T01YP6;hLeb6lL7$(f):3ou-KHaJM[TXD#'1;p72$[p.Z9OA#RcB##Oi./LlA)ZuTBqn'B]7%b/WM<LrFcS7XOtILd9b<UxX'^#)J/Dt]il3++^tpAu_L%,w$[gu"
23+
"5[-['#**&+(a%0<O4h=#%H3'50S6##l9f/)m`):)t1@k=?\?#]u3i8-#%/5##)]$s$+JNh#jl###cU^F*Vs'Y$Lov[-0<a?$Hni?#+?2?up1m%.*%%-NPB`>$agNe'Qk[X'ep.'58=B_A"
24+
"+L1_A'fp`Nae&%#aKb&#W>gkLXu[f$V2Cv-_uv20tt?X-BL75/#(KU)N0;hLr75c4br9s-;va.3exLG`^U;4F9D+tqKKGSIULS:d=vRduSxXCuOq$0ufu'L#>Y[OVk1k3G(kZoAO9iQN"
25+
"'h5',b_mL,v?qr&4uG##%J/GV5J?`a'=@@M#w-tL0+xRV6,A48_fa-Zups+;(=rhZ;ktD#c9OA#axJ+*?7%s$DXI5/CKU:%eQ+,2=C587Rg;E4Z3f.*?ulW-tYqw0`EmS/si+C#[<;S&"
26+
"mInS%FAov#Fu[E+*L'O'GWuN'+)U40`a5k'sA;)*RIRF%Tw/Z--1=e?5;1X:;vPk&CdNjL*(KJ1/,TV-G(^S*v14gL#8,,M*YPgLaII@b+s[&#n+d3#7,(%#';P>#,Gc>#0Su>#4`1?#"
27+
"8lC?#<xU?#@.i?#D:%@#HF7@#k'LVCn)fQD[.C(%ea@uBoF/ZGrDFVCjZ/NB0)61Fg&cF$v:7FHJij$5bW<2Be(&ZG17O(I_DbQD6%WiF,P7/GA'kj02%jMFlq>lEki`]&D-(VA,gpKF"
28+
"jb^oDw/UG$)NkVCdL^kEnw8I$1GKoDar#oDRh&##cW_(AXo&##";
2729

CustomFont.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@
44
#pragma once
55

66
#define FONT_ICON_BUFFER_NAME_IGFD IGFD_compressed_data_base85
7-
#define FONT_ICON_BUFFER_SIZE_IGFD 0xc21
7+
#define FONT_ICON_BUFFER_SIZE_IGFD 0xd52
88

99
#define ICON_MIN_IGFD 0xf002
1010
#define ICON_MAX_IGFD 0xf1c9
1111

1212
#define ICON_IGFD_ADD u8"\uf067"
1313
#define ICON_IGFD_BOOKMARK u8"\uf02e"
1414
#define ICON_IGFD_CANCEL u8"\uf00d"
15+
#define ICON_IGFD_CHEVRON_DOWN u8"\uf078"
16+
#define ICON_IGFD_CHEVRON_UP u8"\uf077"
1517
#define ICON_IGFD_DRIVES u8"\uf0a0"
1618
#define ICON_IGFD_EDIT u8"\uf040"
1719
#define ICON_IGFD_FILE u8"\uf15b"

CustomFont.ifs

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
<glyph orgId="61540" newId="61540" orgName="share_alt" newName="reset"/>
1212
<glyph orgId="61543" newId="61543" orgName="plus" newName="add"/>
1313
<glyph orgId="61544" newId="61544" orgName="minus" newName="remove"/>
14+
<glyph orgId="61559" newId="61559" orgName="chevron_up" newName="chevron_up"/>
15+
<glyph orgId="61560" newId="61560" orgName="chevron_down" newName="chevron_down"/>
1416
<glyph orgId="61563" newId="61563" orgName="folder_close" newName="folder"/>
1517
<glyph orgId="61564" newId="61564" orgName="folder_open" newName="folder_open"/>
1618
<glyph orgId="61600" newId="61600" orgName="hdd" newName="drives"/>

CustomImGuiFileDialogConfig.h

+20-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
// uncomment and modify defines under for customize ImGuiFileDialog
44

5-
//#define USE_IMGUI_TABLES
5+
//#define MAX_FILE_DIALOG_NAME_BUFFER 1024
6+
//#define MAX_PATH_BUFFER_SIZE 1024
7+
8+
#define USE_IMGUI_TABLES
69

710
#include <GLFW/glfw3.h>
811

@@ -17,21 +20,14 @@
1720
#define IGFD_KEY_BACKSPACE GLFW_KEY_BACKSPACE
1821

1922
// widget
23+
// filter combobox width
24+
//#define FILTER_COMBO_WIDTH 120.0f
2025
// button widget use for compose path
2126
//#define IMGUI_PATH_BUTTON ImGui::Button
2227
// standar button
2328
//#define IMGUI_BUTTON ImGui::Button
2429

25-
// locales string
26-
//#define createDirButtonString "+"
27-
//#define okButtonString " OK"
28-
//#define cancelButtonString " Cancel"
29-
//#define resetButtonString "R"
30-
//#define drivesButtonString "Drives"
31-
//#define searchString "Search"
32-
//#define dirEntryString "[DIR] "
33-
//#define linkEntryString "[LINK] "
34-
//#define fileEntryString "[FILE] "
30+
3531
//#define fileNameString "File Name : "
3632
//#define buttonResetSearchString "Reset search"
3733
//#define buttonDriveString "Drives"
@@ -44,6 +40,7 @@ Comment theses line if you not want to have customization, like icon font here
4440

4541
#include <CustomFont.h>
4642

43+
// locales string
4744
#define createDirButtonString ICON_IGFD_ADD
4845
#define okButtonString ICON_IGFD_OK " OK"
4946
#define cancelButtonString ICON_IGFD_CANCEL " Cancel"
@@ -53,6 +50,18 @@ Comment theses line if you not want to have customization, like icon font here
5350
#define dirEntryString ICON_IGFD_FOLDER
5451
#define linkEntryString ICON_IGFD_LINK
5552
#define fileEntryString ICON_IGFD_FILE
53+
//#define buttonResetSearchString "Reset search"
54+
//#define buttonDriveString "Drives"
55+
//#define buttonResetPathString "Reset to current directory"
56+
//#define buttonCreateDirString "Create Directory"
57+
58+
// theses icons will appear in table headers
59+
#define USE_CUSTOM_SORTING_ICON
60+
#define tableHeaderAscendingIcon ICON_IGFD_CHEVRON_UP
61+
#define tableHeaderDescendingIcon ICON_IGFD_CHEVRON_DOWN
62+
#define tableHeaderFileNameString " File name"
63+
#define tableHeaderFileSizeString " Size"
64+
#define tableHeaderFileDateString " Date"
5665

5766
#define USE_BOOKMARK
5867
//#define bookmarkPaneWith 150.0f

0 commit comments

Comments
 (0)