Next: , Up: Core API Reference


2.1 Core page functions

To use the functions described in this section, you will need to load the (geda page) module.

See Pages.

— Function: page? obj

Returns ‘#t’ if and only if obj is a page.

— Function: active-pages

Returns a list of all open pages.

2.1.1 Page creation, disposal and filenames

Every page is associated with a filename. The filename does not necessarily have to be a file which exists and/or is accessible in the filesystem.

— Function: make-page filename

Creates and returns a new, empty page, with the given string filename.

— Function: close-page! page

Destroys page. The returned value is undefined.

Warning: This function closes and destroys page immediately, regardless of whether the page has been modified since loading or saving, and without asking the user.

— Function: page-filename page

Returns the filename associated with page as a string.

— Function: set-page-filename! page filename

Sets the filename of page to filename. Returns page.

2.1.2 Page serialisation

Pages can be converted to and from strings in the gEDA schematic file format.

— Function: string->page filename string

Parses string, which should be in the gEDA file format, to create a new page. The initial filename for the new page is filename.

Warning: Due to missing functionality in the underlying C library, this string->page cannot currently report invalid syntax or other problems in the string passed.

— Function: page->string page

Returns a string representation of page in the gEDA file format.

2.1.3 Page contents

A schematic or symbol page is composed of a set of objects which determine both its graphical appearance and its electrical meaning.

— Function: page-contents page

Returns a list of the objects which make up page. The list can be freely modified without changing the contents of page.

— Function: page-append! page objects...

Appends zero or more objects to the contents of page in the order given. Returns page.

If any of the objects is already part of a page other than page, or is part of a component object, raises an object-state error. Any of the objects that are already in the page are ignored.

— Function: page-remove! page objects...

Removes zero or more objects from the contents of page. Returns page.

Any objects that are not part of a page or component object are ignored.

An ‘object-state’ error will be thrown if any of the objects satisfies any of the following conditions:

— Function: object-page object

Returns the page which contains object (either directly or indirectly), or ‘#f’ if object is not part of a page.

Note: If the object argument to object-page is part of a component object which is itself part of a page, that page will be returned.

2.1.4 Page dirty flags

A page has a dirty flag that is used to indicate to applications that the page has been modified since it was last loaded or saved.

— Function: page-dirty? page

Returns ‘#t’ if the page's page has been marked as dirty; otherwise, returns ‘#f’.

— Function: set-page-dirty! page [state]

Sets the dirty flag for page. If state is ‘#f’, clears the dirty flag; otherwise, or if state is omitted, marks the page as dirty. Returns page.