가) IRIS 기본 프레임의 구조


Tree, Auto report View는 Iris에 정의되어 있고, Topology, Shelf View는 프로젝트 마다 따로 정의 되어 있다.
Auto report View는 탭뷰 형식으로 되어있고 기본으로 현재 알람 탭, 자동보고 탭, 명령 이벤트 탭으로 구성된다.
- 현재 알람 : EMS가 장비에 알람을 조회
- 자동보고 : EMS의 요청 없이 장비에서 알람을 통보
- 명령 이벤트 : 사용자가 장비에 설정명령을 내린 명령 이력
나) IrisFrameWnd
- IrisFrameWnd class

- IrisFrameWnd OnCreate function

- IrisFrameWnd InitFrame function

다) Tool bar View
-
Tool bar Load
Z:\ATOM\branches\ellie\MainFrm.cpp의 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 함수에서 Tool bar가 Load 된다.
1. Iris3ab_SetToolbarEmptyBack(iris3AppPath+"images\toolbar_back.bmp") : Tool bar의 배경이미지 지정
2. Iris3ab_SetToolbarMarkWidth(480) : 툴바 이미지의 너비 지정
3. Iris3ab_SetButtonSize(42, 60) : 툴바의 모든 버튼의 크기 지정
4. Iris3ab_SetButtonGap(2) : 버튼과 버튼사이의 기본 간격 지정
5. Iris3ab_AddDefaultToolbarBack(iris3AppPath+"images\toolbar_logo.bmp") : 툴바의 기본 이미지 지정
6. Iris3ab_AddToolbarBack(IRIS3_NODETYPEID_ATOM_COT, iris3AppPath+"images\toolbar_logo.bmp") : 툴바의 노드 타입별 이미지 지정
7. Iris3ab_AddToolbarButton(IDM_AUTO_DISC_ALL, iris3AppPath+"images\toolbar_button_autonet.bmp") : 툴바 버튼 추가
8. Iris3ab_AddToolbarSeparator(5) : 버튼 separator 추가 -
Tool bar Click 시 동작

라) Tree View
- Tree View Observer 등록

- Tree View Load

- 기타
void View_NodeTree::InitTreeSevIcon() : tree Icon Load
마) Auto report View
- Auto report View class

View_AutoReport class가 MetaObserver, ElementObserver을 상속 받으므로 여기서 받은 알람의 필터링 처리 후
AutoReportPage class을 반환하여 이 페이지를 탭뷰에 추가해서 보여주는 형식
- Auto report View Load

- CAutoReport::Init() function

바) Shelf View
- Shelf View 초기화

- Shelf View Observer 등록

Element Observer를 통해 notify되는 ElementUpdate_CHANGE_CURRENT를 수신한 경우
void cbOnNodeChange(ElementNode* pCurrentNode, int* pTab) 함수가 호출된다. network view 보다 먼저 shelf view가 observer에 등록된다.
사) Topology View
- Topology View Load
