XPLATFORM 101

- Spin > Spin


Spin 이라는 단어는 왠지 낯선데..

단계별로 값을 증감시키는 기능이기 때문에 Stepper 라고 표현하기도 합니다.

둘 다 마찬가지군요. ^^


하여간 Spin 은 정해진 범위내에서 숫자값을 증감시키는 컴포넌트입니다.

min, max 와 increment 속성을 가지고 얼마만큼의 값을 처리할지를 결정합니다.

따라서 따로 innerdataset을 가지고 있지는 않으며

value에 대한 바인딩만을 지원합니다.


increment 속성만큼 마지막에 더해지더라도 max 값을 초과할 수는 없습니다.


다른 컴포넌트와는 달리 버튼을 클릭할때 데이터가 기본적으로 변경되기 때문에

onspin 이라는 이벤트를 처리합니다.

또 하나 onspin 이벤트를 가지는 컴포넌트는 Calendar 입니다.

년월을 선택하는 부분을 spin으로 처리할 수 있죠.

http://cafe.naver.com/xplatform101/235 

XPLATFORM 101

- Combo > Combo


콤보는 하나로 만들어진 것처럼 보이지만 상당히 다양한 컴포넌트의 기능이 모아진 녀석입니다.

도움말에 있는 이미지를 참고해보면 다음과 같습니다.



Edit, Button, ListBox, Popup 등 여러가지 컴포넌트의 조합으로 새로운 기능이 만들어지는 겁니다.

다른 컴포넌트처럼 innerdataset을 가지며

value 에 대한 바인딩을 지원합니다.


웹에서 일반적으로 보는 콤보의 형태는 단순한 드롭다운 목록에서 선택하는 정도일겁니다.

엑스플랫폼에서 제공하는 콤보 컴포넌트는 여기에 추가적으로 type 속성을 정의할 수 있게 지원합니다.

기본 설정값은 dropdown 이며

search 와 filter 를 지원합니다.


search 는 해당 문자열을 목록에서 찾아 주는 것이고

(목록 자체가 바뀌지는 않습니다)

filter 는 목록을 필터링 해주어 원하는 항목만 나오게 하는 겁니다.

목록이 많은 경우에 유용하겠죠.


스타일에서 showeffect 옵션을 사용하게 되면

목록이 펼쳐지는 모습을 제어할 수 있습니다.

해당 옵션은 직접 지정할 수도 있고 원하는 시점에 스크립트로 처리할 수도 있습니다.

http://cafe.naver.com/xplatform101/234 

XPLATFORM 101

- Radio > Radio


먼저 갑자기 궁금해진 것은 왜 라디오 버튼은 이름이 라디오인가입니다.

동그란 원 모양이라서 그런걸까요?


위키백과를 찾아보면 라디오 버튼은 자동차에 장착된 라디오의

자동 주파수 선택 장치에서 유래되었다고 합니다.

요즘은 대부분 디지털 방식이라서 잘 이해가되지 않겠지만 오래전에는 아래 그림과 같은 버튼식이었다고 합니다.


http://www.globalnerdy.com/2009/05/01/upwardly-mobile-part-3-exploring-windows-mobile-6s-built-in-ui-controls/


다이얼을 돌리는 대신 지정된 채널을 바로 갈 수 있는 단축키 같은 거였죠.

그렇기 때문에 하나를 선택하면 나머지는 선택이 해제되는 형식이었습니다.


라디오 버튼도 마찬가지로 하나의 그룹을 가지고 여러개의 목록중에 하나만 선택할 수 있게 만들어져있습니다.

체크박스나 목록과 가장 큰 차이가 하나만 선택한다는 거죠.


그래서 라디오 버튼에서 아이템이 하나만 나온다면 뭔가 잘못 설계가 된겁니다.

간혹 모양이 이쁘다고 체크박스 대신 라디오 버튼을 사용하기도 하는데..

사용자의 일반적인 경험을 벗어날 수 있기 때문에 가능하면 조심해야 할 부분입니다.


당연하게 하나만 선택하기 때문에 list 처럼 getSelectedCount 와 같은 메소드는 제공하지 않습니다.


속성 중 index 기본값은 -1입니다. 

아무것도 선택되지 않은 상태로 처음에 표시됩니다.

UX 스튜디오에서는 value 를 지정하게 되면 자동으로 index 를 보정해줍니다.


rowcount 와 columncount 속성으로 각 버튼의 레이아웃을 조정할 수 있습니다.

기본값은 -1 입니다.

http://cafe.naver.com/xplatform101/233