/[cvs]/nfo/php/libs/org.netfrag.app/WebExplorer/Module/AbstractGUIModule.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.app/WebExplorer/Module/AbstractGUIModule.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide annotations)
Wed Apr 16 16:15:27 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.6: +9 -2 lines
behavior fix to 'function add_hidden_element': just calling 'add_hidden_element' on core instance of it provides this method

1 jonen 1.1 <?
2     /*
3     ## -----------------------------------------------------------------------------
4 joko 1.7 ## $Id: AbstractGUIModule.php,v 1.6 2003/04/10 06:19:33 joko Exp $
5 jonen 1.1 ## -----------------------------------------------------------------------------
6 jonen 1.2 ## $Log: AbstractGUIModule.php,v $
7 joko 1.7 ## Revision 1.6 2003/04/10 06:19:33 joko
8     ## minor fix: prevent use of undefined instance
9     ##
10 joko 1.6 ## Revision 1.5 2003/04/07 22:29:27 jonen
11     ## + minor changes
12     ##
13 jonen 1.5 ## Revision 1.4 2003/04/05 21:17:51 joko
14     ## extends Class::Abstract (for being able to call '_abstract_method' on it)
15     ##
16 joko 1.4 ## Revision 1.3 2003/04/04 00:56:08 jonen
17     ## + add 'mungle_adapter' function
18     ##
19 jonen 1.3 ## Revision 1.2 2003/03/20 07:56:18 jonen
20     ## + added docu
21     ##
22 jonen 1.2 ## Revision 1.1 2003/03/20 03:49:22 jonen
23     ## + initial commit
24     ##
25 jonen 1.1 ## Revision 1.1 2003/03/01 22:57:23 cvsmax
26     ## + inital commit
27     ##
28     ##
29     ## -----------------------------------------------------------------------------
30     */
31    
32 joko 1.4
33     /**
34     * required only for $this->_abstract_method({methodname})
35     * can later be used or not without any problems or further
36     * dependencies since this is an abstract base class at the
37     * very top of the inheritance hierarchy.
38     *
39     */
40     loadModule('Class::Abstract');
41    
42 jonen 1.1 /**
43     * AbstractGUIModule class provides an simple way to create new modules
44     * for the Explorer, eg navigation or data browsing elements.
45     *
46 jonen 1.2 * @author Sebastian Utz <seut@tunemedia.de>
47     * @package org.netfrag.app
48     * @name WebExplorer::Module::AbstractModule
49 jonen 1.1 */
50 joko 1.4 class WebExplorer_Module_AbstractGUIModule extends Class_Abstract {
51 jonen 1.1
52    
53     /**
54     * most modules needs arguments e.g. data_locator_key, caption etc.
55     */
56     var $_args = array();
57    
58     /**
59 jonen 1.2 * variable thats holds the reference to phphtmllib GUI object
60 jonen 1.1 */
61     var $_gui_object;
62    
63     /**
64     * the contructor
65     *
66 jonen 1.2 * @params struct - the arguments
67 jonen 1.1 */
68     function WebExplorer_Module_AbstractGUIModule($args = array()) {
69     $this->_args = $args;
70    
71 jonen 1.5 //print Dumper($this->_gui_object);
72 jonen 1.1 $this->set_gui_object();
73     }
74 jonen 1.2
75 jonen 1.1
76     function set_gui_object() {
77 jonen 1.5 $msg = "AbstractGUIModule::get_gui_object() - Child must override";
78     user_error($msg);
79     return $msg;
80 jonen 1.1 }
81    
82    
83     function add_hidden_items($items) {
84     foreach($items as $label => $value) {
85 jonen 1.5 $this->add_hidden_element($label, $value);
86 jonen 1.1 }
87     }
88 jonen 1.5
89 jonen 1.1
90 jonen 1.5 function add_hidden_element($label, $value) {
91 joko 1.6 // TODO: review this!
92     if (!$this->_gui_object) { return; }
93 jonen 1.1 //print "Label: $label => $value<br>";
94 joko 1.7
95     // fixed: (alpha, maybe this doesn't work out well...)
96     if (method_exists($this->_gui_object, 'add_hidden_element')) {
97     $this->_gui_object->add_hidden_element($label, $value);
98     }
99 jonen 1.1 }
100    
101 jonen 1.5
102 jonen 1.1 function &get() {
103 jonen 1.3 if($this->_args['adapter']) {
104     return $this->mungle_adapter($this->_args['adapter']);
105     } else {
106     return $this->_gui_object;
107     }
108     }
109    
110     function mungle_adapter($label) {
111     return php::mkInstance($label, array(&$this->_gui_object));
112 jonen 1.1 }
113    
114 jonen 1.5
115 jonen 1.1 }
116    
117     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed