#include #include #include #include "robodoc.h" #include "items.h" /****v* ROBODoc/item_names [3.0g] * NAME * item_names * SYNOPSIS * char *item_names[] * FUNCTION * Defines the names of items that ROBODoc recognized as * items. For each name their is a corresponding * item type (see ItemType). So if you add a name here * you have to add an item type to. In addition you * have to add an item attribute (see item_attributes) * entry too. * AUTHOR * Koessi * SEE ALSO * RB_Get_Item_Type(), item_attributes, item_attr_names, * SOURCE */ char *item_names[] = { NULL, "NAME", /* Item name + short description */ "COPYRIGHT", /* who own the copyright : "(c) - by " */ "SYNOPSIS", "USAGE", /* how to use it */ "FUNCTION", "DESCRIPTION", "PURPOSE", /* what does it */ "AUTHOR", /* who wrote it */ "CREATION DATE", /* when did the work start */ "MODIFICATION HISTORY", "HISTORY", /* who done what changes when */ "INPUTS", "ARGUMENTS", "OPTIONS", "PARAMETERS", "SWITCHES", /* what can we feed into it */ "OUTPUT", "SIDE EFFECTS", /* what output will be made */ "RESULT", "RETURN VALUE", /* what do we get returned */ "EXAMPLE", /* a clear example of the items use */ "NOTES", /* any annotations */ "DIAGNOSTICS", /* diagnostical output */ "WARNINGS", "ERRORS", /* warning & error-messages */ "BUGS", /* known bugs */ "TODO", "IDEAS", /* what to implement next & ideas */ "PORTABILITY", /* where does it come from, where will it work */ "SEE ALSO", /* references */ "SOURCE", /* source code inclusion */ "METHODS", "NEW METHODS", /* oop methods */ "ATTRIBUTES", "NEW ATTRIBUTES", /* oop attributes */ "TAGS", /* tagitem description */ "COMMANDS", /* command description */ "DERIVED FROM", /* oop super class */ "DERIVED BY", /* oop sub class */ "USES", "CHILDREN", /* what modules are used by this one */ "USED BY", "PARENTS", /* which modules do use this */ NULL, }; /***********/ /****v* ROBODoc/item_attributes [3.0h] * NAME * item_attributes -- attributes of the various items * FUNCTION * links each item type with a text attribute. * SEE ALSO * RB_Get_Item_Type(), item_names, item_attr_names * SOURCE */ long item_attributes[NUMBER_OF_ITEMS] = { 0, /* NO_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* NAME_ITEM */ ITEM_NAME_LARGE_FONT, /* COPYRIGHT_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* SYNOPSIS_ITEM */ ITEM_NAME_LARGE_FONT, /* USAGE_ITEM */ ITEM_NAME_LARGE_FONT, /* FUNCTION_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_DEFAULT, /* DESCRIPTION_ITEM */ ITEM_NAME_LARGE_FONT, /* PURPOSE_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_BOLD, /* AUTHOR_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_BOLD, /* CREATION_DATE_ITEM */ ITEM_NAME_LARGE_FONT, /* MODIFICATION_HISTORY_ITEM */ ITEM_NAME_LARGE_FONT, /* HISTORY_ITEM */ ITEM_NAME_LARGE_FONT, /* INPUT_ITEM */ ITEM_NAME_LARGE_FONT, /* ARGUMENT_ITEM */ ITEM_NAME_LARGE_FONT, /* OPTION_ITEM */ ITEM_NAME_LARGE_FONT, /* PARAMETER_ITEM */ ITEM_NAME_LARGE_FONT, /* SWITCH_ITEM */ ITEM_NAME_LARGE_FONT, /* OUTPUT_ITEM */ ITEM_NAME_LARGE_FONT, /* SIDE_EFFECTS_ITEM */ ITEM_NAME_LARGE_FONT, /* RESULT_ITEM */ ITEM_NAME_LARGE_FONT, /* RETURN_VALUE_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* EXAMPLE_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_DEFAULT, /* NOTE_ITEM */ ITEM_NAME_LARGE_FONT, /* DIAGNOSTICS_ITEM */ ITEM_NAME_LARGE_FONT, /* WARNING_ITEM */ ITEM_NAME_LARGE_FONT, /* ERROR_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* BUGS_ITEM */ ITEM_NAME_LARGE_FONT, /* TODO_ITEM */ ITEM_NAME_LARGE_FONT, /* IDEAS_ITEM */ ITEM_NAME_LARGE_FONT, /* PORTABILITY_ITEM */ ITEM_NAME_LARGE_FONT, /* SEE_ALSO_ITEM */ ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* SOURCE_ITEM */ ITEM_NAME_LARGE_FONT, /* METHODS_ITEM */ ITEM_NAME_LARGE_FONT, /* NEW_METHODS_ITEM */ ITEM_NAME_LARGE_FONT, /* ATTRIBUTES_ITEM */ ITEM_NAME_LARGE_FONT, /* NEW_ATTRIBUTES_ITEM */ ITEM_NAME_LARGE_FONT, /* TAGS_ITEM */ ITEM_NAME_LARGE_FONT, /* COMMANDS_ITEM */ ITEM_NAME_LARGE_FONT, /* DERIVED_FROM_ITEM */ ITEM_NAME_LARGE_FONT, /* DERIVED_BY_ITEM */ ITEM_NAME_LARGE_FONT, /* USES_ITEM */ ITEM_NAME_LARGE_FONT, /* CHILDREN */ ITEM_NAME_LARGE_FONT, /* USED_BY_ITEM */ ITEM_NAME_LARGE_FONT, /* PARENTS */ 0 /* OTHER_ITEM */ }; /**********/ /****v* ROBODoc/item_attr_names [3.0j] * NAME * item_attr_names * SYNOPSIS * char *item_attr_names[] * FUNCTION * used for strcmp() in RB_Get_Item_Attr() * AUTHOR * Koessi * SEE ALSO * RB_Get_Item_Attr(), item_attributes, item_names * SOURCE */ char *item_attr_names[] = { /* "NORMAL", */ "LARGE", "ITALICS", "NONPROP", "SMALL", "BOLD", "UNDERLINE", "SHINE", "HIGHLIGHT", "DEFAULT", }; /*************/ /* ASCII AMIGAGUIDE HTML LATEX RTF */ char *att_start_command[SIZE_ATTRIBUTES][SIZE_MODES] = { {"", "@{b}", "", "{\\large ", "\\par\\fs28 "}, /* Large Font */ {"", "@{i}", "", "{\\it ", "\\i1 "}, /* Italics. */ {"", "", "", "", ""}, /* NON-Proportional font. */ {"", "", "", "{\\small ", "\\fs16 "}, /* Small Font. */ {"", "@{b}", "", "{\\bf ", "\\b1 "}, /* Bold. */ {"", "@{u}", "", "\\underline{", "\\ul1 "}, /* Underline */ {"", "@{fg shine}", "", "{\\em ", ""},/* Shine */ {"", "@{fg highlight}", "", "{\\em ", ""}, /* Highlight */ {"", "", "", "", ""} /* Default */ }; char *att_stop_command[SIZE_ATTRIBUTES][SIZE_MODES] = { {"", "@{ub}", "", "}", "\\fs20\\line "}, /* Large Font */ {"", "@{ui}", "", "}", "\\i0 "}, /* Italics. */ {"", "", "", "", ""}, /* NON-Proportional font. */ {"", "", "", "}", "\\fs20 "}, /* Small Font. */ {"", "@{ub}", "", "}", "\\b0 "}, /* Bold. */ {"", "@{uu}", "", "}", "\\ul0 "}, /* Underline */ {"", "@{fg text}", "", "}", ""}, /* Shine */ {"", "@{fg text}", "", "}", ""}, /* Highlight */ {"", "", "", "", ""} /* Normal */ }; /****f* ROBODoc/RB_Get_Item_Type [3.0b] * NAME * RB_Get_Item_Type -- shortcut * SYNOPSIS * int RB_Get_Item_Type( char *cmp_name ) * FUNCTION * return the item_type represented by the given string * INPUTS * char *cmp_name -- item_name to evaluate * RESULT * int -- the right item_type or NO_ITEM * NOTES * uses global char *item_names[] * AUTHOR * Koessi * SEE ALSO * RB_Analyse_Defaults_File(), RB_Get_Item_Attr() * SOURCE */ int RB_Get_Item_Type (char *cmp_name) { int item_type; for (item_type = NAME_ITEM; item_type < OTHER_ITEM; ++item_type) { if (!strncmp (item_names[item_type], cmp_name, strlen (item_names[item_type]))) return (item_type); } return (NO_ITEM); } /*** RB_Get_Item_Type ***/ /****f* ROBODoc/RB_Get_Item_Attr [3.0b] * * NAME * RB_Get_Item_Attr -- shortcut * SYNOPSIS * int RB_Get_Item_Attr( char *cmp_name ) * FUNCTION * return the item_attr represented by the given string * INPUTS * char *cmp_name -- item_attr_name to evaluate * RESULT * int -- the right item_attr or NULL * NOTES * uses global char *item_attr_names[] * AUTHOR * Koessi * SEE ALSO * RB_Analyse_Defaults_File(), RB_Get_Item_Type() * SOURCE */ int RB_Get_Item_Attr (char *cmp_name) { int item_attr; for (item_attr = MAKE_LARGE; item_attr < SIZE_ATTRIBUTES; ++item_attr) if (!strcmp (item_attr_names[item_attr], cmp_name)) return (item_attr); if (strcmp ("NORMAL", cmp_name)) { fprintf (stderr, "%s: Warning unknown attribute [%s] in defaults file.\n", whoami, cmp_name); } return (MAKE_NORMAL); } /************/