여둘까 Office Layout
여둘까 Office Layout 바로가기 ↗
이 글은 여둘까 Office Layout 시리즈의 17번째 기록입니다. (총 18개)

오늘 한 일

  • 범위 선택 추가
    • 빈 곳에서 끌면 선택 상자가 나온다. 왼쪽에서 오른쪽으로 끌면 상자에 완전히 들어온 것만, 오른쪽에서 왼쪽으로 끌면 걸치기만 해도 선택된다
    • 이유: 캐드에서 쓰던 방식 그대로라 도면을 다루는 사람에게 설명이 필요 없다. 두 방식은 선 색과 모양으로 구분했다
    • 그룹은 하나만 걸려도 통째로 잡히고, Shift를 누른 채 끌면 기존 선택에 더한다
    • 좌드래그를 선택이 가져가면서 좌드래그 화면 이동은 없앴다. 화면 이동은 휠클릭·우클릭·Space와 함께 끄는 방법이 남는다
  • 주석 네모·원에 안쪽 채우기 추가
    • 이유: 구역을 표시할 때 테두리만으로는 눈에 안 들어온다
    • 채움을 꺼도 안쪽 클릭은 그대로 된다
  • 배치도 여러 개를 한 PDF로 묶는 변환 추가
    • 파일을 여러 개 끌어다 놓으면 한 장씩 열어 그린 뒤 한 PDF에 한 쪽씩 담는다. 도면마다 크기가 달라 쪽 크기와 방향도 파일별로 잡는다
    • 이유: 한 사무실을 층·안별로 나눠 저장해 두고 한꺼번에 넘겨야 하는 일이 생긴다
    • 파일마다 PDF를 따로 내리면 브라우저가 연속 다운로드를 막으므로 한 파일로 묶었다
    • 변환이 끝나면 하던 작업을 그대로 되돌린다. 암호 걸린 파일은 파일마다 비밀번호를 묻고, 취소한 파일은 건너뛴 뒤 목록으로 알린다
  • 첫 화면 안내에 시작 버튼 두 개
    • 평면도 열기와 배치도 PDF 변환. 안내만 읽고 어디를 눌러야 하는지 찾아야 했던 것을 줄였다
  • 도면 왼쪽 위에 프로젝트 이름 표시
    • 설정에서 화면 표시·내보내기 포함·글자 크기를 각각 정한다. 크기는 일반 텍스트와 같은 실측 단위라 축척을 다시 잡으면 함께 따라간다
    • 도면 안쪽에 그린다. 내보내기가 도면 영역을 캡처하는 방식이라, 화면에 고정된 글자는 결과물에 안 담긴다
    • 글자가 도면 선에 묻히지 않게 측정 숫자와 같은 흰 바탕을 깔았다
  • 프로젝트 설정에 저장 버튼 추가
    • 이유: 값을 넣자마자 창을 닫으면 반영되지 않는 경우가 있었다

막힌 부분

다른 이름으로 저장을 눌러도 아무 일도 없었다

파일 선택창을 여는 브라우저 기능은 “사용자가 방금 누른 직후”라는 자격을 요구한다. 그런데 우리 코드는 저장할 내용을 먼저 만들고 그 다음에 창을 띄우고 있었다. 암호를 건 프로젝트는 열쇠를 만드는 데 시간이 걸려서 그 사이 자격이 만료되고, 창은 안 뜬 채 조용히 넘어갔다.

  • 해결: 파일 선택창을 먼저 띄우고 그 다음에 암호화한다. 쓰기에 실패해도 조용히 넘기지 않고 알린 뒤 내려받기로 저장한다
  • 교훈: 사용자의 클릭을 근거로 여는 창은 클릭과 그 창 사이에 무거운 일을 두면 안 된다

범위 선택이 어떤 때는 되고 어떤 때는 안 됐다

원인이 하나가 아니라 상태가 걸리는 자리가 여럿이었다.

  • 선택 상자를 그리다 캔버스 밖에서 버튼을 떼면 끝났다는 신호가 안 와서, 상자가 화면에 남고 다음 동작이 꼬였다
  • 다른 창으로 넘어갔다 오면 Space에서 손을 뗀 신호를 못 받아 눌린 상태로 남는다. 그러면 끌기가 선택이 아니라 화면 이동으로 샌다
  • 선택 직후 뒤따르는 클릭을 한 번 무시하도록 표시를 남기는데, 그 표시가 안 지워지면 다음 클릭 한 번이 통째로 먹혔다

셋 다 “창 밖에서 벌어진 일”이라 캔버스만 보고 있으면 안 잡힌다. 창 단위로 마무리·해제하는 처리를 붙여 해결했다.


  • 일괄 변환한 PDF에 프로젝트 이름이 안 나왔다
    • 원인: 제목은 이름칸을 읽어 그리는데, 변환 중에는 그 칸에 직전 작업의 이름이 남아 있었다
    • 해결: 파일을 열 때마다 그 파일 이름으로 갈아 끼운 뒤 그린다. 파일이 제목 표시를 꺼둔 채 저장됐어도 넣을 수 있게 선택지도 뒀다
  • 파일을 변환 모달에 떨어뜨리면 화면 테두리 표시가 남았다
    • 원인: 모달이 그 이벤트를 자기 선에서 끊어 처리하다 보니, 표시를 끄는 코드까지 같이 못 돌았다
    • 해결: 표시를 끄는 일을 한 곳으로 모아 양쪽에서 부르게 했다

다음에 할 일

  • 팀 공유·동시 편집 — 여러 명이 같은 배치를 보고 고치는 기능. 업무 도구로 유료화한다면 후보로 둘 것

Series: 여둘까 Office Layout


Suggested Posts