\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}}{24}{subsection.3.1.4}
\contentsline {subsection}{\numberline {3.1.5}\leavevmode {\color {Chapter }Selection of help matches}}{24}{subsection.3.1.5}
\contentsline {subsection}{\numberline {3.1.6}\leavevmode {\color {Chapter }Selection of package names}}{25}{subsection.3.1.6}
\contentsline {section}{\numberline {3.2}\leavevmode {\color {Chapter }A Demo Function}}{25}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}\leavevmode {\color {Chapter }NCurses.Demo}}{25}{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}}{35}{chapter.5}
\contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter }Navigation Steps in Browse Tables}}{35}{section.5.1}
\contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter }Modes in Browse Tables}}{36}{section.5.2}
\contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter }Browse Applications}}{37}{section.5.3}
\contentsline {section}{\numberline {5.4}\leavevmode {\color {Chapter }Predefined Browse Functionalities}}{38}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color {Chapter }BrowseData}}{38}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color {Chapter }BrowseData.SetReplay}}{44}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color {Chapter }BrowseData.AlertWithReplay}}{44}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color {Chapter }BrowseData.actions.ShowHelp}}{44}{subsection.5.4.4}
\contentsline {subsection}{\numberline {5.4.5}\leavevmode {\color {Chapter }BrowseData.actions.SaveWindow}}{45}{subsection.5.4.5}
\contentsline {subsection}{\numberline {5.4.6}\leavevmode {\color {Chapter }BrowseData.actions.QuitMode}}{45}{subsection.5.4.6}
\contentsline {subsection}{\numberline {5.4.7}\leavevmode {\color {Chapter }BrowseData.actions.Error}}{45}{subsection.5.4.7}
\contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Examples of Applications based on \texttt {NCurses.BrowseGeneric} }}{46}{chapter.6}
\contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter }The Operation \texttt {Browse}}}{46}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }Browse}}{46}{subsection.6.1.1}
\contentsline {section}{\numberline {6.2}\leavevmode {\color {Chapter }Matrix Display}}{46}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color {Chapter }NCurses.BrowseDenseList}}{47}{subsection.6.2.1}
\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color {Chapter }Browse (for a list of lists)}}{47}{subsection.6.2.2}
\contentsline {section}{\numberline {6.3}\leavevmode {\color {Chapter }Character Table Display}}{48}{section.6.3}
\contentsline {subsection}{\numberline {6.3.1}\leavevmode {\color {Chapter }Browse (for character tables)}}{48}{subsection.6.3.1}
\contentsline {subsection}{\numberline {6.3.2}\leavevmode {\color {Chapter }BrowseDecompositionMatrix}}{49}{subsection.6.3.2}
\contentsline {section}{\numberline {6.4}\leavevmode {\color {Chapter }Table of Marks Display}}{50}{section.6.4}
\contentsline {subsection}{\numberline {6.4.1}\leavevmode {\color {Chapter }Browse (for tables of marks)}}{50}{subsection.6.4.1}
\contentsline {section}{\numberline {6.5}\leavevmode {\color {Chapter }Table of Contents of \textsf {AtlasRep}}}{51}{section.6.5}
\contentsline {subsection}{\numberline {6.5.1}\leavevmode {\color {Chapter }BrowseAtlasInfo}}{51}{subsection.6.5.1}
\contentsline {section}{\numberline {6.6}\leavevmode {\color {Chapter }Access to \textsf {GAP} Manuals{\textendash }a Variant}}{52}{section.6.6}
\contentsline {subsection}{\numberline {6.6.1}\leavevmode {\color {Chapter }BrowseGapManuals}}{53}{subsection.6.6.1}
\contentsline {section}{\numberline {6.7}\leavevmode {\color {Chapter }Overview of the \textsf {GAP} Bibliography}}{54}{section.6.7}
\contentsline {subsection}{\numberline {6.7.1}\leavevmode {\color {Chapter }BrowseBibliography}}{54}{subsection.6.7.1}
\contentsline {subsection}{\numberline {6.7.2}\leavevmode {\color {Chapter }BrowseMSC}}{57}{subsection.6.7.2}
\contentsline {section}{\numberline {6.8}\leavevmode {\color {Chapter }Profiling \textsf {GAP} functions{\textendash }a Variant}}{57}{section.6.8}
\contentsline {subsection}{\numberline {6.8.1}\leavevmode {\color {Chapter }BrowseProfile}}{57}{subsection.6.8.1}
\contentsline {section}{\numberline {6.9}\leavevmode {\color {Chapter }Variables defined in \textsf {GAP} packages{\textendash }a Variant}}{58}{section.6.9}
\contentsline {subsection}{\numberline {6.9.1}\leavevmode {\color {Chapter }BrowsePackageVariables}}{58}{subsection.6.9.1}
\contentsline {section}{\numberline {6.10}\leavevmode {\color {Chapter }Overview of \textsf {GAP} Data}}{59}{section.6.10}
\contentsline {subsection}{\numberline {6.10.1}\leavevmode {\color {Chapter }BrowseGapData}}{59}{subsection.6.10.1}
\contentsline {subsection}{\numberline {6.10.2}\leavevmode {\color {Chapter }BrowseGapDataAdd}}{60}{subsection.6.10.2}
\contentsline {section}{\numberline {6.11}\leavevmode {\color {Chapter }Navigating in a Directory Tree}}{61}{section.6.11}
\contentsline {subsection}{\numberline {6.11.1}\leavevmode {\color {Chapter }BrowseDirectory}}{61}{subsection.6.11.1}
\contentsline {section}{\numberline {6.12}\leavevmode {\color {Chapter }A Puzzle}}{61}{section.6.12}
\contentsline {subsection}{\numberline {6.12.1}\leavevmode {\color {Chapter }BrowsePuzzle}}{62}{subsection.6.12.1}
\contentsline {section}{\numberline {6.13}\leavevmode {\color {Chapter }Peg Solitaire}}{62}{section.6.13}
\contentsline {subsection}{\numberline {6.13.1}\leavevmode {\color {Chapter }PegSolitaire}}{63}{subsection.6.13.1}
\contentsline {section}{\numberline {6.14}\leavevmode {\color {Chapter }Rubik's Cube}}{64}{section.6.14}
\contentsline {subsection}{\numberline {6.14.1}\leavevmode {\color {Chapter }BrowseRubiksCube}}{64}{subsection.6.14.1}
\contentsline {section}{\numberline {6.15}\leavevmode {\color {Chapter }Changing Sides}}{65}{section.6.15}
\contentsline {subsection}{\numberline {6.15.1}\leavevmode {\color {Chapter }BrowseChangeSides}}{65}{subsection.6.15.1}
\contentsline {section}{\numberline {6.16}\leavevmode {\color {Chapter }Sudoku}}{66}{section.6.16}
\contentsline {subsection}{\numberline {6.16.1}\leavevmode {\color {Chapter }Sudoku.Init}}{66}{subsection.6.16.1}
\contentsline {subsection}{\numberline {6.16.2}\leavevmode {\color {Chapter }Sudoku.Place}}{67}{subsection.6.16.2}
\contentsline {subsection}{\numberline {6.16.3}\leavevmode {\color {Chapter }Sudoku.RandomGame}}{67}{subsection.6.16.3}
\contentsline {subsection}{\numberline {6.16.4}\leavevmode {\color {Chapter }Sudoku.SimpleDisplay}}{68}{subsection.6.16.4}
\contentsline {subsection}{\numberline {6.16.5}\leavevmode {\color {Chapter }Sudoku.DisplayString}}{68}{subsection.6.16.5}
\contentsline {subsection}{\numberline {6.16.6}\leavevmode {\color {Chapter }Sudoku.OneSolution}}{69}{subsection.6.16.6}
\contentsline {subsection}{\numberline {6.16.7}\leavevmode {\color {Chapter }Sudoku.UniqueSolution}}{69}{subsection.6.16.7}
\contentsline {subsection}{\numberline {6.16.8}\leavevmode {\color {Chapter }PlaySudoku}}{70}{subsection.6.16.8}
\contentsline {subsection}{\numberline {6.16.9}\leavevmode {\color {Chapter }Sudoku.HTMLGame}}{70}{subsection.6.16.9}
\contentsline {chapter}{\numberline {A}\leavevmode {\color {Chapter }Some Tools for Database Handling}}{72}{appendix.A}
\contentsline {section}{\numberline {A.1}\leavevmode {\color {Chapter }\textsf {GAP} Objects for Database Handling}}{72}{section.A.1}
\contentsline {subsection}{\numberline {A.1.1}\leavevmode {\color {Chapter }Database Id Enumerators}}{72}{subsection.A.1.1}
\contentsline {subsection}{\numberline {A.1.2}\leavevmode {\color {Chapter }Database Attributes}}{73}{subsection.A.1.2}
\contentsline {subsection}{\numberline {A.1.3}\leavevmode {\color {Chapter }How to Deal with Database Id Enumerators and Database Attributes}}{76}{subsection.A.1.3}
\contentsline {subsection}{\numberline {A.1.4}\leavevmode {\color {Chapter }DatabaseIdEnumerator}}{76}{subsection.A.1.4}
\contentsline {subsection}{\numberline {A.1.5}\leavevmode {\color {Chapter }DatabaseAttributeAdd}}{76}{subsection.A.1.5}
\contentsline {subsection}{\numberline {A.1.6}\leavevmode {\color {Chapter }DatabaseAttributeValueDefault}}{77}{subsection.A.1.6}
\contentsline {subsection}{\numberline {A.1.7}\leavevmode {\color {Chapter }DatabaseIdEnumeratorUpdate}}{77}{subsection.A.1.7}
\contentsline {subsection}{\numberline {A.1.8}\leavevmode {\color {Chapter }DatabaseAttributeCompute}}{77}{subsection.A.1.8}
\contentsline {subsection}{\numberline {A.1.9}\leavevmode {\color {Chapter }DatabaseAttributeSetData}}{78}{subsection.A.1.9}
\contentsline {section}{\numberline {A.2}\leavevmode {\color {Chapter }Using Database Attributes for Browse Tables}}{78}{section.A.2}
\contentsline {subsection}{\numberline {A.2.1}\leavevmode {\color {Chapter }Browse Relevant Components of Database Attributes}}{78}{subsection.A.2.1}
\contentsline {subsection}{\numberline {A.2.2}\leavevmode {\color {Chapter }BrowseTableFromDatabaseIdEnumerator}}{79}{subsection.A.2.2}
\contentsline {section}{\numberline {A.3}\leavevmode {\color {Chapter }Example: Database Id Enumerators and Database Attributes}}{80}{section.A.3}
\contentsline {section}{\numberline {A.4}\leavevmode {\color {Chapter }Example: An Overview of the \textsf {GAP} Library of Transitive Groups }}{86}{section.A.4}
\contentsline {subsection}{\numberline {A.4.1}\leavevmode {\color {Chapter }BrowseTransitiveGroupsInfo}}{86}{subsection.A.4.1}
\contentsline {subsection}{\numberline {A.4.2}\leavevmode {\color {Chapter }TransitiveGroupsData.AllTransitiveGroups}}{87}{subsection.A.4.2}
\contentsline {subsection}{\numberline {A.4.3}\leavevmode {\color {Chapter }TransitiveGroupsData}}{88}{subsection.A.4.3}
\contentsline {subsection}{\numberline {A.4.4}\leavevmode {\color {Chapter }Additional Database Attributes for Transitive Groups}}{88}{subsection.A.4.4}
\contentsline {chapter}{References}{90}{appendix*.3}
\contentsline {chapter}{Index}{91}{section*.4}
