본문 바로가기

따라해보자/엑스플랫폼

프레임 다루기

반응형
엑스플랫폼을 다루면서 강력한 기능이면서 개념을 잘못 잡으면 
이해하기 힘든 부분이 프레임입니다.

프레임은 하나의 어플리케이션 단위가 아니라 전체 어플리케이션 내의 윈도우 배치에 대한
개념으로 이해하는 것이 편할듯 합니다.

프레임을 가장 먼저 만날 수 있는 곳은 UX 스튜디오에서 프로젝트를 새로 만들때입니다.
이전에는 그냥 Default 프레임으로 사용했지만 이제 나머지 프레임에도 조금 관심을 가져보겠습니다.

사이트에서 제공되는 버전에서 제공되는 프레임은 다음과 같습니다.
Default, HFrame_Simple, HFrame_Tab, HFrame_Complex (VFrame 동일)
Tab Frame, Widget 이상 9가지입니다.

기본값은 아무것도 없는 상태이고 일단 HFrame_Simple 을 지정해서
새로운 프로젝트를 만들어보겠습니다.
기본으로 설정한 경우에는 MainFrame 아래에 하나의 ChildFrame 만이 생성되었지만
HFrame_Simple 로 지정한 경우에는 조금 다른 코드가 생성됩니다.

나머지 부분은 동일하지만 MainFrame 아래가 다음과 같이 생성됩니다.
      <MainFrame id="mainframe" ...>
        <HFrameSet id="frameset">
          <Frames>
            <ChildFrame id="f_f2_c1" .../>
            <ChildFrame id="f_f2_c2" .../>
            <ChildFrame id="f_f2_c3" .../>
          </Frames>
        </HFrameSet>
      </MainFrame>
HFrameSet 이라는 것이 추가되었고
그 아래 Frames 태그가 들어가고 N개의 ChildFrame이 배치됩니다.
여기서 실제적인 화면 요소는 ChildFrame에 지정되는 것입니다.

이제 각각의 폼을 생성하고 해당하는 ChildFrame 에 연결해주면 됩니다.
이렇게 생성된 프로젝트는 실행을 하게 되면 기본 프레임 윈도우 안에 3개의 윈도우가 배치된 형태가 보여집니다.



각 ChildFrame 은 마우스 조작으로 이동이 가능합니다. 해당 Frame을 이동시키게 되면
나머지 프레임은 알아서 순서가 바뀌게 됩니다.
실제 업무 상에서 각 프레임을 모듈 단위로 작업하고 사용자의 필요에 따라 배치하게 되는데
FrameSet 개념은 이러한 작업에 있어서 필수적인 사항입니다.
런타임 상에서 이런 부분을 관리해준다는 것은 성능이나 메모리 관리, 구현 이슈등에서
개발자의 수고를 상당부분 덜어줄 수 있습니다. 

출처
http://cafe.naver.com/xplatform101/21
 
728x90