\contentsline {chapter}{\numberline {1}\leavevmode {\color {Chapter }Introduction and Overview}}{6}{chapter.1}
\contentsline {section}{\numberline {1.1}\leavevmode {\color {Chapter }Introduction}}{6}{section.1.1}
\contentsline {section}{\numberline {1.2}\leavevmode {\color {Chapter }Overview}}{7}{section.1.2}
\contentsline {subsection}{\numberline {1.2.1}\leavevmode {\color {Chapter }The \texttt {ncurses} interface}}{7}{subsection.1.2.1}
\contentsline {subsection}{\numberline {1.2.2}\leavevmode {\color {Chapter }Applications of \texttt {ncurses}}}{7}{subsection.1.2.2}
\contentsline {subsection}{\numberline {1.2.3}\leavevmode {\color {Chapter }The interface to browse two-dimensional arrays}}{7}{subsection.1.2.3}
\contentsline {subsection}{\numberline {1.2.4}\leavevmode {\color {Chapter }Applications of the generic function \texttt {NCurses.BrowseGeneric}}}{7}{subsection.1.2.4}
\contentsline {chapter}{\numberline {2}\leavevmode {\color {Chapter }Interface to the \texttt {ncurses} Library}}{8}{chapter.2}
\contentsline {section}{\numberline {2.1}\leavevmode {\color {Chapter }The \texttt {ncurses} Library}}{8}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}\leavevmode {\color {Chapter }Setting the terminal}}{8}{subsection.2.1.1}
\contentsline {subsection}{\numberline {2.1.2}\leavevmode {\color {Chapter }Manipulating windows}}{9}{subsection.2.1.2}
\contentsline {subsection}{\numberline {2.1.3}\leavevmode {\color {Chapter }Manipulating panels}}{10}{subsection.2.1.3}
\contentsline {subsection}{\numberline {2.1.4}\leavevmode {\color {Chapter }Getting keyboard input}}{11}{subsection.2.1.4}
\contentsline {subsection}{\numberline {2.1.5}\leavevmode {\color {Chapter }Writing to windows}}{11}{subsection.2.1.5}
\contentsline {subsection}{\numberline {2.1.6}\leavevmode {\color {Chapter }Line drawing characters}}{12}{subsection.2.1.6}
\contentsline {subsection}{\numberline {2.1.7}\leavevmode {\color {Chapter }Text attributes and colors}}{13}{subsection.2.1.7}
\contentsline {subsection}{\numberline {2.1.8}\leavevmode {\color {Chapter }Low level \texttt {ncurses} mouse support}}{14}{subsection.2.1.8}
\contentsline {subsection}{\numberline {2.1.9}\leavevmode {\color {Chapter }Miscellaneous function}}{14}{subsection.2.1.9}
\contentsline {section}{\numberline {2.2}\leavevmode {\color {Chapter }The \texttt {ncurses} \textsf {GAP} functions}}{15}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}\leavevmode {\color {Chapter }NCurses.ColorAttr}}{15}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}\leavevmode {\color {Chapter }NCurses.SetTerm}}{16}{subsection.2.2.2}
\contentsline {subsection}{\numberline {2.2.3}\leavevmode {\color {Chapter }NCurses.IsAttributeLine}}{16}{subsection.2.2.3}
\contentsline {subsection}{\numberline {2.2.4}\leavevmode {\color {Chapter }NCurses.ConcatenationAttributeLines}}{17}{subsection.2.2.4}
\contentsline {subsection}{\numberline {2.2.5}\leavevmode {\color {Chapter }NCurses.RepeatedAttributeLine}}{17}{subsection.2.2.5}
\contentsline {subsection}{\numberline {2.2.6}\leavevmode {\color {Chapter }NCurses.PutLine}}{17}{subsection.2.2.6}
\contentsline {subsection}{\numberline {2.2.7}\leavevmode {\color {Chapter }NCurses.WidthAttributeLine}}{18}{subsection.2.2.7}
\contentsline {subsection}{\numberline {2.2.8}\leavevmode {\color {Chapter }NCurses.Grid}}{18}{subsection.2.2.8}
\contentsline {subsection}{\numberline {2.2.9}\leavevmode {\color {Chapter }NCurses.WBorder}}{18}{subsection.2.2.9}
\contentsline {subsection}{\numberline {2.2.10}\leavevmode {\color {Chapter }Mouse support in \texttt {ncurses} applications}}{18}{subsection.2.2.10}
\contentsline {subsection}{\numberline {2.2.11}\leavevmode {\color {Chapter }NCurses.SaveWin}}{19}{subsection.2.2.11}
\contentsline {chapter}{\numberline {3}\leavevmode {\color {Chapter }Utilities using \texttt {ncurses}}}{20}{chapter.3}
\contentsline {section}{\numberline {3.1}\leavevmode {\color {Chapter }\texttt {ncurses} utilities}}{20}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}\leavevmode {\color {Chapter }NCurses.Alert}}{20}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}\leavevmode {\color {Chapter }NCurses.Select}}{21}{subsection.3.1.2}
\contentsline {subsection}{\numberline {3.1.3}\leavevmode {\color {Chapter }NCurses.GetLineFromUser}}{22}{subsection.3.1.3}
\contentsline {subsection}{\numberline {3.1.4}\leavevmode {\color {Chapter }NCurses.Pager}}{22}{subsection.3.1.4}
\contentsline {subsection}{\numberline {3.1.5}\leavevmode {\color {Chapter }Selection of help matches}}{23}{subsection.3.1.5}
\contentsline {section}{\numberline {3.2}\leavevmode {\color {Chapter }A Demo Function}}{23}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}\leavevmode {\color {Chapter }NCurses.Demo}}{23}{subsection.3.2.1}
\contentsline {chapter}{\numberline {4}\leavevmode {\color {Chapter }Browsing Tables in \textsf {GAP} using \texttt {ncurses} {\textendash }The User Interface}}{24}{chapter.4}
\contentsline {section}{\numberline {4.1}\leavevmode {\color {Chapter }Features Supported by the Function \texttt {NCurses.BrowseGeneric} }}{25}{section.4.1}
\contentsline {section}{\numberline {4.2}\leavevmode {\color {Chapter }Data Structures used by \texttt {NCurses.BrowseGeneric}}}{27}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}\leavevmode {\color {Chapter }BrowseData.IsBrowseTableCellData}}{27}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}\leavevmode {\color {Chapter }BrowseData.BlockEntry}}{27}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}\leavevmode {\color {Chapter }BrowseData.IsBrowseTable}}{28}{subsection.4.2.3}
\contentsline {section}{\numberline {4.3}\leavevmode {\color {Chapter }The Function \texttt {NCurses.BrowseGeneric}}}{31}{section.4.3}
\contentsline {subsection}{\numberline {4.3.1}\leavevmode {\color {Chapter }NCurses.BrowseGeneric}}{31}{subsection.4.3.1}
\contentsline {chapter}{\numberline {5}\leavevmode {\color {Chapter }Browsing Tables in \textsf {GAP} using \texttt {ncurses} {\textendash }The Programming Interface}}{32}{chapter.5}
\contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter }Navigation Steps in Browse Tables}}{32}{section.5.1}
\contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter }Modes in Browse Tables}}{33}{section.5.2}
\contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter }Browse Applications}}{34}{section.5.3}
\contentsline {section}{\numberline {5.4}\leavevmode {\color {Chapter }Predefined Browse Functionalities}}{35}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color {Chapter }BrowseData}}{35}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color {Chapter }BrowseData.SetReplay}}{40}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color {Chapter }BrowseData.AlertWithReplay}}{40}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color {Chapter }BrowseData.actions.ShowHelp}}{41}{subsection.5.4.4}
\contentsline {subsection}{\numberline {5.4.5}\leavevmode {\color {Chapter }BrowseData.actions.SaveWindow}}{41}{subsection.5.4.5}
\contentsline {subsection}{\numberline {5.4.6}\leavevmode {\color {Chapter }BrowseData.actions.QuitMode}}{42}{subsection.5.4.6}
\contentsline {subsection}{\numberline {5.4.7}\leavevmode {\color {Chapter }BrowseData.actions.Error}}{42}{subsection.5.4.7}
\contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Examples of Applications based on \texttt {NCurses.BrowseGeneric} }}{43}{chapter.6}
\contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter }The Operation \texttt {Browse}}}{43}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }Browse}}{43}{subsection.6.1.1}
\contentsline {section}{\numberline {6.2}\leavevmode {\color {Chapter }Character Table Display}}{43}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color {Chapter }Browse (for character tables)}}{44}{subsection.6.2.1}
\contentsline {section}{\numberline {6.3}\leavevmode {\color {Chapter }Table of Marks Display}}{45}{section.6.3}
\contentsline {subsection}{\numberline {6.3.1}\leavevmode {\color {Chapter }Browse (for tables of marks)}}{45}{subsection.6.3.1}
\contentsline {section}{\numberline {6.4}\leavevmode {\color {Chapter }Table of Contents of \textsf {AtlasRep}}}{46}{section.6.4}
\contentsline {subsection}{\numberline {6.4.1}\leavevmode {\color {Chapter }BrowseAtlasInfo}}{46}{subsection.6.4.1}
\contentsline {section}{\numberline {6.5}\leavevmode {\color {Chapter }Access to \textsf {GAP} Manuals{\textendash }a Variant}}{47}{section.6.5}
\contentsline {subsection}{\numberline {6.5.1}\leavevmode {\color {Chapter }BrowseGapManuals}}{47}{subsection.6.5.1}
\contentsline {section}{\numberline {6.6}\leavevmode {\color {Chapter }Overview of the \textsf {GAP} Bibliography}}{49}{section.6.6}
\contentsline {subsection}{\numberline {6.6.1}\leavevmode {\color {Chapter }BrowseBibliography}}{49}{subsection.6.6.1}
\contentsline {section}{\numberline {6.7}\leavevmode {\color {Chapter }Overview of \textsf {GAP} Data}}{51}{section.6.7}
\contentsline {subsection}{\numberline {6.7.1}\leavevmode {\color {Chapter }BrowseGapData}}{51}{subsection.6.7.1}
\contentsline {subsection}{\numberline {6.7.2}\leavevmode {\color {Chapter }BrowseGapDataAdd}}{52}{subsection.6.7.2}
\contentsline {section}{\numberline {6.8}\leavevmode {\color {Chapter }Navigating in a Directory Tree}}{52}{section.6.8}
\contentsline {subsection}{\numberline {6.8.1}\leavevmode {\color {Chapter }BrowseDirectory}}{53}{subsection.6.8.1}
\contentsline {section}{\numberline {6.9}\leavevmode {\color {Chapter }A Puzzle}}{53}{section.6.9}
\contentsline {subsection}{\numberline {6.9.1}\leavevmode {\color {Chapter }BrowsePuzzle}}{54}{subsection.6.9.1}
\contentsline {section}{\numberline {6.10}\leavevmode {\color {Chapter }Peg Solitaire}}{54}{section.6.10}
\contentsline {subsection}{\numberline {6.10.1}\leavevmode {\color {Chapter }PegSolitaire}}{55}{subsection.6.10.1}
\contentsline {section}{\numberline {6.11}\leavevmode {\color {Chapter }Rubik's Cube}}{55}{section.6.11}
\contentsline {subsection}{\numberline {6.11.1}\leavevmode {\color {Chapter }BrowseRubiksCube}}{56}{subsection.6.11.1}
\contentsline {section}{\numberline {6.12}\leavevmode {\color {Chapter }Changing Sides}}{57}{section.6.12}
\contentsline {subsection}{\numberline {6.12.1}\leavevmode {\color {Chapter }BrowseChangeSides}}{57}{subsection.6.12.1}
\contentsline {section}{\numberline {6.13}\leavevmode {\color {Chapter }Sudoku}}{58}{section.6.13}
\contentsline {subsection}{\numberline {6.13.1}\leavevmode {\color {Chapter }Sudoku.Init}}{58}{subsection.6.13.1}
\contentsline {subsection}{\numberline {6.13.2}\leavevmode {\color {Chapter }Sudoku.Place}}{59}{subsection.6.13.2}
\contentsline {subsection}{\numberline {6.13.3}\leavevmode {\color {Chapter }Sudoku.RandomGame}}{59}{subsection.6.13.3}
\contentsline {subsection}{\numberline {6.13.4}\leavevmode {\color {Chapter }Sudoku.SimpleDisplay}}{60}{subsection.6.13.4}
\contentsline {subsection}{\numberline {6.13.5}\leavevmode {\color {Chapter }Sudoku.OneSolution}}{60}{subsection.6.13.5}
\contentsline {subsection}{\numberline {6.13.6}\leavevmode {\color {Chapter }Sudoku.UniqueSolution}}{61}{subsection.6.13.6}
\contentsline {subsection}{\numberline {6.13.7}\leavevmode {\color {Chapter }PlaySudoku}}{61}{subsection.6.13.7}
\contentsline {subsection}{\numberline {6.13.8}\leavevmode {\color {Chapter }Sudoku.HTMLGame}}{62}{subsection.6.13.8}
\contentsline {chapter}{\numberline {A}\leavevmode {\color {Chapter }Some Tools for Database Handling}}{63}{appendix.A}
\contentsline {section}{\numberline {A.1}\leavevmode {\color {Chapter }\textsf {GAP} Objects for Database Handling}}{63}{section.A.1}
\contentsline {subsection}{\numberline {A.1.1}\leavevmode {\color {Chapter }Database Id Enumerators}}{63}{subsection.A.1.1}
\contentsline {subsection}{\numberline {A.1.2}\leavevmode {\color {Chapter }Database Attributes}}{64}{subsection.A.1.2}
\contentsline {subsection}{\numberline {A.1.3}\leavevmode {\color {Chapter }How to Deal with Database Id Enumerators and Database Attributes}}{66}{subsection.A.1.3}
\contentsline {subsection}{\numberline {A.1.4}\leavevmode {\color {Chapter }DatabaseIdEnumerator}}{67}{subsection.A.1.4}
\contentsline {subsection}{\numberline {A.1.5}\leavevmode {\color {Chapter }DatabaseAttributeAdd}}{67}{subsection.A.1.5}
\contentsline {subsection}{\numberline {A.1.6}\leavevmode {\color {Chapter }DatabaseAttributeValueDefault}}{67}{subsection.A.1.6}
\contentsline {subsection}{\numberline {A.1.7}\leavevmode {\color {Chapter }DatabaseIdEnumeratorUpdate}}{68}{subsection.A.1.7}
\contentsline {subsection}{\numberline {A.1.8}\leavevmode {\color {Chapter }DatabaseAttributeCompute}}{68}{subsection.A.1.8}
\contentsline {subsection}{\numberline {A.1.9}\leavevmode {\color {Chapter }DatabaseAttributeSetData}}{68}{subsection.A.1.9}
\contentsline {section}{\numberline {A.2}\leavevmode {\color {Chapter }Using Database Attributes for Browse Tables}}{69}{section.A.2}
\contentsline {subsection}{\numberline {A.2.1}\leavevmode {\color {Chapter }Browse Relevant Components of Database Attributes}}{69}{subsection.A.2.1}
\contentsline {subsection}{\numberline {A.2.2}\leavevmode {\color {Chapter }BrowseTableFromDatabaseIdEnumerator}}{70}{subsection.A.2.2}
\contentsline {section}{\numberline {A.3}\leavevmode {\color {Chapter }Example: Database Id Enumerators and Database Attributes}}{70}{section.A.3}
\contentsline {section}{\numberline {A.4}\leavevmode {\color {Chapter }Example: An Overview of the \textsf {GAP} Library of Transitive Groups }}{77}{section.A.4}
\contentsline {subsection}{\numberline {A.4.1}\leavevmode {\color {Chapter }BrowseTransitiveGroupsInfo}}{77}{subsection.A.4.1}
\contentsline {subsection}{\numberline {A.4.2}\leavevmode {\color {Chapter }TransitiveGroupsData.AllTransitiveGroups}}{77}{subsection.A.4.2}
\contentsline {subsection}{\numberline {A.4.3}\leavevmode {\color {Chapter }TransitiveGroupsData}}{78}{subsection.A.4.3}
\contentsline {subsection}{\numberline {A.4.4}\leavevmode {\color {Chapter }Additional Database Attributes for Transitive Groups}}{78}{subsection.A.4.4}
