Table of Contents

#!html
<h1 style="text-align: left; color: red">
This Plugin is not part of the current lcd4linux. This wiki entry was created for discussion about a plugin prototype.
<br><br>
</h1>

Plugin List

\

1. Description

Plugin List allows to configure lists that can be modified while runtime.\

\

2. Configuration

The basic structure in the config-file looks like this:

Plugin List {

    active 1

    List1 {
        value1 'red'
        value2 'green'
        value3 'blue'
        value4 'alpha'
    }

    List2 {
        value1 1
        value2 'two'
        value3 3
    }

    List3 {
    }

}

“active 1” activates the plugin. If it has not been activated all of its functions will return -1.

The plugin must contain at least 1 list. List may be empty (no value). Lists and values have to be numbered serially starting with 1.

Plugin parameters:

activeSet to 1 to activate plugin, otherwise the plugin won't work and all of its functions return -1.

List parameters:

name*must be unique, default: 'List1' for List1 …
limit*Maximal number of values this list may contain 0..1000, overwritten with initial number of values if above, default: 10
*optional

\

====== functions3. Functions = \

All functions return -1 on error (e.g. plugin not active, wrong config, wrong indexes, name not found).

As usual on lcd4linux indexing starts with 1.

\

FunctionargsDescription
list::add( lst*, idx, val ) 3 add value to list, idx from 1..size+1, returns -1 on error, else 0
list::delete( lst*, idx ) 2 deletes value number idx from list
list::get( lst*, idx ) 2 returns value number idx in list lst
list::find( lst*, val ) 2 returns idx of value val in list lst or -1 if not found
list::limit( lst* ) 1 maximal number of values in list lst
list::set( lst*, idx, val ) 3 sets value number idx to val, returns -1 on error, else 0
list::size( lst* ) 1 current number of values in list lst
* lst may contain the name or the index of the list