<!-- This is an automatically generated file. -->
<Chapter Label="Chapter_Francy_Core">
<Heading>Francy Core</Heading>
<P/>
Francy is responsible for generating JSON metadata models allowing external
tools / libraries / frameworks to add visual representations to math structures.
This JSON model representation defines the contract between this package (server)
and a GUI framework (client), enabling complete SoC (Separation of Concerns).
Francy can be used to provide graphical interactive environments on existing
GAP packages.
<P/>
A JSON schema is available and can be used to produce compliant clients for this package.
<Emph>See schema/francy.json</Emph>
<P/>
To map required and optional attributes from the schema into GAP code, the implementation follows the following criteria:
<List>
<Item>
Object creation requests mandatory attributes, i.e. required with no default value, e.g. canvas:=Canvas("Title")
</Item>
<Item>
Object creation accepts an object of defaults, i.e. default values for mandatory fields but that might repeat throughout the creation of multiple similar objects, e.g. defaults:=DefaultCanvas; defaults!.zoomToFit:=false; canvas:=Canvas("Title",defaults); Where DefaultCanvas contains defaults for width (800) and height (600)
</Item>
<Item>
Attributes associated with the object that can be set, .i.e. optional with no defaults, e.g. canvas:=Canvas("Title"); SetTexTypesetting(canvas,true);
</Item>
</List>
The API follows common GAP naming conventions and adding objects is done using Add(objectHolder,object) and removing object is done using Remove(objectHolder,object).
<P/>
Although Francy has the concept of a <C>Graph</C>, it does not implement any Mathematics Graphs Theory.
<P/>
Please see Francy-JS for client implementation.
<Section Label="Chapter_Francy_Core_Section_Categories">
<Heading>Categories</Heading>
In this section we show all Francy Core Categories.
<ManSection>
<Filt Arg="arg" Name="IsFrancyObject" Label="for IsObject"/>
<Returns><K>true</K> or <K>false</K>
</Returns>
<Description>
Identifies all <C>Objects</C> in Francy.
</Description>
</ManSection>
<ManSection>
<Filt Arg="arg" Name="IsFrancyDefaultObject" Label="for IsObject"/>
<Returns><K>true</K> or <K>false</K>
</Returns>
<Description>
Identifies all Default record objects in Francy.
</Description>
</ManSection>
<ManSection>
<Filt Arg="arg" Name="IsFrancyTypeObject" Label="for IsObject"/>
<Returns><K>true</K> or <K>false</K>
</Returns>
<Description>
Identifies all Type record objects in Francy.
</Description>
</ManSection>
In this section we show all Francy Core Attributes
<ManSection>
<Attr Arg="arg" Name="FrancyId" Label="for IsFrancyObject"/>
<Returns><C>IsString</C> with the unique identifier of the object
</Returns>
<Description>
All Objects created in Francy have a generated unique identifier.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1" Name="FrancyId" Label="for IsFrancyObject"/>
<Returns>a <C>IsString</C> with the unique id of the object
</Returns>
<Description>
Prints the object unique identifier.
</Description>
</ManSection>
<ManSection>
<Oper Arg="o, s" Name="SetFrancyId" Label="for IsFrancyObject, IsString"/>
<Description>
Use with care! Changing the unique ID might be useful in certain cases,
but bear in mind it might cause unexpected behavior. Use at your own risk.
</Description>
</ManSection>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.