14 #ifndef XFILETEMPLATE_H
15 #define XFILETEMPLATE_H
38 virtual void write_text(std::ostream &out,
int indent_level)
const;
63 static void init_type() {
64 XFileNode::init_type();
66 XFileNode::get_class_type());
69 return get_class_type();
71 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
TypeHandle is the identifier used to differentiate C++ class types.
This is an implementation of the Windows GUID object, used everywhere as a world-unique identifier fo...
A definition of a single data element appearing within a template record.
A single node of an X file.
A template definition in the X file.
void set_open(bool open)
Sets whether the template is considered "open" or not.
void add_option(XFileTemplate *option)
Adds a new type to the list of allowable types of child nodes for an instance of this template.
virtual bool matches(const XFileNode *other) const
Returns true if the node, particularly a template node, is structurally equivalent to the other node ...
virtual bool has_guid() const
Returns true if this node has a GUID associated.
int get_num_options() const
Returns the number of templates on the options list.
XFileTemplate * get_option(int n) const
Returns the nth template on the options list.
virtual bool is_template_def() const
Returns true if this node represents the definition of some template.
virtual const WindowsGuid & get_guid() const
Returns the GUID associated with this template.
virtual void write_text(std::ostream &out, int indent_level) const
Writes a suitable representation of this node to an .x file in text mode.
bool is_standard() const
Returns true if this particular template is one of the "standard" templates defined by standardTempla...
virtual void clear()
Removes all children from the node, and otherwise resets it to its initial state.
bool get_open() const
Returns whether the template is considered "open" or not.
This represents the complete contents of an X file (file.x) in memory.
This is our own Panda specialization on the default STL vector.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.