XUL improvements in Firefox 3

Firefox 3는 기존 XUL 요소의 개선과 더불어 다수의 새로운 요소를 제공합니다. 이는 다른 곳에 자세하게 문서화되어 있으며, 이 글은 이러한 개선에 대한 편리한 목록과 자세한 문서에 대한 링크를 제공합니다.

새로운 요소

  • 새로운 <scale> 요소를 이용하면 사용자가 지정된 범위 내의 어떤 값이든지 선택할 수 있는 움직이는 스케일을 생성할 수 있습니다. 예를 들어, 이 위젯은 보통 음량 콘트롤을 만드는데 사용됩니다.
  • 텍스트 상자(textboxes)의 속성인 type의 새로운 값인 number는 숫자만 입력할 수 있는 텍스트 상자를 생성합니다. 덧붙여, 화살표 버튼이 한 쪽에 나타나서 값을 한 단계씩 바꾸는데 사용할 수 있습니다.숫자 텍스트 상자에 대한 자세한 정보 (bug 345510)
  • <dropmarker> 요소가 추가되었는데 이는 XBL 바인딩을 사용하여 메뉴와 유사한 위젯을 생성하는데 유용합니다. (bug 348614)
  • <spinbuttons> 요소가 추가되었는데 XBL 바인딩을 이용한 위젯을 생성할 때 사용할 수 있습니다. (bug 155053)
  • <datepicker><timepicker>는 날짜와 시간을 입력하는데 사용할 수 있습니다. datepicker는 텍스트 상자나 캘린더 그리드와 함께 입력할 수 있도록 type 속성을 지정함으로써 몇 가지 형태로 이용이 가능합니다. datepicker에 대한 자세한 정보 Datepicker 정보 Timepicker 정보
  • <panel> 요소는 새로운 것으로 메뉴가 아닌 팝업을 위해 설계되었습니다. 이는 어떤 형식의 내용이든지 지원합니다. <menupopup> 요소는 메뉴를 위해 사용합니다. 메뉴는 키보드 탐색을 제공하고 하위 메뉴를 열고 닫는 것을 지원합니다.
  • 메뉴와 팝업의 새로운 기능을 설명하는 팝업 설명서가 있습니다.

트리 개선 사항

  • 트리는 이제 수평으로 스크롤이 됩니다. 열이 이용 가능한 너비에 맞지 않으면 수평 스크롤 막대가 나타납니다. 이는 지정한 열 너비의 합이 이용 가능한 공간보다 더 클 때 발생합니다. 자세한 사항은 bug 212789를 참고하시기 바랍니다.
  • 새로운 선택 스타일을 이용하면 전체 행 대신 셀을 개별적으로 선택할 수 있습니다. 이 선택 스타일을 사용하려면 트리의 seltype 속성을 cell로 선택합니다.
  • 트리는 이제 개별 셀의 편집을 지원합니다. 편집 가능한 셀을 두 번 클릭하면 셀의 내용을 편집할 수 있는 텍스트 필드가 나타납니다. 자세한 사항은 여기를 참고하시기 바랍니다.

See these notes for details.

  • <treecol> 요소는 이제 overflow 속성을 지원하는데, 이를 true로 지정하면 텍스트가 너무 커서 하나의 셀에 맞지 않을 때 해당 컬럼에 있는 셀의 텍스트가 이웃하는 빈 셀로 확장하는 것을 허용합니다.

메뉴 개선 사항

  • 이미지를 지정하기 위하여 image 속성이 일관적으로 사용됩니다.
  • menulist에서 항목을 선택하면 select 이벤트가 발생합니다.
  • menulist에 inputFieldeditable 속성이 추가되었습니다.
  • <menu>, <menuitem>, <menuseparator> 요소는 이제 읽기 전용 selected 속성을 가지는데, 이를 이용하면 <menulist>에서 항목이 선택되었는지 구할 수 있습니다.
  • <menu>, <menuitem>, <menuseparator> 요소는 이제 읽기 전용 control 속성을 가지는데, 이는 둘러싸는 <menulist>를 반환합니다.
  • <menu>, <menuitem>, <menuseparator> 요소는 이제 accessKey, disabled, crop, image, label 속성을 지원합니다.
  • <menu> 요소는 이제 menuitem을 추가하고 삽입하고 삭제할 수 있는 메소드를 지원합니다. (bug 372552)
  • 편집 가능한 menulist는 이제 텍스트 필드의 내부 nsIEditor를 얻기 위한 editor 속성을 지원합니다.
  • 지원하는 플랫폼에서 이제 메뉴를 반투명하게 만들 수 있습니다(bug 70798).

텍스트 상자 개선 사항

  • textboxspellcheck 속성을 true로 지정하면 해당 텍스트 상자의 인라인 맞춤법 검사를 활성화합니다.
  • <textbox>는 이제 텍스트 상자의 값을 기본 값으로 초기화하는 reset() 메소드를 가지고 있습니다. defaultValue 속성은 텍스트 상자의 기본 값을 구하고 수정하는데 사용할 수 있습니다.
  • 이제 텍스트 상자의 내부 nsIEditor를 얻을 수 있는 editor 속성을 제공합니다.
  • textbox는 이제 newlines 속성을 지원하는데, 이는 붙여 넣은 텍스트의 행 나눔을 어떻게 처리할 것인지 지정합니다. 가능한 값은 다음과 같습니다.
    • pasteintact - 모든 것을 그대로 붙입니다.
    • pastetofirst - (기본 값) 첫 번째 행 나눔까지만 붙입니다.break
    • replacewithspaces - 행 나눔을 공백으로 대체합니다.
    • replacewithcommas - 행 나눔을 쉼표로 대체합니다.
    • strip - 모든 행 나눔을 제거합니다.
    • stripsurroundingwhitespace - 모든 행 나눔과 주변의 공백을 제거합니다.

기타 개선 사항

  • <button>type 속성을 repeat로 설정하면 마우스 버튼을 누르고 있을 때 반복적으로 command 이벤트가 발생하는 버튼을 생성할 수 있습니다.
  • <dialog> 요소의 buttondisabledaccept 속성을 사용하면 승인(OK) 버튼이 초기에 비활성화됩니다.
  • <titlebar> 요소는 이제 자식에게 이벤트 전달을 허용하는 allowevents 속성을 지원합니다.
  • <splitter> 는 이제 collapse 속성의 추가된 값인 'both'를 지원하는데, 이는 splitter를 드래그할 때 양쪽 모두에 있는 요소를 감출 수 있다는 것을 가리킵니다. substate 속성은 감추는 것이 이전인지 이후인지 지정합니다. (bug 337955)
  • <richlistbox> 요소는 이제 다중 선택을 지원합니다. 이를 활성화하려면 seltype 속성을 'multiple'로 지정합니다.
  • <radio> 요소는 group 속성을 가지며 이를 라디오 버튼이 속할 <radiogroup>의 아이디로 지정할 수 있습니다. 이는 라디오 버튼을 모두 라디오 그룹 안에 넣는 것으로는 적합하지 않은 방식의 정렬을 가능하게 합니다.
  • 메뉴, 패널, 툴팁은 두 가지 추가 메소드인 openPopup()openPopupAtScreen()를 지원합니다. 사용이 헷갈리는 showPopup() 대신 이 메소드를 사용해야 합니다.

참고

 

 

Document Tags and Contributors

태그:
Contributors to this page: Jeongkyu, fscholz
Last updated by: fscholz,