PHP Classes
Icontem

File: hnwb_ListView/examples/hnwb_ListView.example_1.phpw


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Horst Nogajski  >  hnwb_ListView for WinBinder  >  hnwb_ListView/examples/hnwb_ListView.example_1.phpw  
File: hnwb_ListView/examples/hnwb_ListView.example_1.phpw
Role: Example script
Content type: text/plain
Description: Example App with disabled Configurator-Window
Class: hnwb_ListView for WinBinder
Extend the WinBinder ListView control
 

Contents

Class file image Download
<?PHP
/*****************************************************************************
  | @script_type -  PHP-WinBinder
  | @scriptname  -  hnwb_ListView.example.phpw
  | @version     -  1.0
  | -------------------------------------------------------------------------
  | @author      -  Horst Nogajski <coding@nogajski.de>
  | @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(nullAppWindowAPPNAMEWBC_CENTERWBC_CENTER,
                
540449WBC_NOTIFYWBC_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($winmainListView''1025511345IDC_LISTVIEW_1WBC_VISIBLE WBC_ENABLED WBC_SORT WBC_LINES WBC_CHECKBOXES00);


        
// 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'63WBC_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;
}

?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products