페이지

2016년 3월 22일 화요일

pvdevelop 프로젝트 -UI 편집 방법 - 기타 Window들...


다른 창에 대해 알아볼까요...

Message Window

SVG 이미지에서 val01, val02 영역을 눌렀을 때 메시지 창이 나타나게 해보자
우선 메시지 창을 띠워주는 함수는 다음과 같이 정의 되어 있습니다.



  • id_return
    모든 위젯들은 id값을 갖고 있습니다. 위젯을 만들면 pvserver IDE 프로그램이 자동으로 만들어 주죠. 위젯의 id 값을 넣어주면 않됩니다.
    이 값은 메시지 박스 창을 닫을 때 발생하는 id 넘버입니다. 어찌보면 메시지창의 id라고 보는 것이 합리적이죠. 자동으로 생성되지 않습니다. 프로그래머가 임의로 지정해야 합니다. 절대, 위젯이 사용하는 id 값을 사용하지 마십시오
  • type
    메시지 창의 종류  정보창, 경고창, 위험창 을 지원합니다.
    아마, 창에 나타나는 아이콘이 차이가 날 것 같네요.
  • text
    메시지 창에 나타낼 텍스를 입력해 주면 됩니다.
  • button
    0 ,1 ,2 가 있네요...확인해 봐야 0 이 뭔지, 1 이 뭔지 알 수 있게죠. 여하튼 0 넣어주면 표시가 되지 않는다고 되어 있네요.
뭔지 모를 땐, 무조건 용기있게 들이 밀어야, 죽이되던 밥이됩니다. 시도하지(해보지 않으면) 아무 것도 알 수 없고, 경험할 수 없습니다.




그림 1.GUI 실행 화면

짜잔 메시지 창이 나타났습니다. 아이콘은 역시 information이 나타나는 군요. 다른 것을 선택하면 아이콘이 상황에 맞춰 변경됩니다.


 button0, button1, button2의 의미는 모르겠군요, 숫자를 변경시키도 차이가 없는 것 같습니다.

메시지 창에 있는 OK 버튼을 눌러보죠.

그림 2. 서버 메시지 화면


메시지를 잘 살펴 보면 SLIDER_EVENT val=1 이라는 메시지가 있습니다. 메시지 창을 닫을 때 이 이벤트가 발생하는 군요
슬라이더 이벤트에 다음 내용을 넣어주십시오. 메시지의 내용과 id를 확인하기 위한 용도 입니다.

printf("ID is %d, Event value is %d\n", id, val);

메시지창을 닫으면 다음과 같은 메시지가 나타납니다.

그림 3. 서버 메시지 화면

ID 는 100이고, val 은 1이라고 나타나는 군요. pvMessageBox()에 넣어준 ID를 확인해 보십시오, 메시지 박스를 만들 때 사용한 ID값을 돌려줍니다. 당연한 이야기 입니다.


INPUT Window

우선 정의 부터 확인해 보죠.



  • text
    입력되는
  • default_text
    input 기본값입니다.

첫번째 LED를 눌렀을 때 변경되도록 하겠습니다.



별 내용 없습니다. TEXT EVENT 에 넣어주십시오.

그림 4.GUI 실행 화면
Input 팝업 창이 나타났습니다.
엄청 간단하죠. OK 버튼을 눌렀을 때 어떤 메시지가 나타나는 확인하고 넘어 가겠습니다.


TEXT EVENT 가 발생하면서 id=101 100이라고 나타나는 군요.
나머지는 알아서 하시고 다음으로 넘어가겠습니다.

참고로 pvInputDialog의 경우 format 이 않 먹습니다.

pvInputDialog(p, 101, "Setting Point", "%s", 10);

위와 같은 코드가 입력되면 참 편한데, 정수든 실수든 string으로 변환하여 입력해 주어야 작동합니다.


POPUP MENU

화면에서 마우스 오른쪽 버튼을 눌렀을 때 나타나는 메뉴를 일반적으로 팝업창이라고 합니다. 추가적인 메뉴, 혹은 빈번하게 사용되는 것을 설정해 놓으면 매우 편한 기능이죠.

우선 다음과 같이 정의 되어 있습니다.



한번 만들어 보죠... 어디에 만들어야 할 까요. 마우스 오른쪽 버튼을 눌렀을 때 나타나게 하는 것이 좋겠죠. 하지만 현재는 방법을 모릅니다. 마우스 오른쪽 버튼을 화면에서 열심히 눌러도 이상하게 이벤트가 발생하지 않네요...

우선은 lev03을 눌렀을 때 나타나게 하겠습니다.

다음의 코드를 입력해 주십시오





세번째 LED를 누르니 팝업창이 나타났습니다. 메뉴를 선택하면 어떻게 될까요..

TEXT_EVENT id=102 Menu2

이런 메시지가 발생하는 군요...
체크 박스, 아이콘도 나타낼 수 있군요.


나머지 하나 pvFileDialog() 함수는 혼자서 해보시기를...





-

댓글 없음:

댓글 쓰기