<?

// обнаружение  событий которые не ловит devel studio
class Event_detect {

	static $story = array();

	/*
	// test_obj - любой объект внутри объекта у которого определяем события
	function __construct($obj_name, $test_obj) {
		$this->obj_name = $obj_name;
		$this->test_obj_name = $test_obj;
		$this->obj = get_ui($obj_name);
		$this->test_obj = get_ui($test_obj);
	}

	function onScroll() {

	}
	*/

	// временная функция пока не сделаю нормальный класс
	static function scroll($name) {
		GLOBAL $log;

		if(!isset(self::$story[$name])) {
			if(!$obj = get_ui('Fm->'.$name))
				throw new Error_def("Не найден объект с именем '$name'");

		    	self::$story[$name] = array('y'=>0, 'x'=>0, 'obj'=>$obj);
		}

		$panel = self::$story[$name];
		$new_x = $panel['obj']->x;
		$new_y = $panel['obj']->y;
		if($panel['x'] != $new_x or $panel['y'] != $new_y) {
			//$log->line('redraw' . time());

			$panel['x'] = $new_x;
			$panel['y'] = $new_y;
			self::$story[$name] = $panel;

			return true;
		}

		return false;
	}

	// изменение размера скролбокса
	static function scrollbox_resize($name) {
		GLOBAL $log;

		if(!isset(self::$story[$name])) {
			if(!$obj = get_ui('Fm->'.$name))
				throw new Error_def("Не найден объект с именем '$name'");

		    	self::$story[$name] = array('w'=>0, 'h'=>0, 'obj'=>$obj);
		}

		$panel = self::$story[$name];
		$new_w = $panel['obj']->w;
		$new_h = $panel['obj']->h;

		if($panel['w'] != $new_w or $panel['h'] != $new_h) {
			//$log->line('redraw' . time());

			$panel['w'] = $new_w;
			$panel['h'] = $new_h;
			self::$story[$name] = $panel;

			return true;
		}

		return false;
	}

}

?>