123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545 |
- /*
- - =======================================================================================
-
- Image EMR Viewer Program (SPMRC03100.js)
- - Version :
- 1) : Ver.1.00.00
- - =======================================================================================
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화 함수
- * @return :
- * @---------------------------------------------------
- */
- function fInitilize()
- {
- // 사용하는 개체를 초기화 한다.
- //window.width = 640;
- //window.height = 930;
- var windowleft = 0;
- var windowtop = 0;
- var windowcount;
- var count;
-
- window.modelessTopmost = true;
- windowcount = window.parent.children.length;
-
- for(count = 0; count < windowcount; count++)
- {
- if (count == 1)
- {
- window.parent.children.item(count).left = window.parent.children.item(0).left + window.parent.children.item(0).width;
- window.parent.children.item(count).top = windowtop;
- }
- else
- {
- if (count == 0)
- {
- window.parent.children.item(count).left = windowleft + (count)*25;
- window.parent.children.item(count).top = windowtop + (count)*25;
- }
- else
- {
- window.parent.children.item(count).left = windowleft + (count - 1)*25;
- window.parent.children.item(count).top = windowtop + (count - 1)*25;
- }
- }
- }
-
- fSet_OCX_PageViewer();
- // 모든 버튼 이미지를 설정한다.
- setupAllButtons();
-
- // 토글 버튼의 기본값 설정
- processToggleButton("btnFitBest");
- processToggleButton("btnPageMouseMagnifyingGlass");
-
- // 차트를 로드한다
- loadChart(model.getValue("/root/main/chartpath"));
-
- // fitToWindowSize();
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : PageViewer OCX 초기화
- * @return :
- * @---------------------------------------------------
- */
- function fSet_OCX_PageViewer()
- {
- objPageView.BorderStyle = 1;
- objPageView.BackColor = 0xffffff;//0xe0e0e0;
- objPageView.BestFit();
- objPageView.HorzAlignMode = 1;
- objPageView.VertAlignMode = 1;
- objPageView.MouseMode = 4;
- objPageView.MagnifyingGlassWidth = 600;
- objPageView.MagnifyingGlassHeight = 300;
- objPageView.MagnifyingGlassRatio = 1.0;
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 등록되어 있는 모든 버튼 이미지를 설정한다.
- * @return :
- * @---------------------------------------------------
- */
- function setupAllButtons()
- {
- var node = instance1.selectSingleNode(getXPathButtonImage());
- var list = node.childNodes;
- var total = list.length;
- var i;
-
- for (i = 0; i < total; i++)
- {
- setupButton( list.item(i).nodeName );
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : XPath로 부터 Button image Load
- * @return :
- * @---------------------------------------------------
- */
- function getXPathButtonImage(button)
- {
- return button == null ? "/root/hidden/buttonImage" : "/root/hidden/buttonImage/" + button;
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 버튼의 현재 상황에 맞게 이미지를 설정한다.
- * @return :
- * @---------------------------------------------------
- */
- function setupButton(button)
- {
- var path = model.getValue("/root/hidden/buttonImageHome") + model.getValue(getXPathButtonImage(button));
- var ext = model.getValue("/root/hidden/buttonImageExt");
- var objButton = document.controls.item(button);
-
- // 버튼 상태에 따라 이미지 설정
- if(toggleButton(button, "value") == "1")
- {
- objButton.attribute("background-image") = path + "_c" + ext;
- objButton.attribute("down.background-image") = path + "_c" + ext;
- objButton.attribute("hover.background-image") = path + "_c" + ext;
- objButton.attribute("disable.background-image") = path + "_d" + ext;
- }
- else
- {
- objButton.attribute("background-image") = path + ext;
- objButton.attribute("down.background-image") = path + "_c" + ext;
- objButton.attribute("hover.background-image") = path + "_h" + ext;
- objButton.attribute("disable.background-image") = path + "_d" + ext;
- }
-
- // disable 처리
- var btnDis = toggleButton(button, "disable") == "1" ? true : false;
- objButton.disabled = btnDis;
-
- // 버튼을 화면에 갱신
- objButton.refresh();
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 토글 버튼의 속성을 반환하거나 설정한다.
- * @return :
- * @---------------------------------------------------
- */
- function toggleButton(button, property, value)
- {
- if (button == null || property == null) return;
-
- var path = getXPathToggleButton(button) + "/" + property;
-
- if (value == null)
- {
- return model.getValue(path);
- }
- else
- {
- if (model.getValue(path) != value)
- {
- model.setValue(path, value);
- setupButton(button);
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : XPath로 부터 ToggleButton image Load
- * @return :
- * @---------------------------------------------------
- */
- function getXPathToggleButton(button)
- {
- return button == null ? "/root/hidden/buttonToggle" : "/root/hidden/buttonToggle/" + button;
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 토글 버튼을 처리한다.
- * @return :
- * @---------------------------------------------------
- */
- function processToggleButton(button)
- {
- var node = instance1.selectSingleNode(getXPathToggleButton());
- var list = node.childNodes;
- var total = list.length;
- var curName;
- var name;
- var i;
-
- // 이미 켜져 있다면 처리가 필요 없음
- if(toggleButton(button, "value") == "1") return;
- // 영역확대, 확대, 축소 버튼일 경우 실제크기보기, 최적크기보기, 가로크기보기 버튼 끔
- if(button == "btnPageMouseRegionZoom" || button == "btnZoomIn" || button == "btnZoomOut")
- {
- if(toggleButton("btnFitBest", "value") == "1")
- {
- toggleButton("btnFitBest", "value", "0");
- }
- if(toggleButton("btnFitActual", "value") == "1")
- {
- toggleButton("btnFitActual", "value", "0");
- }
- if(toggleButton("btnFitWidth", "value") == "1")
- {
- toggleButton("btnFitWidth", "value", "0");
- }
- }
- // 확대, 축소 버튼의 경우 의미없음
- if(button == "btnZoomIn" || button == "btnZoomOut") return;
-
- curName = toggleButton(button, "name");
- for (i = 0; i < total; i++)
- {
- name = list.item(i).nodeName;
-
- if(toggleButton(name, "name") == curName && toggleButton(name, "value") == "1")
- {
- toggleButton(name, "value", "0");
-
- // 핸들러 호출
- eval(name + "_Changed()");
- }
- }
- toggleButton(button, "value", "1");
-
- // 핸들러 호출
- eval(button + "_Changed()");
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 토글 버튼을 처리한다.
- * @return :
- * @---------------------------------------------------
- */
- function loadChart(path)
- {
- objPageView.load(path, 1);
- objPageView.BestFit();
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 실제 크기 맞추기 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnFitActual_Changed()
- {
- if(getToggleValue("ModeFit") == "btnFitActual")
- {
- objPageView.ActualSize();
-
- processToggleButton("btnPageMousePanning");
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 최적 크기 맞추기 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnFitBest_Changed()
- {
- if(getToggleValue("ModeFit") == "btnFitBest")
- {
- objPageView.BestFit();
-
- processToggleButton("btnPageMouseMagnifyingGlass");
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 가로 크기 맞추기 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnFitWidth_Changed()
- {
- if(getToggleValue("ModeFit") == "btnFitWidth")
- {
- objPageView.FitToWidth();
-
- processToggleButton("btnPageMousePanning");
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 일반 마우스 커서 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnPageMouseNormal_Changed()
- {
- if(getToggleValue("ModePageMouse") == "btnPageMouseNormal")
- {
- objPageView.MouseMode = 0;
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 영역 확대 마우스 커서 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnPageMouseRegionZoom_Changed()
- {
- if(getToggleValue("ModePageMouse") == "btnPageMouseRegionZoom")
- {
- objPageView.MouseMode = 2;
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 돋보기 마우스 커서 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnPageMouseMagnifyingGlass_Changed()
- {
- if(getToggleValue("ModePageMouse") == "btnPageMouseMagnifyingGlass")
- {
- objPageView.MouseMode = 4;
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 끌기 마우스 커서 버튼 핸들러
- * @return :
- * @---------------------------------------------------
- */
- function btnPageMousePanning_Changed()
- {
- if(getToggleValue("ModePageMouse") == "btnPageMousePanning")
- {
- objPageView.MouseMode = 1;
- }
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 토글 버튼 그룹에서 눌려져 있는 버튼 이름을 반환한다.
- * @return :
- * @---------------------------------------------------
- */
- function getToggleValue(group)
- {
- var node = instance1.selectSingleNode( getXPathToggleButton() );
- var list = node.childNodes;
- var total = list.length;
- var name;
- var i;
-
- for(i = 0; i < total; i++)
- {
- name = list.item(i).nodeName;
-
- if(toggleButton(name, "name") == group && toggleButton(name, "value") == "1")
- {
- return name;
- }
- }
- return "";
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 사이즈를 차트 크기에 최적화
- * @return :
- * @---------------------------------------------------
- */
- function fitToWindowSize()
- {
- var obj;
- obj = document.controls.item("objPageView");
-
- // objPageView의 이미지 크기 산출
- //var imgwidth = obj.ImageWidth;
- //var imgheight = obj.ImageHeight;
- var imgwidth = objPageView.ImageWidth;
- var imgheight = objPageView.ImageHeight;
- alert("imgwidth : " + imgwidth);
- alert("objwidth : " + obj.attribute("width"));
- alert("imgheight : " + imgheight);
- alert("objheight : " + obj.attribute("height"));
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김재홍
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 이미지파일 다운로드
- * @return :
- * @---------------------------------------------------
- */
- function downloadFile()
- {
- var strpath = "";
- var fso;
- var count;
- var downloadcount = 1;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- if (objThumbView.TotalSelectedThumbnail == 0)
- {
- return;
- }
- strpath = window.folderDialog("Choose a folder to save Image");
- if (strpath == "")
- {
- return;
- }
- for (count = 1; count <= objThumbView.TotalThumbnail; count++)
- {
- if (objThumbView.Select(count) == true)
- {
- alert(objThumbView.FileName(count));
- alert(objThumbView.ThumbText(count));
- // fso.CopyFile(model.getValue("/root/main/chartpath"), strpath + "/" + objThumbView.ThumbText(count) + "_" + downloadcount + ".jpg", true);
- fso.CopyFile(model.getValue("/root/main/chartpath"), strpath + "/ComparePageMode_" + downloadcount + ".jpg", true);
- downloadcount++;
- }
- }
- }
|