<?php
namespace dokuwiki\Menu\Item;
/**
* Class AbstractItem
*
* This class defines a single Item to be displayed in one of DokuWiki's menus. Plugins
* can extend those menus through action plugins and add their own instances of this class,
* overwriting some of its properties.
*
* Items may be shown multiple times in different contexts. Eg. for the default template
* all menus are shown in a Dropdown list on mobile, but are split into several places on
* desktop. The item's $context property can be used to hide the item depending on the current
* context.
*
* Children usually just need to overwrite the different properties, but for complex things
* the accessors may be overwritten instead.
*/
abstract class AbstractItem {
/** menu item is to be shown on desktop screens only */
const CTX_DESKTOP = 1;
/** menu item is to be shown on mobile screens only */
const CTX_MOBILE = 2;
/** menu item is to be shown in all contexts */
const CTX_ALL = 3;
/** @var string name of the action, usually the lowercase class name */
protected $type = '';
/** @var string optional keyboard shortcut */
protected $accesskey = '';
/** @var string the page id this action links to */
protected $id = '';
/** @var string the method to be used when this action is used in a form */
protected $method = 'get';
/** @var array parameters for the action (should contain the do parameter) */
protected $params = array();
/** @var bool when true, a rel=nofollow should be used */
protected $nofollow = true;
/** @var string this item's label may contain a placeholder, which is replaced with this */
protected $replacement = '';
/** @var string the full path to the SVG icon of this menu item */
protected $svg = DOKU_INC . 'lib/images/menu/00-default_checkbox-blank-circle-outline.svg';
/** @var string can be set to overwrite the default lookup in $lang.btn_* */
protected $label = '';
/** @var string the tooltip title, defaults to $label */
protected $title = '';
/** @var int the context this titme is shown in */
protected $context = self::CTX_ALL;
/**
* AbstractItem constructor.
*
* Sets the dynamic properties
*
* Children should always call the parent constructor!
*
* @throws \RuntimeException when the action is disabled
*/
public function __construct() {
global $ID;
$this->id = $ID;
$this->type = $this->getType();
$this->params['do'] = $this->type;
if(!actionOK($this->type)) throw new \RuntimeException("action disabled: {$this->type}");
}
/**
* Return this item's label
*
* When the label property was set, it is simply returned. Otherwise, the action's type
* is used to look up the translation in the main language file and, if used, the replacement
* is applied.
*
* @return string
*/
public function getLabel() {
if($this->label !== '') return $this->label;
/** @var array $lang */
global $lang;
$label = $lang['btn_' . $this->type];
if(strpos($label, '%s')) {
$label = sprintf($label, $this->replacement);
}
if($label === '') $label = '[' . $this->type . ']';
return $label;
}
/**
* Return this item's title
*
* This title should be used to display a tooltip (using the HTML title attribute). If
* a title property was not explicitly set, the label will be returned.
*
* @return string
*/
public function getTitle() {
if($this->title === '') return $this->getLabel();
return $this->title;
}
/**
* Return the link this item links to
*
* Basically runs wl() on $id and $params. However if the ID is a hash it is used directly
* as the link
*
* Please note that the generated URL is *not* XML escaped.
*
* @see wl()
* @return string
*/
public function getLink() {
if($this->id[0] == '#') {
return $this->id;
} else {
return wl($this->id, $this->params, false, '&');
}
}
/**
* Convenience method to get the attributes for constructing an <a> element
*
* @see buildAttributes()
* @param string|false $classprefix create a class from type with this prefix, false for no class
* @return array
*/
public function getLinkAttributes($classprefix = 'menuitem ') {
$attr = array(
'href' => $this->getLink(),
'title' => $this->getTitle(),
);
if($this->isNofollow()) $attr['rel'] = 'nofollow';
if($this->getAccesskey()) {
$attr['accesskey'] = $this->getAccesskey();
$attr['title'] .= ' [' . $this->getAccesskey() . ']';
}
if($classprefix !== false) $attr['class'] = $classprefix . $this->getType();
return $attr;
}
/**
* Convenience method to create a full <a> element
*
* Wraps around the label and SVG image
*
* @param string|false $classprefix create a class from type with this prefix, false for no class
* @param bool $svg add SVG icon to the link
* @return string
*/
public function asHtmlLink($classprefix = 'menuitem ', $svg = true) {
$attr = buildAttributes($this->getLinkAttributes($classprefix));
$html = "<a $attr>";
if($svg) {
$html .= '<span>' . hsc($this->getLabel()) . '</span>';
$html .= inlineSVG($this->getSvg());
} else {
$html .= hsc($this->getLabel());
}
$html .= "</a>";
return $html;
}
/**
* Convenience method to create a <button> element inside it's own form element
*
* Uses html_btn()
*
* @return string
*/
public function asHtmlButton() {
return html_btn(
$this->getType(),
$this->id,
$this->getAccesskey(),
$this->getParams(),
$this->method,
$this->getTitle(),
$this->getLabel(),
$this->getSvg()
);
}
/**
* Should this item be shown in the given context
*
* @param int $ctx the current context
* @return bool
*/
public function visibleInContext($ctx) {
return (bool) ($ctx & $this->context);
}
/**
* @return string the name of this item
*/
public function getType() {
if($this->type === '') {
$this->type = strtolower(substr(strrchr(get_class($this), '\\'), 1));
}
return $this->type;
}
/**
* @return string
*/
public function getAccesskey() {
return $this->accesskey;
}
/**
* @return array
*/
public function getParams() {
return $this->params;
}
/**
* @return bool
*format 70
"ranger" // ranger
revision 23
modified_by 2 "hut"
// class settings
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
//use case diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
//sequence diagram settings
show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
//collaboration diagram settings
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
//object diagram settings
write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
//component diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
//deployment diagram settings
package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
//state diagram settings
package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
show_activities default region_horizontally default drawing_language default show_stereotype_properties default
//activity diagram settings
package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
show_infonote default drawing_language default show_stereotype_properties default
classview 128002 "Classes"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
//collaboration diagram settings
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
//object diagram settings
write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
//sequence diagram settings
show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
//state diagram settings
package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
show_activities default region_horizontally default drawing_language default show_stereotype_properties default
//class settings
//activity diagram settings
package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
show_infonote default drawing_language default show_stereotype_properties default
classdiagram 134530 "Overview"
draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
size A4
end
sequencediagram 141058 "Basic Logic"
show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
overlapping_bars size A4
end
classdiagram 128002 "Displayable Hierarchy"
draw_all_relations no hide_attributes yes hide_operations yes hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
class_color yellow
size A4
end
class 128002 "Displayable"
abstract visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 136322 // <aggregation>
relation_ref 135938 // <aggregation>
end
operation 134530 "draw"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 134658 "press"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 134786 "click"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 134914 "destroy"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 135042 "resize"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
classrelation 143234 // <generalisation>
relation 142850 ---|>
a public
python "${type}"
classrelation_ref 143234 // <generalisation>
b parent class_ref 142210 // EnvironmentAware
end
classrelation 143362 // <generalisation>
relation 142978 ---|>
a public
python "${type}"
classrelation_ref 143362 // <generalisation>
b parent class_ref 141954 // FileManagerAware
end
classrelation 150018 // <generalisation>
relation 149634 ---|>
a public
python "${type}"
classrelation_ref 150018 // <generalisation>
b parent class_ref 142082 // SettingsAware
end
classrelation 170882 // <association>
relation 169986 ----
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 170882 // <association>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171010 // <association>
end
classrelation 171778 // <association>
relation_ref 170370 // <association>
end
operation 149378 "finalize"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 149506 "color"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 149634 "contains_point"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 128130 "UI"
abstract visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 128258 // <generalisation>
relation 128258 ---|>
a public
python "${type}"
classrelation_ref 128258 // <generalisation>
b parent class_ref 128386 // DisplayableContainer
end
operation 148482 "handle_mouse"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 148610 "handle_key"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 148738 "get_next_key"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 148866 "setup"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 148994 "setup"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 149122 "redraw"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 149250 "update_size"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 171138 "initialize"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
classrelation 201090 // <aggregation>
relation 198658 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 201090 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 201218 // <aggregation>
end
end
class 128258 "DefaultUI"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 128002 // <generalisation>
relation 128002 ---|>
a public
python "${type}"
classrelation_ref 128002 // <generalisation>
b parent class_ref 128130 // UI
end
classrelation 171906 // <association>
relation 170498 ----
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171906 // <association>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 172034 // <association>
end
operation 171266 "open_console"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 171394 "scroll"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 128386 "DisplayableContainer"
abstract visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 128386 // <generalisation>
relation 128386 ---|>
a public
python "${type}"
classrelation_ref 128386 // <generalisation>
b parent class_ref 128002 // Displayable
end
classrelation 136194 // <aggregation>
relation 135938 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 136194 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 136322 // <aggregation>
end
operation 149762 "get_focused_obj"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 149890 "add_obj"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 135042 "TitleBar"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 172674 // <generalisation>
relation 171010 ---|>
a public
python "${type}"
classrelation_ref 172674 // <generalisation>
b parent class_ref 156034 // Widget
end
end
class 135170 "BrowserColumn"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 136066 // <aggregation>
relation_ref 135810 // <aggregation>
end
classrelation 193410 // <generalisation>
relation 191362 ---|>
a public
python "${type}"
classrelation_ref 193410 // <generalisation>
b parent class_ref 175746 // Pager
end
end
class 135298 "BrowserView"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 135554 // <generalisation>
relation 135554 ---|>
a public
python "${type}"
classrelation_ref 135554 // <generalisation>
b parent class_ref 128386 // DisplayableContainer
end
classrelation 135938 // <aggregation>
relation 135810 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 135938 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 136066 // <aggregation>
end
classrelation 172930 // <generalisation>
relation 171266 ---|>
a public
python "${type}"
classrelation_ref 172930 // <generalisation>
b parent class_ref 156034 // Widget
end
classrelation 200834 // <aggregation>
relation 198530 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 200834 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 200962 // <aggregation>
end
end
class 135426 "Console"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 172162 // <association>
relation 170626 ----
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 172162 // <association>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 172290 // <association>
end
classrelation 172546 // <generalisation>
relation 170882 ---|>
a public
python "${type}"
classrelation_ref 172546 // <generalisation>
b parent class_ref 156034 // Widget
end
operation 163202 "open"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 163330 "close"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 163458 "clear"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 163586 "move"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 163714 "type_key"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 163842 "execute"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 141954 "FileManagerAware"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
end
class 142082 "SettingsAware"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
end
class 142210 "EnvironmentAware"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
end
class 148738 "Action"
abstract visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
end
class 148866 "Command"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 163714 // <aggregation>
relation_ref 162946 // <aggregation>
end
classrelation 170498 // <unidirectional association>
relation 169730 --->
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 170498 // <unidirectional association>
b parent class_ref 148738 // Action
end
operation 164226 "execute"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 148994 "CommandList"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 163586 // <aggregation>
relation 162946 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 163586 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 163714 // <aggregation>
end
classrelation 172034 // <association>
relation_ref 170498 // <association>
end
classrelation 172290 // <association>
relation_ref 170626 // <association>
end
operation 164354 "rebuild_paths"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 164482 "bind"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 149122 "Environment"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 171394 // <aggregation>
relation 170242 o---
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171394 // <aggregation>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171522 // <aggregation>
end
classrelation 171650 // <association>
relation 170370 ----
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171650 // <association>
b role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 171778 // <association>
end
operation 171522 "garbage_collect"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 171650 "enter_dir"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 149378 "FM"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 156546 // <generalisation>
relation 156162 ---|>
a public
python "${type}"
classrelation_ref 156546 // <generalisation>
b parent class_ref 148738 // Action
end
classrelation 179714 // <unidirectional association>
relation 177922 --->
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 179714 // <unidirectional association>
b parent class_ref 149122 // Environment
end
classrelation 179842 // <unidirectional association>
relation 178050 --->
a role_name "" private
python "${comment}${self}${name} = ${value}
"
classrelation_ref 179842 // <unidirectional association>
b parent class_ref 128258 // DefaultUI
end
operation 141826 "initialize"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 141954 "loop"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 155906 "FileSystemObject"
abstract visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 171522 // <aggregation>
relation_ref 170242 // <aggregation>
end
classrelation 186754 // <association>
relation_ref 184706 // <association>
end
operation 163970 "load"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
operation 164098 "go"
public explicit_return_type ""
nparams 0
python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
end
end
class 156034 "Widget"
abstract visibility package
cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
php_decl "${comment}${visibility}interface ${name} {
${members}}
"
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
explicit_switch_type ""
classrelation 172418 // <generalisation>
relation 170754 ---|>
a public
python "${type}"
classrelation_ref 172418 // <generalisation>
b parent class_ref 128002 // Displayable
end
classrelation 201218 // <aggregation>
relation_ref 198658 // <aggregation>
end
end
classinstance 134530 "cl"
type class_ref 148994 // CommandList
attributes
end
relations
end
end
classinstance 134658 "console_cl"
type class_ref 148994 // CommandList
attributes
end
relations
end
end
class 169218 "Main"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
end
class 175746 "Pager"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 193282 // <generalisation>
relation 191234 ---|>
a public
python "${type}"
classrelation_ref 193282 // <generalisation>
b parent class_ref 156034 // Widget
end
classrelation 200962 // <aggregation>
relation_ref 198530 // <aggregation>
end
end
class 175874 "StatusBar"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 193538 // <generalisation>
relation 191490 ---|>
a public
python "${type}"
classrelation_ref 193538 // <generalisation>
b parent class_ref 156034 // Widget
end
end
class 176130 "TaskView"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
idl_decl ""
explicit_switch_type ""
classrelation 193794 // <generalisation>
relation 191746 ---|>
a public
python "${type}"
classrelation_ref 193794 // <generalisation>
b parent class_ref 156034 // Widget
end
end
end
end