Description: Free Vision
This file as text.
(active) Revisions in this set:
5c6d6b030d0ef310f3b83470474c25c2f9332d3c,0b850d9883e8d956a749585a212f6c0473126159,75db39f06434280c32980480d52def9c188a2c66
44213e33895210b0b1ece2353414355ea364dbd8,28cc421b13ded883a6c2e6c39a7d2e3ee63271f6,3d4a242974f5290302e7afc1f18cb462ce6942a7
c5541e9376af14246897f7013d1a72a62da7032f,1f3e903c107ef366b8c1ed2d57e4e1efdad13d02,b564e400fc76fa5f429922849a96580d6494bfac
4b0edb61153aa71dea42c1f6e270daf72753384e,0d76565e50239b58176c9d8a298677c2093ac3a1,8a7ba17e12daa3e03c89e4794daa07e852105f57
3297a453ea0717b1c4858015adc494c4dd467239,ae339ed8fb7d5678db9d5f9db3df4002a21074c7,7fd8562d4a19c3d271ca9d8ea912d006d1b8012c
6fa787674f53b7e01dfb9f2de12e92367c44ba0c,98132ce24e7eab0793065dea5d91d14ae8a4e075,c9cc530d948d4270e528b63ba2bb13493366d907
6198d4a0a1eabe00f5ba947f24747f5c1bab9f94,bb06c623c3100372c1cf7a769da0d7bf1eb94ce0,766162a3481880e0c0533c0309aeb9fd19a0e545
e8a0abf075a6ac777b3928f5623f6f3e67a0050a,763124567d20c79d6bdd9ca550899588367bad2a,2b0cdc0c15d6012f580a1e2e578ab1de291c5bd4
c540ef3bf85d0bb8298d57025400e8fa1af4323a,86f36c66c048f4ed692d829fcbd4a28e2f9b7a7b,8b0747f5529cafaf0823adcb7d9c1184f09a2f04
346cf6a32ff9d360f363715b940d081d713a475c,17b748ef9ae87cdff765ff1aedfdf23f643f7367,08c5d9b00773c9f1bbf7d703109ba9cab2b89654
eb6d1dc73f9b2694fe6baf692936a65939c026b3,4ff66758ee71ffdc5a99b86c3b824a0ab5f81b66,ad35f14017ab89059ee8c608c77a34d93f902cd9
c92235f4fd4c9430e3468e3b17868a68ccbd459a,3f0d1aca089fbc674fbd8a1e82674e4726d03c0d,0172420df7dd4f317c050084d39ee271a6eba17a
d373397f30324be8f0e7f1085ed5322e17bd22a3,0fe68e7c9edc24226fdfe9fe93d6ceef9fce4824,d659c731d8277b7beca49e25df704dc51259eaa4
92334d86dfafcacc31c0c2b5c184c029e8ad2cdb,e1da44c21913bcfb21cd404276d37dd726ee11ff,78862011b2dc79757a001c92b0e7bfa975ce5723
29dfb6131e6e1819591bf69a009387c6c8dfd07d,90b422b2d44eb1b54cd9c98d9bed8e6f97686296,cb6a66fed0ddde682706434bf638b8158b616396
1ffb6c6fdf22c24e7740462c04d025df8b2d84ec,047b435131103d0c4018745899b2cf2bb6a9e2ad,88e960cd00ee0f4efc259fce11e6c0eec287c0a9
f5005e46469f038ac3debcba16407bdb9f5c4e84,a9a0dfeae387f49a9108263f5498f78cbe024ca2,79aac426fd35f18a52a986656abd7de8cdf84c95
ddde3628ba2c1da90fd28622221996cb341ba59f,5dae243ffd4b2820b7e0bb54eeeefdb4e3bb2a30,2cfab10cb1f9f6f6e44d438576db61d56f5aac99
297e9881c6f6fda8865e50267e033cc68224724d,5e9ba29d89a34e1cc14f95f6ce47b7b87e6e683e,ddd262168846fbf2ba5372114ada135af71225cd
4d7538a0da03e8c177c4367d1e7080bc73fd04f2,5b5f6b71581e282d9e7b68f953eb682269f9c79e,0d844aaa4150d4884ebd1ad411c791fe779e41db
7cf1d227fb2435978788ec6f283a7410d5e544e8,f0adf5d6120953274e901e055edbb29b42b7f616,25cf57b085ad8043e1a7a82ac4ea5f1335a8b537
d5ef64fb91cddc665f25bf57c93d1d442604843a,6e845e397fd1d96c6be0ad0caac80bde3c34b27e,1d0ec1b96671437913c86e35deffd2f28a1ac153
5013e7039a3dc30df510941eac1cd365a50fe10a,1a643e250a070d873a2c7b4253767bf457a85643,f64bd5c07974559809148d0872f786122b881b1f
d41d6de6ec40a38ef495924e4cb77fb2cd5f3d15,829404a9570e15839ef15b845b43c009afe2055b,be726fdd09e05de3695f7eb75e8b95c17d02e8f0
55337def9ab243847853ef9b1dd58c0b564fcabc,057b786fbde4ec4963a9d67dc57fe6daa0791642,8a0a97576a5e762d6e6be33b82ea40acc06e8009
b8baf3bb85be26c3e10dfcb44ab61d3d98bd7738,7da5856dbd930ff246d76ec588438b7cceb87b49,1c9c84d01eb06bc3550d67836db2926f54eebde2
af4d301af9beb51331fdd864bceda75e1710f2f6,6cbf84eca626981e19a379371614a77b1838a6fb,5d3d64b3409efd9a109aa87f6bf2008a8da4b85c
c466caa0c8b439e563c41259d98a872abb77b0d2,98f42567130bbd6e47b357b93137f516b7ee8d1a,2ac661f63e21363d0715a4d213f8a1710ac8f660
5843d66a38276a1752766f5dfb853f44bdb08d16,d96b84cf1f81413e6ff8f8978b7712e34cbe2e88,9c4d842a6f6c80a1972d5ad8aaf47e66a3b7890a
b240b78c9fcb5daef7388e60f6287e7f93ec308a,b8a2c613e31d808436a13ba2f747801f27632e42,c0482743af23100033e1af8490abc856ed70a580
6c0491f7c2faf4f9c6ef7ad68e9ce5315fed1291,8dc55d82942d36a5723b2b97f4ec5699563edb14,a7e63b66ae0197943a89d4be7431acf61d302407
e583ba6cfaff78c2b890a32fbf00fd96bbc71237,545dd0353bfc15751c6d317370fb790d304647c8,89c7ae42afc2511a8cb40000db251f8fbfec4c9a
8ed768d48613b3f49621fe839f1be290def49abf,f04d87bc3da1959e635b1645c4f8bfb36ef7f5f6,1b27a955fa60036ea77d34629d963f104a3bdc10
0d171d91ae78ee7513370574128c5ca22789f613,c271a7106018c7acc056a2ef6bc01b0836923f1a,fb7fdfaae438b1497c6041755bfb15dada8cffc0
1bc06ec2767faca0764880bf70605a1fcacdd2af,83e492235e99c1ae079c87995be30b5d624370c9,9b419b800a2ab0a588615efd4b98f6190201c007
60a7eac72b9292decc314749d9f5a12f4d48ac20,febcfc8d20d5a57544fe394a8b4754731e68943c,91167f41a6f53a6db27085ab0ed9e930ede13ea9
700b30851e8b1294a78c9a50d4619e26f011c3ca,1bedcef063aa9e1753f6905afa4d1a65cc378a04,8751e983397d0712e92c7d19bd2c8f7a8d02a41c
59a60856dc0dff4041ff1f4cb33629a6aa04fbd6,17f7cb0e45ac10f19dcb7e883365c2c365d1c16d,e539696f29a48912a4e2cd92b9f8b0210a5e0535
75e42870ae10ee5d446ab6d4d8335aa7eb02269e,b6d2c6ccb721bc8707fc992c407cb695a5c5eef7,646ddb82173c7a55d7b4fa34c7b2cc75e9fa7c87
2ecca003dd15e8f7c082eeb3c2ff6ea141487017,d4be82e87988cfe921c8843cbe6856176a1209d1,f9cfc0aeb4de2e6ecb347b011ad2ab2ff2cac007
46586902f4c11be78d26048061e7203da14ae9e9,ea0213810b5f08a5c8df9ec16c160547101b0151,6bef792f3303eba2da048ad8a9950cac2c2a787b
028c06219290b7f1aa35c581e27b7a7dcfdc2ed8,de770cf1bea6238680853db72816a29f55098760,fe7324a04ca69b5d3f76fded91041f21111c671c
1c9fb8ec7dc83230dd264147ddc167eb5f323804,3dfefc25efa6ebced10e2e2dbde187130bbab2cc,fe312ab99ff41531686afed3ce0f7446d928a765
ddd87e09ff91b16d0926a857787e753eda4baff0,00beafae5be8d267469128964c6e901a6817e0c3,1b1facf87991774ff536acd4bddbd00faac243bc
0c2a1ffba8bb86294b226db30e4f744eb2b1da9c,78c3b698b183c690592e3f63fa8b2e6c12618607,4b6eea19189dce34125eb0e3de74b07de5cf8e43
40870af6a7dc39322622f7c4646b974c0d0800be,6ca821950d7dcd8579bd1e87ca22049aaf9e8b8d,41a51e8e4a6220935ff65f6e313c80380c71c1e9
52a29e0ba7e6dbf5cdc6dc0ba9b60c88e2307856,0b7d4801b077856035a56c7a67806210306df21d,3149506d7f82ed315a809a0c76c10daf9c4ce3f1
c1dca28cc5759a9190089849e83d6dd3c72a77e2,a57bda94defdebc54a9ea26cbda85d7fe6ab377e,6aacb9696184f25755a7a0c51041eb953c60808c
088a52a1cec23092d2c918cb121b44bd9391ee74,12fb58325a6a24663582762f7296fc903cef3420,063133f2f5726e0f71d74149c2f522ecd37a882e
62f8899c1b13c58ab3d318c55c607ccefab9b811,2208b55f767117cfc5a32df3f81c44e8001e7624,9f22623459866915d8769bd2e6cd9c8a75357c6e
d309b77b59612157a5a729170791cd9153599be5,4cfd9fa16e27a6c1dc3a6f4e2581313362105664,935467ae2320ef36021d6428752ea6b26cfdae74
359d23e595e164d4e895f90425ab57d1829696d3,f3eb7f8608597109a29b4ca566ec426d5da1ca5c,9c3a66930c7be316b97b9e932140a56cc0b35394
86486f9c463ef9c377e294f3ab897bb5e71b0306,a67c85cb89a556194d53dbf3e23c09750e4a16a2,818e3ae6e508788f628a7edc55782cef1da96d77
e1cb1881572cc0f36cc92b518b3f57ae9e20691f,538670c5a23a14ca36ed47e3c6d46f51164b861e,9d283cd983406aa6a6017c0faba2ad4509385dda
4c4388f830b5c8f02caf246248f0387eaec13204,97b79b3d4e67126d1db9745e5d3d5be33fc3add9,8d7a6cc778f939ab48006fd2ffa2c71b13ffee22
1b4c2b055124e6ab99c3a1464f8d7ae0baa2c5a3,fb872569da337454566eee04a45f55c09e26aa02,87cfd7dcaed01a183d42256822af192ebfc10790
204575594555ca74e78387772bf993852bf7b7ca,7e593750e8c57286c6a01977b6834401bb8f6391,ae495ab8883eccd23f5b1c74023ee109ba26c447
4e96751cb7ad933e3cdaf3b6418f75b71403f039,aebc7458e1aba59154cb6a6b5c581bafad061e14,c893233359603fe5e4db38afcee458a56922c357
1fae85a1c61d4943e768f280eea380d85d3b89ff,300d4f26177342d908d8fb859ced9e21f2ab12e9,4b271d8e0eadb801ccd5047bf2ac433c2cbd9f08
0ce984580945702cb50f17cc7a4cfeeb99ce109f,ef2c9ecc1c8c9e857a74ac62b6a7da4207bf37c5,b3591aecc2c68aba17a4e01b53e9b9a94fadf72d
d5ada197b8a33ac922ab4758c5db3c3e5914d803,17d5d47c91fceeeaf2ac1881e6dc27133cc4ac00,486824c4ddc0e710bbfcb46b6ef44b639a6544aa
b9688ae266c76019d18238230ef163f83584696b,d13c73744c809dcff6a38444e8d6c4e398ea3b29,b8ba852e946554655cac0897164b9b04ac4f0e95
bb62a9d8f0c702ea1e15f2c64d72b84ee6588e6a,ab64ccf73a9e59be412767839da148c0fa60cce4,225fc12164a760946394ecfa634e6abe4b137295
2d27ffa4275a879e31b3b2d126edcf2375099a25,1ebf3c1615db971e4ce8d3ce38a0060efa34d26a,ce3da8d36014a3b2c91730ca9cc66fd05f693eee
0099cab2debdf7df3e80976f2f9318c66a5b96c1,a8e34cfbc9e8e362f50f64297c622601410ce0df,18c009fd98d509c109791eba325c2d30e6461dd0
889db707e452802aef66a0920e2a329b9b96f12f,4f9950e92e775ad7f874e998ddc318dcfe945c30,cc57bb2146626257f6d07f0a05c47e1ba6b09bb8
396432f734f41e37833055f67b3a0fdc5d11fac3,515735eedb89d7621ce7ce7ca9f5df0a1bac272e,c8f8d3a1d31c1e90e24347ce71a079984a388ec0
f7e0de1b11d423d8b64f05352d10a106da895999,539f014c48cd3736726bf84d426ef2db0737dbcb,cb41a0b2aaa79b0bac20915887cdad6e1a4cf33c
e1091bce943124f553fe1dd6ae3e34d039b4ddce,7cd4cccbacc58646cad732c167f3ccb53c0eae54,bdf2a6087c406c4b64ad98197bcf6709dcadd3d5
ae3e45d2717955d28c3864bab73934679fa85055,5fc7c81b0bf5ea5f7e8598ab53335590ad1f1cc9,c573f54fb969ae8c1b7dedcca2026dcde37945fd
523c2c206a00416e4f6ce04b0076e21438fe24e5,aeff4f55f4a7c707169a32c5bcd5dace6608e8e8,5554e6d31376fb4d889bba4b3241575051fc2b1d
49ffc6f6c8df33f4fc74904f7e3bd86a79d3fcf3,ea548eaa56b1383b4bbf3c6fdae919f84442041a,d9a66255ee68332828a826f875467a8c40442127
5a77e17a24449841a283d20f47a2fd5fb813f2b4,202a069031fefbd8e16b85c467600988e02dfc3d,613e964e3cbe603eedee9993bf05872829990749
51fe99c7527f40e142cf617594e684d9adc0a44a,19e38139eaa104de3fa6ae4565756f444696b12e,b2e897d622fc6a91e11c800ce07ae1545caaa233
1a97db3a9f3904e3a2fadf939f0fae57e0706249,294ac1deb663d478c2a51404a9ef855ff447396e,5b3b5579d47281f8b015187cb2604270abd5efc1
121b9c04a17d4087375da4ae101f9bda2e731472,f5b41fb1f378a947cc208ca096262bcee4d73e3d,b6fddd6bc97c2fce59d6e89c64c49a0c3fe268d6
d8b05a6a3b9227d12c2031de013602bdbdf28390,77f1872b811de1d052e24de9176ce7f6f1d8515a,1e2637f0e295dea980ff2434592dfeb4337a1657
66942ac20e353a9fff227993a0bfe60f96d46156,adc3932c1b5c603832035c99bdd2da1ded7af5a4,ef7f9ec13a0e15b716cc446ae508307b0843c764
907cc2586227ebf449058340537f715b0514251f,c43da06c8de04d2391571a74bbc4565cd96df63a,604769dd86e5655bbb0db2c16463b5bdb470db92
9726b4443b076a3c7002eaa8feeb7469d4182a11,2da236b7f507468b6394ae77f41015ef4a059314,2dddcab5de057c67b006693e3a3edd7b31b2508e
e17ee248c31ce412ea08d1ba59efd453aefbb37f,58e81ecb1f3cb6b26db3ee46c3e44b24748ef624,690463852bbef1c0531814bf128c7f104f5fec36
b584df777456a75cd490096402f77e2d6351cbe3,fe74647e2c13aedbb059c1eb084d74b3f6cc440e,93477bee4e60e0359c6e7d4cfce222a5c35c71f1
561ecb8a6d37fea131a3784f9de4fdda349b381f,8a208b6b1f1db1ebc3fe1b0e24d1243c06bfcd97,611679b9661506400dcf1850734eacc8d7053975
63622b01007eacc47a10974adc01b7e4491c938a,3ecc888bd4cf377d9ff0ce62281fe1ede999e981,36d94705af226ecc2534c8f4388126a8399a0714
6d893bcccb01e905f61e9ea6d90672d655ed6911,56e3168120cab8eae00ce6b1f4dfbd8ff30b0d1d,afe5e085e47b57eb7410c418e2ca62f618983dbd
29ab0f0bfc00bdb4439819f0a1a62a42515c1e99,8499765e32c676bfa8e5aa33a60e8f18417fef10,af86347690cc0155ed495adcb425f7d3bbee59cd
c26e75a3c4eef379f5c9f9ace8045be9ecdc9cfa,642c2d047d2e941a329a383771bd21800d8ecc90,e8bb0cfcc89dd3bd6866c66478964c454742d170
98cc553dad5663e54614a83bebb6d2bf46b079af,0aa7c3895b1aeeb35a7986ed97e30eb526fee959,b9c00b2abb1cf5e74d25fc94b4b98479c8cada4e
2026af6d86873585198c476311c75859c021f746,b92030cfc4bc1a972a70fb5c4de763b61ad0cd5d,f1d570bf5f5f81fa0274bdd2eb06495957fa8e59
da278f4e10b02b0bc868736ef6a4cc64923235ab,390e449d1d6aa2e1cda014dc59d886827b45a1fc,786c2ec2c707fe905e44f5c432ac9902c10de643
64a07db475e3ea59a343ef5e475d165099f6f6a0
Clicking a revision will expand files
* switch to using enhanced key events in the drivers unit
+ add TEvent.UnicodeChar to the drivers unit
* all integers replaced with smallint, in order to be able to introduce objfpc mode
* drivers.pas moved to drivers.inc
+ added drivers.pas that includes drivers.inc
+ introduced unit udrivers, which calls InitEnhancedVideo instead of InitVideo (i.e. enables unicode mode in the video unit)
* views.pas renamed views.inc
+ added views.pas that includes views.inc
+ introduced unit uviews, which is going to be the unicode enabled version of the views unit
* switched the fv units to objfpc mode
* partial unicode conversion of the views unit
+ unicode version of MoveCStr
+ unicode version of MoveStr
+ unicode version of CStrLen
+ unicode version of MoveChar
+ unicode version of MoveBuf
* unicode fixes in TFrame.Draw
* TTitleStr redefined as UnicodeString in the unicode version of the views unit
* unicode conversion of TScrollBar.Init
* unicode version of TListViewer.GetText
* unicode fixes in TListViewer.Draw
* unicode version of SpecialChars
* unicode versions of TView.TextWidth and CTextWidth
- removed the posidx, because it seems to be unused
* TWindow.Title changed to UnicodeString
* outline.pas renamed outline.inc
+ added outline.pas that includes outline.inc
+ unicode version of unit outline
* menus.pas renamed menus.inc
+ added menus.pas that includes menus.inc
+ unicode version of the menus unit
* histlist.pas renamed histlist.inc
+ added histlist.pas that include histlist.inc
+ unicode version of the histlist unit
* app, dialogs, msgbox and validate unites renamed .inc
+ added .pas files that include their respective .inc files for the units app, dialogs, msgbox and validate
+ added unicode versions of the app, dialogs, msgbox and validate units (unicode conversion not completed yet)
* updated the uses clauses of the unicode versions of the app, dialogs, msgbox
and validate units to use only unicode units in their uses clause
+ introduced the FVString type
* use FVString in the interface part of the validate unit
* fvcommon.pas renamed fvcommon.inc
+ fvcommon.pas that includes fvcommon.inc
* fvstring replaced with sw_string in the drivers/udrivers unit
* use ufvcommon in unit uvalidate
* replaced fvstring with sw_string in validate.inc
* use ufvcommon in uviews
* use ufvcommon in uhistlist
* use ufvcommon in unit uapp
* use ufvcommon in udialogs
- reduced number of ifdefs by using sw_string in unit views/uviews
+ use Sw_String in unit menus/umenus to reduce the number of ifdefs
+ use Sw_String in unit histlist/uhistlist to reduce the number of ifdefs
* some interface unit compilation fixes in the udialogs unit
+ introduced type Sw_PString
* more dialogs unit unicode conversion
* umsgbox unit interface unicode conversion
+ use unit (u)fvcommon in (u)msgbox
+ introduced Sw_ExtendedGraphemeCluster
* unicode fixes in the implementation of the TBackGround object
* unicode fixes in the implementation part of the uapp unit
* unicode conversion of the msgbox unit implementation, as well as the FormatStr function
* unicode fix in TDialog.ChangeTitle
* unicode fix in TDialog.NewLabel
* unicode fix in TInputLine.Init
* more unicode fixes in the udialogs unit
* unicode fixes in TInputLine.DataSize
* unicode fixes in TInputLine.Valid
+ more unicode fixes in the dialogs unit
* use a TUnicodeStringCollection in TCluster
+ unicode fixes in TCluster.DrawMultiBox
+ more unicode fixes; the unicode units uapp, udialogs, umsgbox and uvalidate now compile
+ unicode fix in TDesktop.InitBackground
+ implemented StrWidth and CStrLen, using the new extended grapheme cluster string enumerator
+ use the enhanced grapheme cluster enumerator in UDrivers.MoveCStr and MoveStr
+ some fv unicode fixes for supporting complex (multi-char) enhanced grapheme clusters
- disable optimizations to ease debugging
* fixed reference count bug in the unicode version of TView.do_writeViewRec1
* updated unicode example string
- reduced the number of ifdefs in TStatusLine.DrawSelect
- removed ifdefs from TStatusLine.HandleEvent
- removed an ifdef from DisposeMenu
* use SW_PString in TMenuItem to avoid an ifdef
* use Sw_PString in TStatusItem to avoid an ifdef
- removed one ifdef from TMenuView.Load
- cleanup ifdefs from TMenuView.Execute
- removed ifdefs from TMenuView.GetHelpCtx
- more ifdefs removed by the use of Sw_NewStr
+ use Video.StringDisplayWidth in UDrivers.StrWidth
+ use Video.ExtendedGraphemeClusterDisplayWidth in UDriver.CStrLen in order to support wide characters
- removed no longer used local variable
+ use Video.ExtendedGraphemeClusterDisplayWidth to support double width characters in MoveStr and MoveCStr
+ implement TView.TextWidth and TView.CTextWidth via StrWidth and CStrLen
+ unicode fixes in TMenuBox.Draw
+ Unicode aware implementation of TStaticText.Draw
+ unicode fixes for the window title
+ added scrollbar and listbox to the unicode example
+ use different languages in the list box
+ unicode fixes in TCluster.DrawMultiBox
+ added horizontal scrollbar to the demo
+ enable PInputLine in the unicode demo
+ TInputLine unicode keyboard text input fixed
+ wide and combining character support when determining the cursor position in TInputLine
+ unicode combining and wide character support in TInputLine.Draw
+ wide and combining character support in TInputLine.HandleEvent.MousePos. This
means cursor positioning and text selection with the mouse now works properly
with these special unicode characters
* fixed double width character at the end of TInputLine covering the right
scroll arrow
+ introduced UDrivers.EgcWidth
+ optimization: use EgcWidth instead of StrWidth wherever possible
+ added lpi file for compiling testuapp for windows
* timeddlg.pas renamed timeddlg.inc
+ added timeddlg.pas that includes timeddlg.inc
+ added unicode version of the timeddlg unit
* inplong.pas renamed inplong.inc
+ added inplong.pas that includes inplong.inc
+ added unit uinplong - unicode version of inplong
* tabs.pas renamed tabs.inc
+ added tabs.pas that includes tabs.inc
+ added utabs - unicode version of the tabs unit
* unicode conversion of the non-ASCII characters in statuses.pas
* replaced non-ascii characters to #XXX equivalents
* converted non-ascii characters in stddlg.pas to unicode and #XXX equivalents in the non-unicode version
* converted some non-ascii characters to unicode
* converted non-ascii characters to #XXX equivalents
* replaced high ascii characters with #XXX equivalents and provided unicode equivalents
* hide the (currently broken, to be fixed) unix internal/external code page
stuff to the implementation part of the unit
Amiga: Fix for unable to type in FV applications for Amiga-systems
* Dotted filenames for package fv
Properly mirror InitEnhancedVideo with DoneEnhancedVideo in FV.
Restored array of Sw_Word to array of Word as those are ment to be video buffer cells.
Message box have to draw some blank lines.
Contra intuitive: TEditor.SetBufSize should not change BufSize at all
FV Drivers: change name for mouse scroll up/down
FV TScroller and TEditor respond to mouse scroll
FV In ListBox mouse scroll function as Key Up or Key Down
Unit ColorSel reimplemented (partially)
Namespaces in ColorSel unit
Larger Change Directory dialog for larger console/terminal dimensions
Larger File Open dialog for larger console/terminal dimensions
Bracketed paste and OSC 52 in FV
* Correct names, needed for fpmake to work
fvclip unit file name fixes
Editor load files in read only mode
Screen width more than 255 chars (for Unixes at least)
Detach List scrollbar value change of focused item change
FV add mouse triple click
Fix TGroup.IndexOf. Report Last as last not as 1.
Complete ColorSel units load and store procedures.
Implemented dedicated mouse wheel event in FV.
* Example from Margers from merge request !953
Add widestring manager in uses.
Mouse wheel buttons fix when other button holding down.
Fix paste unicode string problem.
UTF8 friendly source code.
Window width, fix left arrow draw, use Lenght not access S[0].
Screen width more than 255 fix for Statuses unit.
Accept all possible line endings.
FormatStr deal with UnicodeString.
Remove explicit unit specify.
Use Length function instead of S[0].
Do not allow resize Ascii Table window.
Adapt Free Vision App to screen resize.
Register TClockView and THeapView.
Wide end of line character.
Select by mouse scroll in TEditor.
Adjust max line length as you type in TEditor.
Editors use id constants for ObjType.
Treat `#10` as line break in TStaticText.
Mouse wheel do not affect AutoTicks.
Add "Cluster disabled" entry in ColorSel.
Fixes for FV TInputLine's GetData, SetData and DataSize functions
Popup menu on click select correct item.
Ensure that empty line is empty.
Initialize string variable.
TFilterValidator.IsValidInput fix.
Move Free Vision units to include files.
Add Unicode Free Vision units.
Update fpmake, add doted units for Unicode Free Vision.
Add Free Vision examples.
Avoid compilation failure for some i8086 memory models
Editor fix memory access out of bounds.
Find, replace work with unicode strings.
Replace dialog title string.
Change dialog title from "Ascii table" to "ASCII Table".
Correct DataSize of Input line.
* Improve file selection dialog, patch by unxed. Fixes issue
gitlab 0041404
Consecutive mouse wheel events will be "double" events.
Allow to navigate between buttons not only with Tab/Shift+Tab, but also using arrow keys as it is common UI/UX pattern now.
Added support for Copy/Cut to system clipboard to TInputLine
Ctrl+Arrows now work in TInputLine
Support non-latin menu hotkes
Support non-latin menu hotkes
More robust hotkey matchting logic
Fixed inner menu hotkeys (w/o Alt)
minor: backpace key now correctly deletes selected test in input lines
minor: navigation with the Ctrl+arrow_keys should consider not only spaces but also punctuation marks as word separators
Do not insert any text in input line if Ctrl is pressed
- unicode support in freevision testapp
- enable unicode build on unix by default
Sync editor to recent TInputLine improvements:
- Ctrl+arrows should use punctuation as word separators also
- OSC52 copy to clipboard support
- Ctrl+letters should not type letters
Also, added Ctrl+A as "select all" hotkey
Align Ctrl+Right behavior with Ctrl+Left
The word navigation logic for Ctrl+Right incorrectly included trailing
delimiters (spaces, punctuation) after the word. This created an
asymmetric and unintuitive experience compared to Ctrl+Left.
This commit adjusts the logic in both TInputLine and TEditor.NextWord
to first skip delimiters and then skip the word itself, ensuring the
cursor stops precisely at the word boundary.
Fixed remaining keyboard problems. At lease, some of them :)
The word-wise navigation using Ctrl+Arrow keys in TInputLine and TEditor was inconsistent with the behavior found in most modern text editors.
When the cursor was positioned at the first or last significant (non-whitespace) character, it would not proceed to the absolute start or end of the line on a subsequent keypress. This made it cumbersome to select an entire line easily.
This commit updates the logic to align with modern UI standards:
- In TInputLine, when the cursor is at the first significant character, the next Ctrl+Left press now moves it to the absolute beginning of the line. Similarly, Ctrl+Right from the last significant character moves it to the absolute end.
- In TEditor, the PrevWord and NextWord methods have been updated with the same logic, ensuring consistent behavior for Ctrl+Arrow navigation.
This enhancement provides a more intuitive and efficient user experience for text navigation and selection.
Fix Video unit doted name in uses for Amiga.
Mouse start position in upper left corner.
TEditor handle file with utf BOM.
Reposition any dialog window along with terminal resize.
Color dialog more flexible and suited for extending.
Mass typo fix for FreeVision.
Adapt Keytest example for non Unicode FreeVision.
Views in an inactive Tab page calculate new bounds on Tab view resize.
Rework OSC 52 clipboard paste integration logic with FreeVision.
Global OS clipboard in FreeVision with fallback to local clipboard if first one is absent or fails.
Update example demoedit to changed clipboard integration.
Cosmetics for platform.inc.
Add unit pmode to FreeVision.
Copy and integrate content of WinClip to unit fvclip.
Fix some doted unit names.
Fix compilation of fvclip unit for win16 OS
Clipbaord for msdos target.
Remove code that broke Alt+key in Free Vision.
Up to 1024 columns on screen (Windows).
Enable mouse input in Windows console for Free Vision by default.
Let Video driver manage Windows console size.
Focused directory color in inactive List.
Give to directory its own color.
Change TWindow ZoomRect along with terminal resize.
Str[0] to Length(Str). Modified patch by Joe care. Fix issue
gitlab 0037777.
Ctrl-\ does not generate SIGQUIT. Fix issue
gitlab 0026107.
Ctrl-C does not generate "Signal error: 295"
Fix compilation failure for small data models
Replace all ifdef windows by ifdef OS_WINDOWS, as the correponding code is not valid for i8086-win16 target