Dennis Jan,

thanks for contribution. I will have a look at it the coming days. I 
know activewidgets, but when I had a look on it a year ago or so there 
were some problems with Firefox. And Opera and safari are supported with 
version 2 (currently beta).

I'd prefer to have an easy way to incorporate both your display style 
and the one Sile mentioned, but I fear both will need their own 
definition and another new class. Be patient with me, if I will not be 
able to have everything checked and tested and incorporated in due course.

I also don't know how it will work if the result is not displayed in a 
normal pop-up window but in DHTML-based pseudo-window. All those DHTML 
libraries may not always work nicely with each other. I already had 
incompatibilities with the WalterZorn libraries and the ones used for 
the slider. And one idea with pmapper 2 was to completely substitute 
external pop-up windows with internal DHTML windows, to avoid all the 
confusing confirmations of the browsers.

Armin

DJ Broerse wrote:
> Hi Armin
> 
> I have fixed the problem with the Identify functionality. I will ask you 
> to look at the new rendermethod because I like to contribute the code.
> It is based on an ActiveWidget (see also http://www.activewidgets.com ) 
> and I have functions rewritten so they give me the right format (JS 
> array) in stead of a table.
> 
> The new rendermethod has some great advantages!
> 
>     * The tableheaders are always visible
>     * The code is simply
>     * It is maintainable.
>     * It has a lot of features (you can do everything with your results
>       what you want, add checkboxes every table on a new tab etc)
>     * It is open source
>     * The results are numbered
> 
> I will attach the gridRenderer class which I have written so you can 
> decide if want to implement this in your maincode.
> I hope you want to replace your table with the grid else I have to make 
> it configurable.
> 
> The autorisation is very easy to implement because it  is one  php file  
> you have to include in the globals.php, and to achieve autorisation at 
> the buttons I have changed custom.php.
> I also added one config file to setup the autorisation.
> The autorisation is group based. So you have files with users each 
> filename is a group.
> For each group you can define a config.ini and a map file, so each group 
> can have his own map.
> I already mentioned there are 5 autorisation methods: none (default if 
> you don't want to have autorisation), textfiles, htacces, kerberos and 
> MySQL db.
> 
> Tomorrow I will make the advancedSearch and the AdvancedPrint ready for 
> contribution and I will test some older functionalities if they aren't 
> broken.
> 
> You can visit the given URL to see the functionalities live, if someone 
> else want to see the new functionalities please send me an email and I 
> will send you the URL.
> 
> Greeting, in Dutch, tot ziens,
> 
> Dennis-Jan
> 
> -- 
> DJ Broerse    dennisjan at ibuildings.nl 
> Direct: 0118 42 95 68 Mobiel: 06 48 01 03 08 
> Skype: callto://dennisjan-ibuildings
> Ibuildings.nl BV - Information technology 
> http://www.ibuildings.nl - 0118 42 95 50 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> * @package package * @subpackage subpackage * */ class gridRenderer { // 
> Class attributes var $staticId = 0; var $columns = ''; var $data = ''; 
> var $grid = ''; var $rowProp = ''; var $columnProp = ''; /** * 
> Constructor * */ function gridRenderer() { static $id = 0; $id++; 
> $this->staticId = $id; } /** * One line description of the function * * 
> Full description of the function * * @param type name description * 
> @return type description */ function setHeaders($selHeaders) { 
> $this->columns = "var columns".$this->staticId." = 
> ".$selHeaders.";\n\n"; } /** * One line description of the function * * 
> Full description of the function * * @param type name description * 
> @return type description */ function setData($queryData) { $this->data = 
> "var data".$this->staticId." = [".$queryData."];\n\n"; } /** * One line 
> description of the function * * Full description of the function * * 
> @param type name description * @return type description */ function 
> setRowProp($rowProp) { $this->rowProp = 
> "obj".$this->staticId.".setRowProperty('count', ".$rowProp.");\n"; } /** 
> * One line description of the function * * Full description of the 
> function * * @param type name description * @return type description */ 
> function setColumnProp($columnProp) { $this->columnProp = 
> "obj".$this->staticId.".setColumnProperty('count', 
> ".$columnProp.");\n\n"; } /** * One line description of the function * * 
> Full description of the function * * @param type name description * 
> @return type description */ function write() { $this->grid = 
> $this->columns; $this->grid .= $this->data; $this->grid .= "// create 
> ActiveWidgets Grid javascript object\n"; $this->grid .= "var 
> obj".$this->staticId." = new Active.Controls.Grid;\n\n"; $this->grid .= 
> "// Set number of rows/columns\n"; $this->grid .= $this->rowProp; 
> $this->grid .= $this->columnProp; $this->grid .= "// Provide cells and 
> headers text\n"; $this->grid .= 
> "obj".$this->staticId.".setDataProperty('text', function(i, j) {return 
> data".$this->staticId."[i][j]});\n"; $this->grid .= 
> "obj".$this->staticId.".setColumnProperty('text', function(i) {return 
> columns".$this->staticId."[i]});\n\n"; $this->grid .= "// Set headers 
> width/height\n"; $this->grid .= 
> "obj".$this->staticId.".setRowHeaderWidth('28px');\n"; $this->grid .= 
> "obj".$this->staticId.".setColumnHeaderHeight('20px');\n\n"; $this->grid 
> .= "// Set click action handler\n"; $this->grid .= 
> "obj".$this->staticId.".setAction('click', function(src){window.status = 
> src.getItemProperty('text')});\n\n"; $this->grid .= "// Write grid html 
> to the page\n"; $this->grid .= 
> "document.write(obj".$this->staticId.");\n\n\n"; return $this->grid; } } ?>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Pmapper-users mailing list
> Pmapper-users at faunalia.it
> http://faunalia.it/cgi-bin/mailman/listinfo/pmapper-users

Reply via email to