SqueakByExample:6.9
파일 목록 브라우저(The File List Browser)
파일 목록 브라우저는 사실 스퀵 으로부터 파일 시스템[the file system (그리고 FTP 서버들)]을 검색하기 위한 일반 목적 도구(general-purpose tool)입니다. 파일목록 브라우저는 World ▷ open... ▷ file list menu를 사용하거나 도구 플랩에서 언급된 브라우저를 드레그하여 열 수 있습니다. 물론 파일목록 브라우저를 이용해서 볼 수 있는 것은 로컬 파일 시스템의 컨텐츠들이 기본이 되겠습니다만, 전형적인 모습은 그림 6.35에 보이는것과 같습니다.
처음 파일 목록 브라우저를 열면, 브라우저는 여러분이 스퀵을 시작한 현재 디렉토리를 대상으로 열립니다. 타이틀 바(the title bar)는 대상이된 디렉토리에 대한 경로를 알려줍니다. 왼쪽에 보이는 더 큰 패널은 오래된 방법이기는 하지만 파일시스템의 경로를 찾는 작업에 사용됩니다. 디렉토리를 선택하면, 디렉토리에 포함된 파일들은(디렉토리가 아닌) 오른쪽에 표시됩니다. 파일 목록은 브라우저창의 왼쪽상단에 있는 작은 입력상자에 유닉스 스타일 패턴(Unix-style-pattern)을 입력함으로써, 필터링을 적용할 수 있습니다. 여기서 사용되는 패턴은 첫 글자로, 모든 이름을 매치하는 * 이지만, 얼마든지 패턴을 변경해서 다른 문자열을 타이핑하고 적용할 수 있습니다.(*는 사용자가 입력한 패턴의 앞뒤에 붙여서 사용될 수 있다는걸 기억해두세요.) 파일들의 정렬순서는 name, date 그리고 size 버튼들을 사용하여 변경할 수 있습니다. 버튼의 규칙이 적용된 이후 정렬에 대한 나머지 순서는 브라우저에서 선택된 파일들의 이름을 기준으로 합니다. 그림 6.35에서 파일이름은 suffix(접미사) .cs를 포함하고 있기때문에, 파일 목록 브라우저는 해당되는 파일이 변경세트(Change set)인 것으로 추정하고, 해당파일을 install 하고, 파일에서의 Changes를 검색하고, 파일의 Code를 검사하며, 그리고 현재 시스템의 변경세트로 코드를 filein(이 버튼은 파일의 이름에서 파생된 이름을 가진 새로운 변경세트에 해당파일을 file in 작업을 수행합니다) 하기 위한 기능버튼들을 제공합니다. 아마도, Conflict 버튼은 이미지안에 현존하는 코드와 충돌된 변경세트의 변경사항들에 관해 알려줄거라고 예상할 수 있지만, 그렇지는 않습니다. 그 대신, conflict 버튼은 파일이 제대로 로드되지않을 가능성이 있는, 파일에대한 잠재적인 문제(line feed 기호같은것들)들만을 점검합니다.
파일의 내용을 참고하는게 아니라, 파일의 이름에 따라 버튼들의 표시가 결정되기때문에, 가끔 원하는 버튼이 나타나지 않는 경우도 있습니다. 그렇지만 전체 옵션 세트는 노랑 버튼을 사용한 more... 메뉴에 항상 나타나므로, 버튼의 표시에 대한 예비수단으로 사용하면 되겠습니다.
정확한건 아니지만, Code 버튼은 변경세트로 작업을 할 때 가장 유용하게 쓰일거같습니다. 이 버튼은 변경세트 파일(the change set file)의 컨텐츠 들 위에서 브라우저를 열어줍니다. 예시는 그림 6.36에 나와 있습니다. 파일 컨텐츠 브라우저는 카테고리들, 클래스들, 프로토콜들과 메소드들을 보여드리지 않는 다는 것을 제외하면 시스템 브라우저와 동일합니다. 각 클래스를 위해, 브라우저는 시스템 상에 클래스가 있는지의 여부와 파일에서 클래스가 정의되었는지의 여부(그러나 정의들(definitions)이 동일한 가의 여부는 제외)를 알려줍니다. 파일컨텐츠 브라우저는 변경세트 파일의 내부에 대해 (그림 6.36에 보이는 것 처럼) 각 클래스에 있는 메소드들을 보여드리고, 파일에 있는 현재 버전과 버전 사이의 차이점들에 대해 보여줍니다. 상단의 3개의 패널에서 사용할 수 있는 노랑 버튼 메뉴 아이템들은 사용자가 전체 변경 세트 또는 대응 클래스, 프로토콜 또는 메소드를 대상으로 file in을 진행할 수 있도록 해줍니다.