RAV_ListFormat - template for saving and customizing list format

A standalone module and template for Clarion 10 (ABC) that allows your app’s users to customize any list (LIST/BROWSE)—saving settings separately for each user and each list—and adds a ready-made set of tools to the developer without writing a single line of hand-coded code.

With great thanks to Igor Stolyarov—this module and template were created based on his code and ideas.
Edited and designed by: A. Rybnikov

What it can do

For the app user

  • Drag and drop columns with the mouse to change the order, the cursor displays the wrap mode
  • Right-click on the column header - context menu: hide/show (including “show all hidden”), move left/right, adjust width to fit text or all visible columns, snap text/header left or right, lock column to the left edge, set the display format (numbers/dates/money) with a live example, zoom in/out/reset zoom
  • Full-featured editor window (“Table Settings”) - one screen:
    list of all columns with on/off checkboxes, status icons, precise width input (double-click on a cell)
  • search for a column using the * and ? masks
  • “All / Active / Hidden / Reduced / Increased” filters
  • Visual highlighting of modified columns — directly in the editor list and in the custom list itself, simultaneously
  • Combine adjacent columns into a group with a custom name (“Payment” above “Due” + “Paid”), rename a group, or ungroup a group
  • Column borders, header color and design
  • “Appearance” tab: row height, font size and family (5 options), grid color, row highlight color, mouse wheel sensitivity
  • “Description” and “Keys” tabs — built-in help for the end user
  • Window resizes with the mouse, “Reset to default settings” button (F5)
  • Single-move list zoom — Ctrl+ / Ctrl- (both NumPad and the main row of the keyboard), window buttons, or header menu items: the font, row height, and width of all columns are changed simultaneously. The zoom level is stored separately from user column settings—resetting always returns the exact original view, without damaging anything.
  • Two independent layout modes—compact (maximum rows on the screen) and horizontal (larger, for viewing a large number of fields), with their own sets of settings, can be switched with a single button.

For the developer

  • A completely standalone module—no ABC BrowseClass, no application dictionary, only native TopSpeed ??and ASCII. Attaches to an existing list without rewriting the procedure
  • Ready-made Clarion Template – drag and drop onto the procedure, specify the list object and unique settings ID, enable the desired functions (header menu, drag-and-drop, zoom, layout modes) – all code is generated automatically with clear Start/End markers
  • Two Control template buttons – “Open Settings Editor” and “Zoom Buttons (+/-/Reset)” – are dragged onto the window next to the list, automatically find the desired list, and bind to it
  • Works with multiple DLLs – the module is compiled once into a data DLL with Export List; in other DLLs/EXEs, only INCLUDE prototypes
  • On-the-fly settings migration – if users already have an old settings file in a different format, the module automatically migrates the data on first launch, without losing anything
  • Stable settings file structure – a reserve is provided for future expansion without recreating user files
  • Smart format merging - (currently only horizontal) when the list structure changes (adding or deleting a column by the developer, etc.)
  • Language changes (English, Russian)

Requirements Clarion 10, ABC
No third-party libraries - only standard RTL

Installation
Standard Clarion10\accessory\ structure (libsrc\win, template\win, images, doc) - unzip over the Clarion installation. Detailed instructions and an example of connecting to a standard or multi-DLL project are in the README.txt inside the archive.

Standalone, no dependencies on dictionary or ABC

Feedback and improvements to the template are welcome.

This template is provided “as is,” without any warranties. Use it at your own risk.

Rav_ListFormatEn.zip (61,8 КБ)
SCHOOL.ZIP (203,1 КБ)


Can you add some screenshots for viewing, please?

I have added some screenshots for your reference.

Cheers, thank you!!!

This zip only has the School.APP modified for RAV List.

Attached is the original Clarion 10 School Example with DCT and TPS files. It has the School.APP so you’ll need to replace that with the modified APP. I would delete the .CwProj and .SLN.

School_v10_Example.zip (721.5 KB)