topic "FileList"; [2 $$0,0#00000000000000000000000000000000:Default] [i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] [l288;2 $$2,0#27521748481378242620020725143825:desc] [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] [l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] [i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] [b42;2 $$9,9#13035079074754324216151401829390:normal] [{_} [ {{10000@3 [s0;%% [*@(229)4 FileList]]}}&] [s3; &] [s1;:FileList`:`:class: [@(0.0.255)3 class][3 _][*3 FileList][3 _:_][@(0.0.255)3 public][3 _][*@3;3 C olumnList][3 , ][@(0.0.255)3 private][3 _][*@3;3 Display]&] [s2;%% &] [s2;%% @@image:2240&1320 흿Ƈᄢ͹ɖ׎ –ؘޝտҿ݆ں稨в ⟁ϧޅӂ穽ς̑큉 ⷾߺϞʐҪŏޅ ۫͂ƒ鹮䞬єꋒ熯ه톬 ł娽²ӿӵϾ鹸 𲯌ϟͷ艫Ս 斒ڻáӍώޙӲDz˖޼› ߓՙ¿ƾ؂Ӊִ 黨ǻٟϾТϤٳϸٟ녴ϴߓ 쑷햳럓٭̔܂쟟 Ψ˜ƆݣǏ߰⡗롋ң 픬맃ֹ≭俟Ɩɐٞ 齻ϻ㋨٥៯ϼ󧻗ϟڌ㫠ƾ 󛑶ұスڱޯԋӶɅ򯱁 ӗמ—ߑۃ̓ٚȅѦ󢎷ۗ¸ϗ ǝΒӧ͏ՏﹷΎԓӦ ܿߋ̾Щܭ炰ʤ۸Կ⩈ϲ 擧㷍Ȟ㞠̮Åɣķ˝ǵӾļ̎ Ŧ񴆸럯ֿȌӨȥӂϴ ЉˍߦȢόĎØӜ ֿ啊¿៫֤סو 멟Ԓ៣ڡ¦̡ ɟρǏвӿډѲЫμҰ¿ 쐶ǟȲޚˉիޟ䋿 ٚϗ؛րٚс󬟻Йۤ֋٧ ڼ⟓ǓԿŨӓްͮ 뢹ٕ¿̯ƴώʹ߲ߡ߳ۚオ򇎰݈ ֤띮ҹןגԺ݌㳗ϦჃ ڨ򇎬쁿ϹއͽƄ ϠǬӔʊկ˗Ŀɭ뎐Ӕ Μܡӑƚԍ˹Ϳ酟йܖ 䎝Ң횾Фݿ샻쳴Γ̹ϵאܿǂ ϵ៵ÃȆӸ̗ٚۃہ렰݀܀ 񆶘Ѧ꯺娧™֜ϾŶǿ濗Ǘ ʭڣٗڙσܟ̓ӽ緓Й מƧ㪓ṂҞ쩾˵ݾٚ𵚚 ෙ釙ȧĿɐȥ᳒Ђ푷 Ю℥媮챉݇ҸòȎͦҺͮ 񊫚ɴ۴οϭៃѿ׉ѣ鷜 ҿǕǜڍ˽ǦЋڿǿθ؏Ȧ ϳͰخ䓤캎ۿҎѹӻ󱅄伦Ɲ 湍ߟΧ򇜌̮ӅɅ຀ۃߏΏ ն໯֙ϰ܎򙟻쫴 믿Ê輧ߚϐᨾٲҥӓȢ 􈙾Þٞ딍ڔ¡Ѝޯҽˏ ҠˌȾ殨ڀ򷒝թϬ릀Ғڳ 鿿蘿Ə܋̎ҷ٩Һܛ⨺ڎͷ Ǡɉ୼҇ʯ¿ֿӵɋԙ̮ߏʖ ֮¿ڙݛ֧񧨖񧨓 ̮҄ǿ뢃݀ 삷ӞևҿܟغԿºʒ❬ё͚ ػدסǟӺ䐅ŏ׏Ỽ圬ߴ эևƨ❛ʎ較ͺչ㜾 ټ͙×˵͍ڟŽȾݕڢ ԍ̰Եƛ;闥ܿݱ愼껱̿ۥ քܿÝ埧𿢖ܲəν̌ ޚϵ㱐ژӍϗԮ٤𵣭끿Ԕ֧ݭ˶ ōŊԑټўϰ֋뜶ڃ܀ ܀썄􋠓̯ʅ⯾׈Ӆ֘ɼɟߋ㍖ כŤ󠁹Ů៻ƅƥż뚦լ ۦ˾畗׵ЖëߪɌĿǿĄǞ̻䯈 ͬě˰ܹӌ̈́Ǒńҙ̥ ڔԶȞÍퟁؠĀ՗۪ȝ ѕͺ۫韼⤚Ǖғ ݈⽅ݬѿ퇎鯖̬ӈĿå ߍ캙Ç鰐ϑ݌φͥрⱟəŎڋۿ ҤșɄߨœ܂˳ڎ̆濥딨携Ҕ؞ѻϡ ܀򇴆įְɯ⮀̮Ǡ ꮀׂͅɒϿ رψҿ̤ӛ߇ꔆݮѯ۱ ږ΍ә›֎끡򶣹éǿ 񧏍̝Ɯ裕Ϡ؇ѿֿŷذ赴矷 祶ɫ݂ơ玘䚛׍όֹΘĐ ކƽԍٞ٩ʿԒѿֻÅ ܀܀썄̮ǿϽ쨿ⶉ̮ퟷؙ̗ ƶڭ勴Ԃٟ蟟Ϟ˼߯ ״ޗӟξڝ緿ɤ޾ئ̖ ױٚ䃵Ã˔أɀ罾ҷ ˇΑث渧Ľ۲ ˇ럙筮ɣڶܦ͚탥Ϊ὎ ݸំ؃˰̯şߗϿ˟ IJҖϴǨچٝ򋵰ꚲܔњź ̊뱽ڤ˙ڀڊ݋̘˪ڎȉԿüΡ󭺽 㶋瀿ϠЏȅ렰݀܀줍 ٍÌ̚Ӿߒ癮Ɋڻ ΍Өư֯䵦íͦ͞ ݱެӾҞ⶟ͳúܫԂ됲ӞΆ ն̶Ӟ̽ަٽ㐦謸 Ϯ֘يφӶަ¦؂㕎ܩ䘭 ֿះצǨچŮ瀢— ӍȯϮߗ溭ɾ뽬أҪƯۂ ץǿҗٕƵŲܒæŜʤ柮ΥУį̢Վڃ ܀҄Ӆ֠ڿ֒̶ 俟򖌿݀ٿӅ߄˶ڇݓ ¿׳ުɩ䫢⽰ƵקջĠ㽧 ׬¢čӬּꃞ뒴۶ؾ Ͽ砞ʠՖœΌӠ̉֩ ʽ˒ԧ͔֮߱Ʀ捅κ✀ϪߓŖŜԗ ՒƜ鶝Ӈ݃ҍ〰̔шϱňѦ ؏ܙ緓뜛؟䣜赳߄ٙ Ӆ֤຀̗ٚ㟘փタت ŠЂӹ􆓙ĽۀС؋ՒǞʕӿԚ퀅Ꙕ Çꍨ醢⋸ɰ֛ݾĺПҿ Ƽݪܹ琢ˌޚһ©ư ˋɟɿ̇邝͢ĿѰ΢̓Ϝڡ 뭩Ĺšø⻾ɢĬ訑΁ܹ瘫ś͢ǵ΄ 誄ʷԽ֔ӛΟ©鍤̮Ӆ Ʌ຀긊Ǟ͒ӻȭϧƼ ͭڟ֎ѓل˾׹̕ނͥϛ۞ Мꈺڙɬ珂ˎĆݵ ۨԌӎ鹙ߤːđ˒؇֩Ɯؾ韁ί ū͔Ϳμ踇ޓʬɅ٣͘ ܫΟ߷Ӧ򽝪Ĺї֡ߥΙ Ҽ٬ՠʛЍޅᘞ㕁ڢ܀ܢ썄מ —߹̕鮂ӜΠ݀¿靪̒፟뮍Ƅ סր̮ܨ̓Ӂޏׂ̾јꩤߔح ҊОĿΨڪџȼ֋ϳ·ɿ 龲Ψڪÿƚψ֦̅ø ﹶ讏ÑӛؓƱ󮇈㡽̉꠨֧ѐ ڗն闰飅Ҹҿ䀘툭 忟ܮɢީňἱˢԟܜս͎椹Ԓڭܐ δ韓ȵ˴ّĎ̤Ś ʤܢĐԺŽʥǹɤʚکʴ 񏏆饞ծƠҵ̗될݀܀썄͓ ֆӅɜᪿ䒵Ǟ򟿶ꖕڮ埏傽ҿ ¿ž݄рƣݪҦޮأԼ̤ᤋؚޘ ᯮ粭کچݮݫֿ草☴і 㟅œ﫱גʻʌѿ֩Д죽 ϰź҈܊ҺĬт﹓؋ ɉ߾Ʃֶꤒڕݻ߲鮩圑ƗѢƗ ŸԮȒڻٮ̮π䏈鍤̮Ϸ ݀ܐۧݒܰl藟ح՗ݖ͵ƃəǠ ǖ࿧釟ֆ×ÁΉӴ 㝷Ѵ伜쇽ۻܜԿϰáݠɄĔ糡쟟 ĨǯᢉبԀNJܵꮏȔ ߟ퓟ڎݜ󬆄ܡƖ򵥋Һ̣ ߠ˴̤ޗ݌ڢ򝷠׉Ӻ敏ק鵏ūۭٔ Ӟϳίɛ涐畖ݟ螴 瘍粺ٽ󲯑Ȗɼځ蟾 ȍϜҖƻіҋڂٚ嘜뵍ˤԭ߇珟Œє ҒȔВǦٹځܮКǂ䬔騕 Ͽ؏ń…ɅȿԚ̗ϔ ۲ &] [s2;%% &] [s9;%% This class is the ColumnList specialization for displaying lists of files or similar items. List consists of File structures with elements appropriate to describe and display individual files.&] [s3;%% &] [s0; &] [ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&] [s3;%% &] [s5;:FileList`:`:WhenRename: [_^Callback2^ Callback2][@(0.0.255) ]_[* WhenRename]&] [s2;%% This callback is called when filename was renamed by user. First argument is the original filename, second one is the new filename.&] [s3; &] [s4; &] [s5;:FileList`:`:StartEdit`(`): [@(0.0.255) void]_[* StartEdit]()&] [s2;%% Starts the editation of the current item for rename.&] [s3; &] [s4; &] [s5;:FileList`:`:EndEdit`(`): [@(0.0.255) void]_[* EndEdit]()&] [s2;%% Ends the editation of item.&] [s3; &] [s4; &] [s5;:FileList`:`:IsEdit`(`)const: [@(0.0.255) bool]_[* IsEdit]()_[@(0.0.255) const]&] [s2;%% True if editation is active.&] [s3; &] [s4; &] [s5;:FileList`:`:OkEdit`(`): [@(0.0.255) void]_[* OkEdit]()&] [s2;%% Ends the editation and calls WhenRename to actually rename the filename.&] [s3; &] [s4; &] [s5;:FileList`:`:Get`(int`)const: [@(0.0.255) const]_[_^FileList`:`:File^ File][@(0.0.255) `& ]_[* Get]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] [s2;%% Returns the file item structure at specified index.&] [s3; &] [s4; &] [s5;:FileList`:`:operator`[`]`(int`)const: [@(0.0.255) const]_[_^FileList`:`:File^ File][@(0.0.255) `& ]_[* operator`[`]]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] [s2;%% Same as Get([%-*@3 i]).&] [s3;%% &] [s4; &] [s5;:FileList`:`:Insert`(int`,const String`&`,const Image`&`,Font`,Color`,bool`,int64`,Time`,Color`,const String`&`,Font`,Value`,Color`): [@(0.0.255) v oid]_[* Insert]([@(0.0.255) int]_[*@3 ii], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `& ]_[*@3 name], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 icon]_`=_Null, [_^Font^ Font]_[*@3 font]_`=_StdFont(), [_^Color^ Color]_[*@3 ink]_`=_SColorText(), [@(0.0.255) bool]_[*@3 isdir]_`=_[@(0.0.255) false], [_^int64^ int64]_[*@3 length]_`=_[@3 0], [_^Time^ Time]_[*@3 time]_`=_Null, [_^Color^ Color]_[*@3 extink]_`=_Null, [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 desc]_`=_Null, [_^Font^ Font]_[*@3 descfont]_`=_Null, [_^Value^ Value]_[*@3 data]_`=_Null, [_^Color^ Color]_[*@3 underline]_`=_Null)&] [s2;%% Inserts a new file item at specified position.&] [s3;%% &] [s4; &] [s5;:FileList`:`:Add`(const String`&`,const Image`&`,Font`,Color`,bool`,int64`,Time`,Color`,const String`&`,Font`,Value`,Color`): [@(0.0.255) v oid]_[* Add]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 name], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 icon]_`=_Null, [_^Font^ Font]_[*@3 font]_`=_StdFont(), [_^Color^ Color]_[*@3 ink]_`=_SColorText(), [@(0.0.255) bool]_[*@3 isdir]_`=_[@(0.0.255) false], [_^int64^ int64]_[*@3 length]_`=_[@3 0], [_^Time^ Time]_[*@3 time]_`=_Null, [_^Color^ Color]_[*@3 extink]_`=_Null, [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 desc]_`=_Null, [_^Font^ Font]_[*@3 descfont]_`=_Null, [_^Value^ Value]_[*@3 data]_`=_Null, [_^Color^ Color]_[*@3 underline]_`=_Null)&] [s2;%% Adds a new file item at the end of list.&] [s3; &] [s4; &] [s5;:FileList`:`:GetCurrentName`(`)const: [_^String^ String]_[* GetCurrentName]()_[@(0.0.255) c onst]&] [s2;%% Returns the filename of item with cursor. If there is no cursor, returns empty String.&] [s3; &] [s4; &] [s5;:FileList`:`:Find`(const char`*`): [@(0.0.255) int]_[* Find]([@(0.0.255) const]_[@(0.0.255) c har]_`*[*@3 name])&] [s2;%% The index of the item with specified [%-*@3 name] or negative value if not in the list. Search is linear.&] [s3; &] [s4; &] [s5;:FileList`:`:FindSetCursor`(const char`*`): [@(0.0.255) bool]_[* FindSetCursor]([@(0.0.255) c onst]_[@(0.0.255) char]_`*[*@3 name])&] [s2;%% If item with [%-*@3 name].is in the list, sets the cursor to it and returns true, otherwise returns false.&] [s3; &] [s4; &] [s5;:FileList`:`:Sort`(const FileList`:`:Order`&`): [@(0.0.255) void]_[* Sort]([@(0.0.255) c onst]_[_^FileList`:`:Order^ Order][@(0.0.255) `&]_[*@3 order])&] [s2;%% Sorts the list. Order contains single virtual method for ordering File structures.&] [s3; &] [s4; &] [s5;:FileList`:`:IconWidth`(int`): [_^FileList^ FileList][@(0.0.255) `&]_[* IconWidth]([@(0.0.255) i nt]_[*@3 w])&] [s2;%% Sets the space reserved for painting the file icon.&] [s3; &] [s4; &] [s5;:FileList`:`:GetIconWidth`(`)const: [@(0.0.255) int]_[* GetIconWidth]()_[@(0.0.255) con st]&] [s2;%% Returns the value set by IconWidth.&] [s3; &] [s4; &] [s5;:FileList`:`:Renaming`(bool`): [_^FileList^ FileList][@(0.0.255) `&]_[* Renaming]([@(0.0.255) b ool]_[*@3 b]_`=_[@(0.0.255) true])&] [s2;%% In renaming mode, user is allowed to edit the name of item (by holding mouse button over the item). WhenRename callback is called when user accepts the new name.&] [s3; &] [s4; &] [s5;:FileList`:`:JustName`(bool`): [_^FileList^ FileList][@(0.0.255) `&]_[* JustName]([@(0.0.255) b ool]_[*@3 b]_`=_[@(0.0.255) true])&] [s2;%% In JustName mode, if filename contains [* `\] or [* /] characters, only the part after last such character is displayed as filename.&] [s3;%% &] [s0;%% &] [s0;%% &] [s0; &] [ {{10000@3 [s0;%% [*@(229)4 FileList`::File]]}}&] [s3;%% &] [s1;:FileList`:`:File`:`:struct: [@(0.0.255)3 struct][3 _][*3 File]&] [s9;%% Structure used to hold information about the item. Some items, like file length, are in fact not directly used by FileList and are only provided to make FileList usage simpler for its primary applications (e.g. file selectors).&] [s3;%% &] [s0;%% &] [ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&] [s3; &] [s5;:FileList`:`:File`:`:isdir: [@(0.0.255) bool]_[* isdir]&] [s2;%% If true, item contains directory.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:icon: [_^Image^ Image]_[* icon]&] [s2;%% File icon.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:name: [_^String^ String]_[* name]&] [s2;%% Filename.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:font: [_^Font^ Font]_[* font]&] [s2;%% Font used to display the filename.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:ink: [_^Color^ Color]_[* ink]&] [s2;%% Color used to display the filename.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:length: [_^int64^ int64]_[* length]&] [s2;%% Length of file.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:time: [_^Time^ Time]_[* time]&] [s2;%% Last write time.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:extink: [_^Color^ Color]_[* extink]&] [s2;%% Color used to display the file extension.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:desc: [_^String^ String]_[* desc]&] [s2;%% Additional description of file, displayed after the filename.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:descfont: [_^Font^ Font]_[* descfont]&] [s2;%% Font used for additional description.&] [s3;%% &] [s4; &] [s5;:FileList`:`:File`:`:operator const String`&`(`)const: [* operator_const_String`&]( )_[@(0.0.255) const]&] [s2;%% Returns name.&] [s3;%% &] [s0;%% &] [s0;%% &] [s0;%% &] [s0; [+150 FileList routines]&] [s3; &] [s5;:Load`(FileList`&`,const String`&`,const char`*`,bool`,Callback3``,FileSystemInfo`&`,const String`&`,bool`): [@(0.0.255) b ool]_[* Load]([_^FileList^ FileList][@(0.0.255) `&]_[*@3 list], [@(0.0.255) const]_[_^String^ S tring][@(0.0.255) `&]_[*@3 dir], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 patterns], [@(0.0.255) bool]_[*@3 dirs]_`=_[@(0.0.255) false], [_^Callback3^ Callback3][@(0.0.255) ]_[*@3 WhenI con]_`=_CNULL, [_^FileSystemInfo^ FileSystemInfo][@(0.0.255) `&]_[*@3 filesystem]_`=_St dFileSystemInfo(), [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 search]_`=_[_^String^ S tring](), [@(0.0.255) bool]_[*@3 hidden]_`=_[@(0.0.255) true])&] [s2;%% This function loads [%-*@3 list] with file items in [%-*@3 dir]. [%-*@3 patterns] contain allowed file masks separated by semicolon (e.g. `"`*.cpp;`*.h`"). If [%-*@3 dirs] is false, files in the list are displayed with `"disabled`" color (useful for directory selection). [%-*@3 WhenIcon] specifies icon assignment for individual filenames (first bool paremeter is true for directories). [%-*@3 filesystem] specifies the file system interface.&] [s3;%% &] [s4; &] [s5;:SortByName`(FileList`&`): [@(0.0.255) void]_[* SortByName]([_^FileList^ FileList][@(0.0.255) `& ]_[*@3 list])&] [s2;%% Sorts the list by names.&] [s3;%% &] [s4; &] [s5;:SortByExt`(FileList`&`): [@(0.0.255) void]_[* SortByExt]([_^FileList^ FileList][@(0.0.255) `& ]_[*@3 list])&] [s2;%% Sorts the list by extensions.&] [s3;%% &] [s4; &] [s5;:GetDriveImage`(char`): [_^Image^ Image]_[* GetDriveImage]([@(0.0.255) char]_[*@3 drive`_ style])&] [s2;%% Returns the OS dependent icon of [%-*@3 drive`_style].&] [s3;%% &] [s0; ]