=======
Project
=======

.. py:module:: mhi.xml.pscad.project
	:synopsis: PSCAD Case (project or library)

.. py:currentmodule:: mhi.xml.pscad


------------
Project File
------------

Project File
============

.. autoclass:: ProjectFile

	.. autoproperty:: version
	.. autoproperty:: version_number
	.. autoproperty:: path
	.. autoproperty:: namespace

	.. automethod:: create
	.. automethod:: save
	.. automethod:: save_as

	.. autoproperty:: definition
	.. autoproperty:: substitution_set
	.. autoproperty:: layer

	.. automethod:: canvas
	.. automethod:: user_canvases
	.. automethod:: canvases_in_use

	.. automethod:: components(name, key=value, ...) -> Iterable[Component]
	.. automethod:: component(name, key=value, ...) -> Optional[Component]
	.. automethod:: named_components
	.. automethod:: find_by_id
	.. automethod:: remap

	.. autoproperty:: parameters

	Project Parameters
	==================

	.. autoclass:: mhi.xml.pscad.project::ProjectFile.Parameters()
		:members:
		:undoc-members:


--------------------
Global Substitutions
--------------------

Substitution Set Mapping
========================

.. autoclass:: mhi.xml.pscad.substitution.SubstitutionSetMapping()

	.. autoproperty:: current
	.. automethod:: create_set
	.. automethod:: create_sets


----------
Schematics
----------

Schematic
=========

.. autoclass:: Schematic

	.. autoproperty:: name
	.. autoproperty:: definition
	.. automethod:: components(name, key=value, ...) -> Iterator[Component]
	.. automethod:: component(name, key=value, ...) -> Optional[Component]
	.. automethod:: find_by_id
	.. automethod:: page_modules
	.. automethod:: add
	.. automethod:: remove
	.. automethod:: remove_components

	.. autoproperty:: parameters

Schematic Parameters
====================

	.. autoclass:: mhi.xml.pscad.schematic::Schematic.Parameters()
		:members:
		:undoc-members:


------
Layers
------

Layer Map
=========

.. autoclass:: mhi.xml.pscad.layer.LayerMapping()
	:members:

Layer
=====

.. autoclass:: mhi.xml.pscad.layer.Layer

	.. autoproperty:: name
	.. autoproperty:: state
	.. autoproperty:: enabled
	.. autoproperty:: disabled
	.. autoproperty:: ids

	.. automethod:: custom_states
	.. automethod:: add_state
	.. automethod:: remove_state
	.. automethod:: set_custom_state

	.. automethod:: components
	.. automethod:: delete_components

	.. autoproperty:: parameters

Layer Parameters
================

	.. autoclass:: mhi.xml.pscad.layer::Layer.Parameters()
		:members:
		:undoc-members:

