Always snap to grid

Difference between revisions of "Template:Infobox class/doc"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m (mentioned "customparent" parameters)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<noinclude>{{Documentation subpage}}</noinclude>
 
<noinclude>{{Documentation subpage}}</noinclude>
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE. -->
 
==Usage==
 
 
This template provides an info box for a class. The info box can contain relevant information like parent classes, implemented interfaces or the within class.
 
This template provides an info box for a class. The info box can contain relevant information like parent classes, implemented interfaces or the within class.
  
 +
==Usage==
 
Example:
 
Example:
 
<pre>
 
<pre>
Line 11: Line 10:
 
| within  = PlayerController
 
| within  = PlayerController
 
| game    = UT3
 
| game    = UT3
| tree    =
+
| engine  = UE3
+ [[UE3:Object (UT3)|]]
+
| parent1 = CheatManager
++ [[UE3:CheatManager (UT3)|]]
+
| parent2 = Object
+++ [[UE3:UTCheatManager (UT3)|]]
+
 
}}
 
}}
 
</pre>
 
</pre>
 +
{{Infobox class
 +
| class  = UTCheatManager
 +
| package = UTGame
 +
| within  = PlayerController
 +
| game    = UT3
 +
| engine  = UE3
 +
| parent1 = CheatManager
 +
| parent2 = Object
 +
}}
 +
If '''class''', '''game''' or '''engine''' are missing, they are derived from the current page name. (You can see this effect in the default output on the [[Template:Infobox class|template page]].) Engine and game are only used for linking pages and categories.
  
Only '''package''' is mandatory. If '''class''', '''game''' or '''engine''' are missing, they are derived from the current page name. The parameter '''engine''' is only used if no game could be derived from parameter or page name. The class in the '''within''' parameter is automatically linked, if possible. A '''tree''' should be specified for all classes (except Object, which has no parent), although Actor-derived classes need not include the Object class here. If the tree would become too deep, the first few classes can be replaced with a single "..." to signal that there are more classes further up in the tree.
+
The classes and interfaces in the '''within''', '''parent'''''x'' and '''interface'''''x'' parameters are automatically linked. The list of parent classes should always be given as complete as possible. For Actor-derived classes the list should start with the Actor class, otherwise it should start with the Object class. Up to ten parent classes can be specified, but if the list gets too long, consider cutting it off at a "well-known" class, like in the following example:
 +
<pre>
 +
{{infobox class
 +
| class      = UIComp_DrawImage
 +
| package    = Engine
 +
| within    = UIObject
 +
| interface1 = UIStyleResolver
 +
| interface2 = CustomPropertyItemHandler
 +
| game      = UT3
 +
| engine    = UE3
 +
| parent1    = UIComp_DrawComponents
 +
| parent2    = UIComponent
 +
| parent3    = Component
 +
}}
 +
</pre>
 +
{{infobox class
 +
| class      = UIComp_DrawImage
 +
| package    = Engine
 +
| within    = UIObject
 +
| interface1 = UIStyleResolver
 +
| interface2 = CustomPropertyItemHandler
 +
| game      = UT3
 +
| engine    = UE3
 +
| parent1    = UIComp_DrawComponents
 +
| parent2    = UIComponent
 +
| parent3    = Component
 +
}}
 +
Classes implementing one or more interfaces will automatically be added to relevant categories, which are also linked from the corresponding interface page if it contains an [[Template:Infobox interface|interface infobox]].
 +
 
 +
You can also specify custom parent classes via '''customparent''x''''' instead of '''parent''x''''', which will create the link based on the current page name and namespace instead of the engine and game name:
 +
<pre>
 +
{{infobox class
 +
| class = CustomClass
 +
| customparent1 = CustomParent
 +
| parent2 = Actor
 +
| parent3 = Object
 +
| engine =
 +
| custom = yes
 +
}}
 +
</pre>
 +
{{infobox class
 +
| class = CustomClass
 +
| customparent1 = CustomParent
 +
| parent2 = Actor
 +
| parent3 = Object
 +
| engine =
 +
| custom = yes
 +
}}
 +
Note how CustomParent links to the Template: namespace in this example, even though "engine=" makes the regular parent classes link to the main namespace. If the class description resides in a subpage, custom parents link to subpages of the same base page. (You can see this behavior by viewing this page, [[Template:Infobox class/doc]], directly.)
  
 
==See also==
 
==See also==
 
* [[Template:Infobox interface]]
 
* [[Template:Infobox interface]]
  
<includeonly><!--
+
<includeonly>
++++ PLEASE ADD CATEGORIES AND INTERWIKIS BELOW THIS LINE, THANK YOU. -->
+
[[Category:Infobox templates|Class]]
[[Category:Infobox templates]]
+
 
</includeonly>
 
</includeonly>

Latest revision as of 04:03, 2 April 2010

This subpage contains documentation, categories and other content that is not part of the template.
To view the template page itself, see Template:Infobox class.

This template provides an info box for a class. The info box can contain relevant information like parent classes, implemented interfaces or the within class.

Usage[edit]

Example:

{{Infobox class
| class   = UTCheatManager
| package = UTGame
| within  = PlayerController
| game    = UT3
| engine  = UE3
| parent1 = CheatManager
| parent2 = Object
}}
UT3 Object >> CheatManager >> UTCheatManager

Contents

Package: 
UTGame
Within class: 
PlayerController
This class in other games:
UT3, UDK

If class, game or engine are missing, they are derived from the current page name. (You can see this effect in the default output on the template page.) Engine and game are only used for linking pages and categories.

The classes and interfaces in the within, parentx and interfacex parameters are automatically linked. The list of parent classes should always be given as complete as possible. For Actor-derived classes the list should start with the Actor class, otherwise it should start with the Object class. Up to ten parent classes can be specified, but if the list gets too long, consider cutting it off at a "well-known" class, like in the following example:

{{infobox class
| class      = UIComp_DrawImage
| package    = Engine
| within     = UIObject
| interface1 = UIStyleResolver
| interface2 = CustomPropertyItemHandler
| game       = UT3
| engine     = UE3
| parent1    = UIComp_DrawComponents
| parent2    = UIComponent
| parent3    = Component
}}
UT3 Component >> UIComponent >> UIComp_DrawComponents >> UIComp_DrawImage
Package: 
Engine
Within class: 
UIObject
Implemented interfaces
UIStyleResolver, CustomPropertyItemHandler
Direct subclasses:
UIComp_DrawTeamColoredImage, UIComp_UTDrawStateImage
This class in other games:
UT3, UDK

Classes implementing one or more interfaces will automatically be added to relevant categories, which are also linked from the corresponding interface page if it contains an interface infobox.

You can also specify custom parent classes via customparentx instead of parentx, which will create the link based on the current page name and namespace instead of the engine and game name:

{{infobox class
| class = CustomClass
| customparent1 = CustomParent
| parent2 = Actor
| parent3 = Object
| engine =
| custom = yes
}}
Object >> Actor >> CustomParent >> CustomClass (custom)

Note how CustomParent links to the Template: namespace in this example, even though "engine=" makes the regular parent classes link to the main namespace. If the class description resides in a subpage, custom parents link to subpages of the same base page. (You can see this behavior by viewing this page, Template:Infobox class/doc, directly.)

See also[edit]