<?php
/*
* (C) Copyright by Christian Möller
* All Rights reserved
*
* This file is part of the WCL (Web Control Library).
*
* WCL is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Foobar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WCL. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Diese Klasse stellt ein Event dar, welches über
* den Event Controller verwaltet wird. Im Event wird
* der Handler gespeichert, der beim Aufruf eines
* Events in einem JavaScript genutzt wird. Desweiteren
* hat die Event Klasse die Möglichkeit, sich selbst
* zu rendern, d.h. es gibt den Code-Snippet zurück,
* der für den Aufruf des Events notwendig ist.
*/
class EventDescriptor {
var $client_handler, // Call Mechanismus 0 = PHP, 1 = JavaScript
$server_handler,
$exports;
function EventDescriptor() {}
function set_client_handler($handler) { $this->client_handler = $handler; $this->server_handler = false; }
function set_server_handler($handler) { $this->server_handler = $handler; $this->client_handler = false; }
function render() {
$render_out = "javascript:";
if ($this->client_handler)
$render_out .= $this->client_handler.";";
else if ($this->server_handler)
$render_out .= "async_invoke('".$this->server_handler."');";
return $render_out;
}
}
?>