From 202cf371076f9aba5c308830a9d92d08681440ed Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Sun, 29 Jun 2003 07:42:29 +0000 Subject: [PATCH] Core and Basic modules are now much more like they should. Huge code clean: - Merged Copy and Generic class into a new Fallback implementation: Translate. It searchs for a template and if it doesn't find it, it copy the output like Copy. - Removed Title and Page (now are created by Translate fallback since they are too simple). - Removed a lot of unused constructors. - Cleaned up Link constructor (now it uses getURL()) and inherits directly from Container. HIT Changes: - Added searching for templates in include_path capabilities (much slower). - Added optional group parameter to parse() method. - Added exists() method to check if a template exists. - Fixed paramters of getBuffer() and popBuffer(). - Renamed setGroup() as pushGroup() and unsetGroup() as popGroup(). Other updates: - Updated ROADMAP. - Updated UML diagrams. - Updated example. - Bugfixes. --- core/BIFE/Container.php | 38 +----- core/BIFE/Fallback.php | 6 +- core/BIFE/Widget.php | 2 +- core/HTML/Template/HIT.php | 85 +++++++++---- core/bife.xmi | 57 ++++----- doc/ROADMAP | 6 +- examples/index.php | 4 +- modules/album/BIFE/Album/Pager.php | 3 +- modules/album/BIFE/Album/Photo.php | 38 +----- modules/album/BIFE/Album/Thumbs.php | 14 +-- modules/album/album.xmi | 15 +-- modules/basic/BIFE/Generic.php | 114 ------------------ modules/basic/BIFE/Link.php | 43 ++++--- modules/basic/BIFE/Page.php | 44 ------- modules/basic/BIFE/Title.php | 44 ------- .../basic/BIFE/{Copy.php => Translate.php} | 74 ++++-------- modules/basic/basic.xmi | 100 +++------------ modules/menu/menu.xmi | 5 - 18 files changed, 181 insertions(+), 511 deletions(-) delete mode 100644 modules/basic/BIFE/Generic.php delete mode 100644 modules/basic/BIFE/Page.php delete mode 100644 modules/basic/BIFE/Title.php rename modules/basic/BIFE/{Copy.php => Translate.php} (61%) diff --git a/core/BIFE/Container.php b/core/BIFE/Container.php index a1540b8..2ddc24d 100644 --- a/core/BIFE/Container.php +++ b/core/BIFE/Container.php @@ -39,44 +39,15 @@ require_once 'BIFE/Widget.php'; */ class BIFE_Container extends BIFE_Widget { /** + * Widget contents. + * * @var array $contents * @access public */ - var $contents; + var $contents = array(); // ~X2C - // +X2C Operation 48 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function BIFE_Container($attrs) // ~X2C - { - $this->__construct($attrs); - } - // -X2C - - // +X2C Operation 50 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function __construct($attrs) // ~X2C - { - parent::__construct($attrs); - $this->contents = array(); - } - // -X2C - // +X2C Operation 6 /** * Adds contents to the container. @@ -105,7 +76,7 @@ class BIFE_Container extends BIFE_Widget { * @return string * @access public */ - function render(&$template) // ~X2C + function renderContents(&$template) // ~X2C { $c = count($this->contents); $o = ''; @@ -120,6 +91,7 @@ class BIFE_Container extends BIFE_Widget { } // -X2C + } // -X2C Class :Container ?> \ No newline at end of file diff --git a/core/BIFE/Fallback.php b/core/BIFE/Fallback.php index e309825..04a11b1 100644 --- a/core/BIFE/Fallback.php +++ b/core/BIFE/Fallback.php @@ -39,10 +39,12 @@ require_once 'BIFE/Container.php'; */ class BIFE_Fallback extends BIFE_Container { /** + * Name of the widget. + * * @var string $name * @access private */ - var $name; + var $name = ''; // ~X2C @@ -75,7 +77,7 @@ class BIFE_Fallback extends BIFE_Container { function __construct($name, $attrs) // ~X2C { parent::__construct($attrs); - $this->name = $name; + $this->name = strtolower(strtr($name, ':', '_')); } // -X2C diff --git a/core/BIFE/Widget.php b/core/BIFE/Widget.php index c000452..5e0ab11 100644 --- a/core/BIFE/Widget.php +++ b/core/BIFE/Widget.php @@ -87,7 +87,7 @@ class BIFE_Widget { function render(&$template) // ~X2C { trigger_error('Method not implemented '.get_class($this). - '::addContents().', E_USER_ERROR); + '::render().', E_USER_ERROR); } // -X2C diff --git a/core/HTML/Template/HIT.php b/core/HTML/Template/HIT.php index 025707a..2b635c9 100644 --- a/core/HTML/Template/HIT.php +++ b/core/HTML/Template/HIT.php @@ -41,6 +41,14 @@ class HTML_Template_HIT { */ var $root = '.'; + /** + * If it's true, it looks for template files in PHP's include_path. + * + * @var bool $useIncludePath + * @access public + */ + var $useIncludePath = false; + /** * Group of templates to use (a subdirectory in root). * @@ -70,14 +78,15 @@ class HTML_Template_HIT { * Constructor. * * @param string $root Root directory where template files are. + * @param bool $useIncludePath If it's true, it looks for template files in PHP's include_path. * @param string $group Group of templates to use (a subdirectory in root). * * @return void * @access public */ - function HTML_Template_HIT($root = '.', $group = '') // ~X2C + function HTML_Template_HIT($root = '.', $useIncludePath = false, $group = '') // ~X2C { - $this->__construct($root, $group); + $this->__construct($root, $useIncludePath, $group); } // -X2C @@ -86,15 +95,17 @@ class HTML_Template_HIT { * Constructor. * * @param int $root Root directory where template files are. - * @param int $group Group of templates to use (a subdirectory in root). + * @param false $useIncludePath If it's true, it looks for template files in PHP's include_path. + * @param string $group Group of templates to use (a subdirectory in root). * * @return void * @access public */ - function __construct($root = '.', $group = '') // ~X2C + function __construct($root = '.', $useIncludePath = false, $group = '') // ~X2C { $this->root = $root; - $this->setGroup($group); + $this->useIncludePath = $useIncludePath; + $this->pushGroup($group); } // -X2C @@ -106,13 +117,14 @@ If $vars is an array, the {[keys]} are replaced with [values] ($val is ignored). * @param string $name Name of template to parse. * @param mixed $vars Variables to replace in the template. * @param string $val If $vars is a string, the value to replace for $vars. + * @param mixed $group Group to use to parse this template. Null to use the current group. * * @return string * @access public */ - function parse($name, $vars = '', $val = '') // ~X2C + function parse($name, $vars = '', $val = '', $group = null) // ~X2C { - $group = end($this->group); + $group = is_null($group) ? end($this->group) : $group; if ($group) { $file = "{$this->root}/$group/$name.tpl.html"; } else { @@ -120,11 +132,8 @@ If $vars is an array, the {[keys]} are replaced with [values] ($val is ignored). } if (!isset($this->cache[$file])) { // FIXME - replace join(file()) with file_get_contents(). - $this->cache[$file] = join('', file($file)); + $this->cache[$file] = join('', file($file, $this->useIncludePath)); } - //if (!is_readable($file)) { - // trigger_error("Can't read '$file'."); - //} if ($vars) { if (is_string($vars)) { $vars = array($vars => $val); @@ -163,12 +172,12 @@ Parse a template appending the results to an internal buffer. If $vars is an arr * Gets a parsed buffer. * * @param string $name Name of the parsed template to get. - * @param bool $flush Flush buffer. * * @return string * @access public + * @static */ - function getBuffer($name, $flush = true) // ~X2C + function getBuffer($name) // ~X2C { return @$this->buffer["{$this->group}/$name"]; } @@ -178,12 +187,12 @@ Parse a template appending the results to an internal buffer. If $vars is an arr /** * Gets a parsed buffer and removes it. * - * @param int $name Name of the buffer to flush. + * @param string $name Name of the buffer to flush. * * @return void * @access public */ - function popBuffer($name = '') // ~X2C + function popBuffer($name) // ~X2C { $return = @$this->buffer["{$this->group}/$name"]; unset($this->buffer["{$this->group}/$name"]); @@ -200,13 +209,9 @@ Parse a template appending the results to an internal buffer. If $vars is an arr * @return void * @access public */ - function setGroup($group = '') // ~X2C + function pushGroup($group = '') // ~X2C { - if ($group) { - $this->group[] = $group; - } else { - $this->group[] = ''; - } + $this->group[] = $group; } // -X2C @@ -214,12 +219,44 @@ Parse a template appending the results to an internal buffer. If $vars is an arr /** * Removes the group from the groups stack and returns to the previous used group. * - * @return void + * @return string + * @access public + */ + function popGroup() // ~X2C + { + return array_pop($this->group); + } + // -X2C + + // +X2C Operation 159 + /** + * True if the template $name exists in $group (or the current group). + * + * @param string $name Name of the template. + * @param mixed $group Template's group. If it's null it uses the current group. + * + * @return bool * @access public */ - function unsetGroup() // ~X2C + function exists($name, $group = null) // ~X2C { - array_pop($this->group); + $group = is_null($group) ? end($this->group) : $group; + if ($group) { + $file = "{$this->root}/$group/$name.tpl.html"; + } else { + $file = "{$this->root}/$name.tpl.html"; + } + if (!$this->useIncludePath) { + return is_readable($file); + } else { + $include_path = array_unique(preg_split('/[:;]/', ini_get('include_path'))); + foreach ($include_path as $path) { + if (is_readable("$path/$file")) { + return true; + } + } + return false; + } } // -X2C diff --git a/core/bife.xmi b/core/bife.xmi index 7dc0489..bdd5163 100644 --- a/core/bife.xmi +++ b/core/bife.xmi @@ -9,7 +9,7 @@ - + @@ -24,19 +24,13 @@ - - - - - - - + - + @@ -87,16 +81,18 @@ - + - + + - + + + - + - - + - + - + + + + + + @@ -133,29 +134,29 @@ Parse a template appending the results to an internal buffer. If $vars is an arr - - + + - + - - + + - + @@ -166,11 +167,9 @@ Parse a template appending the results to an internal buffer. If $vars is an arr - - - + @@ -208,14 +207,16 @@ Parse a template appending the results to an internal buffer. If $vars is an arr + + + - - + diff --git a/doc/ROADMAP b/doc/ROADMAP index dd911a3..22255c2 100644 --- a/doc/ROADMAP +++ b/doc/ROADMAP @@ -4,8 +4,8 @@ Version 0.10 ============ - Add XML file caching. [done!] - - Remove Root widget, is has no sense with the new autoincludin method. - [done!] + - Remove Root widget, is has no sense with the new autoincluding + method. [done!] - Make the proyect modular. [done as a first draft] - Make a Core module with the core classes (Parser, Widget, Container, Fallback). [almost done] @@ -15,7 +15,7 @@ Version 0.10 [almost done] - Fix bugs: all classes should done the dynamic work in the render() method or using __sleep() and __wakeup() because of the new cache - capabilities. + capabilities. [started] Version 0.11 diff --git a/examples/index.php b/examples/index.php index f7abe2b..fdb9580 100644 --- a/examples/index.php +++ b/examples/index.php @@ -40,14 +40,14 @@ umask('002'); require_once 'HTML/Template/HIT.php'; require_once 'BIFE/Parser.php'; -require_once 'BIFE/Copy.php'; +require_once 'BIFE/Translate.php'; require_once 'BIFE/Link.php'; $file = isset($_REQUEST['BIFE']) ? $_REQUEST['BIFE'] : 'index.xbf'; $template =& new HTML_Template_HIT('templates'); -$parser =& new BIFE_Parser('BIFE_Copy'); +$parser =& new BIFE_Parser('BIFE_Translate'); $page =& $parser->parseFile($file); $parser->__destruct(); echo $page->render($template); diff --git a/modules/album/BIFE/Album/Pager.php b/modules/album/BIFE/Album/Pager.php index 577ce96..7a37116 100644 --- a/modules/album/BIFE/Album/Pager.php +++ b/modules/album/BIFE/Album/Pager.php @@ -26,8 +26,6 @@ // $Id$ // - - // +X2C includes require_once 'BIFE/Widget.php'; // ~X2C @@ -87,4 +85,5 @@ class BIFE_Album_Pager extends BIFE_Widget { // -X2C } // -X2C Class :Pager + ?> \ No newline at end of file diff --git a/modules/album/BIFE/Album/Photo.php b/modules/album/BIFE/Album/Photo.php index 1568255..c99ef29 100644 --- a/modules/album/BIFE/Album/Photo.php +++ b/modules/album/BIFE/Album/Photo.php @@ -39,38 +39,6 @@ require_once 'BIFE/Widget.php'; class BIFE_Album_Photo extends BIFE_Widget { // ~X2C - // +X2C Operation 106 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function BIFE_Album_Photo($attrs) // ~X2C - { - $this->__construct($attrs); - } - // -X2C - - // +X2C Operation 107 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function __construct($attrs) // ~X2C - { - $new_attrs['FILE'] = @$attrs['FILE'] ? $attrs['FILE'] : @$_REQUEST['BIFE_ALBUM_FILE']; - $new_attrs['DESC'] = @$attrs['DESC'] ? $attrs['DESC'] : basename($new_attrs['FILE']); - parent::__construct($new_attrs); - } - // -X2C - // +X2C Operation 108 /** * Renders the widget using a template returning a string with the results. @@ -82,9 +50,9 @@ class BIFE_Album_Photo extends BIFE_Widget { */ function render(&$template) // ~X2C { - $template->setGroup('album'); - $out = $template->parse('photo', $this->attrs); - $template->unsetGroup(); + $attrs['FILE'] = @$this->attrs['FILE'] ? $this->attrs['FILE'] : @$_REQUEST['BIFE_ALBUM_FILE']; + $attrs['DESC'] = @$this->attrs['DESC'] ? $this->attrs['DESC'] : basename($attrs['FILE']); + $out = $template->parse('photo', $attrs, '', 'album'); return $out; } // -X2C diff --git a/modules/album/BIFE/Album/Thumbs.php b/modules/album/BIFE/Album/Thumbs.php index 7c5ddec..4deaae8 100644 --- a/modules/album/BIFE/Album/Thumbs.php +++ b/modules/album/BIFE/Album/Thumbs.php @@ -98,7 +98,7 @@ class BIFE_Album_Thumbs extends BIFE_Widget { */ function render(&$template) // ~X2C { - $template->setGroup('album'); + $template->pushGroup('album'); $list = $this->getList(); $tot = count($list); $rows = ceil($tot / $this->attrs['COLUMNS']); @@ -122,13 +122,13 @@ class BIFE_Album_Thumbs extends BIFE_Widget { } $template->parseBuffered('cell', 'CONTENTS', $cell); } - $template->parseBuffered('row', 'CONTENTS', $template->popBuffer('cell')); + $template->parseBuffered('row', 'CONTENTS', + $template->popBuffer('cell')); } - $out = $template->parse( - 'body', - array('DESC' => $this->getDescription(), 'CONTENTS' => $template->popBuffer('row')) - ); - $template->unsetGroup(); + $out = $template->parse('body', array( + 'DESC' => $this->getDescription(), + 'CONTENTS' => $template->popBuffer('row'))); + $template->popGroup(); return $out; } // -X2C diff --git a/modules/album/album.xmi b/modules/album/album.xmi index 455bba5..c23cb92 100644 --- a/modules/album/album.xmi +++ b/modules/album/album.xmi @@ -45,18 +45,10 @@ Returns an array of associative arrays with this keys: - - - - - - - @@ -74,7 +66,7 @@ x2c:extern" name="HIT" static="0" scope="200" /> - + @@ -111,8 +103,6 @@ x2c:extern" name="HIT" static="0" scope="200" /> - - @@ -129,9 +119,6 @@ x2c:extern" name="HIT" static="0" scope="200" /> - - - diff --git a/modules/basic/BIFE/Generic.php b/modules/basic/BIFE/Generic.php deleted file mode 100644 index bbda5bd..0000000 --- a/modules/basic/BIFE/Generic.php +++ /dev/null @@ -1,114 +0,0 @@ - | -// +--------------------------------------------------------------------+ -// -// $Id$ -// - -// +X2C includes -require_once 'BIFE/Container.php'; -// ~X2C - -// +X2C Class 7 :Generic -/** - * This is a generic and simple BIFE_Container implementation. - * - * @access public - * @abstract - */ -class BIFE_Generic extends BIFE_Container { - // ~X2C - - // +X2C Operation 10 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function BIFE_Generic($attrs) // ~X2C - { - $this->__construct($attrs); - } - // -X2C - - // +X2C Operation 51 - /** - * Constructor. - * - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function __construct($attrs) // ~X2C - { - parent::__construct($attrs); - } - // -X2C - - // +X2C Operation 11 - /** - * Add contents to the container. - * - * @param mixed &$contents Contents to add. - * - * @return void - * @access public - */ - function addContents(&$contents) // ~X2C - { - if (is_string($contents)) { - $contents = trim($contents); - } - if ($contents) { - parent::addContents($contents); - } - } - // -X2C - - // +X2C Operation 12 - /** - * Renders the widget. - * - * @param HTML_Template_HIT &$template Template to use to render the widget. - * - * @return string - * @access public - */ - function render(&$template) // ~X2C - { - $this->attrs['CONTENTS'] = parent::render($template); - $template->setGroup(); - $out = $template->parse(get_class($this), $this->attrs); - $template->unsetGroup(); - return $out; - } - // -X2C - -} // -X2C Class :Generic - -?> \ No newline at end of file diff --git a/modules/basic/BIFE/Link.php b/modules/basic/BIFE/Link.php index 02a3c80..c8900d6 100644 --- a/modules/basic/BIFE/Link.php +++ b/modules/basic/BIFE/Link.php @@ -27,7 +27,7 @@ // // +X2C includes -require_once 'BIFE/Generic.php'; +require_once 'BIFE/Container.php'; // ~X2C // +X2C Class 110 :Link @@ -36,7 +36,7 @@ require_once 'BIFE/Generic.php'; * * @access public */ -class BIFE_Link extends BIFE_Generic { +class BIFE_Link extends BIFE_Container { // ~X2C // +X2C Operation 111 @@ -65,26 +65,9 @@ class BIFE_Link extends BIFE_Generic { */ function __construct($attrs) // ~X2C { - $link_attrs['URL'] = @$attrs['URL']; - unset($attrs['URL']); - $link_attrs['DESC'] = @$attrs['DESC']; - unset($attrs['DESC']); - if (isset($attrs['BIFE'])) { - $link_attrs['BIFE'] = $attrs['BIFE']; - $attrs['DATA-BIFE'] = $attrs['BIFE']; - unset($attrs['BIFE']); - } - $query = array(); - foreach($attrs as $name => $value) { - if (substr($name, 0, 5) === 'DATA-') { - if ($name = substr($name, 5)) { - $query[] = urlencode($name) . '=' . urlencode($value); - } - } - } - if ($query) { - $link_attrs['URL'] .= '?' . join('&', $query); - } + $link_attrs['URL'] = $this->getURL($attrs); + $link_attrs['DESC'] = @$attrs['DESC']; + $link_attrs['TARGET'] = @$attrs['TARGET']; parent::__construct($link_attrs); } // -X2C @@ -121,6 +104,22 @@ class BIFE_Link extends BIFE_Generic { } // -X2C + // +X2C Operation 157 + /** + * Renders the widget. + * + * @param HTML_Template_HIT &$template Template to use to render the widget. + * + * @return string + * @access public + */ + function render(&$template) // ~X2C + { + $this->attrs['CONTENTS'] = $this->renderContents($template); + return $template->parse('bife_link', $this->attrs, '', ''); + } + // -X2C + } // -X2C Class :Link ?> \ No newline at end of file diff --git a/modules/basic/BIFE/Page.php b/modules/basic/BIFE/Page.php deleted file mode 100644 index 17b3abb..0000000 --- a/modules/basic/BIFE/Page.php +++ /dev/null @@ -1,44 +0,0 @@ - | -// +--------------------------------------------------------------------+ -// -// $Id$ -// - -// +X2C includes -require_once 'BIFE/Generic.php'; -// ~X2C - -// +X2C Class 14 :Page -/** - * Page widget. - * - * @access public - */ -class BIFE_Page extends BIFE_Generic { - // ~X2C - -} // -X2C Class :Page - -?> diff --git a/modules/basic/BIFE/Title.php b/modules/basic/BIFE/Title.php deleted file mode 100644 index 12d6698..0000000 --- a/modules/basic/BIFE/Title.php +++ /dev/null @@ -1,44 +0,0 @@ - | -// +--------------------------------------------------------------------+ -// -// $Id$ -// - -// +X2C includes -require_once 'BIFE/Generic.php'; -// ~X2C - -// +X2C Class 17 :Title -/** - * Title widget. - * - * @access public - */ -class BIFE_Title extends BIFE_Generic { - // ~X2C - -} // -X2C Class :Title - -?> diff --git a/modules/basic/BIFE/Copy.php b/modules/basic/BIFE/Translate.php similarity index 61% rename from modules/basic/BIFE/Copy.php rename to modules/basic/BIFE/Translate.php index f58dec1..6a16273 100644 --- a/modules/basic/BIFE/Copy.php +++ b/modules/basic/BIFE/Translate.php @@ -19,7 +19,7 @@ // | along with Hooks; if not, write to the Free Software Foundation, | // | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | // +--------------------------------------------------------------------+ -// | Created: Wed May 21 15:55:29 2003 | +// | Created: Wed May 17 18:16:54 ART 2003 | // | Authors: Leandro Lucarella | // +--------------------------------------------------------------------+ // @@ -30,73 +30,47 @@ require_once 'BIFE/Fallback.php'; // ~X2C -// +X2C Class 76 :Copy +// +X2C Class 7 :Translate /** - * Fallback widget that copies the XML. + * This is a generic and simple (but very usefull) BIFE_Fallback implementation. Translate widgets using a template with it's name, prepended with 'bife_'. * * @access public */ -class BIFE_Copy extends BIFE_Fallback { +class BIFE_Translate extends BIFE_Fallback { // ~X2C - // +X2C Operation 79 + // +X2C Operation 12 /** - * Constructor. - * - * @param string $name Widget name. - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function BIFE_Copy($name, $attrs) // ~X2C - { - $this->__construct($name, $attrs); - } - // -X2C - - // +X2C Operation 80 - /** - * Constructor. - * - * @param string $name Widget name. - * @param array $attrs Attributes. - * - * @return void - * @access public - */ - function __construct($name, $attrs) // ~X2C - { - parent::__construct($name, $attrs); - } - // -X2C - - // +X2C Operation 82 - /** - * Renders the widget returning a string with the results. + * Renders the widget. * * @param HTML_Template_HIT &$template Template to use to render the widget. * - * @return void + * @return string * @access public */ function render(&$template) // ~X2C { - $name = $this->name; - $ret = "<$name"; - foreach ($this->attrs as $attr => $val) { - $ret .= sprintf(' %s="%s"', $attr, $val); - } - $contents = parent::render($template); - if ($contents) { - $ret .= ">$contents"; + $this->attrs['CONTENTS'] = $this->renderContents($template); + $name = "bife_{$this->name}"; + if ($template->exists($name, '')) { + $out = $template->parse($name, $this->attrs, '', ''); } else { - $ret .= "/>"; + $name = $this->name; + $out = "<$name"; + foreach ($this->attrs as $attr => $val) { + $out .= sprintf(' %s="%s"', $attr, $val); + } + $contents = $this->renderContents($template); + if ($contents !== '') { + $out .= ">$contents"; + } else { + $out .= "/>"; + } } - return $ret; + return $out; } // -X2C -} // -X2C Class :Copy +} // -X2C Class :Translate ?> \ No newline at end of file diff --git a/modules/basic/basic.xmi b/modules/basic/basic.xmi index 7b89433..556ba2e 100644 --- a/modules/basic/basic.xmi +++ b/modules/basic/basic.xmi @@ -9,41 +9,17 @@ - + - - - - - - - - - - + - - - - - - - - - - - - - - - @@ -54,57 +30,31 @@ x2c:extern" name="Fallback" static="0" scope="200" /> + + + - - - - - - - - + + + + - - - - - - - + - - + + - + - - - - - - - - - - - - - - - - - - - - + + @@ -119,27 +69,15 @@ x2c:extern" name="HIT" static="0" scope="200" /> - - - - - - - - - - - + + + + - - - - - diff --git a/modules/menu/menu.xmi b/modules/menu/menu.xmi index 5fb8ff5..1b77a22 100644 --- a/modules/menu/menu.xmi +++ b/modules/menu/menu.xmi @@ -24,8 +24,6 @@ x2c:extern" name="Widget" static="0" scope="200" /> - @@ -50,9 +48,6 @@ x2c:extern" name="HIT" static="0" scope="200" /> - - - -- 2.43.0