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