summaryrefslogtreecommitdiff
path: root/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php
diff options
context:
space:
mode:
authortof <>2007-06-28 08:41:57 +0000
committertof <>2007-06-28 08:41:57 +0000
commit8a38b5643655c82a843c4e429cbc3fafdff198ce (patch)
treee26c044c2fb5910730f325a68f26dc5abba6eaa6 /tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php
parent353b3d04ce7a03c7c87f7343e766b3f45e96003c (diff)
Add functional test case for Ticket659
Diffstat (limited to 'tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php')
-rw-r--r--tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php b/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php
new file mode 100644
index 00000000..80c16ce5
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ *
+ *
+ * @author Christophe BOULAIN (Christophe.Boulain@ceram.fr)
+ * @copyright Copyright &copy; 2007, CERAM Sophia Antipolis
+ * @license url nameoflicense
+ * @version $Id$
+ *
+ */
+
+class ToggleImageButton extends TImageButton {
+
+ public function getState () {
+ return $this->getViewState('state', ToggleImageButtonState::Down);
+ }
+
+ public function setState($value) {
+ $this->setViewState('state', TPropertyValue::ensureEnum($value, ToggleImageButtonState));
+ }
+
+ public function toggleState () {
+ $this->setState(($this->getState()===ToggleImageButtonState::Down)?ToggleImageButtonState::Up:ToggleImageButtonState::Down);
+ }
+
+ public function onClick ($param) {
+ $this->toggleState();
+ parent::onClick($param);
+ }
+
+ public function getImageUrl () {
+ $img=($this->getState()===ToggleImageButtonState::Down)?'down.gif':'up.gif';
+ return $this->publishAsset($img);
+ }
+
+ public function setImageUrl() {
+ throw new TUnsupportedOperationException('ImageUrl property is read-only');
+ }
+}
+
+class ToggleImageButtonState extends TEnumerable {
+ const Down='Down';
+ const Up='Up';
+}
+?> \ No newline at end of file