\contentsline {chapter}{\numberline {1}\leavevmode {\color {Chapter }Introduction and Overview}}{5}{chapter.1}
\contentsline {section}{\numberline {1.1}\leavevmode {\color {Chapter }Introduction}}{5}{section.1.1}
\contentsline {section}{\numberline {1.2}\leavevmode {\color {Chapter }Overview}}{6}{section.1.2}
\contentsline {subsection}{\numberline {1.2.1}\leavevmode {\color {Chapter }The \texttt {ncurses} interface}}{6}{subsection.1.2.1}
\contentsline {subsection}{\numberline {1.2.2}\leavevmode {\color {Chapter }Applications of \texttt {ncurses}}}{6}{subsection.1.2.2}
\contentsline {subsection}{\numberline {1.2.3}\leavevmode {\color {Chapter }The interface to browse two-dimensional arrays}}{6}{subsection.1.2.3}
\contentsline {subsection}{\numberline {1.2.4}\leavevmode {\color {Chapter }Applications of the generic function \texttt {NCurses.BrowseGeneric}}}{6}{subsection.1.2.4}
\contentsline {chapter}{\numberline {2}\leavevmode {\color {Chapter }Interface to the \texttt {ncurses} Library}}{7}{chapter.2}
\contentsline {section}{\numberline {2.1}\leavevmode {\color {Chapter }The \texttt {ncurses} Library}}{7}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}\leavevmode {\color {Chapter }Setting the terminal}}{7}{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}}{10}{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}}{15}{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}}{16}{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}}{17}{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}}{18}{subsection.2.2.5}
\contentsline {subsection}{\numberline {2.2.6}\leavevmode {\color {Chapter }NCurses.PutLine}}{18}{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}}{19}{subsection.2.2.8}
\contentsline {subsection}{\numberline {2.2.9}\leavevmode {\color {Chapter }NCurses.WBorder}}{19}{subsection.2.2.9}
\contentsline {subsection}{\numberline {2.2.10}\leavevmode {\color {Chapter }Mouse support in \texttt {ncurses} applications}}{19}{subsection.2.2.10}
\contentsline {subsection}{\numberline {2.2.11}\leavevmode {\color {Chapter }NCurses.SaveWin}}{20}{subsection.2.2.11}
\contentsline {chapter}{\numberline {3}\leavevmode {\color {Chapter }Utilities using \texttt {ncurses}}}{21}{chapter.3}
\contentsline {section}{\numberline {3.1}\leavevmode {\color {Chapter }\texttt {ncurses} utilities}}{21}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}\leavevmode {\color {Chapter }NCurses.Alert}}{21}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}\leavevmode {\color {Chapter }NCurses.Select}}{22}{subsection.3.1.2}
\contentsline {subsection}{\numberline {3.1.3}\leavevmode {\color {Chapter }NCurses.GetLineFromUser}}{23}{subsection.3.1.3}
\contentsline {subsection}{\numberline {3.1.4}\leavevmode {\color {Chapter }NCurses.Pager}}{23}{subsection.3.1.4}
\contentsline {subsection}{\numberline {3.1.5}\leavevmode {\color {Chapter }Selection of help matches}}{24}{subsection.3.1.5}
\contentsline {section}{\numberline {3.2}\leavevmode {\color {Chapter }A Demo Function}}{24}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}\leavevmode {\color {Chapter }NCurses.Demo}}{24}{subsection.3.2.1}
\contentsline {chapter}{\numberline {4}\leavevmode {\color {Chapter }Browsing Tables in \textsf {GAP} using \texttt {ncurses} {\textendash }The User Interface}}{26}{chapter.4}
\contentsline {section}{\numberline {4.1}\leavevmode {\color {Chapter }Features Supported by the Function \texttt {NCurses.BrowseGeneric} }}{27}{section.4.1}
\contentsline {section}{\numberline {4.2}\leavevmode {\color {Chapter }Data Structures used by \texttt {NCurses.BrowseGeneric}}}{29}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}\leavevmode {\color {Chapter }BrowseData.IsBrowseTableCellData}}{29}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}\leavevmode {\color {Chapter }BrowseData.BlockEntry}}{30}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}\leavevmode {\color {Chapter }BrowseData.IsBrowseTable}}{30}{subsection.4.2.3}
\contentsline {section}{\numberline {4.3}\leavevmode {\color {Chapter }The Function \texttt {NCurses.BrowseGeneric}}}{33}{section.4.3}
\contentsline {subsection}{\numberline {4.3.1}\leavevmode {\color {Chapter }NCurses.BrowseGeneric}}{33}{subsection.4.3.1}
\contentsline {chapter}{\numberline {5}\leavevmode {\color {Chapter }Browsing Tables in \textsf {GAP} using \texttt {ncurses} {\textendash }The Programming Interface}}{34}{chapter.5}
\contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter }Navigation Steps in Browse Tables}}{34}{section.5.1}
\contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter }Modes in Browse Tables}}{35}{section.5.2}
\contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter }Browse Applications}}{36}{section.5.3}
\contentsline {section}{\numberline {5.4}\leavevmode {\color {Chapter }Predefined Browse Functionalities}}{37}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color {Chapter }BrowseData}}{37}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color {Chapter }BrowseData.SetReplay}}{43}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color {Chapter }BrowseData.AlertWithReplay}}{43}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color {Chapter }BrowseData.actions.ShowHelp}}{43}{subsection.5.4.4}
\contentsline {subsection}{\numberline {5.4.5}\leavevmode {\color {Chapter }BrowseData.actions.SaveWindow}}{44}{subsection.5.4.5}
\contentsline {subsection}{\numberline {5.4.6}\leavevmode {\color {Chapter }BrowseData.actions.QuitMode}}{44}{subsection.5.4.6}
\contentsline {subsection}{\numberline {5.4.7}\leavevmode {\color {Chapter }BrowseData.actions.Error}}{44}{subsection.5.4.7}
\contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Examples of Applications based on \texttt {NCurses.BrowseGeneric} }}{45}{chapter.6}
\contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter }The Operation \texttt {Browse}}}{45}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }Browse}}{45}{subsection.6.1.1}
\contentsline {section}{\numberline {6.2}\leavevmode {\color {Chapter }Matrix Display}}{45}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color {Chapter }NCurses.BrowseDenseList}}{46}{subsection.6.2.1}
\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color {Chapter }Browse (for a list of lists)}}{46}{subsection.6.2.2}
\contentsline {section}{\numberline {6.3}\leavevmode {\color {Chapter }Character Table Display}}{47}{section.6.3}
\contentsline {subsection}{\numberline {6.3.1}\leavevmode {\color {Chapter }Browse (for character tables)}}{47}{subsection.6.3.1}
\contentsline {subsection}{\numberline {6.3.2}\leavevmode {\color {Chapter }BrowseDecompositionMatrix}}{48}{subsection.6.3.2}
\contentsline {section}{\numberline {6.4}\leavevmode {\color {Chapter }Table of Marks Display}}{49}{section.6.4}
\contentsline {subsection}{\numberline {6.4.1}\leavevmode {\color {Chapter }Browse (for tables of marks)}}{49}{subsection.6.4.1}
\contentsline {section}{\numberline {6.5}\leavevmode {\color {Chapter }Table of Contents of \textsf {AtlasRep}}}{50}{section.6.5}
\contentsline {subsection}{\numberline {6.5.1}\leavevmode {\color {Chapter }BrowseAtlasInfo}}{50}{subsection.6.5.1}
\contentsline {section}{\numberline {6.6}\leavevmode {\color {Chapter }Access to \textsf {GAP} Manuals{\textendash }a Variant}}{51}{section.6.6}
\contentsline {subsection}{\numberline {6.6.1}\leavevmode {\color {Chapter }BrowseGapManuals}}{51}{subsection.6.6.1}
\contentsline {section}{\numberline {6.7}\leavevmode {\color {Chapter }Overview of the \textsf {GAP} Bibliography}}{53}{section.6.7}
\contentsline {subsection}{\numberline {6.7.1}\leavevmode {\color {Chapter }BrowseBibliography}}{53}{subsection.6.7.1}
\contentsline {subsection}{\numberline {6.7.2}\leavevmode {\color {Chapter }BrowseMSC}}{56}{subsection.6.7.2}
\contentsline {section}{\numberline {6.8}\leavevmode {\color {Chapter }Profiling \textsf {GAP} functions{\textendash }a Variant}}{56}{section.6.8}
\contentsline {subsection}{\numberline {6.8.1}\leavevmode {\color {Chapter }BrowseProfile}}{56}{subsection.6.8.1}
\contentsline {section}{\numberline {6.9}\leavevmode {\color {Chapter }Overview of \textsf {GAP} Data}}{57}{section.6.9}
\contentsline {subsection}{\numberline {6.9.1}\leavevmode {\color {Chapter }BrowseGapData}}{57}{subsection.6.9.1}
\contentsline {subsection}{\numberline {6.9.2}\leavevmode {\color {Chapter }BrowseGapDataAdd}}{58}{subsection.6.9.2}
\contentsline {section}{\numberline {6.10}\leavevmode {\color {Chapter }Navigating in a Directory Tree}}{58}{section.6.10}
\contentsline {subsection}{\numberline {6.10.1}\leavevmode {\color {Chapter }BrowseDirectory}}{59}{subsection.6.10.1}
\contentsline {section}{\numberline {6.11}\leavevmode {\color {Chapter }A Puzzle}}{59}{section.6.11}
\contentsline {subsection}{\numberline {6.11.1}\leavevmode {\color {Chapter }BrowsePuzzle}}{60}{subsection.6.11.1}
\contentsline {section}{\numberline {6.12}\leavevmode {\color {Chapter }Peg Solitaire}}{60}{section.6.12}
\contentsline {subsection}{\numberline {6.12.1}\leavevmode {\color {Chapter }PegSolitaire}}{61}{subsection.6.12.1}
\contentsline {section}{\numberline {6.13}\leavevmode {\color {Chapter }Rubik's Cube}}{62}{section.6.13}
\contentsline {subsection}{\numberline {6.13.1}\leavevmode {\color {Chapter }BrowseRubiksCube}}{62}{subsection.6.13.1}
\contentsline {section}{\numberline {6.14}\leavevmode {\color {Chapter }Changing Sides}}{63}{section.6.14}
\contentsline {subsection}{\numberline {6.14.1}\leavevmode {\color {Chapter }BrowseChangeSides}}{63}{subsection.6.14.1}
\contentsline {section}{\numberline {6.15}\leavevmode {\color {Chapter }Sudoku}}{64}{section.6.15}
\contentsline {subsection}{\numberline {6.15.1}\leavevmode {\color {Chapter }Sudoku.Init}}{64}{subsection.6.15.1}
\contentsline {subsection}{\numberline {6.15.2}\leavevmode {\color {Chapter }Sudoku.Place}}{65}{subsection.6.15.2}
\contentsline {subsection}{\numberline {6.15.3}\leavevmode {\color {Chapter }Sudoku.RandomGame}}{65}{subsection.6.15.3}
\contentsline {subsection}{\numberline {6.15.4}\leavevmode {\color {Chapter }Sudoku.SimpleDisplay}}{66}{subsection.6.15.4}
\contentsline {subsection}{\numberline {6.15.5}\leavevmode {\color {Chapter }Sudoku.DisplayString}}{66}{subsection.6.15.5}
\contentsline {subsection}{\numberline {6.15.6}\leavevmode {\color {Chapter }Sudoku.OneSolution}}{67}{subsection.6.15.6}
\contentsline {subsection}{\numberline {6.15.7}\leavevmode {\color {Chapter }Sudoku.UniqueSolution}}{67}{subsection.6.15.7}
\contentsline {subsection}{\numberline {6.15.8}\leavevmode {\color {Chapter }PlaySudoku}}{68}{subsection.6.15.8}
\contentsline {subsection}{\numberline {6.15.9}\leavevmode {\color {Chapter }Sudoku.HTMLGame}}{68}{subsection.6.15.9}
\contentsline {chapter}{\numberline {A}\leavevmode {\color {Chapter }Some Tools for Database Handling}}{70}{appendix.A}
\contentsline {section}{\numberline {A.1}\leavevmode {\color {Chapter }\textsf {GAP} Objects for Database Handling}}{70}{section.A.1}
\contentsline {subsection}{\numberline {A.1.1}\leavevmode {\color {Chapter }Database Id Enumerators}}{70}{subsection.A.1.1}
\contentsline {subsection}{\numberline {A.1.2}\leavevmode {\color {Chapter }Database Attributes}}{71}{subsection.A.1.2}
\contentsline {subsection}{\numberline {A.1.3}\leavevmode {\color {Chapter }How to Deal with Database Id Enumerators and Database Attributes}}{74}{subsection.A.1.3}
\contentsline {subsection}{\numberline {A.1.4}\leavevmode {\color {Chapter }DatabaseIdEnumerator}}{74}{subsection.A.1.4}
\contentsline {subsection}{\numberline {A.1.5}\leavevmode {\color {Chapter }DatabaseAttributeAdd}}{74}{subsection.A.1.5}
\contentsline {subsection}{\numberline {A.1.6}\leavevmode {\color {Chapter }DatabaseAttributeValueDefault}}{75}{subsection.A.1.6}
\contentsline {subsection}{\numberline {A.1.7}\leavevmode {\color {Chapter }DatabaseIdEnumeratorUpdate}}{75}{subsection.A.1.7}
\contentsline {subsection}{\numberline {A.1.8}\leavevmode {\color {Chapter }DatabaseAttributeCompute}}{75}{subsection.A.1.8}
\contentsline {subsection}{\numberline {A.1.9}\leavevmode {\color {Chapter }DatabaseAttributeSetData}}{76}{subsection.A.1.9}
\contentsline {section}{\numberline {A.2}\leavevmode {\color {Chapter }Using Database Attributes for Browse Tables}}{76}{section.A.2}
\contentsline {subsection}{\numberline {A.2.1}\leavevmode {\color {Chapter }Browse Relevant Components of Database Attributes}}{76}{subsection.A.2.1}
\contentsline {subsection}{\numberline {A.2.2}\leavevmode {\color {Chapter }BrowseTableFromDatabaseIdEnumerator}}{77}{subsection.A.2.2}
\contentsline {section}{\numberline {A.3}\leavevmode {\color {Chapter }Example: Database Id Enumerators and Database Attributes}}{78}{section.A.3}
\contentsline {section}{\numberline {A.4}\leavevmode {\color {Chapter }Example: An Overview of the \textsf {GAP} Library of Transitive Groups }}{84}{section.A.4}
\contentsline {subsection}{\numberline {A.4.1}\leavevmode {\color {Chapter }BrowseTransitiveGroupsInfo}}{84}{subsection.A.4.1}
\contentsline {subsection}{\numberline {A.4.2}\leavevmode {\color {Chapter }TransitiveGroupsData.AllTransitiveGroups}}{85}{subsection.A.4.2}
\contentsline {subsection}{\numberline {A.4.3}\leavevmode {\color {Chapter }TransitiveGroupsData}}{86}{subsection.A.4.3}
\contentsline {subsection}{\numberline {A.4.4}\leavevmode {\color {Chapter }Additional Database Attributes for Transitive Groups}}{86}{subsection.A.4.4}
\contentsline {chapter}{References}{88}{appendix*.3}
\contentsline {chapter}{Index}{89}{section*.4}
