|
|
### 가) IRIS 기본 프레임의 구조
|
|
|
<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는 탭뷰 형식으로 되어있고 기본으로 현재 알람 탭, 자동보고 탭, 명령 이벤트 탭으로 구성된다.
|
... | ... | @@ -14,87 +13,85 @@ Tree, Auto report View는 Iris에 정의되어 있고, Topology, Shelf View는 |
|
|
### 나) IrisFrameWnd
|
|
|
* IrisFrameWnd class
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndclass.png" width="700">
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndclass.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
* IrisFrameWnd OnCreate function
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndOnCreate.png" width="700">
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndOnCreate.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
* IrisFrameWnd InitFrame function
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndInitFrame.png" width="700">
|
|
|
|
|
|
<img src="Appbase_Image/IrisFrameWndInitFrame.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
### 다) Tool bar View
|
|
|
* Tool bar Load
|
|
|
|
|
|
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 추가|
|
|
|
|
|
|
|
|
|
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 추가|
|
|
|
<br>
|
|
|
|
|
|
* Tool bar Click 시 동작
|
|
|
|
|
|
<img src="Appbase_Image/ToolbarClick.png" width="700">
|
|
|
|
|
|
|
|
|
<img src="Appbase_Image/ToolbarClick.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
### 라) Tree View
|
|
|
* Tree View Observer 등록
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewObserver.png" width="700">
|
|
|
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewObserver.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
* Tree View Load
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewLoad.png" width="700">
|
|
|
|
|
|
|
|
|
<img src="Appbase_Image/TreeViewLoad.png" width="700">
|
|
|
<br>
|
|
|
|
|
|
* 기타
|
|
|
|
|
|
void View_NodeTree::InitTreeSevIcon() : tree Icon Load
|
|
|
|
|
|
void View_NodeTree::InitTreeSevIcon() : tree Icon Load
|
|
|
<br>
|
|
|
|
|
|
### 마) Auto report View
|
|
|
* Auto report View class
|
|
|
|
|
|
<img src="Appbase_Image/AutoreportViewclass.png" width="700">
|
|
|
|
|
|
View_AutoReport class가 MetaObserver, ElementObserver을 상속 받으므로 여기서 받은 알람의 필터링 처리 후 AutoReportPage class을 반환하여 이 페이지를 탭뷰에 추가해서 보여주는 형식
|
|
|
|
|
|
|
|
|
|
|
|
<img src="Appbase_Image/AutoreportViewclass.png" width="700">
|
|
|
|
|
|
View_AutoReport class가 MetaObserver, ElementObserver을 상속 받으므로 여기서 받은 알람의 필터링 처리 후 AutoReportPage class을 반환하여 이 페이지를 탭뷰에 추가해서 보여주는 형식
|
|
|
<br>
|
|
|
|
|
|
* Auto report View Load
|
|
|
|
|
|
<img src="Appbase_Image/AutoreportViewLoad.png" width="700">
|
|
|
|
|
|
<br>
|
|
|
|
|
|
* CAutoReport::Init() function
|
|
|
|
|
|
<img src="Appbase_Image/CAutoReportInitfunction.png" width="700">
|
|
|
|
|
|
<br>
|
|
|
|
|
|
### 바) Shelf View
|
|
|
* Shelf View 초기화
|
|
|
|
|
|
<img src="Appbase_Image/ShelfViewInit.png" width="700">
|
|
|
|
|
|
<br>
|
|
|
|
|
|
* Shelf View Observer 등록
|
|
|
|
|
|
<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에 등록된다.
|
|
|
|
|
|
|
|
|
Element Observer를 통해 notify되는 ElementUpdate_CHANGE_CURRENT를 수신한 경우 void cbOnNodeChange(ElementNode* pCurrentNode, int* pTab) 함수가 호출된다. network view 보다 먼저 shelf view가 observer에 등록된다.
|
|
|
<br>
|
|
|
|
|
|
### 사) Topology View
|
|
|
* Topology View Load
|
... | ... | |