개요
widget 은 편집 화면 둘레에 붙는 패널이다. 문서를 그리는 본문 영역과 분리되어 있으며, 사용자가 배치를 정하고 필요할 때 열고 닫는다.
각 widget 은 폴더 하나로 이루어지고 widget.lua 가 선언을 담는다. 선언에는 식별자,
표시 이름, 아이콘, 붙는 위치(zone), 정렬 순서, 우클릭 메뉴 이름이 들어간다.
표시 이름은 문자열이 아니라 MLTS 키이므로 언어 설정에 따라 바뀐다.
붙는 위치
섹션 제목: “붙는 위치”| zone | 위치 | 쓰임 |
|---|---|---|
left | 좌측 패널 | 프로젝트·파일·라이브러리처럼 무엇을 열 것인가를 고르는 트리 |
right | 우측 패널 | 선택한 대상의 속성과 상태를 보는 표 |
bottom | 하단 패널 | 실행 결과와 메시지 |
widget 인가 아닌가
섹션 제목: “widget 인가 아닌가”같은 폴더 구조와 widget.lua 를 쓰더라도 전부 패널이 되는 것은 아니다.
선언의 view.surface 가 이를 가른다.
view.surface | 결과 |
|---|---|
| 선언하지 않음 | dock 패널로 등록한다 — 활동바 항목이 생기고 zone 을 차지한다 |
"dialog" | dock widget 으로 등록하지 않는다 — 독립 OS 창으로 뜬다(확장 패키지) |
이 문서가 다루는 10개는 모두 앞의 경우다.
명령과 우클릭 메뉴
섹션 제목: “명령과 우클릭 메뉴”widget 이 기여하는 명령은 actions/ 폴더의 파일 하나가 하나씩 맡는다. 이름은
action_<widget id>_<동작> 규약을 따른다. 우클릭 메뉴 배치는 menus.lua 가 선언하며,
메뉴 구성은 사용자가 customize 로 바꿀 수 있다.
명령의 활성/비활성 판정은 widget 의 상주 VM 이 수행한다. 상태에 따라 항목을 숨기지 않고 회색으로 둔다 — 숨기면 사용자가 customize 로 뺀 것과 프로그램이 감춘 것을 구분할 수 없다.
제공되는 widget
섹션 제목: “제공되는 widget”| widget | 위치 | 명령 | 내용 |
|---|---|---|---|
| 프로젝트 | 좌측 | 34 | 프로젝트·문서 계층 |
| 파일 | 좌측 | 23 | 디스크 폴더 탐색 |
| 심볼 라이브러리 | 좌측 | 17 | 심볼(symbol) 라이브러리 관리 |
| 풋프린트 라이브러리 | 좌측 | 17 | 풋프린트(footprint) 라이브러리 관리 |
| 속성 | 우측 | — | 선택 대상의 속성 |
| AI | 우측 | — | AI 연동 |
| 심볼 속성 | 우측 | — | 심볼 속성 |
| 레이어 관리자 | 우측 | 20 | 레이어 표시 제어 |
| PCB 항목 | 우측 | 7 | 보드의 넷·부품 목록(bill of materials) |
| 콘솔 | 하단 | 7 | 메시지와 lua 실행 |
패널로 도킹되지 않는 확장 패키지는 따로 다룬다 — 변환기 2종이 여기 속한다.