| << [[moving_copying|Moving and copying]]  |  **[[geda:gschem_ug|gEDA gschem User Guide]]**  |  [[pins_nets_buses|Pins, nets and buses]] >> |

===== Components =====

A //component// in a schematic is an instance of a symbol from a //symbol library//.  They can represent subcircuits to be included in the design, or discrete parts or devices to be used.

To add a component to a schematic page, press <key>i</key> or select **Add→Component...** to bring up the "Select Component..." window.  The window has three main areas:

  * The //library area// is on the left side of the window, and allows you to choose a symbol to place on the schematic page.
  * The //preview area// is on the right side of the window.  This shows a picture of the chosen symbol, and its [[attributes]].
  * The //insertion mode menu// at the bottom of the window controls how components are inserted.

<note important>
Components should only be added to schematics, and not to symbols.
</note>

==== Selecting a component you have already used ====

By switching to the **In Use** tab of the component selector, you can view a list of the symbols that have already been used in the schematic.  To select a symbol from the list, left-click on it.

If the list needs to be updated, click the **Refresh** button at the bottom of the "In Use" page.

==== Selecting a component from a symbol library ====

<note tip>See [[config|Configuring gschem]] for information on controlling which symbol libraries appear in the component selector.</note>

To select a symbol from a symbol library, switch to the **Libraries** tab of the component selector.  This shows a list of available libraries.  To view the symbols in a library, double-click on the library's name, or left-click the arrow next to it.  To select a symbol from the list, left-click on it.

Alternatively, you can search all available symbols by typing into the **Filter** box at the bottom of the **Libraries** page.

The list of libraries and symbols may need to be updated (for example, if you modified a symbol library while gschem was running).  To update it, click the **Refresh** button at the bottom of the **Libraries** page.

==== Placing a component ====

When you have selected a component, left-click in the schematic view area of the [[main_window|main window]] to add it to the page.  You can continue to click to place copies of the same component, or right-click to finish placing.

To hide the "Select Component..." window while you place components, click **OK**.  When you right-click to finish placing components, the window will re-appear.

==== Symbol insertion modes and embedding ====

There are three ways that gschem can insert a symbol into a schematic:

  - As a component linked to a symbol in the symbol library (**Default behavior - reference component**).  This is the default method, which ensures that when you update a library symbol, all the places it was used are updated too.
  - As a component with the symbol data copied into the schematic (**Embed component in schematic**).  If you //embed// the symbol, it is easier to share your schematic with other users without having to set up the same symbol libraries.
  - As individual objects obtained by breaking the symbol apart (**Include component as individual objects**).

You can make a linked component embedded by selecting it and using **Edit→Embed Component/Picture**.  To make an embedded component linked, use **Edit→Unembed Component/Picture**.

<note>If an embedded component cannot be matched up with a symbol from the available symbol libraries, **Edit→Unembed Component/Picture** will not modify it.</note>

If you wish to update an embedded component after making changes to the original symbol file in the library, use **Edit→Update Component**.

==== Editing symbols ====

To edit a component's symbol file, select the component and use **Hierarchy→Down Symbol**.  gschem will open and display the symbol page for editing.  When you are finished editing, save the file and use **Hierarchy→Up** to return to the schematic.  You may need to use **Edit→Update Component** for your changes to be reflected in the schematic view.

==== Missing symbols ====

If, when [[schematic_pages|loading a schematic]], one of the symbols it needs cannot be found in the available symbol libraries, a warning graphic will be displayed in its place.

==== Viewing component documentation ====

<note tip>When designing symbols, specify the location of component documentation using a [[geda:master_attributes_list#documentation|documentation attribute]].  See also [[Attributes]].</note>

A component may have a datasheet or other documentation associated with it.  To view a component's documentation, [[selecting|select it]] and use **Help→Component Documentation**.
