|
|
### 가) IRIS 기본 프레임의 구조
|
|
|
<img src="Appbase_Image/Topology.png" width="500">
|
|
|
<img src="Appbase_Image/TopologySimple.png" width="500">
|
|
|
<img src="Appbase_Image/Topology.png" width="700">
|
|
|
|
|
|
<img src="Appbase_Image/TopologySimple.png" width="350">
|
|
|
|
|
|
Tree, Auto report View는 Iris에 정의되어 있고, Topology, Shelf View는 프로젝트 마다 따로 정의 되어 있다.
|
|
|
Auto report View는 탭뷰 형식으로 되어있고 기본으로 현재 알람 탭, 자동보고 탭, 명령 이벤트 탭으로 구성된다.
|
|
|
1. 현재 알람 : EMS가 장비에 알람을 조회
|
|
|
2. 자동보고 : EMS의 요청 없이 장비에서 알람을 통보
|
|
|
3. 명령 이벤트 : 사용자가 장비에 설정명령을 내린 명령 이력
|
|
|
|
|
|
| 탭 | 기능 |
|
|
|
| -------- | -------- |
|
|
|
| 현재 알람 탭 | EMS가 장비에 알람을 조회|
|
|
|
| 자동 보고 탭 | EMS의 요청 없이 장비에서 알람을 통보|
|
|
|
| 명령 이벤트 탭 | 사용자가 장비에 설정명령을 내린 명령 이력|
|
|
|
|
|
|
### 나) IrisFrameWnd
|
|
|
* IrisFrameWnd class
|
|
|
<img src="Appbase_Image/IrisFrameWndclass.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndclass.png" width="700">
|
|
|
|
|
|
* IrisFrameWnd OnCreate function
|
|
|
<img src="Appbase_Image/IrisFrameWndOnCreate.png" width="1000">
|
|
|
<img src="Appbase_Image/IrisFrameWndInitFrame.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndOnCreate.png" width="700">
|
|
|
|
|
|
* IrisFrameWnd InitFrame function
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndInitFrame.png" width="700">
|
|
|
|
|
|
### 다) Tool bar View
|
|
|
* Tool bar Load
|
|
|
Z:\ATOM\branches\ellie\MainFrm.cpp의 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 함수에서 Tool bar가 Load 된다.
|
|
|
<nowiki />1. Iris3ab_SetToolbarEmptyBack(iris3AppPath+"images\\toolbar_back.bmp") : Tool bar의 배경이미지 지정
|
|
|
<nowiki />2. Iris3ab_SetToolbarMarkWidth(480) : 툴바 이미지의 너비 지정
|
|
|
<nowiki />3. Iris3ab_SetButtonSize(42, 60) : 툴바의 모든 버튼의 크기 지정
|
|
|
<nowiki />4. Iris3ab_SetButtonGap(2) : 버튼과 버튼사이의 기본 간격 지정
|
|
|
<nowiki />5. Iris3ab_AddDefaultToolbarBack(iris3AppPath+"images\\toolbar_logo.bmp") : 툴바의 기본 이미지 지정
|
|
|
<nowiki />6. Iris3ab_AddToolbarBack(IRIS3_NODETYPEID_ATOM_COT, iris3AppPath+"images\\toolbar_logo.bmp") : 툴바의 노드 타입별 이미지 지정
|
|
|
<nowiki />7. Iris3ab_AddToolbarButton(IDM_AUTO_DISC_ALL, iris3AppPath+"images\\toolbar_button_autonet.bmp") : 툴바 버튼 추가
|
|
|
<nowiki />8. Iris3ab_AddToolbarSeparator(5) : 버튼 separator 추가
|
|
|
|
|
|
Z:\ATOM\branches\ellie\MainFrm.cpp의 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
함수에서 Tool bar가 Load 된다.
|
|
|
|
|
|
| 함수 | 기능 |
|
|
|
| -------- | -------- |
|
|
|
| Iris3ab_SetToolbarEmptyBack | 툴바 이미지의 너비 지정|
|
|
|
| Iris3ab_SetToolbarMarkWidth | 툴바의 모든 버튼의 크기 지정|
|
|
|
| Iris3ab_SetButtonGap | 버튼과 버튼사이의 기본 간격 지정|
|
|
|
| Iris3ab_AddDefaultToolbarBack | 툴바의 기본 이미지 지정|
|
|
|
| Iris3ab_AddToolbarBack | 툴바의 노드 타입별 이미지 지정|
|
|
|
| Iris3ab_AddToolbarButton | 툴바 버튼 추가|
|
|
|
| Iris3ab_AddToolbarSeparator | 버튼 separator 추가|
|
|
|
|
|
|
* Tool bar Click 시 동작
|
|
|
<img src="Appbase_Image/ToolbarClick.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/ToolbarClick.png" width="700">
|
|
|
|
|
|
### 라) Tree View
|
|
|
* Tree View Observer 등록
|
|
|
<img src="Appbase_Image/TreeViewObserver.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewObserver.png" width="700">
|
|
|
|
|
|
* Tree View Load
|
|
|
<img src="Appbase_Image/TreeViewLoad.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewLoad.png" width="700">
|
|
|
|
|
|
* 기타
|
|
|
|
|
|
void View_NodeTree::InitTreeSevIcon() : tree Icon Load
|
|
|
|
|
|
### 마) Auto report View
|
|
|
* Auto report View class
|
|
|
<img src="Appbase_Image/AutoreportViewclass.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/AutoreportViewclass.png" width="700">
|
|
|
|
|
|
View_AutoReport class가 MetaObserver, ElementObserver을 상속 받으므로 여기서 받은 알람의 필터링 처리 후
|
|
|
AutoReportPage class을 반환하여 이 페이지를 탭뷰에 추가해서 보여주는 형식
|
|
|
|
|
|
* Auto report View Load
|
|
|
<img src="Appbase_Image/AutoreportViewLoad.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/AutoreportViewLoad.png" width="700">
|
|
|
|
|
|
* CAutoReport::Init() function
|
|
|
<img src="Appbase_Image/CAutoReportInitfunction.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/CAutoReportInitfunction.png" width="700">
|
|
|
|
|
|
### 바) Shelf View
|
|
|
* Shelf View 초기화
|
|
|
<img src="Appbase_Image/ShelfViewInit.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/ShelfViewInit.png" width="700">
|
|
|
|
|
|
* Shelf View Observer 등록
|
|
|
<img src="Appbase_Image/ShelfViewObserver.png" width="1000">
|
|
|
|
|
|
<img src="Appbase_Image/ShelfViewObserver.png" width="700">
|
|
|
|
|
|
Element Observer를 통해 notify되는 ElementUpdate_CHANGE_CURRENT를 수신한 경우
|
|
|
void cbOnNodeChange(ElementNode* pCurrentNode, int* pTab) 함수가 호출된다. network view 보다 먼저 shelf view가 observer에 등록된다.
|
|
|
void cbOnNodeChange(ElementNode* pCurrentNode, int* pTab) 함수가 호출된다. network view 보다 먼저
|
|
|
shelf view가 observer에 등록된다.
|
|
|
|
|
|
### 사) Topology View
|
|
|
* Topology View Load
|
|
|
<img src="Appbase_Image/TopologyViewLoad.png" width="1000"> |
|
|
\ No newline at end of file |
|
|
|
|
|
<img src="Appbase_Image/TopologyViewLoad.png" width="700"> |
|
|
\ No newline at end of file |