<?PHP
 
/*****************************************************************************
 
  | @script_type -  PHP-WinBinder
 
  | @scriptname  -  hnwb_ListView.example.phpw
 
  | @version     -  1.0
 
  | -------------------------------------------------------------------------
 
  | @author      -  Horst Nogajski <[email protected]>
 
  | @copyright   -  (c) 1999 - 2007
 
  | @licence     -  LGPL
 
  | -------------------------------------------------------------------------
 
  | $Source: /WINBINDER/hnwb_ListViewClass/hnwb_ListView.example_1.phpw,v $
 
  | $Id: hnwb_ListView.example_1.phpw,v 1.3.2.1 2007/01/04 23:36:30 horst Exp $
 
 ****************************************************************************/
 
 
 
 
include('config.php');
 
define('APPNAME', basename( __FILE__ ));
 
 
 
//------------------------------------------------------------------------------
 
 
 
#--> STEP 1:
 
    // define ID-Constants for your ListViews
 
    if(!defined('IDC_LISTVIEW_1')) define('IDC_LISTVIEW_1', 1001);
 
 
 
 
 
#--> STEP 2:
 
    // Create window with: WBC_NOTIFY, WBC_MOUSEMOVE | WBC_HEADERSEL !!!
 
    $winmain = wb_create_window(null, AppWindow, APPNAME, WBC_CENTER, WBC_CENTER,
 
                540, 449, WBC_NOTIFY, WBC_MOUSEMOVE | WBC_HEADERSEL );
 
 
 
/** EXAMPLE USAGE 1:
 
 *
 
 *  with disabled Configurator-Window but therefor with manually defined
 
 *  Column-Header-Names, optionally with values for width and alignment
 
 **/
 
 
 
 
#--> STEP 3:
 
    // create a global INI-Object without inifile, (is only needed for compatibility)
 
    $ini = new hn_ini(null,FALSE,TRUE);
 
 
 
 
#--> STEP 4:
 
    // create an Object for the Listview.
 
    // Don't forget to set the WBC_SORT-Flag!
 
    $lv1 = new hnwb_ListView($ini,TRUE,TRUE);
 
    $lv1->ctrl = wb_create_control($winmain, ListView, '', 10, 25, 511, 345, IDC_LISTVIEW_1, WBC_VISIBLE | WBC_ENABLED | WBC_SORT | WBC_LINES | WBC_CHECKBOXES, 0, 0);
 
 
 
        // disable the Configurator-Window for the Users
 
        // (it is enabled per default)
 
        $lv1->enable_user_config(FALSE);
 
 
 
        // you must know the DataSource, so you can
 
        // manually defined Column-Header-Names, optionally with values for width and alignment
 
        $ColumnHeaders = array( array('company', 160), array('name', 130), array('firstname',90), array('id', 63, WBC_RIGHT) );
 
 
        /***  set_Column_Header manually:
 
         *
 
         * first Param:     required    Array with names or ContainerArray with Array for each column:
 
         *                                 array( name [,width] [,WBC_LEFT | WBC_CENTER | WBC_RIGHT] ),
 
         *                                 at least you have to pass an array with that number of empty entries
 
         *                                 you need Columns, e.g. 2 = array('','')
 
         * second Param:    optional     define the column with your unique datarecord id,
 
         *                                 String or id (when use associative arrays), or integer id.
 
         *                                 If there is no id column, pass NULL.
 
         * third Param:        optional    define if you serve associative DataArays to the Listview [True | False]
 
         */
 
        $lv1->set_Column_Header($ColumnHeaders, 'id', TRUE);
 
 
 
        // optionally define sorting-lists:
 
        $lv1->set_extended_SortList('company',array('company','name','firstname'));
 
        $lv1->set_extended_SortList('name',array('name','firstname'));
 
        $lv1->set_extended_SortList('id',array('id'));
 
 
 
        // optionally change/set Display & Styles
 
        $lv1->set_Style_Lines(TRUE);
 
        $lv1->set_Style_Checkboxes(TRUE);
 
        $lv1->set_Style_Enabled(TRUE);
 
 
 
    // end with manually Configuration.
 
    // If you use the (by default enabled) Configurator-Window, you need only _ONE_LINE_ of code for this.
 
    // See the Example_2 file!
 
 
 
    // initialize the Control
 
    $lv1->initialize();
 
 
 
    // get Data for the Listview (e.g. from MySQL-Query)
 
    $data = example_data();
 
 
 
    // add Data to ListView
 
    $lv1->Data_PUT($data);
 
 
 
 
wb_set_handler($winmain, "process_main");
 
wb_main_loop();
 
 
 
 
//-------------------------------------------------------------------- FUNCTIONS
 
 
 
function process_main($window, $id, $ctrl=0, $lparam1=0, $lparam2=0)
 
{
 
 
#--> STEP 5:
 
    // make the ListView-ObjectHandlers global!
 
    if(!isset($GLOBALS['LV_cfg'])) $GLOBALS['LV_cfg'] = null;
 
    global $lv1;
 
 
 
    switch($id)
 
    {
 
 
 
#--> STEP 6:
 
        // For each ListView-ObjectHandler:
 
        // set a second Hook into the MainProcess-EventHandler,
 
 
        case $lv1->get_ID():
 
            $lv1->Event_Handler($window, $id, $ctrl, $lparam1, $lparam2, $GLOBALS['LV_cfg']);
 
            break;
 
 
 
#--> STEP 7:
 
        // For each ListView-ObjectHandler:
 
        // CleanUp at ProcessTermination
 
 
        case IDCLOSE:
 
            $GLOBALS['LV_cfg'] = null;
 
            unset($GLOBALS['LV_cfg']);
 
 
            $lv1->Destroy();
 
            $lv1=null;
 
            unset($lv1);
 
 
            wb_destroy_window($window);
 
            break;
 
 
    }
 
 
}
 
 
 
function example_data()
 
{
 
    $data_src = array(
 
        array('company'=>'company',            'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'',                'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'ab ltd.',            'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'de ltd.',            'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'fg ltd.',            'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'xy ltd.',            'name'=>'doe',        'firstname'=>'john'),
 
        array('company'=>'company',            'name'=>'wesson',    'firstname'=>'al'),
 
        array('company'=>'company',            'name'=>'baker',    'firstname'=>'barry'),
 
        array('company'=>'company',            'name'=>'butcher',    'firstname'=>'barry'),
 
        array('company'=>'company',            'name'=>'baker',    'firstname'=>'terry'),
 
        array('company'=>'xy ltd.',            'name'=>'patterson','firstname'=>'aldus'),
 
        array('company'=>'trade united',    'name'=>'hugley',    'firstname'=>'jenny')
 
    );
 
    $data = array();
 
    $uid = 0;
 
    for($i=0;$i<3;$i++)
 
    {
 
        foreach($data_src as $d)
 
        {
 
            $data[] = array_merge($d,array('id'=>$uid));
 
            $uid++;
 
        }
 
    }
 
    return $data;
 
}
 
 
?>
 
 
 |