diff --git a/components/rx/trunk/Demos/AutoSort/AutoSortDemo.ico b/components/rx/trunk/demos/AutoSort/AutoSortDemo.ico similarity index 100% rename from components/rx/trunk/Demos/AutoSort/AutoSortDemo.ico rename to components/rx/trunk/demos/AutoSort/AutoSortDemo.ico diff --git a/components/rx/trunk/Demos/AutoSort/AutoSortDemo.lpi b/components/rx/trunk/demos/AutoSort/AutoSortDemo.lpi similarity index 100% rename from components/rx/trunk/Demos/AutoSort/AutoSortDemo.lpi rename to components/rx/trunk/demos/AutoSort/AutoSortDemo.lpi diff --git a/components/rx/trunk/Demos/AutoSort/AutoSortDemo.lpr b/components/rx/trunk/demos/AutoSort/AutoSortDemo.lpr similarity index 100% rename from components/rx/trunk/Demos/AutoSort/AutoSortDemo.lpr rename to components/rx/trunk/demos/AutoSort/AutoSortDemo.lpr diff --git a/components/rx/trunk/Demos/AutoSort/asdmainunit.lfm b/components/rx/trunk/demos/AutoSort/asdmainunit.lfm similarity index 100% rename from components/rx/trunk/Demos/AutoSort/asdmainunit.lfm rename to components/rx/trunk/demos/AutoSort/asdmainunit.lfm diff --git a/components/rx/trunk/Demos/AutoSort/asdmainunit.pas b/components/rx/trunk/demos/AutoSort/asdmainunit.pas similarity index 100% rename from components/rx/trunk/Demos/AutoSort/asdmainunit.pas rename to components/rx/trunk/demos/AutoSort/asdmainunit.pas diff --git a/components/rx/trunk/Demos/FolderLister/AboutUnit.lfm b/components/rx/trunk/demos/FolderLister/AboutUnit.lfm similarity index 100% rename from components/rx/trunk/Demos/FolderLister/AboutUnit.lfm rename to components/rx/trunk/demos/FolderLister/AboutUnit.lfm diff --git a/components/rx/trunk/Demos/FolderLister/AboutUnit.pas b/components/rx/trunk/demos/FolderLister/AboutUnit.pas similarity index 100% rename from components/rx/trunk/Demos/FolderLister/AboutUnit.pas rename to components/rx/trunk/demos/FolderLister/AboutUnit.pas diff --git a/components/rx/trunk/Demos/FolderLister/FolderLister.lpi b/components/rx/trunk/demos/FolderLister/FolderLister.lpi similarity index 100% rename from components/rx/trunk/Demos/FolderLister/FolderLister.lpi rename to components/rx/trunk/demos/FolderLister/FolderLister.lpi diff --git a/components/rx/trunk/Demos/FolderLister/FolderLister.lpr b/components/rx/trunk/demos/FolderLister/FolderLister.lpr similarity index 100% rename from components/rx/trunk/Demos/FolderLister/FolderLister.lpr rename to components/rx/trunk/demos/FolderLister/FolderLister.lpr diff --git a/components/rx/trunk/Demos/FolderLister/unit1.lfm b/components/rx/trunk/demos/FolderLister/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/FolderLister/unit1.lfm rename to components/rx/trunk/demos/FolderLister/unit1.lfm diff --git a/components/rx/trunk/Demos/FolderLister/unit1.pas b/components/rx/trunk/demos/FolderLister/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/FolderLister/unit1.pas rename to components/rx/trunk/demos/FolderLister/unit1.pas diff --git a/components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.ico b/components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.ico similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.ico rename to components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.ico diff --git a/components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.lpi b/components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.lpi similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.lpi rename to components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.lpi diff --git a/components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.lpr b/components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.lpr similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/PhoneBookDemo.lpr rename to components/rx/trunk/demos/PhoneBookDemo/PhoneBookDemo.lpr diff --git a/components/rx/trunk/Demos/PhoneBookDemo/bases/PhoneBook.DBF b/components/rx/trunk/demos/PhoneBookDemo/bases/PhoneBook.DBF similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/bases/PhoneBook.DBF rename to components/rx/trunk/demos/PhoneBookDemo/bases/PhoneBook.DBF diff --git a/components/rx/trunk/Demos/PhoneBookDemo/bases/PhoneBook.DBT b/components/rx/trunk/demos/PhoneBookDemo/bases/PhoneBook.DBT similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/bases/PhoneBook.DBT rename to components/rx/trunk/demos/PhoneBookDemo/bases/PhoneBook.DBT diff --git a/components/rx/trunk/Demos/PhoneBookDemo/languages/PhoneBookDemo.po b/components/rx/trunk/demos/PhoneBookDemo/languages/PhoneBookDemo.po similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/languages/PhoneBookDemo.po rename to components/rx/trunk/demos/PhoneBookDemo/languages/PhoneBookDemo.po diff --git a/components/rx/trunk/Demos/PhoneBookDemo/pbeditdataunit.lfm b/components/rx/trunk/demos/PhoneBookDemo/pbeditdataunit.lfm similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/pbeditdataunit.lfm rename to components/rx/trunk/demos/PhoneBookDemo/pbeditdataunit.lfm diff --git a/components/rx/trunk/Demos/PhoneBookDemo/pbeditdataunit.pas b/components/rx/trunk/demos/PhoneBookDemo/pbeditdataunit.pas similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/pbeditdataunit.pas rename to components/rx/trunk/demos/PhoneBookDemo/pbeditdataunit.pas diff --git a/components/rx/trunk/Demos/PhoneBookDemo/pbmainunit.lfm b/components/rx/trunk/demos/PhoneBookDemo/pbmainunit.lfm similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/pbmainunit.lfm rename to components/rx/trunk/demos/PhoneBookDemo/pbmainunit.lfm diff --git a/components/rx/trunk/Demos/PhoneBookDemo/pbmainunit.pas b/components/rx/trunk/demos/PhoneBookDemo/pbmainunit.pas similarity index 100% rename from components/rx/trunk/Demos/PhoneBookDemo/pbmainunit.pas rename to components/rx/trunk/demos/PhoneBookDemo/pbmainunit.pas diff --git a/components/rx/trunk/Demos/RxDBColorBox/project1.ico b/components/rx/trunk/demos/RxDBColorBox/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/project1.ico rename to components/rx/trunk/demos/RxDBColorBox/project1.ico diff --git a/components/rx/trunk/Demos/RxDBColorBox/project1.lpi b/components/rx/trunk/demos/RxDBColorBox/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/project1.lpi rename to components/rx/trunk/demos/RxDBColorBox/project1.lpi diff --git a/components/rx/trunk/Demos/RxDBColorBox/project1.lpr b/components/rx/trunk/demos/RxDBColorBox/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/project1.lpr rename to components/rx/trunk/demos/RxDBColorBox/project1.lpr diff --git a/components/rx/trunk/Demos/RxDBColorBox/project1.res b/components/rx/trunk/demos/RxDBColorBox/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/project1.res rename to components/rx/trunk/demos/RxDBColorBox/project1.res diff --git a/components/rx/trunk/Demos/RxDBColorBox/unit1.lfm b/components/rx/trunk/demos/RxDBColorBox/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/unit1.lfm rename to components/rx/trunk/demos/RxDBColorBox/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDBColorBox/unit1.pas b/components/rx/trunk/demos/RxDBColorBox/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDBColorBox/unit1.pas rename to components/rx/trunk/demos/RxDBColorBox/unit1.pas diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.ico b/components/rx/trunk/demos/RxDateEdit/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.ico rename to components/rx/trunk/demos/RxDateEdit/project1.ico diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.lpi b/components/rx/trunk/demos/RxDateEdit/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.lpi rename to components/rx/trunk/demos/RxDateEdit/project1.lpi diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.lpr b/components/rx/trunk/demos/RxDateEdit/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.lpr rename to components/rx/trunk/demos/RxDateEdit/project1.lpr diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.lrs b/components/rx/trunk/demos/RxDateEdit/project1.lrs similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.lrs rename to components/rx/trunk/demos/RxDateEdit/project1.lrs diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.manifest b/components/rx/trunk/demos/RxDateEdit/project1.manifest similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.manifest rename to components/rx/trunk/demos/RxDateEdit/project1.manifest diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.rc b/components/rx/trunk/demos/RxDateEdit/project1.rc similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.rc rename to components/rx/trunk/demos/RxDateEdit/project1.rc diff --git a/components/rx/trunk/Demos/RxDateEdit/unit1.lfm b/components/rx/trunk/demos/RxDateEdit/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/unit1.lfm rename to components/rx/trunk/demos/RxDateEdit/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDateEdit/unit1.lrs b/components/rx/trunk/demos/RxDateEdit/unit1.lrs similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/unit1.lrs rename to components/rx/trunk/demos/RxDateEdit/unit1.lrs diff --git a/components/rx/trunk/Demos/RxDateEdit/unit1.pas b/components/rx/trunk/demos/RxDateEdit/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/unit1.pas rename to components/rx/trunk/demos/RxDateEdit/unit1.pas diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.ico b/components/rx/trunk/demos/RxFileUtils/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.ico rename to components/rx/trunk/demos/RxFileUtils/project1.ico diff --git a/components/rx/trunk/Demos/RxFileUtils/project1.lpi b/components/rx/trunk/demos/RxFileUtils/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/project1.lpi rename to components/rx/trunk/demos/RxFileUtils/project1.lpi diff --git a/components/rx/trunk/Demos/RxFileUtils/project1.lpr b/components/rx/trunk/demos/RxFileUtils/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/project1.lpr rename to components/rx/trunk/demos/RxFileUtils/project1.lpr diff --git a/components/rx/trunk/Demos/RxFileUtils/project1.res b/components/rx/trunk/demos/RxFileUtils/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/project1.res rename to components/rx/trunk/demos/RxFileUtils/project1.res diff --git a/components/rx/trunk/Demos/RxFileUtils/unit1.lfm b/components/rx/trunk/demos/RxFileUtils/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/unit1.lfm rename to components/rx/trunk/demos/RxFileUtils/unit1.lfm diff --git a/components/rx/trunk/Demos/RxFileUtils/unit1.pas b/components/rx/trunk/demos/RxFileUtils/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/unit1.pas rename to components/rx/trunk/demos/RxFileUtils/unit1.pas diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/project1.ico b/components/rx/trunk/demos/RxHistoryNavigator/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/project1.ico rename to components/rx/trunk/demos/RxHistoryNavigator/project1.ico diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/project1.lpi b/components/rx/trunk/demos/RxHistoryNavigator/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/project1.lpi rename to components/rx/trunk/demos/RxHistoryNavigator/project1.lpi diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/project1.lpr b/components/rx/trunk/demos/RxHistoryNavigator/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/project1.lpr rename to components/rx/trunk/demos/RxHistoryNavigator/project1.lpr diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/project1.lps b/components/rx/trunk/demos/RxHistoryNavigator/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/project1.lps rename to components/rx/trunk/demos/RxHistoryNavigator/project1.lps diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/project1.res b/components/rx/trunk/demos/RxHistoryNavigator/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/project1.res rename to components/rx/trunk/demos/RxHistoryNavigator/project1.res diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/unit1.lfm b/components/rx/trunk/demos/RxHistoryNavigator/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/unit1.lfm rename to components/rx/trunk/demos/RxHistoryNavigator/unit1.lfm diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/unit1.pas b/components/rx/trunk/demos/RxHistoryNavigator/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/unit1.pas rename to components/rx/trunk/demos/RxHistoryNavigator/unit1.pas diff --git a/components/rx/trunk/Demos/RxDateEdit/project1.ico b/components/rx/trunk/demos/RxIniPropStorageDemo/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDateEdit/project1.ico rename to components/rx/trunk/demos/RxIniPropStorageDemo/project1.ico diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lpi b/components/rx/trunk/demos/RxIniPropStorageDemo/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lpi rename to components/rx/trunk/demos/RxIniPropStorageDemo/project1.lpi diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lpr b/components/rx/trunk/demos/RxIniPropStorageDemo/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lpr rename to components/rx/trunk/demos/RxIniPropStorageDemo/project1.lpr diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lps b/components/rx/trunk/demos/RxIniPropStorageDemo/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/project1.lps rename to components/rx/trunk/demos/RxIniPropStorageDemo/project1.lps diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.res b/components/rx/trunk/demos/RxIniPropStorageDemo/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.res rename to components/rx/trunk/demos/RxIniPropStorageDemo/project1.res diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/unit1.lfm b/components/rx/trunk/demos/RxIniPropStorageDemo/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/unit1.lfm rename to components/rx/trunk/demos/RxIniPropStorageDemo/unit1.lfm diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/unit1.pas b/components/rx/trunk/demos/RxIniPropStorageDemo/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/unit1.pas rename to components/rx/trunk/demos/RxIniPropStorageDemo/unit1.pas diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.ico b/components/rx/trunk/demos/RxLookup/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/project1.ico rename to components/rx/trunk/demos/RxLookup/project1.ico diff --git a/components/rx/trunk/Demos/RxLookup/project1.lpi b/components/rx/trunk/demos/RxLookup/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxLookup/project1.lpi rename to components/rx/trunk/demos/RxLookup/project1.lpi diff --git a/components/rx/trunk/Demos/RxLookup/project1.lpr b/components/rx/trunk/demos/RxLookup/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxLookup/project1.lpr rename to components/rx/trunk/demos/RxLookup/project1.lpr diff --git a/components/rx/trunk/Demos/RxLookup/unit1.lfm b/components/rx/trunk/demos/RxLookup/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxLookup/unit1.lfm rename to components/rx/trunk/demos/RxLookup/unit1.lfm diff --git a/components/rx/trunk/Demos/RxLookup/unit1.pas b/components/rx/trunk/demos/RxLookup/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxLookup/unit1.pas rename to components/rx/trunk/demos/RxLookup/unit1.pas diff --git a/components/rx/trunk/Demos/RxFileUtils/project1.ico b/components/rx/trunk/demos/RxMDI/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxFileUtils/project1.ico rename to components/rx/trunk/demos/RxMDI/project1.ico diff --git a/components/rx/trunk/Demos/RxMDI/project1.lpi b/components/rx/trunk/demos/RxMDI/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxMDI/project1.lpi rename to components/rx/trunk/demos/RxMDI/project1.lpi diff --git a/components/rx/trunk/Demos/RxMDI/project1.lpr b/components/rx/trunk/demos/RxMDI/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxMDI/project1.lpr rename to components/rx/trunk/demos/RxMDI/project1.lpr diff --git a/components/rx/trunk/Demos/RxMDI/project1.lps b/components/rx/trunk/demos/RxMDI/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxMDI/project1.lps rename to components/rx/trunk/demos/RxMDI/project1.lps diff --git a/components/rx/trunk/Demos/RxMDI/project1.res b/components/rx/trunk/demos/RxMDI/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxMDI/project1.res rename to components/rx/trunk/demos/RxMDI/project1.res diff --git a/components/rx/trunk/Demos/RxMDI/unit1.lfm b/components/rx/trunk/demos/RxMDI/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit1.lfm rename to components/rx/trunk/demos/RxMDI/unit1.lfm diff --git a/components/rx/trunk/Demos/RxMDI/unit1.pas b/components/rx/trunk/demos/RxMDI/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit1.pas rename to components/rx/trunk/demos/RxMDI/unit1.pas diff --git a/components/rx/trunk/Demos/RxMDI/unit2.lfm b/components/rx/trunk/demos/RxMDI/unit2.lfm similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit2.lfm rename to components/rx/trunk/demos/RxMDI/unit2.lfm diff --git a/components/rx/trunk/Demos/RxMDI/unit2.pas b/components/rx/trunk/demos/RxMDI/unit2.pas similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit2.pas rename to components/rx/trunk/demos/RxMDI/unit2.pas diff --git a/components/rx/trunk/Demos/RxMDI/unit3.lfm b/components/rx/trunk/demos/RxMDI/unit3.lfm similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit3.lfm rename to components/rx/trunk/demos/RxMDI/unit3.lfm diff --git a/components/rx/trunk/Demos/RxMDI/unit3.pas b/components/rx/trunk/demos/RxMDI/unit3.pas similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit3.pas rename to components/rx/trunk/demos/RxMDI/unit3.pas diff --git a/components/rx/trunk/Demos/RxMDI/unit4.lfm b/components/rx/trunk/demos/RxMDI/unit4.lfm similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit4.lfm rename to components/rx/trunk/demos/RxMDI/unit4.lfm diff --git a/components/rx/trunk/Demos/RxMDI/unit4.pas b/components/rx/trunk/demos/RxMDI/unit4.pas similarity index 100% rename from components/rx/trunk/Demos/RxMDI/unit4.pas rename to components/rx/trunk/demos/RxMDI/unit4.pas diff --git a/components/rx/trunk/Demos/RxHistoryNavigator/project1.ico b/components/rx/trunk/demos/RxMemDSFilter/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxHistoryNavigator/project1.ico rename to components/rx/trunk/demos/RxMemDSFilter/project1.ico diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.lpi b/components/rx/trunk/demos/RxMemDSFilter/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/project1.lpi rename to components/rx/trunk/demos/RxMemDSFilter/project1.lpi diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.lpr b/components/rx/trunk/demos/RxMemDSFilter/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/project1.lpr rename to components/rx/trunk/demos/RxMemDSFilter/project1.lpr diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.lps b/components/rx/trunk/demos/RxMemDSFilter/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/project1.lps rename to components/rx/trunk/demos/RxMemDSFilter/project1.lps diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/project1.res b/components/rx/trunk/demos/RxMemDSFilter/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/project1.res rename to components/rx/trunk/demos/RxMemDSFilter/project1.res diff --git a/components/rx/trunk/Demos/RxMemDSFilter/unit1.lfm b/components/rx/trunk/demos/RxMemDSFilter/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/unit1.lfm rename to components/rx/trunk/demos/RxMemDSFilter/unit1.lfm diff --git a/components/rx/trunk/Demos/RxMemDSFilter/unit1.pas b/components/rx/trunk/demos/RxMemDSFilter/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/unit1.pas rename to components/rx/trunk/demos/RxMemDSFilter/unit1.pas diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/project1.ico b/components/rx/trunk/demos/RxVersionInfo/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/project1.ico rename to components/rx/trunk/demos/RxVersionInfo/project1.ico diff --git a/components/rx/trunk/Demos/RxVersionInfo/project1.lpi b/components/rx/trunk/demos/RxVersionInfo/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/project1.lpi rename to components/rx/trunk/demos/RxVersionInfo/project1.lpi diff --git a/components/rx/trunk/Demos/RxVersionInfo/project1.lpr b/components/rx/trunk/demos/RxVersionInfo/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/project1.lpr rename to components/rx/trunk/demos/RxVersionInfo/project1.lpr diff --git a/components/rx/trunk/Demos/RxVersionInfo/project1.res b/components/rx/trunk/demos/RxVersionInfo/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/project1.res rename to components/rx/trunk/demos/RxVersionInfo/project1.res diff --git a/components/rx/trunk/Demos/RxVersionInfo/unit1.lfm b/components/rx/trunk/demos/RxVersionInfo/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/unit1.lfm rename to components/rx/trunk/demos/RxVersionInfo/unit1.lfm diff --git a/components/rx/trunk/Demos/RxVersionInfo/unit1.pas b/components/rx/trunk/demos/RxVersionInfo/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/unit1.pas rename to components/rx/trunk/demos/RxVersionInfo/unit1.pas diff --git a/components/rx/trunk/Demos/RxLookup/project1.ico b/components/rx/trunk/demos/RxViewsPanel/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxLookup/project1.ico rename to components/rx/trunk/demos/RxViewsPanel/project1.ico diff --git a/components/rx/trunk/Demos/RxViewsPanel/project1.lpi b/components/rx/trunk/demos/RxViewsPanel/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/project1.lpi rename to components/rx/trunk/demos/RxViewsPanel/project1.lpi diff --git a/components/rx/trunk/Demos/RxViewsPanel/project1.lpr b/components/rx/trunk/demos/RxViewsPanel/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/project1.lpr rename to components/rx/trunk/demos/RxViewsPanel/project1.lpr diff --git a/components/rx/trunk/Demos/RxViewsPanel/project1.res b/components/rx/trunk/demos/RxViewsPanel/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/project1.res rename to components/rx/trunk/demos/RxViewsPanel/project1.res diff --git a/components/rx/trunk/Demos/RxViewsPanel/unit1.lfm b/components/rx/trunk/demos/RxViewsPanel/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/unit1.lfm rename to components/rx/trunk/demos/RxViewsPanel/unit1.lfm diff --git a/components/rx/trunk/Demos/RxViewsPanel/unit1.pas b/components/rx/trunk/demos/RxViewsPanel/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/unit1.pas rename to components/rx/trunk/demos/RxViewsPanel/unit1.pas diff --git a/components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_case_1.pas b/components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_case_1.pas similarity index 100% rename from components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_case_1.pas rename to components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_case_1.pas diff --git a/components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.lpi b/components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.lpi similarity index 100% rename from components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.lpi rename to components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.lpi diff --git a/components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.lpr b/components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.lpr similarity index 100% rename from components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.lpr rename to components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.lpr diff --git a/components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.res b/components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.res similarity index 100% rename from components/rx/trunk/Demos/TestRXMemDSLoad/rx_ext_test_harness.res rename to components/rx/trunk/demos/TestRXMemDSLoad/rx_ext_test_harness.res diff --git a/components/rx/trunk/Demos/Text90/project1.lpi b/components/rx/trunk/demos/Text90/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/Text90/project1.lpi rename to components/rx/trunk/demos/Text90/project1.lpi diff --git a/components/rx/trunk/Demos/Text90/project1.lpr b/components/rx/trunk/demos/Text90/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/Text90/project1.lpr rename to components/rx/trunk/demos/Text90/project1.lpr diff --git a/components/rx/trunk/Demos/Text90/unit1.lfm b/components/rx/trunk/demos/Text90/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/Text90/unit1.lfm rename to components/rx/trunk/demos/Text90/unit1.lfm diff --git a/components/rx/trunk/Demos/Text90/unit1.pas b/components/rx/trunk/demos/Text90/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/Text90/unit1.pas rename to components/rx/trunk/demos/Text90/unit1.pas diff --git a/components/rx/trunk/Demos/ToolPanel/aboutunit.lfm b/components/rx/trunk/demos/ToolPanel/aboutunit.lfm similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/aboutunit.lfm rename to components/rx/trunk/demos/ToolPanel/aboutunit.lfm diff --git a/components/rx/trunk/Demos/ToolPanel/aboutunit.pas b/components/rx/trunk/demos/ToolPanel/aboutunit.pas similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/aboutunit.pas rename to components/rx/trunk/demos/ToolPanel/aboutunit.pas diff --git a/components/rx/trunk/Demos/ToolPanel/project1.ico b/components/rx/trunk/demos/ToolPanel/project1.ico similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/project1.ico rename to components/rx/trunk/demos/ToolPanel/project1.ico diff --git a/components/rx/trunk/Demos/ToolPanel/project1.lpi b/components/rx/trunk/demos/ToolPanel/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/project1.lpi rename to components/rx/trunk/demos/ToolPanel/project1.lpi diff --git a/components/rx/trunk/Demos/ToolPanel/project1.lpr b/components/rx/trunk/demos/ToolPanel/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/project1.lpr rename to components/rx/trunk/demos/ToolPanel/project1.lpr diff --git a/components/rx/trunk/Demos/ToolPanel/toolbardemo.cfg b/components/rx/trunk/demos/ToolPanel/toolbardemo.cfg similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/toolbardemo.cfg rename to components/rx/trunk/demos/ToolPanel/toolbardemo.cfg diff --git a/components/rx/trunk/Demos/ToolPanel/unit1.lfm b/components/rx/trunk/demos/ToolPanel/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/unit1.lfm rename to components/rx/trunk/demos/ToolPanel/unit1.lfm diff --git a/components/rx/trunk/Demos/ToolPanel/unit1.pas b/components/rx/trunk/demos/ToolPanel/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/ToolPanel/unit1.pas rename to components/rx/trunk/demos/ToolPanel/unit1.pas diff --git a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.ico b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.ico similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.ico rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.ico diff --git a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.lpi diff --git a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpr b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpr rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.lpr diff --git a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.res b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.res similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.res rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/RxDBGridDemo.res diff --git a/components/rx/trunk/Demos/RxDBGrid/docs/COPYING.GPL.txt b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/docs/COPYING.GPL.txt similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/docs/COPYING.GPL.txt rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/docs/COPYING.GPL.txt diff --git a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/rxdbgridmainunit.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/rxdbgridmainunit.lfm diff --git a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas b/components/rx/trunk/demos/rxdbgrid/RxDBGrid/rxdbgridmainunit.pas similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid/rxdbgridmainunit.pas diff --git a/components/rx/trunk/Demos/RxMDI/project1.ico b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxMDI/project1.ico rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.ico diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lpi b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lpi rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lpi diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lpr b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lpr rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lpr diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lps b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.lps rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.lps diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.res b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/project1.res rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/project1.res diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/unit1.lfm b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/unit1.lfm rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/unit1.pas b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_ExportSpreadsheet/unit1.pas rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_ExportSpreadsheet/unit1.pas diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.ico b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/project1.ico rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.ico diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lpi b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lpi rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lpi diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lpr b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lpr rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lpr diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lps b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/project1.lps rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.lps diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.res b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/project1.res rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/project1.res diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/unit1.lfm b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/unit1.lfm rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/unit1.pas b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/ZEOS/unit1.pas rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/ZEOS/unit1.pas diff --git a/components/rx/trunk/Demos/RxVersionInfo/project1.ico b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxVersionInfo/project1.ico rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.ico diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/project1.lpi b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/project1.lpi rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lpi diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/project1.lpr b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/project1.lpr rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lpr diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/project1.lps b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/project1.lps rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.lps diff --git a/components/rx/trunk/Demos/RxIniPropStorageDemo/project1.res b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxIniPropStorageDemo/project1.res rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/project1.res diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/unit1.lfm b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/unit1.lfm rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDBGrid_Filter/unit1.pas b/components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDBGrid_Filter/unit1.pas rename to components/rx/trunk/demos/rxdbgrid/RxDBGrid_Filter/unit1.pas diff --git a/components/rx/trunk/Demos/RxViewsPanel/project1.ico b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.ico similarity index 100% rename from components/rx/trunk/Demos/RxViewsPanel/project1.ico rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.ico diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lpi similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lpi diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpr b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lpr similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpr rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lpr diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lps similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.lps diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.res b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.res similarity index 100% rename from components/rx/trunk/Demos/RxMemDSFilter/project1.res rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/project1.res diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/unit1.lfm similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/unit1.lfm diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas b/components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/unit1.pas similarity index 100% rename from components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas rename to components/rx/trunk/demos/rxdbgrid/RxDbGridExportToPDF/unit1.pas diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.ico b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.ico new file mode 100644 index 000000000..0341321b5 Binary files /dev/null and b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.ico differ diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpi b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpi new file mode 100644 index 000000000..cf77b347f --- /dev/null +++ b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpi @@ -0,0 +1,86 @@ + + + + + + + + + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <Icon Value="0"/> + </General> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="5"> + <Item1> + <PackageName Value="FCL"/> + </Item1> + <Item2> + <PackageName Value="UIBLaz"/> + </Item2> + <Item3> + <PackageName Value="fbdemofpc"/> + </Item3> + <Item4> + <PackageName Value="rxnew"/> + </Item4> + <Item5> + <PackageName Value="LCL"/> + </Item5> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="WordWrapDemo.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="unit1.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="Unit1"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Target> + <Filename Value="WordWrapDemo"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpr b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpr new file mode 100644 index 000000000..db51dae0c --- /dev/null +++ b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lpr @@ -0,0 +1,21 @@ +program WordWrapDemo; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, Unit1, uiblaz, rxnew + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource:=True; + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. + diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lps b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lps new file mode 100644 index 000000000..046d27ea1 --- /dev/null +++ b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.lps @@ -0,0 +1,232 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <Version Value="10"/> + <BuildModes Active="Default"/> + <Units Count="10"> + <Unit0> + <Filename Value="WordWrapDemo.lpr"/> + <IsPartOfProject Value="True"/> + <EditorIndex Value="-1"/> + <WindowIndex Value="-1"/> + <TopLine Value="-1"/> + <CursorPos X="-1" Y="-1"/> + <UsageCount Value="24"/> + </Unit0> + <Unit1> + <Filename Value="unit1.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="Unit1"/> + <TopLine Value="21"/> + <CursorPos X="59" Y="47"/> + <UsageCount Value="24"/> + <Loaded Value="True"/> + <LoadedDesigner Value="True"/> + </Unit1> + <Unit2> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <IsVisibleTab Value="True"/> + <EditorIndex Value="1"/> + <TopLine Value="4731"/> + <CursorPos X="16" Y="4746"/> + <UsageCount Value="12"/> + <Bookmarks Count="3"> + <Item0 Y="4709" ID="2"/> + <Item1 X="7" Y="4760" ID="3"/> + <Item2 Y="3384" ID="1"/> + </Bookmarks> + <Loaded Value="True"/> + </Unit2> + <Unit3> + <Filename Value="../../../../../lcl/dbgrids.pas"/> + <UnitName Value="DBGrids"/> + <EditorIndex Value="3"/> + <TopLine Value="1915"/> + <CursorPos Y="1934"/> + <UsageCount Value="12"/> + <Loaded Value="True"/> + </Unit3> + <Unit4> + <Filename Value="../../../../../lcl/grids.pas"/> + <UnitName Value="Grids"/> + <EditorIndex Value="4"/> + <TopLine Value="2482"/> + <CursorPos X="3" Y="2484"/> + <UsageCount Value="12"/> + <Loaded Value="True"/> + </Unit4> + <Unit5> + <Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/> + <EditorIndex Value="2"/> + <TopLine Value="1560"/> + <CursorPos X="15" Y="1578"/> + <UsageCount Value="12"/> + <Loaded Value="True"/> + </Unit5> + <Unit6> + <Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/datasource.inc"/> + <EditorIndex Value="-1"/> + <TopLine Value="199"/> + <CursorPos X="3" Y="202"/> + <UsageCount Value="10"/> + </Unit6> + <Unit7> + <Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/dataset.inc"/> + <EditorIndex Value="-1"/> + <TopLine Value="1284"/> + <CursorPos X="3" Y="1287"/> + <UsageCount Value="10"/> + </Unit7> + <Unit8> + <Filename Value="../../../../../lcl/include/wincontrol.inc"/> + <EditorIndex Value="-1"/> + <TopLine Value="5739"/> + <CursorPos Y="5757"/> + <UsageCount Value="10"/> + </Unit8> + <Unit9> + <Filename Value="../../../../../lcl/include/winapi.inc"/> + <EditorIndex Value="-1"/> + <TopLine Value="929"/> + <CursorPos Y="949"/> + <UsageCount Value="10"/> + </Unit9> + </Units> + <JumpHistory Count="30" HistoryIndex="29"> + <Position1> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position1> + <Position2> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position2> + <Position3> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position3> + <Position4> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position4> + <Position5> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position5> + <Position6> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position6> + <Position7> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position7> + <Position8> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position8> + <Position9> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position9> + <Position10> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position10> + <Position11> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position11> + <Position12> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position12> + <Position13> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position13> + <Position14> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position14> + <Position15> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position15> + <Position16> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position16> + <Position17> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position17> + <Position18> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position18> + <Position19> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position19> + <Position20> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position20> + <Position21> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position21> + <Position22> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position22> + <Position23> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position23> + <Position24> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position24> + <Position25> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position25> + <Position26> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position26> + <Position27> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4747" TopLine="4731"/> + </Position27> + <Position28> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4749" TopLine="4731"/> + </Position28> + <Position29> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4750" TopLine="4731"/> + </Position29> + <Position30> + <Filename Value="../../../rxdb/rxdbgrid.pas"/> + <Caret Line="4751" TopLine="4731"/> + </Position30> + </JumpHistory> + </ProjectSession> + <Debugging> + <BreakPoints Count="1"> + <Item1> + <Kind Value="bpkSource"/> + <WatchScope Value="wpsLocal"/> + <WatchKind Value="wpkWrite"/> + <Source Value="../../../rxdb/rxdbgrid.pas"/> + <Line Value="5713"/> + </Item1> + </BreakPoints> + </Debugging> +</CONFIG> diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.res b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.res new file mode 100644 index 000000000..877868cb4 Binary files /dev/null and b/components/rx/trunk/demos/rxdbgrid/WordWrap/WordWrapDemo.res differ diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.lfm b/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.lfm new file mode 100644 index 000000000..20b225c09 --- /dev/null +++ b/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.lfm @@ -0,0 +1,230 @@ +object Form1: TForm1 + Left = 585 + Height = 610 + Top = 311 + Width = 874 + Caption = 'Form1' + ClientHeight = 610 + ClientWidth = 874 + OnCreate = FormCreate + LCLVersion = '1.9.0.0' + object RxDBGrid1: TRxDBGrid + Left = 0 + Height = 560 + Top = 50 + Width = 874 + ColumnDefValues.BlobText = '(данные)' + TitleButtons = False + AutoSort = True + Columns = < + item + Title.Alignment = taCenter + Title.Orientation = toHorizontal + Title.Caption = 'ID' + Width = 60 + FieldName = 'ID' + EditButtons = <> + Filter.DropDownRows = 0 + Filter.EmptyValue = '(Пусто)' + Filter.AllValue = '(Все значения)' + Filter.EmptyFont.Style = [fsItalic] + Filter.ItemIndex = -1 + Footer.Value = 'Current:' + Footer.ValueType = fvtStaticText + Footers = <> + end + item + Title.Alignment = taCenter + Title.Orientation = toHorizontal + Title.Caption = 'NAME' + Width = 350 + FieldName = 'NAME' + EditButtons = <> + Filter.DropDownRows = 0 + Filter.EmptyValue = '(Пусто)' + Filter.AllValue = '(Все значения)' + Filter.EmptyFont.Style = [fsItalic] + Filter.ItemIndex = -1 + Footer.FieldName = 'NAME' + Footer.ValueType = fvtFieldValue + Footers = <> + WordWrap = True + end + item + Title.Alignment = taCenter + Title.Orientation = toHorizontal + Title.Caption = 'CODE' + Width = 90 + FieldName = 'CODE' + EditButtons = <> + Filter.DropDownRows = 0 + Filter.EmptyValue = '(Пусто)' + Filter.AllValue = '(Все значения)' + Filter.EmptyFont.Style = [fsItalic] + Filter.ItemIndex = -1 + Footer.Alignment = taRightJustify + Footer.FieldName = 'CODE' + Footer.ValueType = fvtSum + Footers = <> + end> + KeyStrokes = < + item + Command = rxgcShowFindDlg + ShortCut = 16454 + Enabled = True + end + item + Command = rxgcShowColumnsDlg + ShortCut = 16471 + Enabled = True + end + item + Command = rxgcShowFilterDlg + ShortCut = 16468 + Enabled = True + end + item + Command = rxgcShowSortDlg + ShortCut = 16467 + Enabled = True + end + item + Command = rxgcShowQuickFilter + ShortCut = 16465 + Enabled = True + end + item + Command = rxgcHideQuickFilter + ShortCut = 16456 + Enabled = True + end + item + Command = rxgcSelectAll + ShortCut = 16449 + Enabled = True + end + item + Command = rxgcDeSelectAll + ShortCut = 16429 + Enabled = True + end + item + Command = rxgcInvertSelection + ShortCut = 16426 + Enabled = True + end + item + Command = rxgcOptimizeColumnsWidth + ShortCut = 16427 + Enabled = True + end + item + Command = rxgcCopyCellValue + ShortCut = 16451 + Enabled = True + end> + FooterOptions.Active = True + FooterOptions.Color = clYellow + FooterOptions.RowCount = 1 + FooterOptions.DrawFullLine = True + SearchOptions.QuickSearchOptions = [loCaseInsensitive, loPartialKey] + SearchOptions.FromStart = False + OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgFooterRows, rdgAllowQuickFilter] + FooterColor = clYellow + FooterRowCount = 1 + Align = alClient + Color = clWindow + DrawFullLine = True + FocusColor = clRed + SelectedColor = clHighlight + GridLineStyle = psSolid + DataSource = DataSource1 + Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] + ParentColor = False + ReadOnly = True + TabOrder = 0 + end + object Panel1: TPanel + Left = 0 + Height = 50 + Top = 0 + Width = 874 + Align = alTop + Caption = 'Panel1' + ClientHeight = 50 + ClientWidth = 874 + TabOrder = 1 + object CheckBox1: TCheckBox + Left = 16 + Height = 24 + Top = 8 + Width = 96 + Caption = 'Word wrap' + Checked = True + OnChange = CheckBox1Change + State = cbChecked + TabOrder = 0 + end + object CheckBox2: TCheckBox + Left = 152 + Height = 24 + Top = 8 + Width = 105 + Caption = 'Show footer' + OnChange = CheckBox1Change + TabOrder = 1 + end + end + object DataSource1: TDataSource + DataSet = RxMemoryData1 + Left = 328 + Top = 134 + end + object RxMemoryData1: TRxMemoryData + FieldDefs = < + item + Name = 'ID' + DataType = ftInteger + end + item + Name = 'NAME' + DataType = ftString + Size = 500 + end + item + Name = 'CODE' + DataType = ftInteger + end> + PacketRecords = 0 + Left = 360 + Top = 134 + object RxMemoryData1ID: TLongintField + FieldKind = fkData + FieldName = 'ID' + Index = 0 + LookupCache = False + ProviderFlags = [pfInUpdate, pfInWhere] + ReadOnly = False + Required = False + end + object RxMemoryData1NAME: TStringField + FieldKind = fkData + FieldName = 'NAME' + Index = 1 + LookupCache = False + ProviderFlags = [pfInUpdate, pfInWhere] + ReadOnly = False + Required = False + Size = 500 + end + object RxMemoryData1CODE: TLongintField + FieldKind = fkData + FieldName = 'CODE' + Index = 2 + LookupCache = False + ProviderFlags = [pfInUpdate, pfInWhere] + ReadOnly = False + Required = False + end + end +end diff --git a/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.pas b/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.pas new file mode 100644 index 000000000..6d6575aad --- /dev/null +++ b/components/rx/trunk/demos/rxdbgrid/WordWrap/unit1.pas @@ -0,0 +1,92 @@ +unit Unit1; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, fbcustomdataset, uib, rxdbgrid, rxmemds, Forms, + Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, db; + +type + + { TForm1 } + + TForm1 = class(TForm) + CheckBox1: TCheckBox; + CheckBox2: TCheckBox; + DataSource1: TDataSource; + Panel1: TPanel; + RxDBGrid1: TRxDBGrid; + RxMemoryData1: TRxMemoryData; + RxMemoryData1CODE: TLongintField; + RxMemoryData1ID: TLongintField; + RxMemoryData1NAME: TStringField; + procedure CheckBox1Change(Sender: TObject); + procedure FormCreate(Sender: TObject); + private + procedure FillTestDatabase; + public + + end; + +var + Form1: TForm1; + +implementation + +{$R *.lfm} + +{ TForm1 } + +procedure TForm1.FormCreate(Sender: TObject); +begin + CheckBox1.OnChange := nil; + CheckBox2.OnChange := nil; + + CheckBox1.Checked := rdgWordWrap in RxDBGrid1.OptionsRx; + CheckBox2.Checked := RxDBGrid1.FooterOptions.Active; + + CheckBox1.OnChange := @CheckBox1Change; + CheckBox2.OnChange := @CheckBox1Change; + + RxMemoryData1.Open; + FillTestDatabase; +end; + +procedure TForm1.FillTestDatabase; +var + F:TextFile; + S:string; + I:integer; +begin + AssignFile(F, 'unit1.pas'); + Reset(F); + I:=0; + while not Eof(F) do + begin + Readln(F, S); + if Trim(S)<>'' then + begin + RxMemoryData1.AppendRecord([i, S, i]); + Inc(i); + end; + end; + CloseFile(F); + RxMemoryData1.First; +end; + +procedure TForm1.CheckBox1Change(Sender: TObject); +begin + if CheckBox1.Checked then + RxDBGrid1.OptionsRx := RxDBGrid1.OptionsRx + [rdgWordWrap] + else + RxDBGrid1.OptionsRx := RxDBGrid1.OptionsRx - [rdgWordWrap]; + + RxDBGrid1.FooterOptions.Active := CheckBox2.Checked; + + RxMemoryData1.First; +end; + +end. + diff --git a/components/rx/trunk/rxdb/rxdbgrid.pas b/components/rx/trunk/rxdb/rxdbgrid.pas index 3a7c3ad72..f9ad00919 100644 --- a/components/rx/trunk/rxdb/rxdbgrid.pas +++ b/components/rx/trunk/rxdb/rxdbgrid.pas @@ -670,6 +670,8 @@ type FOnSortChanged: TNotifyEvent; FOnDataHintShow:TRxDBGridDataHintShowEvent; + FSaveOnDataSetScrolled: TDataSetScrolledEvent; + procedure DoCreateJMenu; function GetColumns: TRxDbGridColumns; function GetFooterColor: TColor; @@ -727,6 +729,8 @@ type procedure DoSetColEdtBtn; procedure AddTools(ATools:TRxDBGridAbstractTools); procedure RemoveTools(ATools:TRxDBGridAbstractTools); + + procedure OnDataSetScrolled(aDataSet:TDataSet; Distance: Integer); protected FRxDbGridLookupComboEditor: TCustomControl; FRxDbGridDateEditor: TWinControl; @@ -777,7 +781,6 @@ type procedure FFilterColDlgButtonOnClick(Sender: TObject); procedure InternalOptimizeColumnsWidth(AColList: TList); - //function IsDefaultRowHeightStored: boolean; procedure VisualChange; override; procedure EditorWidthChanged(aCol,aWidth: Integer); override; @@ -802,6 +805,7 @@ type procedure DoEditorShow; override; property Editor; + //procedure UpdateActive; override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -893,7 +897,7 @@ type property Constraints; property DataSource; property DefaultDrawing; - property DefaultRowHeight; // stored IsDefaultRowHeightStored; + property DefaultRowHeight; property DefaultColWidth; @@ -912,7 +916,7 @@ type property Options; property OptionsExtra; property ParentBiDiMode; - property ParentColor; + property ParentColor default false; //property ParentCtl3D; property ParentFont; property ParentShowHint; @@ -934,6 +938,7 @@ type property OnColExit; property OnColumnMoved; property OnColumnSized; + property OnContextPopup; property OnDragDrop; property OnDragOver; property OnDrawColumnCell; @@ -945,6 +950,7 @@ type property OnEnter; property OnExit; property OnFieldEditMask; + property OnGetCellHint; property OnKeyDown; property OnKeyPress; property OnKeyUp; @@ -3330,12 +3336,12 @@ end; function TRxDBGrid.UpdateRowsHeight: integer; var - i, J, H, H1, H2:integer; - //B:boolean; + i, J, H, H1, H2{, YT, YB}:integer; F:TField; S:string; CurActiveRecord: Integer; R:TRxColumn; + begin Result:=0; if not (Assigned(DataLink) and DataLink.Active) then @@ -3343,6 +3349,7 @@ begin CurActiveRecord:=DataLink.ActiveRecord; H2:=0; +// YB:=-1; for i:=GCache.VisibleGrid.Top to GCache.VisibleGrid.Bottom do begin DataLink.ActiveRecord:=i - FixedRows; @@ -3374,7 +3381,17 @@ begin if H2<=ClientHeight then Inc(Result); end; + +{ if DataLink.ActiveRecord = CurActiveRecord then + ColRowToOffSet(False,True, I, YT, YB);} end; +(* + if (YB > -1) and (YB > GCache.VisibleGrid.BottomRight.Y) then + begin +{ Datalink.mo; + GCache.VisibleGrid.Top:=GCache.VisibleGrid.Top + 1;} + end; +*) DataLink.ActiveRecord:=CurActiveRecord; end; @@ -3516,6 +3533,18 @@ begin FToolsList.Remove(ATools); end; +procedure TRxDBGrid.OnDataSetScrolled(aDataSet: TDataSet; Distance: Integer); +begin + if Assigned(FSaveOnDataSetScrolled) then + FSaveOnDataSetScrolled(aDataSet, Distance); + + if rdgWordWrap in FOptionsRx then + begin + UpdateRowsHeight; +// VisualChange; + end; +end; + procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: integer; aRect: TRect; aState: TGridDrawState); begin @@ -4562,45 +4591,7 @@ begin if (Key in CCancelQuickSearchKeys) then if Length(QuickUTF8Search) > 0 then QuickUTF8Search := ''; -(* case Key of -{ VK_DELETE: if not (aoDelete in FAllowedOperations) then - exit; - VK_INSERT: if not (aoInsert in FAllowedOperations) then - exit; - VK_RETURN: if (aoAppend in FAllowedOperations) and (EditorMode) and - (Col = ColCount - 1) and (Row = RowCount - 1) then - if DataSource.DataSet.State = dsInsert then - begin - DataSource.DataSet.Post; - Col := 0; - Key := VK_DOWN; - inherited KeyDown(Key, Shift); - exit; - end - else - begin - Col := 0; - Key := VK_DOWN; - inherited KeyDown(Key, Shift); - exit; - end; - VK_DOWN: - if not (aoAppend in FAllowedOperations) then - begin - FTmpReadOnly := ReadOnly; - ReadOnly := True; - try - inherited KeyDown(Key, Shift); - finally - ReadOnly := FTmpReadOnly; - end; - exit; - end } -{ else - UpdateRowsHeight; - VK_UP:UpdateRowsHeight} - end; *) inherited KeyDown(Key, Shift); if Key <> 0 then begin @@ -4707,16 +4698,14 @@ var P:TPoint; begin Inc(FInProcessCalc); - if rdgWordWrap in FOptionsRx then - UpdateRowsHeight; - +{ if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then begin P:=GCache.MaxClientXY; with GCache do MaxClientXY.Y:=MaxClientXY.Y - (GetDefaultRowHeight * FFooterOptions.RowCount + 2); end; - +} DoClearInvalidTitle; inherited Paint; @@ -4725,10 +4714,11 @@ begin if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then begin - with GCache do - MaxClientXY:=P; +{ with GCache do + MaxClientXY:=P;} DrawFooterRows; end; + Dec(FInProcessCalc); end; @@ -4737,19 +4727,33 @@ begin inherited MoveSelection; if Assigned(FFooterOptions) and FFooterOptions.Active and (FFooterOptions.RowCount > 0) then DrawFooterRows; -// UpdateRowsHeight; end; function TRxDBGrid.GetBufferCount: integer; var - H:integer; + H, H1:integer; + i: LongInt; begin if GetDefaultRowHeight > 0 then begin H:=ClientHeight - GCache.FixedHeight; if FFooterOptions.Active then H:=H - GetDefaultRowHeight * FFooterOptions.RowCount; - Result := H div GetDefaultRowHeight; + + if rdgWordWrap in FOptionsRx then + begin + H1:=0; + Result:=1; + for i:=GCache.VisibleGrid.Top to GCache.VisibleGrid.Bottom do + begin + H1:=H1 + RowHeights[i]; + if H1>H then Break; + Inc(Result); + end; + if Result = 0 then Result:=1; + end + else + Result := H div GetDefaultRowHeight; end else Result := 1; @@ -4932,15 +4936,23 @@ begin FreeMem(WA, SizeOf(integer) * AColList.Count); end; -(* -function TRxDBGrid.IsDefaultRowHeightStored: boolean; -begin - Result := GetDefaultRowHeight = Canvas.TextHeight('Wg'); -end; -*) + procedure TRxDBGrid.VisualChange; +var + P: TPoint; begin CalcTitle; + + if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then + begin + P:=GCache.MaxClientXY; + with GCache do + MaxClientXY.Y:=MaxClientXY.Y - (GetDefaultRowHeight * FFooterOptions.RowCount + 2); + end; + + if rdgWordWrap in FOptionsRx then + UpdateRowsHeight; + inherited VisualChange; end; @@ -5683,7 +5695,6 @@ begin if Assigned(Editor) and Assigned(R) then for i:=0 to R.EditButtons.Count-1 do begin -// R.EditButtons[i].Visible:=false; if R.EditButtons[i].Style = ebsUpDownRx then R.EditButtons[i].FSpinBtn.Visible:=false else @@ -5696,7 +5707,14 @@ begin inherited DoEditorShow; DoSetColEdtBtn; end; - +{ +procedure TRxDBGrid.UpdateActive; +begin + inherited UpdateActive; + if rdgWordWrap in FOptionsRx then + UpdateRowsHeight; +end; +} procedure TRxDBGrid.GetOnCreateLookup; begin if Assigned(F_CreateLookup) then @@ -5851,6 +5869,9 @@ begin {$IFDEF RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT} Options := Options - [dgCancelOnExit]; {$ENDIF} + FSaveOnDataSetScrolled:=Datalink.OnDataSetScrolled; + Datalink.OnDataSetScrolled:=@OnDataSetScrolled; + FToolsList:=TFPList.Create; FColumnDefValues:=TRxDBGridColumnDefValues.Create(Self); FSearchOptions:=TRxDBGridSearchOptions.Create(Self);