Browse ( Version 1.8.7 ) July 2017 Thomas Breuer Frank Lübeck Thomas Breuer Email: mailto:Thomas.Breuer@Math.RWTH-Aachen.De Homepage: http://www.math.rwth-aachen.de/~Thomas.Breuer Frank Lübeck Email: mailto:Frank.Luebeck@Math.RWTH-Aachen.De Homepage: http://www.math.rwth-aachen.de/~Frank.Luebeck ------------------------------------------------------- Copyright © 2006-2017 by Thomas Breuer and Frank Lübeck This package may be distributed under the terms and conditions of the GNU Public License Version 3 or later, see http://www.gnu.org/licenses. ------------------------------------------------------- Contents (Browse) 1 Introduction and Overview 1.1 Introduction 1.2 Overview 1.2-1 The ncurses interface 1.2-2 Applications of ncurses 1.2-3 The interface to browse two-dimensional arrays 1.2-4 Applications of the generic function NCurses.BrowseGeneric 1.3 User preferences provided by the Browse package 1.3-1 The user preference EnableMouseEvents 1.3-2 The user preference SelectHelpMatches 1.3-3 The user preference SelectPackageName 2 Interface to the ncurses Library 2.1 The ncurses Library 2.1-1 Setting the terminal 2.1-2 Manipulating windows 2.1-3 Manipulating panels 2.1-4 Getting keyboard input 2.1-5 Writing to windows 2.1-6 Line drawing characters 2.1-7 Text attributes and colors 2.1-8 Low level ncurses mouse support 2.1-9 Miscellaneous function 2.2 The ncurses GAP functions 2.2-1 NCurses.ColorAttr 2.2-2 NCurses.SetTerm 2.2-3 NCurses.IsAttributeLine 2.2-4 NCurses.ConcatenationAttributeLines 2.2-5 NCurses.RepeatedAttributeLine 2.2-6 NCurses.PutLine 2.2-7 NCurses.WidthAttributeLine 2.2-8 NCurses.Grid 2.2-9 NCurses.WBorder 2.2-10 Mouse support in ncurses applications 2.2-11 NCurses.SaveWin 3 Utilities using ncurses 3.1 ncurses utilities 3.1-1 NCurses.Alert 3.1-2 NCurses.Select 3.1-3 NCurses.GetLineFromUser 3.1-4 NCurses.Pager 3.1-5 Selection of help matches 3.1-6 Selection of package names 3.2 A Demo Function 3.2-1 NCurses.Demo 4 Browsing Tables in GAP using ncurses –The User Interface 4.1 Features Supported by the Function NCurses.BrowseGeneric 4.2 Data Structures used by NCurses.BrowseGeneric 4.2-1 BrowseData.IsBrowseTableCellData 4.2-2 BrowseData.BlockEntry 4.2-3 BrowseData.IsBrowseTable 4.3 The Function NCurses.BrowseGeneric 4.3-1 NCurses.BrowseGeneric 5 Browsing Tables in GAP using ncurses –The Programming Interface 5.1 Navigation Steps in Browse Tables 5.2 Modes in Browse Tables 5.3 Browse Applications 5.4 Predefined Browse Functionalities 5.4-1 BrowseData 5.4-2 BrowseData.SetReplay 5.4-3 BrowseData.AlertWithReplay 5.4-4 BrowseData.actions.ShowHelp 5.4-5 BrowseData.actions.SaveWindow 5.4-6 BrowseData.actions.QuitMode 5.4-7 BrowseData.actions.Error 6 Examples of Applications based on NCurses.BrowseGeneric 6.1 The Operation Browse 6.1-1 Browse 6.2 Matrix Display 6.2-1 NCurses.BrowseDenseList 6.2-2 Browse 6.3 Character Table Display 6.3-1 Browse 6.3-2 BrowseDecompositionMatrix 6.4 Table of Marks Display 6.4-1 Browse 6.5 Table of Contents of AtlasRep 6.5-1 BrowseAtlasInfo 6.6 Access to GAP Manuals–a Variant 6.6-1 BrowseGapManuals 6.7 Overview of Bibliographies 6.7-1 BrowseBibliography 6.7-2 BrowseBibliographyGapPackages 6.7-3 BrowseMSC 6.8 Profiling GAP functions–a Variant 6.8-1 BrowseProfile 6.9 Variables defined in GAP packages–a Variant 6.9-1 BrowsePackageVariables 6.10 Configuring User preferences–a Variant 6.10-1 BrowseUserPreferences 6.11 Overview of GAP Data 6.11-1 BrowseGapData 6.11-2 BrowseGapDataAdd 6.12 Navigating in a Directory Tree 6.12-1 BrowseDirectory 6.13 A Puzzle 6.13-1 BrowsePuzzle 6.14 Peg Solitaire 6.14-1 PegSolitaire 6.15 Rubik's Cube 6.15-1 BrowseRubiksCube 6.16 Changing Sides 6.16-1 BrowseChangeSides 6.17 Sudoku 6.17-1 Sudoku.Init 6.17-2 Sudoku.Place 6.17-3 Sudoku.RandomGame 6.17-4 Sudoku.SimpleDisplay 6.17-5 Sudoku.DisplayString 6.17-6 Sudoku.OneSolution 6.17-7 Sudoku.UniqueSolution 6.17-8 PlaySudoku 6.17-9 Sudoku.HTMLGame 6.18 Utility for GAP Demos 6.18-1 LoadDemoFile A Some Tools for Database Handling A.1 GAP Objects for Database Handling A.1-1 Database Id Enumerators A.1-2 Database Attributes A.1-3 How to Deal with Database Id Enumerators and Database Attributes A.1-4 DatabaseIdEnumerator A.1-5 DatabaseAttributeAdd A.1-6 DatabaseAttributeValueDefault A.1-7 DatabaseIdEnumeratorUpdate A.1-8 DatabaseAttributeCompute A.1-9 DatabaseAttributeSetData A.2 Using Database Attributes for Browse Tables A.2-1 Browse Relevant Components of Database Attributes A.2-2 BrowseTableFromDatabaseIdEnumerator A.3 Example: Database Id Enumerators and Database Attributes A.4 Example: An Overview of the GAP Library of Tables of Marks A.4-1 BrowseTomLibInfo